From 35533699cc7e8bd1bd202e455c6c8be9411a6108 Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Tue, 4 Jul 2023 11:49:03 +0300 Subject: [PATCH 01/44] fixed AllInteractions, DaoPools, DaoValidators: added isVoteFor flag, separated vote amounts (#108) * fixed AllInteractions, DaoPools, DaoValidators: added isVoteFor flag, separated vote amounts * fixed tests for AllPools (added tests for CommissionClaimed, ActivePortfolioExchanged events) --- AllInteractions/abis/DaoPool.json | 6 + AllInteractions/abis/DaoValidators.json | 27 +++- AllInteractions/package-lock.json | 3 + AllInteractions/schema.graphql | 6 +- .../src/entities/dao-pool/DaoPoolVote.ts | 9 +- .../dao-pool/DaoValidatorProposalVote.ts | 4 +- AllInteractions/src/mappings/DaoPool.ts | 3 +- AllInteractions/src/mappings/DaoValidators.ts | 3 +- AllInteractions/subgraph.yaml | 4 +- AllInteractions/tests/DaoPool.test.ts | 6 +- AllInteractions/tests/DaoValidators.test.ts | 11 +- AllPools/tests/TraderPool.test.ts | 143 +++++++++++++++++- DaoPools/abis/DaoPool.json | 6 + DaoPools/schema.graphql | 19 ++- DaoPools/src/entities/Proposal.ts | 3 +- DaoPools/src/entities/ProposalVote.ts | 5 +- .../src/entities/Voters/VoterInProposal.ts | 6 +- DaoPools/src/mappings/DaoPool.ts | 25 ++- DaoPools/subgraph.yaml | 2 +- DaoPools/tests/DaoPool.test.ts | 125 +++++++++++++-- DaoValidators/abis/DaoValidators.json | 27 +++- DaoValidators/schema.graphql | 12 +- DaoValidators/src/entities/Proposal.ts | 3 +- DaoValidators/src/entities/ProposalVote.ts | 5 +- .../src/entities/ValidatorInProposal.ts | 3 +- DaoValidators/src/mappings/DaoValidators.ts | 12 +- DaoValidators/subgraph.yaml | 2 +- DaoValidators/tests/DaoValidators.test.ts | 66 +++++++- 28 files changed, 490 insertions(+), 56 deletions(-) diff --git a/AllInteractions/abis/DaoPool.json b/AllInteractions/abis/DaoPool.json index 63d23b38..94c81e9a 100644 --- a/AllInteractions/abis/DaoPool.json +++ b/AllInteractions/abis/DaoPool.json @@ -1529,6 +1529,12 @@ "internalType": "uint256", "name": "delegatedVote", "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isVoteFor", + "type": "bool" } ], "name": "Voted", diff --git a/AllInteractions/abis/DaoValidators.json b/AllInteractions/abis/DaoValidators.json index 87af0c10..05769327 100644 --- a/AllInteractions/abis/DaoValidators.json +++ b/AllInteractions/abis/DaoValidators.json @@ -132,6 +132,12 @@ "internalType": "bool", "name": "isInternal", "type": "bool" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isVoteFor", + "type": "bool" } ], "name": "Voted", @@ -286,6 +292,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "executeExternalProposal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -306,9 +325,9 @@ "type": "bool" }, { - "internalType": "uint32", + "internalType": "uint56", "name": "snapshotId", - "type": "uint32" + "type": "uint56" }, { "internalType": "uint64", @@ -371,9 +390,9 @@ "type": "bool" }, { - "internalType": "uint32", + "internalType": "uint56", "name": "snapshotId", - "type": "uint32" + "type": "uint56" }, { "internalType": "uint64", diff --git a/AllInteractions/package-lock.json b/AllInteractions/package-lock.json index 09656d83..3847d7f4 100644 --- a/AllInteractions/package-lock.json +++ b/AllInteractions/package-lock.json @@ -6658,6 +6658,7 @@ }, "gluegun": { "version": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", + "integrity": "sha512-BPKWUsKoAC+NeFXSNySObftw6lgKipegbbUuaKy6cPXm8z8bkHO3kbn6OVXwoJMkbCJubaFZJj9SGsevNfnJrg==", "from": "gluegun@git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", "requires": { "apisauce": "^1.0.1", @@ -6947,6 +6948,7 @@ }, "concat-stream": { "version": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", + "integrity": "sha512-GBrsRGcg6w3ac6B49frS/FGwdeuWMognaZIGxLfZ93vP2z3bIhaI/Bgn3rrS49lI7lrFznULlNUjWYP4soqgvw==", "from": "concat-stream@github:hugomrdias/concat-stream#feat/smaller", "requires": { "inherits": "^2.0.3", @@ -8153,6 +8155,7 @@ }, "ndjson": { "version": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", + "integrity": "sha512-4HWirDBroNYRKoq+8A7y0uvXlO0dF4p7URRRdqvPSgGjQFVpxpE4uasORXNxeRBMHQnXbTnUBVLXXagwKFH6AQ==", "from": "ndjson@github:hugomrdias/ndjson#feat/readable-stream3", "requires": { "json-stringify-safe": "^5.0.1", diff --git a/AllInteractions/schema.graphql b/AllInteractions/schema.graphql index d9a9073e..93a41fd9 100644 --- a/AllInteractions/schema.graphql +++ b/AllInteractions/schema.graphql @@ -264,7 +264,7 @@ type GetPerfomanceFee @entity(immutable: true) { transaction: Transaction! } -# @notice The entity holds inforamtion about pool address of transaction +# @notice The entity holds information about pool address of transaction # @param id forms from tx hash + interactionCount # @param pool the pool address # @param transaction the transaction entity id @@ -307,12 +307,14 @@ type DaoPoolDelegate @entity(immutable: true) { # @notice The entity holds information about vote in dao pool # @param id forms from tx hash + interactionCount # @param pool the pool address +# @param isVoteFor bool flag, if true - vote for, if false - vote against # @param amount the vote amount # @param transaction the transaction entity id type DaoPoolVote @entity(immutable: true) { id: Bytes! # tx hash + interactionCount pool: Bytes! + isVoteFor: Boolean! amount: BigInt! transaction: Transaction! @@ -407,6 +409,7 @@ type DaoValidatorProposalCreate @entity(immutable: true) { # @param id forms from tx hash + interactionCount # @param pool the pool address # @param proposalId the id of proposal +# @param isVoteFor bool flag, if true - vote for, if false - vote against # @param amount the vote amount # @param transaction the transaction entity id type DaoValidatorProposalVote @entity(immutable: true) { @@ -414,6 +417,7 @@ type DaoValidatorProposalVote @entity(immutable: true) { pool: Bytes! proposalId: BigInt! + isVoteFor: Boolean! amount: BigInt! transaction: Transaction! diff --git a/AllInteractions/src/entities/dao-pool/DaoPoolVote.ts b/AllInteractions/src/entities/dao-pool/DaoPoolVote.ts index c5026342..7e130e36 100644 --- a/AllInteractions/src/entities/dao-pool/DaoPoolVote.ts +++ b/AllInteractions/src/entities/dao-pool/DaoPoolVote.ts @@ -1,7 +1,13 @@ import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; import { DaoPoolVote } from "../../../generated/schema"; -export function getDaoPoolVote(hash: Bytes, pool: Address, amount: BigInt, count: BigInt): DaoPoolVote { +export function getDaoPoolVote( + hash: Bytes, + pool: Address, + amount: BigInt, + count: BigInt, + isVoteFor: boolean +): DaoPoolVote { let id = hash.concatI32(count.toI32()); let daoPoolVote = DaoPoolVote.load(id); @@ -9,6 +15,7 @@ export function getDaoPoolVote(hash: Bytes, pool: Address, amount: BigInt, count daoPoolVote = new DaoPoolVote(id); daoPoolVote.pool = pool; daoPoolVote.amount = amount; + daoPoolVote.isVoteFor = isVoteFor; daoPoolVote.transaction = Bytes.empty(); } diff --git a/AllInteractions/src/entities/dao-pool/DaoValidatorProposalVote.ts b/AllInteractions/src/entities/dao-pool/DaoValidatorProposalVote.ts index 43a4e8a6..4c142913 100644 --- a/AllInteractions/src/entities/dao-pool/DaoValidatorProposalVote.ts +++ b/AllInteractions/src/entities/dao-pool/DaoValidatorProposalVote.ts @@ -6,7 +6,8 @@ export function getDaoVaildatorProposalVote( pool: Address, proposalId: BigInt, amount: BigInt, - count: BigInt + count: BigInt, + isVoteFor: boolean ): DaoValidatorProposalVote { let id = hash.concatI32(count.toI32()); let proposalVote = DaoValidatorProposalVote.load(id); @@ -17,6 +18,7 @@ export function getDaoVaildatorProposalVote( proposalVote.proposalId = proposalId; proposalVote.amount = amount; + proposalVote.isVoteFor = isVoteFor; proposalVote.transaction = Bytes.empty(); } diff --git a/AllInteractions/src/mappings/DaoPool.ts b/AllInteractions/src/mappings/DaoPool.ts index 3fe142cc..433b0306 100644 --- a/AllInteractions/src/mappings/DaoPool.ts +++ b/AllInteractions/src/mappings/DaoPool.ts @@ -75,7 +75,8 @@ export function onVoted(event: Voted): void { event.transaction.hash, event.address, event.params.personalVote.plus(event.params.delegatedVote), - transaction.interactionsCount + transaction.interactionsCount, + event.params.isVoteFor ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_PROPOSAL_VOTED)]); diff --git a/AllInteractions/src/mappings/DaoValidators.ts b/AllInteractions/src/mappings/DaoValidators.ts index 7ca6cc82..8bfa2cb6 100644 --- a/AllInteractions/src/mappings/DaoValidators.ts +++ b/AllInteractions/src/mappings/DaoValidators.ts @@ -24,7 +24,8 @@ export function onVoted(event: Voted): void { event.address, event.params.proposalId, event.params.vote, - transaction.interactionsCount + transaction.interactionsCount, + event.params.isVoteFor ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); diff --git a/AllInteractions/subgraph.yaml b/AllInteractions/subgraph.yaml index a6715dfc..55eaf851 100644 --- a/AllInteractions/subgraph.yaml +++ b/AllInteractions/subgraph.yaml @@ -184,7 +184,7 @@ templates: handler: onProposalCreated - event: Delegated(address,address,uint256,uint256[],bool) handler: onDelegated - - event: Voted(uint256,address,uint256,uint256) + - event: Voted(uint256,address,uint256,uint256,bool) handler: onVoted - event: ProposalExecuted(uint256,address) handler: onProposalExecuted @@ -212,7 +212,7 @@ templates: - name: DaoValidators file: ./abis/DaoValidators.json eventHandlers: - - event: Voted(uint256,address,uint256,bool) # id, msg.sender, vote + - event: Voted(uint256,address,uint256,bool,bool) # id, msg.sender, vote handler: onVoted - event: InternalProposalCreated(uint256,string,uint256,address) handler: onInternalProposalCreated diff --git a/AllInteractions/tests/DaoPool.test.ts b/AllInteractions/tests/DaoPool.test.ts index 25bc4b6f..252b2da5 100644 --- a/AllInteractions/tests/DaoPool.test.ts +++ b/AllInteractions/tests/DaoPool.test.ts @@ -94,6 +94,7 @@ function createVoted( sender: Address, personalVote: BigInt, delegatedVote: BigInt, + isVoteFor: boolean, contractSender: Address, block: ethereum.Block, tx: ethereum.Transaction @@ -105,6 +106,7 @@ function createVoted( event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); event.parameters.push(new ethereum.EventParam("personalVote", ethereum.Value.fromUnsignedBigInt(personalVote))); event.parameters.push(new ethereum.EventParam("delegatedVote", ethereum.Value.fromUnsignedBigInt(delegatedVote))); + event.parameters.push(new ethereum.EventParam("isVoteFor", ethereum.Value.fromBoolean(isVoteFor))); event.block = block; event.transaction = tx; @@ -299,8 +301,9 @@ describe("DaoPool", () => { let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); let personalVote = BigInt.fromI32(1000); let delegatedVote = BigInt.fromI32(100); + let isVoteFor = true; - let event = createVoted(proposalId, sender, personalVote, delegatedVote, contractSender, block, tx); + let event = createVoted(proposalId, sender, personalVote, delegatedVote, isVoteFor, contractSender, block, tx); onVoted(event); @@ -311,6 +314,7 @@ describe("DaoPool", () => { "amount", personalVote.plus(delegatedVote).toString() ); + assert.fieldEquals("DaoPoolVote", tx.hash.concatI32(0).toHexString(), "isVoteFor", isVoteFor.toString()); assertTransaction( tx.hash, diff --git a/AllInteractions/tests/DaoValidators.test.ts b/AllInteractions/tests/DaoValidators.test.ts index f4154f36..10eb51cc 100644 --- a/AllInteractions/tests/DaoValidators.test.ts +++ b/AllInteractions/tests/DaoValidators.test.ts @@ -74,6 +74,7 @@ function createVoted( sender: Address, vote: BigInt, isInternal: boolean, + isVoteFor: boolean, contractSender: Address, block: ethereum.Block, tx: ethereum.Transaction @@ -85,6 +86,7 @@ function createVoted( event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); event.parameters.push(new ethereum.EventParam("vote", ethereum.Value.fromUnsignedBigInt(vote))); event.parameters.push(new ethereum.EventParam("isInternal", ethereum.Value.fromBoolean(isInternal))); + event.parameters.push(new ethereum.EventParam("isVoteFor", ethereum.Value.fromBoolean(isVoteFor))); event.block = block; event.transaction = tx; @@ -177,8 +179,9 @@ describe("DaoValidators", () => { let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181670"); let vote = BigInt.fromI32(100); let isInternal = true; + let isVoteFor = true; - let event = createVoted(proposalId, sender, vote, isInternal, contractSender, block, tx); + let event = createVoted(proposalId, sender, vote, isInternal, isVoteFor, contractSender, block, tx); onVoted(event); @@ -195,6 +198,12 @@ describe("DaoValidators", () => { proposalId.toString() ); assert.fieldEquals("DaoValidatorProposalVote", tx.hash.concatI32(0).toHexString(), "amount", vote.toString()); + assert.fieldEquals( + "DaoValidatorProposalVote", + tx.hash.concatI32(0).toHexString(), + "isVoteFor", + isVoteFor.toString() + ); assertTransaction( tx.hash, diff --git a/AllPools/tests/TraderPool.test.ts b/AllPools/tests/TraderPool.test.ts index 92ddb1c4..1102d9b2 100644 --- a/AllPools/tests/TraderPool.test.ts +++ b/AllPools/tests/TraderPool.test.ts @@ -17,6 +17,8 @@ import { ModifiedPrivateInvestors, PositionClosed, Exchanged, + CommissionClaimed, + ActivePortfolioExchanged, } from "../generated/templates/TraderPool/TraderPool"; import { getBlock, getNextBlock, getNextTx, getTransaction } from "./utils"; import { @@ -28,9 +30,16 @@ import { onModifiedAdmins, onModifiedPrivateInvestors, onTraderCommissionMinted, + onActivePortfolioExchanged, } from "../src/mappings/TraderPool"; import { getTraderPool } from "../src/entities/trader-pool/TraderPool"; -import { PRICE_FEED_ADDRESS } from "../src/entities/global/globals"; +import { + DAY, + DECIMAL, + PERCENTAGE_100, + PRICE_FEED_ADDRESS, + REVERSED_PLATFORM_COMMISSION, +} from "../src/entities/global/globals"; function createExchanged( user: Address, @@ -166,6 +175,54 @@ function createModifiedPrivateInvestors( return event; } +function createCommissionClaimed( + user: Address, + traderBaseClaimed: BigInt, + traderLpClaimed: BigInt, + sender: Address, + block: ethereum.Block, + tx: ethereum.Transaction +): CommissionClaimed { + let event = changetype(newMockEvent()); + event.parameters = new Array(); + + event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); + event.parameters.push( + new ethereum.EventParam("traderBaseClaimed", ethereum.Value.fromUnsignedBigInt(traderBaseClaimed)) + ); + event.parameters.push(new ethereum.EventParam("traderLpClaimed", ethereum.Value.fromUnsignedBigInt(traderLpClaimed))); + + event.address = sender; + event.block = block; + event.transaction = tx; + + return event; +} + +function createActivePortfolioExchanged( + fromToken: Address, + toToken: Address, + fromVolume: BigInt, + toVolume: BigInt, + sender: Address, + block: ethereum.Block, + tx: ethereum.Transaction +): ActivePortfolioExchanged { + let event = changetype(newMockEvent()); + event.parameters = new Array(); + + event.parameters.push(new ethereum.EventParam("fromToken", ethereum.Value.fromAddress(fromToken))); + event.parameters.push(new ethereum.EventParam("toToken", ethereum.Value.fromAddress(toToken))); + event.parameters.push(new ethereum.EventParam("fromVolume", ethereum.Value.fromUnsignedBigInt(fromVolume))); + event.parameters.push(new ethereum.EventParam("toVolume", ethereum.Value.fromUnsignedBigInt(toVolume))); + + event.address = sender; + event.block = block; + event.transaction = tx; + + return event; +} + const sender = Address.fromString("0x86e98f7d84603AEb97cd1c89A80A9e914f181679"); const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); @@ -349,4 +406,88 @@ describe("TraderPool", () => { assert.fieldEquals("TraderPool", sender.toHexString(), "totalClosedPositions", "1"); assert.fieldEquals("TraderPool", sender.toHexString(), "maxLoss", "0"); }); + + test("should handle CommissionClaimed event", () => { + const commission = BigInt.fromI32(30); + getTraderPool( + sender, + "BASIC_TRADER_POOL", + baseToken, + "tiker", + "name", + "url", + block.timestamp, + block.number, + Address.zero(), + commission + ).save(); + + let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); + let traderBaseClaimed = BigInt.fromI32(10); + let traderLpClaimed = BigInt.fromI32(20); + + let event = createCommissionClaimed(user, traderBaseClaimed, traderLpClaimed, sender, block, tx); + + onTraderCommissionMinted(event); + + const historyId = sender.toHexString() + block.timestamp.div(BigInt.fromI32(DAY)).toString(); + + let lpCommission = event.params.traderLpClaimed + .times(BigInt.fromU64(DECIMAL)) + .div(BigInt.fromI32(REVERSED_PLATFORM_COMMISSION).times(BigInt.fromU64(DECIMAL).div(BigInt.fromI32(10)))); + + const perfomanceFee = lpCommission.times(BigInt.fromI32(1)); + const fundProfit = perfomanceFee.times(BigInt.fromU64(PERCENTAGE_100).minus(commission)).div(commission); + + assert.fieldEquals("FeeHistory", historyId, "traderPool", sender.toHexString()); + assert.fieldEquals("FeeHistory", historyId, "PNL", "0"); + assert.fieldEquals("FeeHistory", historyId, "fundProfit", fundProfit.toString()); + assert.fieldEquals("FeeHistory", historyId, "perfomanceFee", perfomanceFee.toString()); + assert.fieldEquals("FeeHistory", historyId, "day", "0"); + assert.fieldEquals("FeeHistory", historyId, "prevHistory", ""); + }); + + test("should handle ActivePortfolioExchanged event", () => { + getTraderPool( + sender, + "BASIC_TRADER_POOL", + baseToken, + "Ticker", + "name", + "url", + block.timestamp, + block.number, + Address.zero(), + BigInt.fromI32(30) + ).save(); + + let fromToken = baseToken; + let toToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181979"); + let fromVolume = BigInt.fromI32(10).pow(18); + let toVolume = BigInt.fromI32(10).pow(19); + + let event = createActivePortfolioExchanged(fromToken, toToken, fromVolume, toVolume, sender, block, tx); + + onActivePortfolioExchanged(event); + + assert.fieldEquals( + "Position", + sender.toHexString() + toToken.toHexString() + "0", + "totalPositionOpenVolume", + toVolume.toString() + ); + assert.fieldEquals( + "Position", + sender.toHexString() + toToken.toHexString() + "0", + "totalBaseOpenVolume", + fromVolume.toString() + ); + + assert.fieldEquals( + "Position", + sender.toHexString() + toToken.toHexString() + "0", + "totalUSDOpenVolume", + fromVolume.toString() + ); + }); }); diff --git a/DaoPools/abis/DaoPool.json b/DaoPools/abis/DaoPool.json index 3d276a81..93709f88 100644 --- a/DaoPools/abis/DaoPool.json +++ b/DaoPools/abis/DaoPool.json @@ -1535,6 +1535,12 @@ "internalType": "uint256", "name": "delegatedVote", "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isVoteFor", + "type": "bool" } ], "name": "Voted", diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index 6bd9b75c..6fa4a1c5 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -90,7 +90,8 @@ type Proposal @entity { executor: Bytes! executionTimestamp: BigInt! - currentVotes: BigInt! + currentVotesFor: BigInt! + currentVotesAgainst: BigInt! quorum: BigInt! description: String! misc: String! @@ -157,6 +158,7 @@ type VoterInPool @entity { # @param id forms from tx hash + counter # @param hash the tx hash # @param timestamp the timestamp of tx +# @param isVoteFor bool flag, if true - vote for, if false - vote against # @param personalAmount the personal amount of vote # @param delegatedAmount the delegated amount of vote # @param voter the VoterInProposal entity id @@ -166,6 +168,8 @@ type ProposalVote @entity(immutable: true) { hash: Bytes! timestamp: BigInt! + isVoteFor: Boolean! + personalAmount: BigInt! delegatedAmount: BigInt! @@ -178,8 +182,10 @@ type ProposalVote @entity(immutable: true) { # @param pool the pool entity id # @param proposal the proposal entity id # @param voter the VoterInPool entity id -# @param totalVoteAmount the total personal amount of vote for proposal -# @param totalDelegatedVoteAmount the total delegated amount of vote for proposal +# @param totalVoteAmountFor the total personal amount of vote for the proposal +# @param totalVoteAmountAgainst the total personal amount of vote against the proposal +# @param totalDelegatedVoteAmountFor the total delegated amount of vote for the proposal +# @param totalDelegatedVoteAmountAgainst the total delegated amount of vote against the proposal # @param unclaimedRewardUSD the amount of credited reward in usd # @param unclaimedRewardFromDelegationsUSD the amount of credited reward from delegations in usd # @param claimedRewardUSD the amount of claimed reward @@ -190,8 +196,11 @@ type VoterInProposal @entity { proposal: Proposal! voter: VoterInPool! - totalVoteAmount: BigInt! - totalDelegatedVoteAmount: BigInt! + totalVoteForAmount: BigInt! + totalVoteAgainstAmount: BigInt! + + totalDelegatedVoteForAmount: BigInt! + totalDelegatedVoteAgainstAmount: BigInt! unclaimedRewardUSD: BigInt! unclaimedRewardFromDelegationsUSD: BigInt! diff --git a/DaoPools/src/entities/Proposal.ts b/DaoPools/src/entities/Proposal.ts index 60505eb4..c93e4aac 100644 --- a/DaoPools/src/entities/Proposal.ts +++ b/DaoPools/src/entities/Proposal.ts @@ -20,7 +20,8 @@ export function getProposal( proposal.creator = creator; proposal.executor = Bytes.empty(); proposal.executionTimestamp = BigInt.zero(); - proposal.currentVotes = BigInt.zero(); + proposal.currentVotesFor = BigInt.zero(); + proposal.currentVotesAgainst = BigInt.zero(); proposal.quorum = quorum; proposal.votersVoted = BigInt.zero(); proposal.isDP = false; diff --git a/DaoPools/src/entities/ProposalVote.ts b/DaoPools/src/entities/ProposalVote.ts index 99cba321..b6f63869 100644 --- a/DaoPools/src/entities/ProposalVote.ts +++ b/DaoPools/src/entities/ProposalVote.ts @@ -8,7 +8,8 @@ export function getProposalVote( voterInProposal: VoterInProposal, timestamp: BigInt, personalAmount: BigInt, - delegatedAmount: BigInt + delegatedAmount: BigInt, + isVoteFor: boolean ): ProposalVote { let counter = getInteractionCount(hash); let id = hash.concatI32(counter.count.toI32()); @@ -22,6 +23,8 @@ export function getProposalVote( proposalVote.delegatedAmount = delegatedAmount; proposalVote.personalAmount = personalAmount; + proposalVote.isVoteFor = isVoteFor; + proposalVote.proposal = voterInProposal.proposal; proposalVote.voter = voterInProposal.id; diff --git a/DaoPools/src/entities/Voters/VoterInProposal.ts b/DaoPools/src/entities/Voters/VoterInProposal.ts index a26504f1..c7d28520 100644 --- a/DaoPools/src/entities/Voters/VoterInProposal.ts +++ b/DaoPools/src/entities/Voters/VoterInProposal.ts @@ -11,8 +11,10 @@ export function getVoterInProposal(proposal: Proposal, voterInPool: VoterInPool) voterInProposal.proposal = proposal.id; voterInProposal.voter = voterInPool.id; - voterInProposal.totalVoteAmount = BigInt.zero(); - voterInProposal.totalDelegatedVoteAmount = BigInt.zero(); + voterInProposal.totalVoteForAmount = BigInt.zero(); + voterInProposal.totalVoteAgainstAmount = BigInt.zero(); + voterInProposal.totalDelegatedVoteForAmount = BigInt.zero(); + voterInProposal.totalDelegatedVoteAgainstAmount = BigInt.zero(); voterInProposal.claimedRewardUSD = BigInt.zero(); voterInProposal.claimedDpRewardUSD = BigInt.zero(); diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index 32c56b6b..55558fb2 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -142,13 +142,30 @@ export function onVoted(event: Voted): void { voterInProposal, event.block.timestamp, event.params.personalVote, - event.params.delegatedVote + event.params.delegatedVote, + event.params.isVoteFor ); - voterInProposal.totalDelegatedVoteAmount = voterInProposal.totalDelegatedVoteAmount.plus(event.params.delegatedVote); - voterInProposal.totalVoteAmount = voterInProposal.totalVoteAmount.plus(event.params.personalVote); + if (proposalVote.isVoteFor) { + voterInProposal.totalDelegatedVoteForAmount = voterInProposal.totalDelegatedVoteForAmount.plus( + event.params.delegatedVote + ); + voterInProposal.totalVoteForAmount = voterInProposal.totalVoteForAmount.plus(event.params.personalVote); + + proposal.currentVotesFor = proposal.currentVotesFor + .plus(event.params.personalVote) + .plus(event.params.delegatedVote); + } else { + voterInProposal.totalDelegatedVoteAgainstAmount = voterInProposal.totalDelegatedVoteAgainstAmount.plus( + event.params.delegatedVote + ); + voterInProposal.totalVoteAgainstAmount = voterInProposal.totalVoteAgainstAmount.plus(event.params.personalVote); + + proposal.currentVotesAgainst = proposal.currentVotesAgainst + .plus(event.params.personalVote) + .plus(event.params.delegatedVote); + } - proposal.currentVotes = proposal.currentVotes.plus(event.params.personalVote).plus(event.params.delegatedVote); let newVoters = extendArray(proposal.voters, [voter.id]); if (proposal.voters.length < newVoters.length) { diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index 3fd2391f..2d41a1d0 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -48,7 +48,7 @@ templates: handler: onProposalCreated - event: Delegated(address,address,uint256,uint256[],bool) # from, to, amount, nfts, isDelegate handler: onDelegated - - event: Voted(uint256,address,uint256,uint256) # id, msg.sender, personalVote, delegatedVote + - event: Voted(uint256,address,uint256,uint256,bool) # id, msg.sender, personalVote, delegatedVote handler: onVoted - event: DPCreated(uint256,address,address,uint256) # id, msg.sender, token, amount handler: onDPCreated diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index b65b3576..aeedbac5 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -103,6 +103,7 @@ function createVoted( sender: Address, personalVote: BigInt, delegatedVote: BigInt, + isVoteFor: boolean, contractSender: Address, block: ethereum.Block, tx: ethereum.Transaction @@ -114,6 +115,7 @@ function createVoted( event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); event.parameters.push(new ethereum.EventParam("personalVote", ethereum.Value.fromUnsignedBigInt(personalVote))); event.parameters.push(new ethereum.EventParam("delegatedVote", ethereum.Value.fromUnsignedBigInt(delegatedVote))); + event.parameters.push(new ethereum.EventParam("isVoteFor", ethereum.Value.fromBoolean(isVoteFor))); event.block = block; event.transaction = tx; @@ -417,7 +419,13 @@ describe("DaoPool", () => { "executionTimestamp", "0" ); - assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "currentVotes", "0"); + assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "currentVotesFor", "0"); + assert.fieldEquals( + "Proposal", + contractSender.concatI32(proposalId.toI32()).toHexString(), + "currentVotesAgainst", + "0" + ); assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "quorum", "100"); assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "0"); assert.fieldEquals( @@ -599,18 +607,28 @@ describe("DaoPool", () => { test("should handle voted", () => { let proposalId = BigInt.fromI32(1); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let personalVote = BigInt.fromI32(1000); - let delegatedVote = BigInt.fromI32(100); + let personalVoteFor = BigInt.fromI32(1000); + let delegatedVoteFor = BigInt.fromI32(100); + let isVoteFor = true; - let event = createVoted(proposalId, sender, personalVote, delegatedVote, contractSender, block, tx); + let event = createVoted( + proposalId, + sender, + personalVoteFor, + delegatedVoteFor, + isVoteFor, + contractSender, + block, + tx + ); onVoted(event); assert.fieldEquals( "Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), - "currentVotes", - personalVote.plus(delegatedVote).toString() + "currentVotesFor", + personalVoteFor.plus(delegatedVoteFor).toString() ); assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "1"); assert.fieldEquals( @@ -634,14 +652,101 @@ describe("DaoPool", () => { assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalVoteAmount", - personalVote.toString() + "totalVoteForAmount", + personalVoteFor.toString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalVoteAgainstAmount", + "0" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalDelegatedVoteForAmount", + delegatedVoteFor.toString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalDelegatedVoteAgainstAmount", + "0" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "claimedRewardUSD", + BigInt.zero().toString() + ); + + let personalVoteAgainst = BigInt.fromI32(200); + let delegatedVoteAgainst = BigInt.fromI32(50); + isVoteFor = false; + + const nextTx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); + + event = createVoted( + proposalId, + sender, + personalVoteAgainst, + delegatedVoteAgainst, + isVoteFor, + contractSender, + block, + nextTx + ); + + onVoted(event); + + assert.fieldEquals( + "Proposal", + contractSender.concatI32(proposalId.toI32()).toHexString(), + "currentVotesAgainst", + personalVoteAgainst.plus(delegatedVoteAgainst).toString() + ); + assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "1"); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "pool", + contractSender.toHexString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "proposal", + contractSender.concatI32(proposalId.toI32()).toHexString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "voter", + sender.concat(contractSender).toHexString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalVoteForAmount", + personalVoteFor.toString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalVoteAgainstAmount", + personalVoteAgainst.toString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalDelegatedVoteForAmount", + delegatedVoteFor.toString() ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalDelegatedVoteAmount", - delegatedVote.toString() + "totalDelegatedVoteAgainstAmount", + delegatedVoteAgainst.toString() ); assert.fieldEquals( "VoterInProposal", diff --git a/DaoValidators/abis/DaoValidators.json b/DaoValidators/abis/DaoValidators.json index 87af0c10..05769327 100644 --- a/DaoValidators/abis/DaoValidators.json +++ b/DaoValidators/abis/DaoValidators.json @@ -132,6 +132,12 @@ "internalType": "bool", "name": "isInternal", "type": "bool" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isVoteFor", + "type": "bool" } ], "name": "Voted", @@ -286,6 +292,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "executeExternalProposal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -306,9 +325,9 @@ "type": "bool" }, { - "internalType": "uint32", + "internalType": "uint56", "name": "snapshotId", - "type": "uint32" + "type": "uint56" }, { "internalType": "uint64", @@ -371,9 +390,9 @@ "type": "bool" }, { - "internalType": "uint32", + "internalType": "uint56", "name": "snapshotId", - "type": "uint32" + "type": "uint56" }, { "internalType": "uint64", diff --git a/DaoValidators/schema.graphql b/DaoValidators/schema.graphql index a060b5db..159684d8 100644 --- a/DaoValidators/schema.graphql +++ b/DaoValidators/schema.graphql @@ -18,7 +18,8 @@ type ValidatorsContract @entity(immutable: true) { # @param proposalId the id of proposal # @param isInternal bool flag, if true - internal for validators # @param quorum the percentage of total votes to confirm the proposal -# @param totalVote the current number of votes +# @param totalVoteFor the current number of votes for the proposal +# @param totalVoteAgainst the current number of votes against the proposal # @param description the url of description # @param creator the address of creator # @param executor the address of executor @@ -27,7 +28,9 @@ type Proposal @entity { proposalId: BigInt! isInternal: Boolean! quorum: BigInt! - totalVote: BigInt! + + totalVoteFor: BigInt! + totalVoteAgainst: BigInt! # only internal values description: String! @@ -55,6 +58,7 @@ type ValidatorInPool @entity { # @param hash the tx hash # @param timestamp the timestamp of transaction # @param proposal the proposal entity id +# @param isVoteFor bool flag, if true - vote for, if false - vote against # @param amount the amount of vote # @param voter the ValidatorInProposal entity id type ProposalVote @entity(immutable: true) { @@ -63,6 +67,7 @@ type ProposalVote @entity(immutable: true) { timestamp: BigInt! proposal: Proposal! + isVoteFor: Boolean! amount: BigInt! voter: ValidatorInProposal! @@ -80,7 +85,8 @@ type ValidatorInProposal @entity { proposal: Proposal! validator: ValidatorInPool! - totalVote: BigInt! + totalVoteFor: BigInt! + totalVoteAgainst: BigInt! votes: [ProposalVote!]! @derivedFrom(field: "voter") } diff --git a/DaoValidators/src/entities/Proposal.ts b/DaoValidators/src/entities/Proposal.ts index 8885f66b..c90e02c0 100644 --- a/DaoValidators/src/entities/Proposal.ts +++ b/DaoValidators/src/entities/Proposal.ts @@ -18,7 +18,8 @@ export function getProposal( proposal.isInternal = isInternal; proposal.description = description; proposal.quorum = quorum; - proposal.totalVote = BigInt.zero(); + proposal.totalVoteFor = BigInt.zero(); + proposal.totalVoteAgainst = BigInt.zero(); proposal.executor = Bytes.empty(); proposal.creator = creator; } diff --git a/DaoValidators/src/entities/ProposalVote.ts b/DaoValidators/src/entities/ProposalVote.ts index 46952327..ed431ccb 100644 --- a/DaoValidators/src/entities/ProposalVote.ts +++ b/DaoValidators/src/entities/ProposalVote.ts @@ -8,7 +8,8 @@ export function getProposalVote( timestamp: BigInt, proposal: Proposal, amount: BigInt, - voter: ValidatorInProposal + voter: ValidatorInProposal, + isVoteFor: boolean ): ProposalVote { let counter = getInteractionCount(hash); let id = hash.concatI32(counter.count.toI32()); @@ -23,6 +24,8 @@ export function getProposalVote( vote.voter = voter.id; + vote.isVoteFor = isVoteFor; + increaseCounter(counter); } diff --git a/DaoValidators/src/entities/ValidatorInProposal.ts b/DaoValidators/src/entities/ValidatorInProposal.ts index bb366dcb..b3438b65 100644 --- a/DaoValidators/src/entities/ValidatorInProposal.ts +++ b/DaoValidators/src/entities/ValidatorInProposal.ts @@ -9,7 +9,8 @@ export function getValidatorInProposal(validator: ValidatorInPool, proposal: Pro validatorInProposal = new ValidatorInProposal(id); validatorInProposal.pool = validator.pool; validatorInProposal.proposal = proposal.id; - validatorInProposal.totalVote = BigInt.zero(); + validatorInProposal.totalVoteFor = BigInt.zero(); + validatorInProposal.totalVoteAgainst = BigInt.zero(); validatorInProposal.validator = validator.id; } diff --git a/DaoValidators/src/mappings/DaoValidators.ts b/DaoValidators/src/mappings/DaoValidators.ts index 06caa107..9774edf9 100644 --- a/DaoValidators/src/mappings/DaoValidators.ts +++ b/DaoValidators/src/mappings/DaoValidators.ts @@ -54,11 +54,17 @@ export function onVoted(event: Voted): void { event.block.timestamp, proposal, event.params.vote, - validatorInProposal + validatorInProposal, + event.params.isVoteFor ); - validatorInProposal.totalVote = validatorInProposal.totalVote.plus(event.params.vote); - proposal.totalVote = proposal.totalVote.plus(event.params.vote); + if (vote.isVoteFor) { + validatorInProposal.totalVoteFor = validatorInProposal.totalVoteFor.plus(event.params.vote); + proposal.totalVoteFor = proposal.totalVoteFor.plus(event.params.vote); + } else { + validatorInProposal.totalVoteAgainst = validatorInProposal.totalVoteAgainst.plus(event.params.vote); + proposal.totalVoteAgainst = proposal.totalVoteAgainst.plus(event.params.vote); + } vote.save(); validatorInProposal.save(); diff --git a/DaoValidators/subgraph.yaml b/DaoValidators/subgraph.yaml index 36d0e2e3..b210c384 100644 --- a/DaoValidators/subgraph.yaml +++ b/DaoValidators/subgraph.yaml @@ -40,7 +40,7 @@ templates: - name: DaoValidators file: ./abis/DaoValidators.json eventHandlers: - - event: Voted(uint256,address,uint256,bool) # id, msg.sender, vote + - event: Voted(uint256,address,uint256,bool,bool) # id, msg.sender, vote handler: onVoted - event: ChangedValidatorsBalances(address[],uint256[]) # validators[], newBalances[] handler: onChangedValidatorsBalances diff --git a/DaoValidators/tests/DaoValidators.test.ts b/DaoValidators/tests/DaoValidators.test.ts index f18371bb..7e76b898 100644 --- a/DaoValidators/tests/DaoValidators.test.ts +++ b/DaoValidators/tests/DaoValidators.test.ts @@ -99,6 +99,7 @@ function createVoted( sender: Address, vote: BigInt, isInternal: boolean, + isVoteFor: boolean, contractSender: Address, block: ethereum.Block, tx: ethereum.Transaction @@ -110,6 +111,7 @@ function createVoted( event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); event.parameters.push(new ethereum.EventParam("vote", ethereum.Value.fromUnsignedBigInt(vote))); event.parameters.push(new ethereum.EventParam("isInternal", ethereum.Value.fromBoolean(isInternal))); + event.parameters.push(new ethereum.EventParam("isVoteFor", ethereum.Value.fromBoolean(isVoteFor))); event.block = block; event.transaction = tx; @@ -209,7 +211,13 @@ describe("DaoValidators", () => { "quorum", quorum.toString() ); - assert.fieldEquals("Proposal", poolAddress.toHexString() + proposalId.toString() + "_" + "0", "totalVote", "0"); + assert.fieldEquals("Proposal", poolAddress.toHexString() + proposalId.toString() + "_" + "0", "totalVoteFor", "0"); + assert.fieldEquals( + "Proposal", + poolAddress.toHexString() + proposalId.toString() + "_" + "0", + "totalVoteAgainst", + "0" + ); assert.fieldEquals( "Proposal", poolAddress.toHexString() + proposalId.toString() + "_" + "0", @@ -253,7 +261,13 @@ describe("DaoValidators", () => { "quorum", quorum.toString() ); - assert.fieldEquals("Proposal", poolAddress.toHexString() + proposalId.toString() + "_" + "1", "totalVote", "0"); + assert.fieldEquals("Proposal", poolAddress.toHexString() + proposalId.toString() + "_" + "1", "totalVoteFor", "0"); + assert.fieldEquals( + "Proposal", + poolAddress.toHexString() + proposalId.toString() + "_" + "1", + "totalVoteAgainst", + "0" + ); assert.fieldEquals( "Proposal", poolAddress.toHexString() + proposalId.toString() + "_" + "1", @@ -297,15 +311,22 @@ describe("DaoValidators", () => { let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181670"); let vote = BigInt.fromI32(100); let isInternal = true; + let isVoteFor = true; - let event = createVoted(proposalId, sender, vote, isInternal, contractSender, block, tx); + let event = createVoted(proposalId, sender, vote, isInternal, isVoteFor, contractSender, block, tx); onVoted(event); assert.fieldEquals( "ValidatorInProposal", sender.concat(poolAddress).concatI32(proposalId.toI32()).toHexString(), - "totalVote", + "totalVoteAgainst", + "0" + ); + assert.fieldEquals( + "ValidatorInProposal", + sender.concat(poolAddress).concatI32(proposalId.toI32()).toHexString(), + "totalVoteFor", vote.toString() ); assert.fieldEquals("ProposalVote", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); @@ -316,6 +337,7 @@ describe("DaoValidators", () => { "proposal", poolAddress.toHexString() + proposalId.toString() + "_" + "1" ); + assert.fieldEquals("ProposalVote", tx.hash.concatI32(0).toHexString(), "isVoteFor", isVoteFor.toString()); assert.fieldEquals("ProposalVote", tx.hash.concatI32(0).toHexString(), "amount", vote.toString()); assert.fieldEquals( "ProposalVote", @@ -323,6 +345,42 @@ describe("DaoValidators", () => { "voter", sender.concat(poolAddress).concatI32(proposalId.toI32()).toHexString() ); + + isVoteFor = false; + + const nextTx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(2)))); + event = createVoted(proposalId, sender, vote, isInternal, isVoteFor, contractSender, block, nextTx); + + onVoted(event); + + assert.fieldEquals( + "ValidatorInProposal", + sender.concat(poolAddress).concatI32(proposalId.toI32()).toHexString(), + "totalVoteAgainst", + vote.toString() + ); + assert.fieldEquals( + "ValidatorInProposal", + sender.concat(poolAddress).concatI32(proposalId.toI32()).toHexString(), + "totalVoteFor", + vote.toString() + ); + assert.fieldEquals("ProposalVote", nextTx.hash.concatI32(0).toHexString(), "hash", nextTx.hash.toHexString()); + assert.fieldEquals("ProposalVote", nextTx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); + assert.fieldEquals( + "ProposalVote", + nextTx.hash.concatI32(0).toHexString(), + "proposal", + poolAddress.toHexString() + proposalId.toString() + "_" + "1" + ); + assert.fieldEquals("ProposalVote", nextTx.hash.concatI32(0).toHexString(), "isVoteFor", isVoteFor.toString()); + assert.fieldEquals("ProposalVote", nextTx.hash.concatI32(0).toHexString(), "amount", vote.toString()); + assert.fieldEquals( + "ProposalVote", + nextTx.hash.concatI32(0).toHexString(), + "voter", + sender.concat(poolAddress).concatI32(proposalId.toI32()).toHexString() + ); }); test("should handle ChangedValidatorsBalances", () => { From fd1cf594a66694d419d97ba69e1ee6b4a385306e Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Thu, 6 Jul 2023 22:45:50 +0300 Subject: [PATCH 02/44] Fix/tests updates (#109) * fixed AllInteractions, DaoPools, DaoValidators: added isVoteFor flag, separated vote amounts * fixed tests for AllPools (added tests for CommissionClaimed, ActivePortfolioExchanged events) * fixed tests for AllInteractions, AllPools, AllPoolsInvestors, BasicPool, InvestPool (coverage 100%) * fixed tests for DaoPools, DaoValidators (coverage 100%) * fixed typo --- AllInteractions/package.json | 1 + AllInteractions/schema.graphql | 8 +- .../src/entities/dao-pool/DaoPoolDeposit.ts | 24 --- .../src/entities/dao-pool/DaoPoolVest.ts | 24 +++ .../entities/transaction/GetPerfomanceFee.ts | 18 --- .../entities/transaction/GetPerformanceFee.ts | 23 +++ AllInteractions/src/mappings/DaoPool.ts | 6 +- AllInteractions/src/mappings/TraderPool.ts | 4 +- AllInteractions/tests/DaoPool.test.ts | 141 +++++++++++++++++- AllInteractions/tests/DaoValidators.test.ts | 53 ++++++- AllInteractions/tests/TraderPool.test.ts | 94 +++++++++++- .../tests/TraderPoolInvestProposal.test.ts | 96 +++++++++++- .../tests/TraderPoolRiskyProposal.test.ts | 26 +++- AllInteractions/tests/UserRegistry.test.ts | 35 ++++- AllInteractions/tests/utils.ts | 3 +- AllPools/package.json | 1 + AllPools/src/mappings/TraderPoolRegistry.ts | 2 +- AllPools/subgraph.yaml | 2 +- AllPools/tests/TraderPool.test.ts | 96 ++++++++++-- AllPools/tests/TraderPoolRegistry.test.ts | 16 +- AllPoolsInvestors/package.json | 1 + AllPoolsInvestors/tests/Insurance.test.ts | 56 ++++++- AllPoolsInvestors/tests/PoolFactory.test.ts | 58 +++++++ AllPoolsInvestors/tests/TraderPool.test.ts | 81 +++++++++- .../tests/TraderPoolProposal.test.ts | 50 ++++++- AllPoolsInvestors/tests/utils.ts | 2 +- BasicPool/package.json | 1 + .../tests/TraderPoolRiskyProposal.test.ts | 31 ++++ DaoPools/package.json | 1 + DaoPools/tests/DaoPool.test.ts | 49 ++++++ DaoPools/tests/DaoSettings.test.ts | 58 ++++++- DaoPools/tests/TokenSale.test.ts | 49 +++++- DaoPools/tests/UserKeeper.test.ts | 14 ++ DaoValidators/package.json | 1 + DaoValidators/tests/DaoValidators.test.ts | 68 ++++++++- InvestPool/package.json | 1 + .../tests/TraderPoolInvestProposal.test.ts | 109 +++++++++++++- InvestPool/tests/utils.ts | 2 +- 38 files changed, 1188 insertions(+), 117 deletions(-) delete mode 100644 AllInteractions/src/entities/dao-pool/DaoPoolDeposit.ts create mode 100644 AllInteractions/src/entities/dao-pool/DaoPoolVest.ts delete mode 100644 AllInteractions/src/entities/transaction/GetPerfomanceFee.ts create mode 100644 AllInteractions/src/entities/transaction/GetPerformanceFee.ts diff --git a/AllInteractions/package.json b/AllInteractions/package.json index d16f474c..c0e79521 100644 --- a/AllInteractions/package.json +++ b/AllInteractions/package.json @@ -6,6 +6,7 @@ "codegen": "graph codegen", "build": "graph build", "test": "graph test", + "coverage": "graph test -c", "deploy": "graph deploy --node https://api.thegraph.com/deploy/ volodymyrzolotukhin/dexe", "create-local": "graph create --node http://localhost:8020/ volodymyrzolotukhin/dexe", "remove-local": "graph remove --node http://localhost:8020/ volodymyrzolotukhin/dexe", diff --git a/AllInteractions/schema.graphql b/AllInteractions/schema.graphql index 93a41fd9..0742404a 100644 --- a/AllInteractions/schema.graphql +++ b/AllInteractions/schema.graphql @@ -53,7 +53,7 @@ type Transaction @entity { insuranceStake: [InsuranceStake!]! @derivedFrom(field: "transaction") - getPerfomanceFee: [GetPerfomanceFee!]! @derivedFrom(field: "transaction") + getPerformanceFee: [GetPerformanceFee!]! @derivedFrom(field: "transaction") onlyPool: [OnlyPool!]! @derivedFrom(field: "transaction") } @@ -256,7 +256,7 @@ type InsuranceStake @entity(immutable: true) { # @param baseAmount the amount in base token # @param lpAmount the amount in lp token # @param transaction the transaction entity id -type GetPerfomanceFee @entity(immutable: true) { +type GetPerformanceFee @entity(immutable: true) { id: Bytes! # tx hash + interactionCount baseAmount: BigInt! lpAmount: BigInt! @@ -362,13 +362,13 @@ type DaoPoolRewardClaim @entity(immutable: true) { transaction: Transaction! } -# @notice The entity holds information about deposit +# @notice The entity holds information about deposit/withdraw # @param id forms from tx hash + interactionCount # @param pool the pool address # @param nfts the array of nft ids # @param amount the amount of deposit # @param transaction the transaction entity id -type DaoPoolDeposit @entity(immutable: true) { +type DaoPoolVest @entity(immutable: true) { id: Bytes! pool: Bytes! diff --git a/AllInteractions/src/entities/dao-pool/DaoPoolDeposit.ts b/AllInteractions/src/entities/dao-pool/DaoPoolDeposit.ts deleted file mode 100644 index 9f7fa55f..00000000 --- a/AllInteractions/src/entities/dao-pool/DaoPoolDeposit.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { DaoPoolDeposit } from "../../../generated/schema"; - -export function getDaoPoolDeposit( - hash: Bytes, - pool: Address, - amount: BigInt, - nfts: Array, - count: BigInt -): DaoPoolDeposit { - let id = hash.concatI32(count.toI32()); - let daoPoolDeposit = DaoPoolDeposit.load(id); - - if (daoPoolDeposit == null) { - daoPoolDeposit = new DaoPoolDeposit(id); - daoPoolDeposit.pool = pool; - daoPoolDeposit.amount = amount; - daoPoolDeposit.nfts = nfts; - - daoPoolDeposit.transaction = Bytes.empty(); - } - - return daoPoolDeposit; -} diff --git a/AllInteractions/src/entities/dao-pool/DaoPoolVest.ts b/AllInteractions/src/entities/dao-pool/DaoPoolVest.ts new file mode 100644 index 00000000..ca411299 --- /dev/null +++ b/AllInteractions/src/entities/dao-pool/DaoPoolVest.ts @@ -0,0 +1,24 @@ +import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { DaoPoolVest } from "../../../generated/schema"; + +export function getDaoPoolVest( + hash: Bytes, + pool: Address, + amount: BigInt, + nfts: Array, + count: BigInt +): DaoPoolVest { + let id = hash.concatI32(count.toI32()); + let daoPoolVest = DaoPoolVest.load(id); + + if (daoPoolVest == null) { + daoPoolVest = new DaoPoolVest(id); + daoPoolVest.pool = pool; + daoPoolVest.amount = amount; + daoPoolVest.nfts = nfts; + + daoPoolVest.transaction = Bytes.empty(); + } + + return daoPoolVest; +} diff --git a/AllInteractions/src/entities/transaction/GetPerfomanceFee.ts b/AllInteractions/src/entities/transaction/GetPerfomanceFee.ts deleted file mode 100644 index bfd57fb2..00000000 --- a/AllInteractions/src/entities/transaction/GetPerfomanceFee.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { GetPerfomanceFee } from "../../../generated/schema"; - -export function getGetPerfomaneFee(hash: Bytes, amountBase: BigInt, amountLP: BigInt, count: BigInt): GetPerfomanceFee { - let id = hash.concatI32(count.toI32()); - let perfomanceFee = GetPerfomanceFee.load(id); - - if (perfomanceFee == null) { - perfomanceFee = new GetPerfomanceFee(id); - - perfomanceFee.baseAmount = amountBase; - perfomanceFee.lpAmount = amountLP; - - perfomanceFee.transaction = Bytes.empty(); - } - - return perfomanceFee; -} diff --git a/AllInteractions/src/entities/transaction/GetPerformanceFee.ts b/AllInteractions/src/entities/transaction/GetPerformanceFee.ts new file mode 100644 index 00000000..57c47053 --- /dev/null +++ b/AllInteractions/src/entities/transaction/GetPerformanceFee.ts @@ -0,0 +1,23 @@ +import { BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { GetPerformanceFee } from "../../../generated/schema"; + +export function getGetPerformanceFee( + hash: Bytes, + amountBase: BigInt, + amountLP: BigInt, + count: BigInt +): GetPerformanceFee { + let id = hash.concatI32(count.toI32()); + let performanceFee = GetPerformanceFee.load(id); + + if (performanceFee == null) { + performanceFee = new GetPerformanceFee(id); + + performanceFee.baseAmount = amountBase; + performanceFee.lpAmount = amountLP; + + performanceFee.transaction = Bytes.empty(); + } + + return performanceFee; +} diff --git a/AllInteractions/src/mappings/DaoPool.ts b/AllInteractions/src/mappings/DaoPool.ts index 433b0306..538e4452 100644 --- a/AllInteractions/src/mappings/DaoPool.ts +++ b/AllInteractions/src/mappings/DaoPool.ts @@ -10,7 +10,7 @@ import { Withdrawn, } from "../../generated/templates/DaoPool/DaoPool"; import { getDaoPoolDelegate } from "../entities/dao-pool/DaoPoolDelegate"; -import { getDaoPoolDeposit } from "../entities/dao-pool/DaoPoolDeposit"; +import { getDaoPoolVest } from "../entities/dao-pool/DaoPoolVest"; import { getDaoPoolMovedToValidators } from "../entities/dao-pool/DaoPoolMovedToValidators"; import { getDaoPoolExecute } from "../entities/dao-pool/DaoPoolProposalExecute"; import { getDaoPoolRewardClaim } from "../entities/dao-pool/DaoPoolRewardClaim"; @@ -136,7 +136,7 @@ export function onDeposited(event: Deposited): void { event.params.sender ); - let deposit = getDaoPoolDeposit( + let deposit = getDaoPoolVest( event.transaction.hash, event.address, event.params.amount, @@ -160,7 +160,7 @@ export function onWithdrawn(event: Withdrawn): void { event.params.sender ); - let withdrawn = getDaoPoolDeposit( + let withdrawn = getDaoPoolVest( event.transaction.hash, event.address, event.params.amount, diff --git a/AllInteractions/src/mappings/TraderPool.ts b/AllInteractions/src/mappings/TraderPool.ts index f4507aac..05ca9bac 100644 --- a/AllInteractions/src/mappings/TraderPool.ts +++ b/AllInteractions/src/mappings/TraderPool.ts @@ -16,7 +16,7 @@ import { getVest } from "../entities/trader-pool/Vest"; import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; import { getOnlyPool } from "../entities/transaction/OnlyPool"; import { getProposalVest } from "../entities/trader-pool/risky-proposal/ProposalVest"; -import { getGetPerfomaneFee } from "../entities/transaction/GetPerfomanceFee"; +import { getGetPerformanceFee } from "../entities/transaction/GetPerformanceFee"; import { extendArray } from "../helpers/ArrayHelper"; export function onExchange(event: Exchanged): void { @@ -162,7 +162,7 @@ export function onCommissionClaimed(event: CommissionClaimed): void { event.params.sender ); - let perfomanceFee = getGetPerfomaneFee( + let perfomanceFee = getGetPerformanceFee( event.transaction.hash, event.params.traderBaseClaimed, event.params.traderLpClaimed, diff --git a/AllInteractions/tests/DaoPool.test.ts b/AllInteractions/tests/DaoPool.test.ts index 252b2da5..3a78a80d 100644 --- a/AllInteractions/tests/DaoPool.test.ts +++ b/AllInteractions/tests/DaoPool.test.ts @@ -9,7 +9,7 @@ import { newMockEvent, test, } from "matchstick-as/assembly/index"; -import { assertTransaction, getBlock, getTransaction } from "./utils"; +import { assertTransaction, getBlock, getNextTx, getTransaction } from "./utils"; import { Delegated, Deposited, @@ -335,6 +335,7 @@ describe("DaoPool", () => { assert.fieldEquals("DaoPoolExecute", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); assert.fieldEquals("DaoPoolExecute", tx.hash.concatI32(0).toHexString(), "proposalId", proposalId.toString()); + assert.fieldEquals("DaoPoolExecute", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); assertTransaction( tx.hash, @@ -343,6 +344,30 @@ describe("DaoPool", () => { `[${TransactionType.DAO_POOL_PROPOSAL_EXECUTED}]`, BigInt.fromI32(1) ); + + const nextTx = getNextTx(tx); + proposalId = BigInt.fromI32(2); + + event = createProposalExecuted(proposalId, sender, contractSender, block, nextTx); + + onProposalExecuted(event); + + assert.fieldEquals("DaoPoolExecute", nextTx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); + assert.fieldEquals("DaoPoolExecute", nextTx.hash.concatI32(0).toHexString(), "proposalId", proposalId.toString()); + assert.fieldEquals( + "DaoPoolExecute", + nextTx.hash.concatI32(0).toHexString(), + "transaction", + nextTx.hash.toHexString() + ); + + assertTransaction( + nextTx.hash, + event.params.sender, + block, + `[${TransactionType.DAO_POOL_PROPOSAL_EXECUTED}]`, + BigInt.fromI32(1) + ); }); test("should handle RewardClaimed", () => { @@ -365,6 +390,7 @@ describe("DaoPool", () => { "proposalId", proposalIds[0].toString() ); + assert.fieldEquals("DaoPoolRewardClaim", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); assertTransaction( tx.hash, @@ -373,6 +399,39 @@ describe("DaoPool", () => { `[${TransactionType.DAO_POOL_REWARD_CLAIMED}]`, BigInt.fromI32(1) ); + + const nextTx = getNextTx(tx); + + event = createRewardClaimed(proposalIds[1], sender, tokens[1], amounts[1], contractSender, block, nextTx); + + onRewardClaimed(event); + + assert.fieldEquals( + "DaoPoolRewardClaim", + nextTx.hash.concatI32(0).toHexString(), + "pool", + contractSender.toHexString() + ); + assert.fieldEquals( + "DaoPoolRewardClaim", + nextTx.hash.concatI32(0).toHexString(), + "proposalId", + proposalIds[1].toString() + ); + assert.fieldEquals( + "DaoPoolRewardClaim", + nextTx.hash.concatI32(0).toHexString(), + "transaction", + nextTx.hash.toHexString() + ); + + assertTransaction( + nextTx.hash, + event.params.sender, + block, + `[${TransactionType.DAO_POOL_REWARD_CLAIMED}]`, + BigInt.fromI32(1) + ); }); test("should handle Deposited", () => { @@ -384,9 +443,9 @@ describe("DaoPool", () => { onDeposited(event); - assert.fieldEquals("DaoPoolDeposit", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); - assert.fieldEquals("DaoPoolDeposit", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); - assert.fieldEquals("DaoPoolDeposit", tx.hash.concatI32(0).toHexString(), "nfts", `[${nfts[0]}, ${nfts[1]}]`); + assert.fieldEquals("DaoPoolVest", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); + assert.fieldEquals("DaoPoolVest", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); + assert.fieldEquals("DaoPoolVest", tx.hash.concatI32(0).toHexString(), "nfts", `[${nfts[0]}, ${nfts[1]}]`); assertTransaction( tx.hash, @@ -395,6 +454,26 @@ describe("DaoPool", () => { `[${TransactionType.DAO_POOL_DEPOSITED}]`, BigInt.fromI32(1) ); + + const nextTx = getNextTx(tx); + amount = BigInt.fromI32(50).pow(18); + nfts = [BigInt.fromI32(3), BigInt.fromI32(4)]; + + event = createDeposited(amount, nfts, to, contractSender, block, nextTx); + + onDeposited(event); + + assert.fieldEquals("DaoPoolVest", nextTx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); + assert.fieldEquals("DaoPoolVest", nextTx.hash.concatI32(0).toHexString(), "amount", amount.toString()); + assert.fieldEquals("DaoPoolVest", nextTx.hash.concatI32(0).toHexString(), "nfts", `[${nfts[0]}, ${nfts[1]}]`); + + assertTransaction( + nextTx.hash, + event.params.sender, + block, + `[${TransactionType.DAO_POOL_DEPOSITED}]`, + BigInt.fromI32(1) + ); }); test("should handle Withdrawn", () => { @@ -406,9 +485,9 @@ describe("DaoPool", () => { onWithdrawn(event); - assert.fieldEquals("DaoPoolDeposit", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); - assert.fieldEquals("DaoPoolDeposit", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); - assert.fieldEquals("DaoPoolDeposit", tx.hash.concatI32(0).toHexString(), "nfts", `[${nfts[0]}, ${nfts[1]}]`); + assert.fieldEquals("DaoPoolVest", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); + assert.fieldEquals("DaoPoolVest", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); + assert.fieldEquals("DaoPoolVest", tx.hash.concatI32(0).toHexString(), "nfts", `[${nfts[0]}, ${nfts[1]}]`); assertTransaction( tx.hash, @@ -417,6 +496,26 @@ describe("DaoPool", () => { `[${TransactionType.DAO_POOL_WITHDRAWN}]`, BigInt.fromI32(1) ); + + const nextTx = getNextTx(tx); + amount = BigInt.fromI32(50).pow(18); + nfts = [BigInt.fromI32(3), BigInt.fromI32(4)]; + + event = createWithdrawn(amount, nfts, to, contractSender, block, nextTx); + + onWithdrawn(event); + + assert.fieldEquals("DaoPoolVest", nextTx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); + assert.fieldEquals("DaoPoolVest", nextTx.hash.concatI32(0).toHexString(), "amount", amount.toString()); + assert.fieldEquals("DaoPoolVest", nextTx.hash.concatI32(0).toHexString(), "nfts", `[${nfts[0]}, ${nfts[1]}]`); + + assertTransaction( + nextTx.hash, + event.params.sender, + block, + `[${TransactionType.DAO_POOL_WITHDRAWN}]`, + BigInt.fromI32(1) + ); }); test("should handle MovedToValidator", () => { @@ -447,5 +546,33 @@ describe("DaoPool", () => { `[${TransactionType.DAO_POOL_MOVED_TO_VALIDATORS}]`, BigInt.fromI32(1) ); + + const nextTx = getNextTx(tx); + proposalId = BigInt.fromI32(2); + + event = createMovedToValidators(proposalId, sender, contractSender, block, nextTx); + + onMovedToValidators(event); + + assert.fieldEquals( + "DaoPoolMovedToValidators", + nextTx.hash.concatI32(0).toHexString(), + "pool", + contractSender.toHexString() + ); + assert.fieldEquals( + "DaoPoolMovedToValidators", + nextTx.hash.concatI32(0).toHexString(), + "proposalId", + proposalId.toString() + ); + + assertTransaction( + nextTx.hash, + event.params.sender, + block, + `[${TransactionType.DAO_POOL_MOVED_TO_VALIDATORS}]`, + BigInt.fromI32(1) + ); }); }); diff --git a/AllInteractions/tests/DaoValidators.test.ts b/AllInteractions/tests/DaoValidators.test.ts index 10eb51cc..35eba56b 100644 --- a/AllInteractions/tests/DaoValidators.test.ts +++ b/AllInteractions/tests/DaoValidators.test.ts @@ -1,4 +1,4 @@ -import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { Address, ethereum, BigInt, Bytes, log } from "@graphprotocol/graph-ts"; import { afterEach, assert, @@ -20,7 +20,7 @@ import { InternalProposalExecuted, } from "../generated/templates/DaoValidators/DaoValidators"; -import { assertTransaction, getBlock, getTransaction } from "./utils"; +import { assertTransaction, getBlock, getNextTx, getTransaction } from "./utils"; import { DaoPoolDeployed } from "../generated/PoolFactory/PoolFactory"; import { onDaoPoolDeployed } from "../src/mappings/PoolFactory"; import { TransactionType } from "../src/entities/global/TransactionTypeEnum"; @@ -137,7 +137,7 @@ describe("DaoValidators", () => { }); test("should handle InternalProposalExecuted", () => { - let proposalId = BigInt.fromI32(2); + let proposalId = BigInt.fromI32(1); let quorum = BigInt.fromI32(100); let description = "d"; let sender = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181675"); @@ -164,6 +164,12 @@ describe("DaoValidators", () => { "proposalId", proposalId.toString() ); + assert.fieldEquals( + "DaoValidatorProposalExecute", + tx.hash.concatI32(1).toHexString(), + "transaction", + tx.hash.toHexString() + ); assertTransaction( tx.hash, @@ -172,6 +178,47 @@ describe("DaoValidators", () => { `[${TransactionType.DAO_VALIDATORS_PROPOSAL_CREATED}, ${TransactionType.DAO_VALIDATORS_PROPOSAL_EXECUTED}]`, BigInt.fromI32(2) ); + + const nextTx = getNextTx(tx); + proposalId = BigInt.fromI32(2); + sender = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); + + createEvent = createInternalProposalCreated(proposalId, description, quorum, sender, contractSender, block, nextTx); + + onInternalProposalCreated(createEvent); + + executor = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); + + event = createInternalProposalExecuted(proposalId, executor, contractSender, block, nextTx); + + onInternalProposalExecuted(event); + + assert.fieldEquals( + "DaoValidatorProposalExecute", + nextTx.hash.concatI32(1).toHexString(), + "pool", + contractSender.toHexString() + ); + assert.fieldEquals( + "DaoValidatorProposalExecute", + nextTx.hash.concatI32(1).toHexString(), + "proposalId", + proposalId.toString() + ); + assert.fieldEquals( + "DaoValidatorProposalExecute", + nextTx.hash.concatI32(1).toHexString(), + "transaction", + nextTx.hash.toHexString() + ); + + assertTransaction( + nextTx.hash, + event.params.executor, + block, + `[${TransactionType.DAO_VALIDATORS_PROPOSAL_CREATED}, ${TransactionType.DAO_VALIDATORS_PROPOSAL_EXECUTED}]`, + BigInt.fromI32(2) + ); }); test("should handle Voted", () => { diff --git a/AllInteractions/tests/TraderPool.test.ts b/AllInteractions/tests/TraderPool.test.ts index 729aa0cd..06a58839 100644 --- a/AllInteractions/tests/TraderPool.test.ts +++ b/AllInteractions/tests/TraderPool.test.ts @@ -10,7 +10,7 @@ import { ModifiedPrivateInvestors, CommissionClaimed, } from "../generated/templates/TraderPool/TraderPool"; -import { assertTransaction, getBlock, getTransaction } from "./utils"; +import { assertTransaction, getBlock, getNextTx, getTransaction } from "./utils"; import { onCommissionClaimed, onDescriptionURLChanged, @@ -252,6 +252,23 @@ describe("TraderPool", () => { assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); assertTransaction(tx.hash, event.params.user, block, `[${TransactionType.INVEST}]`, BigInt.fromI32(1)); + + const nextTx = getNextTx(tx); + + user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); + investedBase = BigInt.fromI32(50).pow(18); + receivedLP = BigInt.fromI32(5).pow(18); + + event = createInvestedEvent(user, investedBase, receivedLP, sender, block, nextTx); + + onInvest(event); + + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "baseAmount", investedBase.toString()); + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "lpAmount", receivedLP.toString()); + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "transaction", nextTx.hash.toHexString()); + + assertTransaction(nextTx.hash, event.params.user, block, `[${TransactionType.INVEST}]`, BigInt.fromI32(1)); }); test("should handle divested event", () => { @@ -269,11 +286,28 @@ describe("TraderPool", () => { assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); assertTransaction(tx.hash, event.params.user, block, `[${TransactionType.DIVEST}]`, BigInt.fromI32(1)); + + const nextTx = getNextTx(tx); + + user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); + receivedBase = BigInt.fromI32(50).pow(18); + divestedLP = BigInt.fromI32(5).pow(18); + + event = createDivestedEvent(user, receivedBase, divestedLP, sender, block, nextTx); + + onDivest(event); + + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "baseAmount", receivedBase.toString()); + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "lpAmount", divestedLP.toString()); + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "transaction", nextTx.hash.toHexString()); + + assertTransaction(nextTx.hash, event.params.user, block, `[${TransactionType.DIVEST}]`, BigInt.fromI32(1)); }); test("should handle DescriptionURLChanged event", () => { let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let descriptionURL = "URL"; + let descriptionURL = "URL_1"; let event = createDescriptionURLChanged(user, descriptionURL, sender, block, tx); @@ -283,6 +317,20 @@ describe("TraderPool", () => { assert.fieldEquals("OnlyPool", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); assertTransaction(tx.hash, event.params.sender, block, `[${TransactionType.POOL_EDIT}]`, BigInt.fromI32(1)); + + const nextTx = getNextTx(tx); + + user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); + descriptionURL = "URL_2"; + + event = createDescriptionURLChanged(user, descriptionURL, sender, block, nextTx); + + onDescriptionURLChanged(event); + + assert.fieldEquals("OnlyPool", nextTx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); + assert.fieldEquals("OnlyPool", nextTx.hash.concatI32(0).toHexString(), "transaction", nextTx.hash.toHexString()); + + assertTransaction(nextTx.hash, event.params.sender, block, `[${TransactionType.POOL_EDIT}]`, BigInt.fromI32(1)); }); test("should handle ProposalDivested event", () => { @@ -332,6 +380,24 @@ describe("TraderPool", () => { `[${TransactionType.POOL_UPDATE_INVESTORS}]`, BigInt.fromI32(1) ); + + const nextTx = getNextTx(tx); + user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); + + event = createModifiedPrivateInvestors(user, privateInvestors, true, sender, block, nextTx); + + onModifiedPrivateInvestors(event); + + assert.fieldEquals("OnlyPool", nextTx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); + assert.fieldEquals("OnlyPool", nextTx.hash.concatI32(0).toHexString(), "transaction", nextTx.hash.toHexString()); + + assertTransaction( + nextTx.hash, + event.params.sender, + block, + `[${TransactionType.POOL_UPDATE_INVESTORS}]`, + BigInt.fromI32(1) + ); }); test("should handle ModifiedAdmins event", () => { @@ -355,6 +421,24 @@ describe("TraderPool", () => { `[${TransactionType.POOL_UPDATE_MANAGERS}]`, BigInt.fromI32(1) ); + + const nextTx = getNextTx(tx); + user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); + + event = createModifiedAdmins(user, admins, true, sender, block, nextTx); + + onModifiedAdmins(event); + + assert.fieldEquals("OnlyPool", nextTx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); + assert.fieldEquals("OnlyPool", nextTx.hash.concatI32(0).toHexString(), "transaction", nextTx.hash.toHexString()); + + assertTransaction( + nextTx.hash, + event.params.sender, + block, + `[${TransactionType.POOL_UPDATE_MANAGERS}]`, + BigInt.fromI32(1) + ); }); test("should handle CommissionClaimed event", () => { @@ -367,13 +451,13 @@ describe("TraderPool", () => { onCommissionClaimed(event); assert.fieldEquals( - "GetPerfomanceFee", + "GetPerformanceFee", tx.hash.concatI32(0).toHexString(), "baseAmount", traderBaseClaimed.toString() ); - assert.fieldEquals("GetPerfomanceFee", tx.hash.concatI32(0).toHexString(), "lpAmount", traderLpClaimed.toString()); - assert.fieldEquals("GetPerfomanceFee", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); + assert.fieldEquals("GetPerformanceFee", tx.hash.concatI32(0).toHexString(), "lpAmount", traderLpClaimed.toString()); + assert.fieldEquals("GetPerformanceFee", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); assertTransaction( tx.hash, diff --git a/AllInteractions/tests/TraderPoolInvestProposal.test.ts b/AllInteractions/tests/TraderPoolInvestProposal.test.ts index 708be4b7..e9e7ce7e 100644 --- a/AllInteractions/tests/TraderPoolInvestProposal.test.ts +++ b/AllInteractions/tests/TraderPoolInvestProposal.test.ts @@ -1,6 +1,6 @@ import { Address, BigInt, ethereum, Bytes } from "@graphprotocol/graph-ts"; import { afterEach, assert, beforeEach, clearStore, describe, newMockEvent, test } from "matchstick-as"; -import { assertTransaction, getBlock, getTransaction } from "./utils"; +import { assertTransaction, getBlock, getNextTx, getTransaction } from "./utils"; import { TransactionType } from "../src/entities/global/TransactionTypeEnum"; import { getTraderPool } from "../src/entities/trader-pool/TraderPool"; import { getProposalContract } from "../src/entities/trader-pool/ProposalContract"; @@ -291,6 +291,53 @@ describe("TraderPoolInvestProposal", () => { `[${TransactionType.INVEST_PROPOSAL_SUPPLY}]`, BigInt.fromI32(1) ); + + const nextTx = getNextTx(tx); + + user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); + + event = createProposalSupplied(proposalId, user, amounts, tokens, sender, block, nextTx); + + onProposalSupplied(event); + + assert.fieldEquals( + "InvestProposalClaimOrSupply", + nextTx.hash.concatI32(0).toHexString(), + "pool", + pool.toHexString() + ); + assert.fieldEquals( + "InvestProposalClaimOrSupply", + nextTx.hash.concatI32(0).toHexString(), + "proposalId", + proposalId.toString() + ); + assert.fieldEquals( + "InvestProposalClaimOrSupply", + nextTx.hash.concatI32(0).toHexString(), + "amounts", + `[${amounts[0]}]` + ); + assert.fieldEquals( + "InvestProposalClaimOrSupply", + tx.hash.concatI32(0).toHexString(), + "tokens", + `[${tokens[0].toHexString()}]` + ); + assert.fieldEquals( + "InvestProposalClaimOrSupply", + nextTx.hash.concatI32(0).toHexString(), + "transaction", + nextTx.hash.toHexString() + ); + + assertTransaction( + nextTx.hash, + event.params.sender, + block, + `[${TransactionType.INVEST_PROPOSAL_SUPPLY}]`, + BigInt.fromI32(1) + ); }); test("should handle ProposalClaimed event", () => { @@ -330,6 +377,53 @@ describe("TraderPoolInvestProposal", () => { `[${TransactionType.INVEST_PROPOSAL_CLAIM}]`, BigInt.fromI32(1) ); + + const nextTx = getNextTx(tx); + + user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); + + event = createProposalClaimed(proposalId, user, amounts, tokens, sender, block, nextTx); + + onProposalClaimed(event); + + assert.fieldEquals( + "InvestProposalClaimOrSupply", + nextTx.hash.concatI32(0).toHexString(), + "pool", + pool.toHexString() + ); + assert.fieldEquals( + "InvestProposalClaimOrSupply", + nextTx.hash.concatI32(0).toHexString(), + "proposalId", + proposalId.toString() + ); + assert.fieldEquals( + "InvestProposalClaimOrSupply", + nextTx.hash.concatI32(0).toHexString(), + "amounts", + `[${amounts[0]}]` + ); + assert.fieldEquals( + "InvestProposalClaimOrSupply", + nextTx.hash.concatI32(0).toHexString(), + "tokens", + `[${tokens[0].toHexString()}]` + ); + assert.fieldEquals( + "InvestProposalClaimOrSupply", + nextTx.hash.concatI32(0).toHexString(), + "transaction", + nextTx.hash.toHexString() + ); + + assertTransaction( + nextTx.hash, + event.params.user, + block, + `[${TransactionType.INVEST_PROPOSAL_CLAIM}]`, + BigInt.fromI32(1) + ); }); test("should handle ProposalInvested", () => { diff --git a/AllInteractions/tests/TraderPoolRiskyProposal.test.ts b/AllInteractions/tests/TraderPoolRiskyProposal.test.ts index e55e99c6..c6c7d947 100644 --- a/AllInteractions/tests/TraderPoolRiskyProposal.test.ts +++ b/AllInteractions/tests/TraderPoolRiskyProposal.test.ts @@ -8,7 +8,7 @@ import { ProposalInvested, ProposalRestrictionsChanged, } from "../generated/templates/TraderPoolRiskyProposal/TraderPoolRiskyProposal"; -import { assertTransaction, getBlock, getTransaction } from "./utils"; +import { assertTransaction, getBlock, getNextTx, getTransaction } from "./utils"; import { onProposalCreated, onProposalDivest, @@ -287,5 +287,29 @@ describe("TraderPoolRiskyProposal", () => { `[${TransactionType.RISKY_PROPOSAL_EDIT}]`, BigInt.fromI32(1) ); + + const nextTx = getNextTx(tx); + user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); + + event = createProposalRestrictionsChanged(proposalId, user, sender, block, nextTx); + + onProposalRestrictionsChanged(event); + + assert.fieldEquals("ProposalEdit", nextTx.hash.concatI32(0).toHexString(), "proposalId", proposalId.toString()); + assert.fieldEquals("ProposalEdit", nextTx.hash.concatI32(0).toHexString(), "pool", pool.toHexString()); + assert.fieldEquals( + "ProposalEdit", + nextTx.hash.concatI32(0).toHexString(), + "transaction", + nextTx.hash.toHexString() + ); + + assertTransaction( + nextTx.hash, + event.params.sender, + block, + `[${TransactionType.RISKY_PROPOSAL_EDIT}]`, + BigInt.fromI32(1) + ); }); }); diff --git a/AllInteractions/tests/UserRegistry.test.ts b/AllInteractions/tests/UserRegistry.test.ts index 1cde35af..1a501ba6 100644 --- a/AllInteractions/tests/UserRegistry.test.ts +++ b/AllInteractions/tests/UserRegistry.test.ts @@ -1,7 +1,7 @@ import { Address, BigInt, Bytes, ethereum } from "@graphprotocol/graph-ts"; import { assert, describe, newMockEvent, test } from "matchstick-as"; import { Agreed, UpdatedProfile } from "../generated/UserRegistry/UserRegistry"; -import { assertTransaction, getBlock, getTransaction } from "./utils"; +import { assertTransaction, getBlock, getNextTx, getTransaction } from "./utils"; import { onAgreed, onUpdatedProfile } from "../src/mappings/UserRegistry"; import { TransactionType } from "../src/entities/global/TransactionTypeEnum"; @@ -55,11 +55,26 @@ describe("UserRegistry", () => { `[${TransactionType.USER_AGREED_TO_PRIVACY_POLICY}]`, BigInt.fromI32(1) ); + + const nextTx = getNextTx(tx); + user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); + + event = createAgreedEvent(user, doc, block, nextTx); + + onAgreed(event); + + assertTransaction( + nextTx.hash, + event.params.user, + block, + `[${TransactionType.USER_AGREED_TO_PRIVACY_POLICY}]`, + BigInt.fromI32(1) + ); }); test("should handle UpdatedProfile event", () => { let user = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181679"); - let url = "URL"; + let url = "URL_1"; let event = createUpdatedProfile(user, url, block, tx); @@ -72,5 +87,21 @@ describe("UserRegistry", () => { `[${TransactionType.USER_AGREED_TO_PRIVACY_POLICY}, ${TransactionType.UPDATED_USER_CREDENTIALS}]`, BigInt.fromI32(2) ); + + const nextTx = getNextTx(tx); + user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); + url = "URL_2"; + + event = createUpdatedProfile(user, url, block, nextTx); + + onUpdatedProfile(event); + + assertTransaction( + nextTx.hash, + event.params.user, + block, + `[${TransactionType.USER_AGREED_TO_PRIVACY_POLICY}, ${TransactionType.UPDATED_USER_CREDENTIALS}]`, + BigInt.fromI32(2) + ); }); }); diff --git a/AllInteractions/tests/utils.ts b/AllInteractions/tests/utils.ts index 9a170b2b..e8471e7e 100644 --- a/AllInteractions/tests/utils.ts +++ b/AllInteractions/tests/utils.ts @@ -1,6 +1,7 @@ import { Address, BigInt, Bytes, ethereum } from "@graphprotocol/graph-ts"; import { assert } from "matchstick-as"; import { TransactionType } from "../src/entities/global/TransactionTypeEnum"; +import { getTransaction as getTxEntity } from "../src/entities/transaction/Transaction"; export function getBlock(number: BigInt, timestamp: BigInt): ethereum.Block { return new ethereum.Block( @@ -71,7 +72,7 @@ export function getNextTx(prevTx: ethereum.Transaction): ethereum.Transaction { } function nextHash(prevHash: Bytes): Bytes { - return Bytes.fromU64(prevHash.toU64() + 1); + return Bytes.fromByteArray(Bytes.fromU64(prevHash.toU64() + 1)); } export function assertTransaction( diff --git a/AllPools/package.json b/AllPools/package.json index d16f474c..c0e79521 100644 --- a/AllPools/package.json +++ b/AllPools/package.json @@ -6,6 +6,7 @@ "codegen": "graph codegen", "build": "graph build", "test": "graph test", + "coverage": "graph test -c", "deploy": "graph deploy --node https://api.thegraph.com/deploy/ volodymyrzolotukhin/dexe", "create-local": "graph create --node http://localhost:8020/ volodymyrzolotukhin/dexe", "remove-local": "graph remove --node http://localhost:8020/ volodymyrzolotukhin/dexe", diff --git a/AllPools/src/mappings/TraderPoolRegistry.ts b/AllPools/src/mappings/TraderPoolRegistry.ts index dd6e5570..3d4ac278 100644 --- a/AllPools/src/mappings/TraderPoolRegistry.ts +++ b/AllPools/src/mappings/TraderPoolRegistry.ts @@ -100,7 +100,7 @@ function updatePools(block: ethereum.Block, type: string): void { } } -export function handl(block: ethereum.Block): void { +export function handleBlock(block: ethereum.Block): void { if (block.number.mod(BigInt.fromU64(CHECK_PER_BLOCK)).equals(BigInt.zero())) { updatePools(block, BASIC_POOL_NAME); updatePools(block, INVEST_POOL_NAME); diff --git a/AllPools/subgraph.yaml b/AllPools/subgraph.yaml index fae29ba2..c2e99582 100644 --- a/AllPools/subgraph.yaml +++ b/AllPools/subgraph.yaml @@ -41,7 +41,7 @@ dataSources: - name: PoolRegistry file: ./abis/PoolRegistry.json blockHandlers: - - handler: handl + - handler: handleBlock templates: - kind: ethereum/contract diff --git a/AllPools/tests/TraderPool.test.ts b/AllPools/tests/TraderPool.test.ts index 1102d9b2..d4844dd9 100644 --- a/AllPools/tests/TraderPool.test.ts +++ b/AllPools/tests/TraderPool.test.ts @@ -260,41 +260,83 @@ describe("TraderPool", () => { }); test("should handle Left", () => { - let expectedInvestor = Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"); - let eventJoined = createJoined(expectedInvestor, sender, block, tx); + let expectedInvestor1 = Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"); + let expectedInvestor2 = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); + let eventJoined = createJoined(expectedInvestor1, sender, block, tx); + + onJoined(eventJoined); + + eventJoined = createJoined(expectedInvestor2, sender, block, tx); onJoined(eventJoined); - let eventLeft = createLeft(expectedInvestor, sender, block, tx); + let eventLeft = createLeft(expectedInvestor1, sender, block, tx); onLeft(eventLeft); - assert.fieldEquals("Investor", expectedInvestor.toHexString(), "activePools", "[]"); - assert.fieldEquals("Investor", expectedInvestor.toHexString(), "allPools", `[${sender.toHexString()}]`); - assert.fieldEquals("TraderPool", sender.toHexString(), "investors", "[]"); + assert.fieldEquals("Investor", expectedInvestor1.toHexString(), "activePools", "[]"); + assert.fieldEquals("Investor", expectedInvestor1.toHexString(), "allPools", `[${sender.toHexString()}]`); + assert.fieldEquals("TraderPool", sender.toHexString(), "investors", `[${expectedInvestor2.toHexString()}]`); + assert.fieldEquals("TraderPool", sender.toHexString(), "investorsCount", BigInt.fromI32(1).toString()); + + eventLeft = createLeft(expectedInvestor2, sender, block, tx); + + onLeft(eventLeft); + + assert.fieldEquals("Investor", expectedInvestor2.toHexString(), "activePools", "[]"); + assert.fieldEquals("Investor", expectedInvestor2.toHexString(), "allPools", `[${sender.toHexString()}]`); + assert.fieldEquals("TraderPool", sender.toHexString(), "investors", `[]`); assert.fieldEquals("TraderPool", sender.toHexString(), "investorsCount", BigInt.zero().toString()); }); test("should handle DescriptionURLChanged", () => { let expectedInvestor = Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"); - let expectedUrl = "URL"; + let expectedUrl = "URL_1"; let event = createDescriptionURLChanged(expectedInvestor, expectedUrl, sender, block, tx); onDescriptionURLChanged(event); assert.fieldEquals("TraderPool", sender.toHexString(), "descriptionURL", expectedUrl); + + expectedInvestor = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); + expectedUrl = "URL_2"; + + event = createDescriptionURLChanged(expectedInvestor, expectedUrl, sender, block, tx); + + onDescriptionURLChanged(event); + + assert.fieldEquals("TraderPool", sender.toHexString(), "descriptionURL", expectedUrl); }); test("should handle ModifiedAdmins", () => { let expectedUser = Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"); - let expectedAdmins = [Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679")]; + let expectedAdmins = [ + Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"), + Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"), + ]; let add = true; let event = createModifiedAdmins(expectedUser, expectedAdmins, add, sender, block, tx); onModifiedAdmins(event); + assert.fieldEquals( + "TraderPool", + sender.toHexString(), + "admins", + `[${getTraderPool( + sender + ).trader.toHexString()}, ${expectedAdmins[0].toHexString()}, ${expectedAdmins[1].toHexString()}]` + ); + + add = false; + expectedAdmins = [Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE")]; + + event = createModifiedAdmins(expectedUser, expectedAdmins, add, sender, block, tx); + + onModifiedAdmins(event); + assert.fieldEquals( "TraderPool", sender.toHexString(), @@ -307,13 +349,30 @@ describe("TraderPool", () => { test("should handle ModifiedPrivateInvestors", () => { let expectedUser = Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"); - let expectedPrivateInvestors = [Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679")]; + let expectedPrivateInvestors = [ + Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"), + Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"), + ]; let add = true; let event = createModifiedPrivateInvestors(expectedUser, expectedPrivateInvestors, add, sender, block, tx); onModifiedPrivateInvestors(event); + assert.fieldEquals( + "TraderPool", + sender.toHexString(), + "privateInvestors", + `[${expectedPrivateInvestors[0].toHexString()}, ${expectedPrivateInvestors[1].toHexString()}]` + ); + + add = false; + expectedPrivateInvestors = [Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE")]; + + event = createModifiedPrivateInvestors(expectedUser, expectedPrivateInvestors, add, sender, block, tx); + + onModifiedPrivateInvestors(event); + assert.fieldEquals( "TraderPool", sender.toHexString(), @@ -346,13 +405,27 @@ describe("TraderPool", () => { onExchange(event); + assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString() + "_0", "hash", tx.hash.toHexString()); + assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString() + "_0", "timestamp", block.timestamp.toString()); assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString() + "_0", "fromToken", fromToken.toHexString()); assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString() + "_0", "toToken", toToken.toHexString()); assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString() + "_0", "fromVolume", fromVolume.toString()); assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString() + "_0", "toVolume", toVolume.toString()); assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString() + "_0", "usdVolume", expectedUSD.toString()); + assert.fieldEquals( + "Exchange", + tx.hash.concatI32(0).toHexString() + "_0", + "position", + sender.toHexString() + toToken.toHexString() + "0" + ); assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString() + "_0", "opening", "true"); + const day = block.timestamp.div(BigInt.fromI32(86400)); + const exchangeHistoryId = sender.toHexString() + day.toString(); + + assert.fieldEquals("ExchangeHistory", exchangeHistoryId, "traderPool", sender.toHexString()); + assert.fieldEquals("ExchangeHistory", exchangeHistoryId, "day", day.toString()); + assert.fieldEquals( "Position", sender.toHexString() + toToken.toHexString() + "0", @@ -366,6 +439,9 @@ describe("TraderPool", () => { fromVolume.toString() ); assert.fieldEquals("InteractionCount", tx.hash.toHexString(), "count", "1"); + + assert.fieldEquals("TraderPool", sender.toHexString(), "totalTrades", "1"); + assert.fieldEquals("TraderPool", sender.toHexString(), "averageTrades", "1"); }); test("should handle PositionClosed event", () => { @@ -443,7 +519,7 @@ describe("TraderPool", () => { assert.fieldEquals("FeeHistory", historyId, "PNL", "0"); assert.fieldEquals("FeeHistory", historyId, "fundProfit", fundProfit.toString()); assert.fieldEquals("FeeHistory", historyId, "perfomanceFee", perfomanceFee.toString()); - assert.fieldEquals("FeeHistory", historyId, "day", "0"); + assert.fieldEquals("FeeHistory", historyId, "day", block.timestamp.div(BigInt.fromI32(86400)).toString()); assert.fieldEquals("FeeHistory", historyId, "prevHistory", ""); }); diff --git a/AllPools/tests/TraderPoolRegistry.test.ts b/AllPools/tests/TraderPoolRegistry.test.ts index 599c1918..8ee174e3 100644 --- a/AllPools/tests/TraderPoolRegistry.test.ts +++ b/AllPools/tests/TraderPoolRegistry.test.ts @@ -12,7 +12,7 @@ import { } from "matchstick-as"; import { getBlock, getNextBlock, getTransaction } from "./utils"; import { getTraderPool } from "../src/entities/trader-pool/TraderPool"; -import { handl } from "../src/mappings/TraderPoolRegistry"; +import { handleBlock } from "../src/mappings/TraderPoolRegistry"; import { BASIC_POOL_NAME, CHECK_PER_BLOCK, @@ -92,7 +92,7 @@ describe("TraderPoolRegistry", () => { test("should handle block 100", () => { for (let i = 1; i <= 100; i++) { block = getBlock(BigInt.fromI32(i), BigInt.fromI32(i * 1000)); - handl(block); + handleBlock(block); } assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "timestamp", "100000"); @@ -177,7 +177,7 @@ describe("TraderPoolRegistry", () => { test("should handle day block range", () => { for (let i = 1; i <= 288; i++) { block = getBlock(BigInt.fromU64(i * 100), BigInt.fromU64(i * 1000)); - handl(block); + handleBlock(block); } assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "timestamp", "1000"); @@ -349,15 +349,15 @@ describe("TraderPoolRegistry", () => { test("should handle every 200th block in range 1000", () => { block = getBlock(BigInt.fromU64(200), BigInt.fromU64(2 * 1000)); - handl(block); + handleBlock(block); block = getBlock(BigInt.fromU64(400), BigInt.fromU64(4 * 1000)); - handl(block); + handleBlock(block); block = getBlock(BigInt.fromU64(600), BigInt.fromU64(6 * 1000)); - handl(block); + handleBlock(block); block = getBlock(BigInt.fromU64(800), BigInt.fromU64(8 * 1000)); - handl(block); + handleBlock(block); block = getBlock(BigInt.fromU64(1000), BigInt.fromU64(10 * 1000)); - handl(block); + handleBlock(block); assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "200", "timestamp", "2000"); assert.fieldEquals( diff --git a/AllPoolsInvestors/package.json b/AllPoolsInvestors/package.json index 64408a5e..b083530d 100644 --- a/AllPoolsInvestors/package.json +++ b/AllPoolsInvestors/package.json @@ -6,6 +6,7 @@ "codegen": "graph codegen", "build": "graph build", "test": "graph test", + "coverage": "graph test -c", "deploy": "graph deploy --node https://api.thegraph.com/deploy/ volodymyrzolotukhin/dexe", "create-local": "graph create --node http://localhost:8020/ volodymyrzolotukhin/dexe", "remove-local": "graph remove --node http://localhost:8020/ volodymyrzolotukhin/dexe", diff --git a/AllPoolsInvestors/tests/Insurance.test.ts b/AllPoolsInvestors/tests/Insurance.test.ts index cebe4ef3..ff85bfc5 100644 --- a/AllPoolsInvestors/tests/Insurance.test.ts +++ b/AllPoolsInvestors/tests/Insurance.test.ts @@ -90,21 +90,41 @@ describe("Insurance", () => { "stake", expectedAmount.toString() ); + assert.fieldEquals("InsuranceHistory", event.params.investor.toHexString() + "0", "claimedAmount", "0"); assert.fieldEquals("InsuranceHistory", event.params.investor.toHexString() + "0", "day", "0"); }); test("should handle withdraw event", () => { - let expectedAmount = BigInt.fromI32(100).pow(18); + let depositedAmount = BigInt.fromI32(100).pow(18); + let withdrawedAmount = BigInt.fromI32(100).pow(18).div(BigInt.fromI32(2)); let expectedInvestor = Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"); let expectedSender = Address.fromString("0x86e98f7d84603AEb97cd1c89A80A9e914f181679"); - let depositEvent = createDepositEvent(expectedAmount, expectedInvestor, expectedSender, block, tx); - let withdrawEvent = createWithdrawEvent(expectedAmount, expectedInvestor, expectedSender, block, tx); + let depositEvent = createDepositEvent(depositedAmount, expectedInvestor, expectedSender, block, tx); + let withdrawEvent = createWithdrawEvent(withdrawedAmount, expectedInvestor, expectedSender, block, tx); onDeposit(depositEvent); onWithdraw(withdrawEvent); + assert.fieldEquals( + "InsuranceHistory", + withdrawEvent.params.investor.toHexString() + "0", + "stake", + depositedAmount.minus(withdrawedAmount).toString() + ); + assert.fieldEquals( + "InsuranceHistory", + withdrawEvent.params.investor.toHexString() + "0", + "investor", + withdrawEvent.params.investor.toHexString() + ); + assert.fieldEquals("InsuranceHistory", withdrawEvent.params.investor.toHexString() + "0", "claimedAmount", "0"); + assert.fieldEquals("InsuranceHistory", withdrawEvent.params.investor.toHexString() + "0", "day", "0"); + + withdrawEvent = createWithdrawEvent(withdrawedAmount, expectedInvestor, expectedSender, block, tx); + onWithdraw(withdrawEvent); + assert.fieldEquals("InsuranceHistory", withdrawEvent.params.investor.toHexString() + "0", "stake", "0"); assert.fieldEquals( "InsuranceHistory", @@ -112,6 +132,7 @@ describe("Insurance", () => { "investor", withdrawEvent.params.investor.toHexString() ); + assert.fieldEquals("InsuranceHistory", withdrawEvent.params.investor.toHexString() + "0", "claimedAmount", "0"); assert.fieldEquals("InsuranceHistory", withdrawEvent.params.investor.toHexString() + "0", "day", "0"); }); @@ -144,6 +165,33 @@ describe("Insurance", () => { "claimedAmount", payout.toString() ); - assert.fieldEquals("InsuranceHistory", event.params.investor.toHexString() + "0", "day", "0"); + assert.fieldEquals( + "InsuranceHistory", + event.params.investor.toHexString() + "0", + "day", + block.timestamp.div(BigInt.fromI32(86400)).toString() + ); + + onPayout(event); + + assert.fieldEquals( + "InsuranceHistory", + event.params.investor.toHexString() + "0", + "investor", + event.params.investor.toHexString() + ); + assert.fieldEquals("InsuranceHistory", event.params.investor.toHexString() + "0", "stake", "0"); + assert.fieldEquals( + "InsuranceHistory", + event.params.investor.toHexString() + "0", + "claimedAmount", + payout.times(BigInt.fromI32(2)).toString() + ); + assert.fieldEquals( + "InsuranceHistory", + event.params.investor.toHexString() + "0", + "day", + block.timestamp.div(BigInt.fromI32(86400)).toString() + ); }); }); diff --git a/AllPoolsInvestors/tests/PoolFactory.test.ts b/AllPoolsInvestors/tests/PoolFactory.test.ts index c1d9c401..651563f8 100644 --- a/AllPoolsInvestors/tests/PoolFactory.test.ts +++ b/AllPoolsInvestors/tests/PoolFactory.test.ts @@ -83,6 +83,12 @@ describe("PoolFactory", () => { assert.fieldEquals("TraderPool", expectedAt.toHexString(), "investorsCount", BigInt.zero().toString()); assert.fieldEquals("TraderPool", expectedAt.toHexString(), "privateInvestors", "[]"); assert.fieldEquals("TraderPool", expectedAt.toHexString(), "investorsCount", BigInt.zero().toString()); + assert.fieldEquals( + "TraderPool", + expectedAt.toHexString(), + "proposalContract", + expectedProposalContract.toHexString() + ); assert.fieldEquals( "ProposalContract", @@ -91,5 +97,57 @@ describe("PoolFactory", () => { expectedAt.toHexString() ); assert.fieldEquals("ProposalContract", expectedProposalContract.toHexString(), "proposalType", RISKY_PROPOSAL_NAME); + assert.fieldEquals( + "ProposalContract", + expectedProposalContract.toHexString(), + "traderPool", + expectedAt.toHexString() + ); + + expectedAt = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); + expectedProposalContract = Address.fromString("0x065049652b9d7C9fE9dD582970dB63a058788688"); + + event = createTraderPoolDeployed( + expectedPoolType, + expectedSymbol, + expectedName, + expectedAt, + expectedProposalContract, + expectedTrader, + expectedBasicToken, + expectedCommission, + expectedDescriptionURL, + block, + tx + ); + + onDeployed(event); + + assert.fieldEquals("TraderPool", expectedAt.toHexString(), "type", expectedPoolType); + assert.fieldEquals("TraderPool", expectedAt.toHexString(), "token", expectedBasicToken.toHexString()); + assert.fieldEquals("TraderPool", expectedAt.toHexString(), "investors", "[]"); + assert.fieldEquals("TraderPool", expectedAt.toHexString(), "investorsCount", BigInt.zero().toString()); + assert.fieldEquals("TraderPool", expectedAt.toHexString(), "privateInvestors", "[]"); + assert.fieldEquals("TraderPool", expectedAt.toHexString(), "investorsCount", BigInt.zero().toString()); + assert.fieldEquals( + "TraderPool", + expectedAt.toHexString(), + "proposalContract", + expectedProposalContract.toHexString() + ); + + assert.fieldEquals( + "ProposalContract", + expectedProposalContract.toHexString(), + "traderPool", + expectedAt.toHexString() + ); + assert.fieldEquals("ProposalContract", expectedProposalContract.toHexString(), "proposalType", RISKY_PROPOSAL_NAME); + assert.fieldEquals( + "ProposalContract", + expectedProposalContract.toHexString(), + "traderPool", + expectedAt.toHexString() + ); }); }); diff --git a/AllPoolsInvestors/tests/TraderPool.test.ts b/AllPoolsInvestors/tests/TraderPool.test.ts index f541ae1e..1c365124 100644 --- a/AllPoolsInvestors/tests/TraderPool.test.ts +++ b/AllPoolsInvestors/tests/TraderPool.test.ts @@ -22,7 +22,7 @@ import { Joined, Left, } from "../generated/templates/TraderPool/TraderPool"; -import { getBlock, getTransaction } from "./utils"; +import { getBlock, getNextTx, getTransaction } from "./utils"; import { onDivest, onInvest, @@ -214,9 +214,17 @@ describe("TraderPool", () => { onInvest(event); + assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); + assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "isInvest", "true"); + assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); + assert.fieldEquals( + "Vest", + tx.hash.concatI32(0).toHexString(), + "investorPoolPosition", + user.toHexString() + sender.toHexString() + "0" + ); assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "volumeBase", investedBase.toString()); assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "volumeLP", receivedLP.toString()); - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); assert.fieldEquals( "InvestorPoolPosition", @@ -256,7 +264,7 @@ describe("TraderPool", () => { "currentLpAmount", receivedLP.toString() ); - logStore(); + assert.fieldEquals( "InvestorAmountHistory", user.toHexString() + "0", @@ -275,6 +283,23 @@ describe("TraderPool", () => { "totalBTCInvestVolume", expectedBTC.toString() ); + + const nextTx = getNextTx(tx); + event = createInvestedEvent(user, investedBase, receivedLP, sender, block, nextTx); + + onInvest(event); + + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "hash", nextTx.hash.toHexString()); + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "isInvest", "true"); + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); + assert.fieldEquals( + "Vest", + nextTx.hash.concatI32(0).toHexString(), + "investorPoolPosition", + user.toHexString() + sender.toHexString() + "0" + ); + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "volumeBase", investedBase.toString()); + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "volumeLP", receivedLP.toString()); }); test("should handle divested event", () => { @@ -286,6 +311,9 @@ describe("TraderPool", () => { onDivest(event); + assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); + assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "isInvest", "false"); + assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "volumeBase", receivedBase.toString()); assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "volumeLP", divestedLP.toString()); assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); @@ -347,6 +375,18 @@ describe("TraderPool", () => { "totalBTCDivestVolume", expectedBTC.toString() ); + + let nextTx = getNextTx(tx); + event = createDivestedEvent(user, receivedBase, divestedLP, sender, block, nextTx); + + onDivest(event); + + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "hash", nextTx.hash.toHexString()); + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "isInvest", "false"); + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "volumeBase", receivedBase.toString()); + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "volumeLP", divestedLP.toString()); + assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "hash", nextTx.hash.toHexString()); }); test("should handle ProposalDivested event", () => { @@ -419,14 +459,43 @@ describe("TraderPool", () => { }); test("should handle Left event", () => { - let investor = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); + let investors = [ + Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"), + Address.fromString("0x065049652b9d7C9fE9dD582970dB63a058788688"), + ]; - let eventAdded = createJoinedEvent(investor, sender, block, tx); - let eventRemoved = createLeftEvent(investor, sender, block, tx); + let eventAdded = createJoinedEvent(investors[0], sender, block, tx); + onJoined(eventAdded); + eventAdded = createJoinedEvent(investors[1], sender, block, tx); onJoined(eventAdded); + + assert.fieldEquals( + "TraderPool", + sender.toHexString(), + "investors", + `[${investors[0].toHexString()}, ${investors[1].toHexString()}]` + ); + assert.fieldEquals("TraderPool", sender.toHexString(), "investorsCount", "2"); + + assert.fieldEquals("Investor", investors[0].toHexString(), "activePools", `[${sender.toHexString()}]`); + assert.fieldEquals("Investor", investors[0].toHexString(), "allPools", `[${sender.toHexString()}]`); + + assert.fieldEquals("Investor", investors[1].toHexString(), "activePools", `[${sender.toHexString()}]`); + assert.fieldEquals("Investor", investors[1].toHexString(), "allPools", `[${sender.toHexString()}]`); + + let eventRemoved = createLeftEvent(investors[0], sender, block, tx); onLeft(eventRemoved); + eventRemoved = createLeftEvent(investors[1], sender, block, tx); + onLeft(eventRemoved); + + assert.fieldEquals("Investor", investors[0].toHexString(), "activePools", "[]"); + assert.fieldEquals("Investor", investors[0].toHexString(), "allPools", `[${sender.toHexString()}]`); + + assert.fieldEquals("Investor", investors[1].toHexString(), "activePools", "[]"); + assert.fieldEquals("Investor", investors[1].toHexString(), "allPools", `[${sender.toHexString()}]`); + assert.fieldEquals("TraderPool", sender.toHexString(), "investors", "[]"); assert.fieldEquals("TraderPool", sender.toHexString(), "investorsCount", "0"); assert.fieldEquals("TraderPoolHistory", sender.toHexString() + "0", "investors", "[]"); diff --git a/AllPoolsInvestors/tests/TraderPoolProposal.test.ts b/AllPoolsInvestors/tests/TraderPoolProposal.test.ts index 7a39e80f..f311bd33 100644 --- a/AllPoolsInvestors/tests/TraderPoolProposal.test.ts +++ b/AllPoolsInvestors/tests/TraderPoolProposal.test.ts @@ -7,6 +7,7 @@ import { clearStore, createMockedFunction, describe, + logStore, newMockEvent, test, } from "matchstick-as"; @@ -179,15 +180,24 @@ describe("TraderPoolProposal", () => { let proposalEntityId = sender.toHexString() + user.toHexString() + proposalId.toString() + "_" + "0"; + assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); + assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "isInvest", "true"); + assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "baseVolume", investedBase.toString()); assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "lpVolume", investedLP.toString()); assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "lp2Volume", receivedLP2.toString()); assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "usdVolume", expectedUSD.toString()); + assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "proposal", proposalEntityId); + assert.fieldEquals("ProposalPosition", proposalEntityId, "proposalId", proposalId.toString()); + assert.fieldEquals("ProposalPosition", proposalEntityId, "isClosed", "false"); assert.fieldEquals("ProposalPosition", proposalEntityId, "totalBaseOpenVolume", investedBase.toString()); assert.fieldEquals("ProposalPosition", proposalEntityId, "totalLPOpenVolume", investedLP.toString()); assert.fieldEquals("ProposalPosition", proposalEntityId, "totalLP2OpenVolume", receivedLP2.toString()); assert.fieldEquals("ProposalPosition", proposalEntityId, "totalUSDOpenVolume", expectedUSD.toString()); + + assert.fieldEquals("ProposalPosition", proposalEntityId, "proposalContract", sender.toHexString()); + assert.fieldEquals("ProposalPosition", proposalEntityId, "investor", user.toHexString()); }); test("should handle ProposalDivested event", () => { @@ -202,15 +212,24 @@ describe("TraderPoolProposal", () => { let proposalEntityId = sender.toHexString() + user.toHexString() + proposalId.toString() + "_" + "0"; + assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); + assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "isInvest", "false"); + assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "baseVolume", receivedBase.toString()); assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "lpVolume", receivedLP.toString()); assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "lp2Volume", divestedLP2.toString()); assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "usdVolume", expectedUSD.toString()); + assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "proposal", proposalEntityId); + assert.fieldEquals("ProposalPosition", proposalEntityId, "proposalId", proposalId.toString()); + assert.fieldEquals("ProposalPosition", proposalEntityId, "isClosed", "false"); assert.fieldEquals("ProposalPosition", proposalEntityId, "totalBaseCloseVolume", receivedBase.toString()); assert.fieldEquals("ProposalPosition", proposalEntityId, "totalLPCloseVolume", receivedLP.toString()); assert.fieldEquals("ProposalPosition", proposalEntityId, "totalLP2CloseVolume", divestedLP2.toString()); assert.fieldEquals("ProposalPosition", proposalEntityId, "totalUSDCloseVolume", expectedUSD.toString()); + + assert.fieldEquals("ProposalPosition", proposalEntityId, "proposalContract", sender.toHexString()); + assert.fieldEquals("ProposalPosition", proposalEntityId, "investor", user.toHexString()); }); test("should handle ProposalClaimed event", () => { @@ -227,7 +246,7 @@ describe("TraderPoolProposal", () => { let proposalEntityId = sender.toHexString() + user.toHexString() + proposalId.toString() + "_" + "0"; assert.fieldEquals("ProposalClaim", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); - assert.fieldEquals("ProposalClaim", tx.hash.concatI32(0).toHexString(), "timestamp", "1"); + assert.fieldEquals("ProposalClaim", tx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); assert.fieldEquals("ProposalClaim", tx.hash.concatI32(0).toHexString(), "proposal", proposalEntityId); assert.fieldEquals( "ProposalClaim", @@ -255,18 +274,37 @@ describe("TraderPoolProposal", () => { assert.fieldEquals("ProposalPosition", proposalEntityId, "isClosed", "false"); assert.fieldEquals("ProposalPosition", proposalEntityId, "proposalId", proposalId.toString()); assert.fieldEquals("ProposalPosition", proposalEntityId, "investor", user.toHexString()); + assert.fieldEquals("ProposalPosition", proposalEntityId, "proposalContract", sender.toHexString()); + + assert.fieldEquals("Investor", user.toHexString(), "activePools", "[]"); + assert.fieldEquals("Investor", user.toHexString(), "allPools", "[]"); }); test("should handle ProposalInvestorRemoved event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - - let eventAdded = createProposalInvestorAdded(proposalId, user, sender, block, tx); - let eventRemoved = createProposalInvestorRemoved(proposalId, user, sender, block, tx); + let users = [ + Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"), + Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"), + ]; + let proposalEntityId = sender.toHexString() + users[0].toHexString() + proposalId.toString() + "_" + "0"; + let eventAdded = createProposalInvestorAdded(proposalId, users[0], sender, block, tx); onProposalJoined(eventAdded); + + assert.fieldEquals("ProposalPosition", proposalEntityId, "isClosed", "false"); + + let eventRemoved = createProposalInvestorRemoved(proposalId, users[0], sender, block, tx); onProposalLeft(eventRemoved); - let proposalEntityId = sender.toHexString() + user.toHexString() + proposalId.toString() + "_" + "0"; + assert.fieldEquals("ProposalPosition", proposalEntityId, "isClosed", "true"); + + proposalEntityId = sender.toHexString() + users[1].toHexString() + proposalId.toString() + "_" + "0"; + eventAdded = createProposalInvestorAdded(proposalId, users[1], sender, block, tx); + onProposalJoined(eventAdded); + + assert.fieldEquals("ProposalPosition", proposalEntityId, "isClosed", "false"); + + eventRemoved = createProposalInvestorRemoved(proposalId, users[1], sender, block, tx); + onProposalLeft(eventRemoved); assert.fieldEquals("ProposalPosition", proposalEntityId, "isClosed", "true"); }); diff --git a/AllPoolsInvestors/tests/utils.ts b/AllPoolsInvestors/tests/utils.ts index 8b154c20..d4818bc1 100644 --- a/AllPoolsInvestors/tests/utils.ts +++ b/AllPoolsInvestors/tests/utils.ts @@ -69,5 +69,5 @@ export function getNextTx(prevTx: ethereum.Transaction): ethereum.Transaction { } function nextHash(prevHash: Bytes): Bytes { - return Bytes.fromU64(prevHash.toU64() + 1); + return Bytes.fromByteArray(Bytes.fromU64(prevHash.toU64() + 1)); } diff --git a/BasicPool/package.json b/BasicPool/package.json index 64408a5e..b083530d 100644 --- a/BasicPool/package.json +++ b/BasicPool/package.json @@ -6,6 +6,7 @@ "codegen": "graph codegen", "build": "graph build", "test": "graph test", + "coverage": "graph test -c", "deploy": "graph deploy --node https://api.thegraph.com/deploy/ volodymyrzolotukhin/dexe", "create-local": "graph create --node http://localhost:8020/ volodymyrzolotukhin/dexe", "remove-local": "graph remove --node http://localhost:8020/ volodymyrzolotukhin/dexe", diff --git a/BasicPool/tests/TraderPoolRiskyProposal.test.ts b/BasicPool/tests/TraderPoolRiskyProposal.test.ts index 659b31ab..631f2ebd 100644 --- a/BasicPool/tests/TraderPoolRiskyProposal.test.ts +++ b/BasicPool/tests/TraderPoolRiskyProposal.test.ts @@ -162,6 +162,7 @@ describe("TraderPoolRiskyProposal", () => { }); test("should handle ProposalCreated event", () => { + let proposalId = BigInt.fromI32(1); let token = Address.fromString("0x86e08f7d84603AEb97cd1c89A85A9e914f181679"); let proposalLimits = new ProposalCreatedProposalLimitsStruct(3); proposalLimits[0] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(1)); @@ -178,6 +179,20 @@ describe("TraderPoolRiskyProposal", () => { assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "timestampLimit", "1"); assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "investLPLimit", "2"); assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "maxTokenPriceLimit", "3"); + + proposalId = BigInt.fromI32(2); + token = Address.fromString("0x065049652b9d7C9fE9dD582970dB63a058788688"); + + event = createProposalCreated(proposalId, token, proposalLimits, sender, block, tx); + + onProposalCreated(event); + + assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "basicPool", pool.toHexString()); + assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "token", token.toHexString()); + assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "proposalId", proposalId.toString()); + assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "timestampLimit", "1"); + assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "investLPLimit", "2"); + assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "maxTokenPriceLimit", "3"); }); test("should handle ProposalExchanged event", () => { @@ -224,6 +239,7 @@ describe("TraderPoolRiskyProposal", () => { }); test("should handle ProposalPositionClosed event", () => { + let proposalId = BigInt.fromI32(1); let token = Address.fromString("0x86e08f7d84603AEb97cd1c89A85A9e914f181679"); let event = createProposalPositionClosed(proposalId, token, sender, block, tx); @@ -237,6 +253,21 @@ describe("TraderPoolRiskyProposal", () => { "true" ); assert.fieldEquals("ProposalPositionOffset", sender.toHexString() + proposalId.toString(), "offset", "1"); + + proposalId = BigInt.fromI32(2); + token = Address.fromString("0x065049652b9d7C9fE9dD582970dB63a058788688"); + + event = createProposalPositionClosed(proposalId, token, sender, block, tx); + + onProposalPositionClosed(event); + + assert.fieldEquals( + "ProposalPosition", + sender.toHexString() + proposalId.toString() + "_" + "0", + "isClosed", + "true" + ); + assert.fieldEquals("ProposalPositionOffset", sender.toHexString() + proposalId.toString(), "offset", "1"); }); test("should handle ProposalActivePortfolioExchanged", () => { diff --git a/DaoPools/package.json b/DaoPools/package.json index d16f474c..c0e79521 100644 --- a/DaoPools/package.json +++ b/DaoPools/package.json @@ -6,6 +6,7 @@ "codegen": "graph codegen", "build": "graph build", "test": "graph test", + "coverage": "graph test -c", "deploy": "graph deploy --node https://api.thegraph.com/deploy/ volodymyrzolotukhin/dexe", "create-local": "graph create --node http://localhost:8020/ volodymyrzolotukhin/dexe", "remove-local": "graph remove --node http://localhost:8020/ volodymyrzolotukhin/dexe", diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index aeedbac5..00521c7f 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -785,6 +785,33 @@ describe("DaoPool", () => { contractSender.concatI32(proposalId.toI32()).toHexString() ); assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "isDP", "true"); + + proposalId = BigInt.fromI32(2); + token = Address.fromString("0xfF42F3B569cdB6dF9dC260473Ec2ef63Ca971d63"); + + event = createDPCreated(proposalId, sender, token, amount, contractSender, block, tx); + + onDPCreated(event); + + assert.fieldEquals( + "DistributionProposal", + contractSender.concatI32(proposalId.toI32()).toHexString(), + "token", + token.toHexString() + ); + assert.fieldEquals( + "DistributionProposal", + contractSender.concatI32(proposalId.toI32()).toHexString(), + "amount", + amount.toString() + ); + assert.fieldEquals( + "DistributionProposal", + contractSender.concatI32(proposalId.toI32()).toHexString(), + "proposal", + contractSender.concatI32(proposalId.toI32()).toHexString() + ); + assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "isDP", "true"); }); test("should handle ProposalExecuted", () => { @@ -807,6 +834,24 @@ describe("DaoPool", () => { "executionTimestamp", block.timestamp.toString() ); + + proposalId = BigInt.fromI32(2); + event = createProposalExecuted(proposalId, sender, contractSender, block, tx); + + onProposalExecuted(event); + + assert.fieldEquals( + "Proposal", + contractSender.concatI32(proposalId.toI32()).toHexString(), + "executor", + sender.toHexString() + ); + assert.fieldEquals( + "Proposal", + contractSender.concatI32(proposalId.toI32()).toHexString(), + "executionTimestamp", + block.timestamp.toString() + ); }); test("should handle RewardClaimed", () => { @@ -1012,5 +1057,9 @@ describe("DaoPool", () => { onStakingRewardClaimed(event); assert.fieldEquals("VoterInPool", user.concat(contractSender).toHexString(), "totalStakingReward", "1500"); + + onStakingRewardClaimed(event); + + assert.fieldEquals("VoterInPool", user.concat(contractSender).toHexString(), "totalStakingReward", "3000"); }); }); diff --git a/DaoPools/tests/DaoSettings.test.ts b/DaoPools/tests/DaoSettings.test.ts index 0b1d2213..4123c5f3 100644 --- a/DaoPools/tests/DaoSettings.test.ts +++ b/DaoPools/tests/DaoSettings.test.ts @@ -57,7 +57,7 @@ describe("DaoSettings", () => { }); test("should handle SettingsChanged", () => { - let description = "d"; + let description = "d1"; let event = createSettingsChanged(settingsId, description, contractSender, block, tx); @@ -75,6 +75,37 @@ describe("DaoSettings", () => { "executorDescription", description ); + assert.fieldEquals( + "ProposalSettings", + poolAddress.concatI32(settingsId.toI32()).toHexString(), + "pool", + poolAddress.toHexString() + ); + + description = "d2"; + + event = createSettingsChanged(settingsId, description, contractSender, block, tx); + + onSettingsChanged(event); + + assert.fieldEquals( + "ProposalSettings", + poolAddress.concatI32(settingsId.toI32()).toHexString(), + "settingsId", + settingsId.toString() + ); + assert.fieldEquals( + "ProposalSettings", + poolAddress.concatI32(settingsId.toI32()).toHexString(), + "executorDescription", + description + ); + assert.fieldEquals( + "ProposalSettings", + poolAddress.concatI32(settingsId.toI32()).toHexString(), + "pool", + poolAddress.toHexString() + ); }); test("should handle ExecutorChanged", () => { @@ -102,5 +133,30 @@ describe("DaoSettings", () => { "pool", poolAddress.toHexString() ); + + executorAddress = Address.fromString("0xfF42F3B569cdB6dF9dC260473Ec2ef63Ca971d63"); + + event = createExecutorChanged(settingsId, executorAddress, contractSender, block, tx); + + onExecutorChanged(event); + + assert.fieldEquals( + "Executor", + poolAddress.concat(executorAddress).toHexString(), + "executorAddress", + executorAddress.toHexString() + ); + assert.fieldEquals( + "Executor", + poolAddress.concat(executorAddress).toHexString(), + "settings", + poolAddress.concatI32(settingsId.toI32()).toHexString() + ); + assert.fieldEquals( + "Executor", + poolAddress.concat(executorAddress).toHexString(), + "pool", + poolAddress.toHexString() + ); }); }); diff --git a/DaoPools/tests/TokenSale.test.ts b/DaoPools/tests/TokenSale.test.ts index fb3d3e63..0fa904c7 100644 --- a/DaoPools/tests/TokenSale.test.ts +++ b/DaoPools/tests/TokenSale.test.ts @@ -89,13 +89,37 @@ describe("TokenSale", () => { onTierCreated(event); + assert.fieldEquals("TokenSale", contractSender.toHexString(), "token", poolAddress.toHexString()); + assert.fieldEquals("TokenSale", contractSender.toHexString(), "pool", poolAddress.toHexString()); + assert.fieldEquals( "TokenSaleTier", contractSender.concatI32(tierId.toI32()).toHexString(), "tokenSale", contractSender.toHexString() ); + assert.fieldEquals( + "TokenSaleTier", + contractSender.concatI32(tierId.toI32()).toHexString(), + "tierToken", + token.toHexString() + ); + tierId = BigInt.fromI32(6); + token = Address.fromString("0xfF42F3B569cdB6dF9dC260473Ec2ef63Ca971d63"); + event = createTierCreated(tierId, token, contractSender, block, tx); + + onTierCreated(event); + + assert.fieldEquals("TokenSale", contractSender.toHexString(), "token", poolAddress.toHexString()); + assert.fieldEquals("TokenSale", contractSender.toHexString(), "pool", poolAddress.toHexString()); + + assert.fieldEquals( + "TokenSaleTier", + contractSender.concatI32(tierId.toI32()).toHexString(), + "tokenSale", + contractSender.toHexString() + ); assert.fieldEquals( "TokenSaleTier", contractSender.concatI32(tierId.toI32()).toHexString(), @@ -106,8 +130,8 @@ describe("TokenSale", () => { test("should handle bought", () => { let tierId = BigInt.fromI32(5); - let user = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181672"); - let event = createBought(tierId, user, contractSender, block, tx); + let user1 = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181672"); + let event = createBought(tierId, user1, contractSender, block, tx); onBought(event); @@ -122,7 +146,26 @@ describe("TokenSale", () => { "TokenSaleTier", contractSender.concatI32(tierId.toI32()).toHexString(), "voters", - `[${user.concat(poolAddress).toHexString()}]` + `[${user1.concat(poolAddress).toHexString()}]` + ); + + let user2 = Address.fromString("0xfF42F3B569cdB6dF9dC260473Ec2ef63Ca971d63"); + event = createBought(tierId, user2, contractSender, block, tx); + + onBought(event); + + assert.fieldEquals( + "TokenSaleTier", + contractSender.concatI32(tierId.toI32()).toHexString(), + "tokenSale", + contractSender.toHexString() + ); + assert.fieldEquals("TokenSaleTier", contractSender.concatI32(tierId.toI32()).toHexString(), "totalUserCount", "2"); + assert.fieldEquals( + "TokenSaleTier", + contractSender.concatI32(tierId.toI32()).toHexString(), + "voters", + `[${user1.concat(poolAddress).toHexString()}, ${user2.concat(poolAddress).toHexString()}]` ); }); diff --git a/DaoPools/tests/UserKeeper.test.ts b/DaoPools/tests/UserKeeper.test.ts index 36081f40..369c22e9 100644 --- a/DaoPools/tests/UserKeeper.test.ts +++ b/DaoPools/tests/UserKeeper.test.ts @@ -58,6 +58,13 @@ describe("UserKeeper", () => { onSetERC20(event); assert.fieldEquals("DaoPool", poolAddress.toHexString(), "erc20Token", tokenAddress.toHexString()); + + tokenAddress = Address.fromString("0xfF42F3B569cdB6dF9dC260473Ec2ef63Ca971d63"); + event = createSetERC20(tokenAddress, contractSender, block, tx); + + onSetERC20(event); + + assert.fieldEquals("DaoPool", poolAddress.toHexString(), "erc20Token", tokenAddress.toHexString()); }); test("should handle SetERC721", () => { @@ -67,5 +74,12 @@ describe("UserKeeper", () => { onSetERC721(event); assert.fieldEquals("DaoPool", poolAddress.toHexString(), "erc721Token", tokenAddress.toHexString()); + + tokenAddress = Address.fromString("0xfF42F3B569cdB6dF9dC260473Ec2ef63Ca971d63"); + event = createSetERC721(tokenAddress, contractSender, block, tx); + + onSetERC721(event); + + assert.fieldEquals("DaoPool", poolAddress.toHexString(), "erc721Token", tokenAddress.toHexString()); }); }); diff --git a/DaoValidators/package.json b/DaoValidators/package.json index d16f474c..c0e79521 100644 --- a/DaoValidators/package.json +++ b/DaoValidators/package.json @@ -6,6 +6,7 @@ "codegen": "graph codegen", "build": "graph build", "test": "graph test", + "coverage": "graph test -c", "deploy": "graph deploy --node https://api.thegraph.com/deploy/ volodymyrzolotukhin/dexe", "create-local": "graph create --node http://localhost:8020/ volodymyrzolotukhin/dexe", "remove-local": "graph remove --node http://localhost:8020/ volodymyrzolotukhin/dexe", diff --git a/DaoValidators/tests/DaoValidators.test.ts b/DaoValidators/tests/DaoValidators.test.ts index 7e76b898..2eb8eab3 100644 --- a/DaoValidators/tests/DaoValidators.test.ts +++ b/DaoValidators/tests/DaoValidators.test.ts @@ -26,7 +26,7 @@ import { InternalProposalExecuted, } from "../generated/templates/DaoValidators/DaoValidators"; -import { getBlock, getTransaction } from "./utils"; +import { getBlock, getNextTx, getTransaction } from "./utils"; import { DaoPoolDeployed } from "../generated/PoolFactory/PoolFactory"; import { onDeployed } from "../src/mappings/PoolFactory"; @@ -186,7 +186,7 @@ describe("DaoValidators", () => { }); test("should handle ExternalProposalCreated", () => { - let proposalId = BigInt.fromI32(2); + let proposalId = BigInt.fromI32(1); let quorum = BigInt.fromI32(100); let event = createExternalProposalCreated(proposalId, quorum, contractSender, block, tx); @@ -230,6 +230,50 @@ describe("DaoValidators", () => { "creator", Bytes.empty().toHexString() ); + + proposalId = BigInt.fromI32(2); + event = createExternalProposalCreated(proposalId, quorum, contractSender, block, tx); + + onExternalProposalCreated(event); + + assert.fieldEquals( + "Proposal", + poolAddress.toHexString() + proposalId.toString() + "_" + "0", + "proposalId", + proposalId.toString() + ); + assert.fieldEquals( + "Proposal", + poolAddress.toHexString() + proposalId.toString() + "_" + "0", + "isInternal", + "false" + ); + assert.fieldEquals("Proposal", poolAddress.toHexString() + proposalId.toString() + "_" + "0", "description", ""); + assert.fieldEquals( + "Proposal", + poolAddress.toHexString() + proposalId.toString() + "_" + "0", + "quorum", + quorum.toString() + ); + assert.fieldEquals("Proposal", poolAddress.toHexString() + proposalId.toString() + "_" + "0", "totalVoteFor", "0"); + assert.fieldEquals( + "Proposal", + poolAddress.toHexString() + proposalId.toString() + "_" + "0", + "totalVoteAgainst", + "0" + ); + assert.fieldEquals( + "Proposal", + poolAddress.toHexString() + proposalId.toString() + "_" + "0", + "executor", + Bytes.empty().toHexString() + ); + assert.fieldEquals( + "Proposal", + poolAddress.toHexString() + proposalId.toString() + "_" + "0", + "creator", + Bytes.empty().toHexString() + ); }); test("should handle InternalProposalCreated", () => { @@ -283,7 +327,7 @@ describe("DaoValidators", () => { }); test("should handle InternalProposalExecuted", () => { - let proposalId = BigInt.fromI32(2); + let proposalId = BigInt.fromI32(1); let quorum = BigInt.fromI32(100); let description = "d"; let sender = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181675"); @@ -298,6 +342,24 @@ describe("DaoValidators", () => { onInternalProposalExecuted(event); + assert.fieldEquals("Proposal", poolAddress.toHexString() + proposalId.toString() + "_" + "1", "isInternal", "true"); + assert.fieldEquals( + "Proposal", + poolAddress.toHexString() + proposalId.toString() + "_" + "1", + "executor", + executor.toHexString() + ); + + proposalId = BigInt.fromI32(2); + createEvent = createInternalProposalCreated(proposalId, description, quorum, sender, contractSender, block, tx); + + onInternalProposalCreated(createEvent); + + event = createInternalProposalExecuted(proposalId, executor, contractSender, block, tx); + + onInternalProposalExecuted(event); + + assert.fieldEquals("Proposal", poolAddress.toHexString() + proposalId.toString() + "_" + "1", "isInternal", "true"); assert.fieldEquals( "Proposal", poolAddress.toHexString() + proposalId.toString() + "_" + "1", diff --git a/InvestPool/package.json b/InvestPool/package.json index 64408a5e..b083530d 100644 --- a/InvestPool/package.json +++ b/InvestPool/package.json @@ -6,6 +6,7 @@ "codegen": "graph codegen", "build": "graph build", "test": "graph test", + "coverage": "graph test -c", "deploy": "graph deploy --node https://api.thegraph.com/deploy/ volodymyrzolotukhin/dexe", "create-local": "graph create --node http://localhost:8020/ volodymyrzolotukhin/dexe", "remove-local": "graph remove --node http://localhost:8020/ volodymyrzolotukhin/dexe", diff --git a/InvestPool/tests/TraderPoolInvestProposal.test.ts b/InvestPool/tests/TraderPoolInvestProposal.test.ts index 8ed270b8..4fdc183f 100644 --- a/InvestPool/tests/TraderPoolInvestProposal.test.ts +++ b/InvestPool/tests/TraderPoolInvestProposal.test.ts @@ -9,7 +9,7 @@ import { newMockEvent, test, } from "matchstick-as/assembly/index"; -import { getBlock, getTransaction } from "./utils"; +import { getBlock, getNextTx, getTransaction } from "./utils"; import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; import { ProposalClaimed, @@ -238,6 +238,7 @@ describe("TraderPoolInvestProposal", () => { }); test("should handle ProposalCreated event", () => { + let proposalId = BigInt.fromI32(1); let proposalLimits = new ProposalCreatedProposalLimitsStruct(3); proposalLimits[0] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(1)); proposalLimits[1] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(2)); @@ -256,6 +257,25 @@ describe("TraderPoolInvestProposal", () => { assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "totalUSDSupply", "0"); assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "firstSupplyTimestamp", "0"); assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "APR", "0"); + + proposalId = BigInt.fromI32(2); + proposalLimits[0] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(3)); + proposalLimits[1] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(4)); + + event = createProposalCreated(proposalId, proposalLimits, sender, block, tx); + + onProposalCreated(event); + + assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "investPool", pool.toHexString()); + assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "proposalId", proposalId.toString()); + assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "timestampLimit", "3"); + assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "investLPLimit", "4"); + + assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "leftTokens", "[]"); + assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "leftAmounts", "[]"); + assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "totalUSDSupply", "0"); + assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "firstSupplyTimestamp", "0"); + assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "APR", "0"); }); test("should handle ProposalWithdrawn event", () => { @@ -267,6 +287,39 @@ describe("TraderPoolInvestProposal", () => { onProposalWithdrawn(event); assert.fieldEquals("Withdraw", event.transaction.hash.concatI32(0).toHexString(), "amountBase", amount.toString()); + assert.fieldEquals( + "Withdraw", + event.transaction.hash.concatI32(0).toHexString(), + "timestamp", + block.timestamp.toString() + ); + assert.fieldEquals( + "Withdraw", + event.transaction.hash.concatI32(0).toHexString(), + "proposal", + sender.toHexString() + proposalId.toString() + ); + assert.fieldEquals( + "Withdraw", + event.transaction.hash.concatI32(0).toHexString(), + "hash", + event.transaction.hash.toHexString() + ); + + const nextTx = getNextTx(tx); + user = Address.fromString("0x065049652b9d7C9fE9dD582970dB63a058788688"); + + event = createProposalWithdrawn(proposalId, user, amount, sender, block, nextTx); + + onProposalWithdrawn(event); + + assert.fieldEquals("Withdraw", event.transaction.hash.concatI32(0).toHexString(), "amountBase", amount.toString()); + assert.fieldEquals( + "Withdraw", + event.transaction.hash.concatI32(0).toHexString(), + "timestamp", + block.timestamp.toString() + ); assert.fieldEquals( "Withdraw", event.transaction.hash.concatI32(0).toHexString(), @@ -369,6 +422,14 @@ describe("TraderPoolInvestProposal", () => { "leftAmounts", `[${amountsToClaim[0]}]` ); + + amountsToClaim.pop(); + claimEvent = createProposalClaimed(proposalId, user, amountsToClaim, tokens, sender, block, tx); + + onProposalClaimed(claimEvent); + + assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "leftTokens", "[]"); + assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "leftAmounts", "[]"); }); test("should handle ProposalConverted", () => { @@ -419,5 +480,51 @@ describe("TraderPoolInvestProposal", () => { "hash", event.transaction.hash.toHexString() ); + + const nextTx = getNextTx(tx); + user = Address.fromString("0x065049652b9d7C9fE9dD582970dB63a058788688"); + event = createProposalConverted(proposalId, user, amount, baseToken, sender, block, nextTx); + + onProposalConverted(event); + + assert.fieldEquals("Withdraw", event.transaction.hash.concatI32(0).toHexString(), "amountBase", amount.toString()); + assert.fieldEquals( + "Withdraw", + event.transaction.hash.concatI32(0).toHexString(), + "proposal", + sender.toHexString() + proposalId.toString() + ); + assert.fieldEquals( + "Withdraw", + event.transaction.hash.concatI32(0).toHexString(), + "hash", + event.transaction.hash.toHexString() + ); + + assert.fieldEquals( + "Supply", + event.transaction.hash.concatI32(1).toHexString(), + "dividendsTokens", + `[${baseToken.toHexString()}]` + ); + assert.fieldEquals( + "Supply", + event.transaction.hash.concatI32(1).toHexString(), + "amountDividendsTokens", + `[${amount}]` + ); + assert.fieldEquals("Supply", event.transaction.hash.concatI32(1).toHexString(), "timestamp", "1"); + assert.fieldEquals( + "Supply", + event.transaction.hash.concatI32(1).toHexString(), + "proposal", + sender.toHexString() + proposalId.toString() + ); + assert.fieldEquals( + "Supply", + event.transaction.hash.concatI32(1).toHexString(), + "hash", + event.transaction.hash.toHexString() + ); }); }); diff --git a/InvestPool/tests/utils.ts b/InvestPool/tests/utils.ts index 8b154c20..d4818bc1 100644 --- a/InvestPool/tests/utils.ts +++ b/InvestPool/tests/utils.ts @@ -69,5 +69,5 @@ export function getNextTx(prevTx: ethereum.Transaction): ethereum.Transaction { } function nextHash(prevHash: Bytes): Bytes { - return Bytes.fromU64(prevHash.toU64() + 1); + return Bytes.fromByteArray(Bytes.fromU64(prevHash.toU64() + 1)); } From 9382dfd2f12c80b8e0437c495782390434064ec1 Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Fri, 7 Jul 2023 13:02:10 +0300 Subject: [PATCH 03/44] Feature/reward updates (#110) * updated schema for rewards in DaoPools * separeted rewardUSD amounts, updated Reward types * handled OffchainResultsSaved event * fixed doc --- AllInteractions/schema.graphql | 11 + .../entities/dao-pool/DaoOffchainResults.ts | 16 ++ .../entities/global/TransactionTypeEnum.ts | 7 +- AllInteractions/src/mappings/DaoPool.ts | 26 ++ AllInteractions/subgraph.yaml | 2 + AllInteractions/tests/DaoPool.test.ts | 75 ++++++ DaoPools/abis/DaoPool.json | 6 + DaoPools/schema.graphql | 13 +- DaoPools/src/entities/DaoPool.ts | 2 + DaoPools/src/entities/Proposal.ts | 1 + DaoPools/src/entities/Voters/VoterInPool.ts | 3 +- .../src/entities/Voters/VoterInProposal.ts | 6 +- DaoPools/src/entities/global/globals.ts | 7 +- DaoPools/src/mappings/DaoPool.ts | 44 ++- DaoPools/subgraph.yaml | 4 +- DaoPools/tests/DaoPool.test.ts | 255 +++++++++++++++++- 16 files changed, 450 insertions(+), 28 deletions(-) create mode 100644 AllInteractions/src/entities/dao-pool/DaoOffchainResults.ts diff --git a/AllInteractions/schema.graphql b/AllInteractions/schema.graphql index 0742404a..9435aef9 100644 --- a/AllInteractions/schema.graphql +++ b/AllInteractions/schema.graphql @@ -392,6 +392,17 @@ type DaoPoolMovedToValidators @entity(immutable: true) { transaction: Transaction! } +# @notice The entity holds information about save offchain results +# @param id forms from tx hash + interactionCount +# @param pool the pool address +# @param transaction the transaction entity id +type DaoPoolOffchainResultsSaved @entity(immutable: true) { + id: Bytes! + pool: Bytes! + + transaction: Transaction! +} + # @notice The entity holds information about vote in dao pool # @param id forms from tx hash + interactionCount # @param pool the pool address diff --git a/AllInteractions/src/entities/dao-pool/DaoOffchainResults.ts b/AllInteractions/src/entities/dao-pool/DaoOffchainResults.ts new file mode 100644 index 00000000..977dc6c0 --- /dev/null +++ b/AllInteractions/src/entities/dao-pool/DaoOffchainResults.ts @@ -0,0 +1,16 @@ +import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { DaoPoolOffchainResultsSaved } from "../../../generated/schema"; + +export function getDaoPoolOffchainResult(hash: Bytes, pool: Address, count: BigInt): DaoPoolOffchainResultsSaved { + let id = hash.concatI32(count.toI32()); + let daoPoolOffchainResultsSaved = DaoPoolOffchainResultsSaved.load(id); + + if (daoPoolOffchainResultsSaved == null) { + daoPoolOffchainResultsSaved = new DaoPoolOffchainResultsSaved(id); + daoPoolOffchainResultsSaved.pool = pool; + + daoPoolOffchainResultsSaved.transaction = Bytes.empty(); + } + + return daoPoolOffchainResultsSaved; +} diff --git a/AllInteractions/src/entities/global/TransactionTypeEnum.ts b/AllInteractions/src/entities/global/TransactionTypeEnum.ts index 4a372132..df428e75 100644 --- a/AllInteractions/src/entities/global/TransactionTypeEnum.ts +++ b/AllInteractions/src/entities/global/TransactionTypeEnum.ts @@ -46,10 +46,11 @@ export enum TransactionType { DAO_POOL_DEPOSITED = 33, DAO_POOL_WITHDRAWN = 34, DAO_POOL_MOVED_TO_VALIDATORS = 35, + DAO_POOL_OFFCHAIN_RESULTS_SAVED = 36, - DAO_VALIDATORS_VOTED = 36, - DAO_VALIDATORS_PROPOSAL_CREATED = 37, - DAO_VALIDATORS_PROPOSAL_EXECUTED = 38, + DAO_VALIDATORS_VOTED = 37, + DAO_VALIDATORS_PROPOSAL_CREATED = 38, + DAO_VALIDATORS_PROPOSAL_EXECUTED = 39, } export function getEnumBigInt(operation: TransactionType): BigInt { diff --git a/AllInteractions/src/mappings/DaoPool.ts b/AllInteractions/src/mappings/DaoPool.ts index 538e4452..3edd031e 100644 --- a/AllInteractions/src/mappings/DaoPool.ts +++ b/AllInteractions/src/mappings/DaoPool.ts @@ -3,6 +3,7 @@ import { Delegated, Deposited, MovedToValidators, + OffchainResultsSaved, ProposalCreated, ProposalExecuted, RewardClaimed, @@ -19,6 +20,7 @@ import { getDaoProposalCreate } from "../entities/dao-pool/DaoProposalCreate"; import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; import { getTransaction } from "../entities/transaction/Transaction"; import { extendArray } from "../helpers/ArrayHelper"; +import { getDaoPoolOffchainResult } from "../entities/dao-pool/DaoOffchainResults"; export function onProposalCreated(event: ProposalCreated): void { let transaction = getTransaction( @@ -200,3 +202,27 @@ export function onMovedToValidators(event: MovedToValidators): void { transaction.save(); moved.save(); } + +export function onOffchainResultsSaved(event: OffchainResultsSaved): void { + let transaction = getTransaction( + event.transaction.hash, + event.block.number, + event.block.timestamp, + event.params.sender + ); + + let offchainResultsSaved = getDaoPoolOffchainResult( + event.transaction.hash, + event.address, + transaction.interactionsCount + ); + + transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); + transaction.type = extendArray(transaction.type, [ + getEnumBigInt(TransactionType.DAO_POOL_OFFCHAIN_RESULTS_SAVED), + ]); + offchainResultsSaved.transaction = transaction.id; + + transaction.save(); + offchainResultsSaved.save(); +} diff --git a/AllInteractions/subgraph.yaml b/AllInteractions/subgraph.yaml index 55eaf851..d457acc4 100644 --- a/AllInteractions/subgraph.yaml +++ b/AllInteractions/subgraph.yaml @@ -196,6 +196,8 @@ templates: handler: onWithdrawn - event: MovedToValidators(uint256,address) handler: onMovedToValidators + - event: OffchainResultsSaved(string,address) + handler: onOffchainResultsSaved - kind: ethereum/contract name: DaoValidators network: chapel diff --git a/AllInteractions/tests/DaoPool.test.ts b/AllInteractions/tests/DaoPool.test.ts index 3a78a80d..e433dd09 100644 --- a/AllInteractions/tests/DaoPool.test.ts +++ b/AllInteractions/tests/DaoPool.test.ts @@ -15,6 +15,7 @@ import { Deposited, DPCreated, MovedToValidators, + OffchainResultsSaved, ProposalCreated, ProposalExecuted, RewardClaimed, @@ -30,6 +31,7 @@ import { onDeposited, onWithdrawn, onMovedToValidators, + onOffchainResultsSaved, } from "../src/mappings/DaoPool"; import { TransactionType } from "../src/entities/global/TransactionTypeEnum"; @@ -223,6 +225,25 @@ function createMovedToValidators( return event; } +function createOffchainResultsSaved( + sender: Address, + contractSender: Address, + block: ethereum.Block, + tx: ethereum.Transaction +): OffchainResultsSaved { + let event = changetype(newMockEvent()); + event.parameters = new Array(); + + event.parameters.push(new ethereum.EventParam("resultsHash", ethereum.Value.fromString(""))); + event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); + + event.block = block; + event.transaction = tx; + event.address = contractSender; + + return event; +} + const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); const contractSender = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181670"); @@ -575,4 +596,58 @@ describe("DaoPool", () => { BigInt.fromI32(1) ); }); + + test("should handle OffchainResultsSaved", () => { + let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + + let event = createOffchainResultsSaved(sender, contractSender, block, tx); + + onOffchainResultsSaved(event); + + assert.fieldEquals( + "DaoPoolOffchainResultsSaved", + tx.hash.concatI32(0).toHexString(), + "pool", + contractSender.toHexString() + ); + + assert.fieldEquals( + "DaoPoolOffchainResultsSaved", + tx.hash.concatI32(0).toHexString(), + "transaction", + tx.hash.toHexString() + ); + + assertTransaction( + tx.hash, + event.params.sender, + block, + `[${TransactionType.DAO_POOL_OFFCHAIN_RESULTS_SAVED}]`, + BigInt.fromI32(1) + ); + + onOffchainResultsSaved(event); + + assert.fieldEquals( + "DaoPoolOffchainResultsSaved", + tx.hash.concatI32(1).toHexString(), + "pool", + contractSender.toHexString() + ); + + assert.fieldEquals( + "DaoPoolOffchainResultsSaved", + tx.hash.concatI32(1).toHexString(), + "transaction", + tx.hash.toHexString() + ); + + assertTransaction( + tx.hash, + event.params.sender, + block, + `[${TransactionType.DAO_POOL_OFFCHAIN_RESULTS_SAVED}]`, + BigInt.fromI32(2) + ); + }); }); diff --git a/DaoPools/abis/DaoPool.json b/DaoPools/abis/DaoPool.json index 93709f88..e0656b91 100644 --- a/DaoPools/abis/DaoPool.json +++ b/DaoPools/abis/DaoPool.json @@ -1429,6 +1429,12 @@ "name": "proposalId", "type": "uint256" }, + { + "indexed": false, + "internalType": "bool", + "name": "isFor", + "type": "bool" + }, { "indexed": false, "internalType": "address", diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index 6fa4a1c5..d83d7ea4 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -52,6 +52,8 @@ type DaoPool @entity { totalCurrentTokenDelegatees: BigInt! totalCurrentNFTDelegatees: BigInt! + offchainResultsHash: String! + voters: [VoterInPool!]! @derivedFrom(field: "pool") proposals: [Proposal!]! @derivedFrom(field: "pool") settings: [ProposalSettings!]! @derivedFrom(field: "pool") @@ -70,6 +72,7 @@ type Voter @entity { # @param id forms from pool address + proposalId # @param isDP the bool flag, if true proposal is DP # @param creator the address of creator +# @param isFor bool flag, if true - proposal succeded for, if false - proposal succeded against # @param executor the address of executor # @param executionTimestamp the timestamp of execution # @param currentVotes the current number of votes @@ -87,6 +90,7 @@ type Proposal @entity { creator: Bytes! + isFor: Boolean! executor: Bytes! executionTimestamp: BigInt! @@ -136,7 +140,8 @@ type VoterInPool @entity { totalDPClaimed: BigInt! totalClaimedUSD: BigInt! - totalDelegationRewardUSD: BigInt! + totalDelegationRewardUSDFor: BigInt! + totalDelegationRewardUSDAgainst: BigInt! currentDelegatorsCount: BigInt! @@ -202,8 +207,10 @@ type VoterInProposal @entity { totalDelegatedVoteForAmount: BigInt! totalDelegatedVoteAgainstAmount: BigInt! - unclaimedRewardUSD: BigInt! - unclaimedRewardFromDelegationsUSD: BigInt! + unclaimedRewardUSDFor: BigInt! + unclaimedRewardUSDAgainst: BigInt! + unclaimedRewardFromDelegationsUSDFor: BigInt! + unclaimedRewardFromDelegationsUSDAgainst: BigInt! claimedRewardUSD: BigInt! claimedDpRewardUSD: BigInt! diff --git a/DaoPools/src/entities/DaoPool.ts b/DaoPools/src/entities/DaoPool.ts index 7905ba83..478d916d 100644 --- a/DaoPools/src/entities/DaoPool.ts +++ b/DaoPools/src/entities/DaoPool.ts @@ -25,6 +25,8 @@ export function getDaoPool( pool.totalCurrentTokenDelegatees = BigInt.zero(); pool.totalCurrentNFTDelegatees = BigInt.zero(); + + pool.offchainResultsHash = ""; } return pool; diff --git a/DaoPools/src/entities/Proposal.ts b/DaoPools/src/entities/Proposal.ts index c93e4aac..5f4701fa 100644 --- a/DaoPools/src/entities/Proposal.ts +++ b/DaoPools/src/entities/Proposal.ts @@ -18,6 +18,7 @@ export function getProposal( proposal.proposalId = proposalId; proposal.creator = creator; + proposal.isFor = false; proposal.executor = Bytes.empty(); proposal.executionTimestamp = BigInt.zero(); proposal.currentVotesFor = BigInt.zero(); diff --git a/DaoPools/src/entities/Voters/VoterInPool.ts b/DaoPools/src/entities/Voters/VoterInPool.ts index 5e1b196f..1cdc9af9 100644 --- a/DaoPools/src/entities/Voters/VoterInPool.ts +++ b/DaoPools/src/entities/Voters/VoterInPool.ts @@ -17,7 +17,8 @@ export function getVoterInPool(pool: DaoPool, voter: Voter, timestamp: BigInt): voterInPool.receivedNFTDelegation = new Array(); voterInPool.receivedNFTDelegationCount = BigInt.zero(); - voterInPool.totalDelegationRewardUSD = BigInt.zero(); + voterInPool.totalDelegationRewardUSDFor = BigInt.zero(); + voterInPool.totalDelegationRewardUSDAgainst = BigInt.zero(); voterInPool.currentDelegatorsCount = BigInt.zero(); diff --git a/DaoPools/src/entities/Voters/VoterInProposal.ts b/DaoPools/src/entities/Voters/VoterInProposal.ts index c7d28520..d5e9ef6e 100644 --- a/DaoPools/src/entities/Voters/VoterInProposal.ts +++ b/DaoPools/src/entities/Voters/VoterInProposal.ts @@ -18,8 +18,10 @@ export function getVoterInProposal(proposal: Proposal, voterInPool: VoterInPool) voterInProposal.claimedRewardUSD = BigInt.zero(); voterInProposal.claimedDpRewardUSD = BigInt.zero(); - voterInProposal.unclaimedRewardUSD = BigInt.zero(); - voterInProposal.unclaimedRewardFromDelegationsUSD = BigInt.zero(); + voterInProposal.unclaimedRewardUSDFor = BigInt.zero(); + voterInProposal.unclaimedRewardUSDAgainst = BigInt.zero(); + voterInProposal.unclaimedRewardFromDelegationsUSDFor = BigInt.zero(); + voterInProposal.unclaimedRewardFromDelegationsUSDAgainst = BigInt.zero(); } return voterInProposal; diff --git a/DaoPools/src/entities/global/globals.ts b/DaoPools/src/entities/global/globals.ts index f8e4da68..58499411 100644 --- a/DaoPools/src/entities/global/globals.ts +++ b/DaoPools/src/entities/global/globals.ts @@ -3,7 +3,12 @@ import { BigInt } from "@graphprotocol/graph-ts"; export const PRICE_FEED_ADDRESS = "0x56d8412b75434671FbC6ad9c6b91Ba2d5E3817c1"; export const BNB_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"; export const WBNB_ADDRESS = "0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd"; -export const REWARD_TYPE_VOTE_DELEGATED = 2; export const DAY = 86400; export const YEAR = BigInt.fromI32(DAY).times(BigInt.fromI32(365)); export const PERCENTAGE_NUMERATOR = 10000; + +export const REWARD_TYPE_CREATE = 0; +export const REWARD_TYPE_VOTE_FOR = 1; +export const REWARD_TYPE_VOTE_AGAINST = 2; +export const REWARD_TYPE_VOTE_FOR_DELEGATED = 3; +export const REWARD_TYPE_VOTE_AGAINST_DELEGATED = 4; diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index 55558fb2..72e9f4d5 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -3,6 +3,7 @@ import { Delegated, Deposited, DPCreated, + OffchainResultsSaved, ProposalCreated, ProposalExecuted, RewardClaimed, @@ -20,7 +21,16 @@ import { getVoter } from "../entities/Voters/Voter"; import { getVoterInPool } from "../entities/Voters/VoterInPool"; import { getVoterInProposal } from "../entities/Voters/VoterInProposal"; import { PriceFeed } from "../../generated/templates/DaoPool/PriceFeed"; -import { PERCENTAGE_NUMERATOR, PRICE_FEED_ADDRESS, REWARD_TYPE_VOTE_DELEGATED, YEAR } from "../entities/global/globals"; +import { + PERCENTAGE_NUMERATOR, + PRICE_FEED_ADDRESS, + REWARD_TYPE_CREATE, + REWARD_TYPE_VOTE_FOR, + REWARD_TYPE_VOTE_AGAINST, + REWARD_TYPE_VOTE_FOR_DELEGATED, + REWARD_TYPE_VOTE_AGAINST_DELEGATED, + YEAR, +} from "../entities/global/globals"; import { Proposal, VoterInPool, VoterInProposal } from "../../generated/schema"; import { extendArray, reduceArray } from "../helpers/ArrayHelper"; import { getProposalSettings } from "../entities/Settings/ProposalSettings"; @@ -199,6 +209,7 @@ export function onProposalExecuted(event: ProposalExecuted): void { let pool = getDaoPool(event.address); let proposal = getProposal(pool, event.params.proposalId); + proposal.isFor = event.params.isFor; proposal.executor = event.params.sender; proposal.executionTimestamp = event.block.timestamp; @@ -235,13 +246,26 @@ export function onRewardCredited(event: RewardCredited): void { let usdAmount = getUSDValue(event.params.rewardToken, event.params.amount); - if (event.params.rewardType == REWARD_TYPE_VOTE_DELEGATED) { - voterInProposal.unclaimedRewardFromDelegationsUSD = - voterInProposal.unclaimedRewardFromDelegationsUSD.plus(usdAmount); - voterInPool.totalDelegationRewardUSD = voterInPool.totalDelegationRewardUSD.plus(usdAmount); + const rewardType = event.params.rewardType; + + if (rewardType == REWARD_TYPE_VOTE_FOR_DELEGATED) { + voterInProposal.unclaimedRewardFromDelegationsUSDFor = + voterInProposal.unclaimedRewardFromDelegationsUSDFor.plus(usdAmount); + voterInPool.totalDelegationRewardUSDFor = voterInPool.totalDelegationRewardUSDFor.plus(usdAmount); + } else if (rewardType == REWARD_TYPE_VOTE_AGAINST_DELEGATED) { + voterInProposal.unclaimedRewardFromDelegationsUSDAgainst = + voterInProposal.unclaimedRewardFromDelegationsUSDAgainst.plus(usdAmount); + voterInPool.totalDelegationRewardUSDAgainst = voterInPool.totalDelegationRewardUSDAgainst.plus(usdAmount); } - voterInProposal.unclaimedRewardUSD = voterInProposal.unclaimedRewardUSD.plus(usdAmount); + if (rewardType == REWARD_TYPE_VOTE_FOR || rewardType == REWARD_TYPE_VOTE_FOR_DELEGATED) { + voterInProposal.unclaimedRewardUSDFor = voterInProposal.unclaimedRewardUSDFor.plus(usdAmount); + } else if (rewardType == REWARD_TYPE_VOTE_AGAINST || rewardType == REWARD_TYPE_VOTE_AGAINST_DELEGATED) { + voterInProposal.unclaimedRewardUSDAgainst = voterInProposal.unclaimedRewardUSDAgainst.plus(usdAmount); + } else { + voterInProposal.unclaimedRewardUSDFor = voterInProposal.unclaimedRewardUSDFor.plus(usdAmount); + voterInProposal.unclaimedRewardUSDAgainst = voterInProposal.unclaimedRewardUSDAgainst.plus(usdAmount); + } recalculateAPR(voterInPool, usdAmount, event.block.timestamp); @@ -297,6 +321,14 @@ export function onStakingRewardClaimed(event: StakingRewardClaimed): void { pool.save(); } +export function onOffchainResultsSaved(event: OffchainResultsSaved): void { + let pool = getDaoPool(event.address); + + pool.offchainResultsHash = event.params.resultsHash; + + pool.save(); +} + function recalculateAPR(voterInPool: VoterInPool, rewardCredited: BigInt, currentTimestamp: BigInt): void { if ( voterInPool.totalLockedFundsUSD.notEqual(BigInt.zero()) && diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index 2d41a1d0..df127d29 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -52,7 +52,7 @@ templates: handler: onVoted - event: DPCreated(uint256,address,address,uint256) # id, msg.sender, token, amount handler: onDPCreated - - event: ProposalExecuted(uint256,address) # id, msg.sender + - event: ProposalExecuted(uint256,bool,address) # id, isFor, msg.sender handler: onProposalExecuted - event: RewardClaimed(uint256,address,address,uint256) # id, msg.sender, token, amount handler: onRewardClaimed @@ -60,6 +60,8 @@ templates: handler: onRewardCredited - event: StakingRewardClaimed(address,address,uint256) handler: onStakingRewardClaimed + - event: OffchainResultsSaved(string,address) + handler: onOffchainResultsSaved - kind: ethereum/contract name: DistributionProposal diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index 00521c7f..567545bd 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -22,6 +22,7 @@ import { RewardCredited, Voted, StakingRewardClaimed, + OffchainResultsSaved, } from "../generated/templates/DaoPool/DaoPool"; import { onDelegated, @@ -34,9 +35,17 @@ import { onDeposited, onWithdrawn, onStakingRewardClaimed, + onOffchainResultsSaved, } from "../src/mappings/DaoPool"; import { ProposalType } from "../src/entities/global/ProposalTypes"; -import { PRICE_FEED_ADDRESS, REWARD_TYPE_VOTE_DELEGATED } from "../src/entities/global/globals"; +import { + PRICE_FEED_ADDRESS, + REWARD_TYPE_CREATE, + REWARD_TYPE_VOTE_AGAINST, + REWARD_TYPE_VOTE_AGAINST_DELEGATED, + REWARD_TYPE_VOTE_FOR, + REWARD_TYPE_VOTE_FOR_DELEGATED, +} from "../src/entities/global/globals"; import { ProposalSettings } from "../generated/schema"; import { createSetERC20 } from "./UserKeeper.test"; import { getUserKeeperContract } from "../src/entities/UserKeeperContract"; @@ -150,6 +159,7 @@ function createDPCreated( function createProposalExecuted( proposalId: BigInt, + isFor: boolean, sender: Address, contractSender: Address, block: ethereum.Block, @@ -159,6 +169,7 @@ function createProposalExecuted( event.parameters = new Array(); event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); + event.parameters.push(new ethereum.EventParam("isFor", ethereum.Value.fromBoolean(isFor))); event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); event.block = block; @@ -285,6 +296,26 @@ function createStakingRewardClaimed( return event; } +function createOffchainResultsSaved( + sender: Address, + resultsHash: string, + contractSender: Address, + block: ethereum.Block, + tx: ethereum.Transaction +): OffchainResultsSaved { + let event = changetype(newMockEvent()); + event.parameters = new Array(); + + event.parameters.push(new ethereum.EventParam("resultsHash", ethereum.Value.fromString(resultsHash))); + event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); + + event.block = block; + event.transaction = tx; + event.address = contractSender; + + return event; +} + const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); const contractSender = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181670"); @@ -816,12 +847,14 @@ describe("DaoPool", () => { test("should handle ProposalExecuted", () => { let proposalId = BigInt.fromI32(1); + let isFor = true; let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let event = createProposalExecuted(proposalId, sender, contractSender, block, tx); + let event = createProposalExecuted(proposalId, isFor, sender, contractSender, block, tx); onProposalExecuted(event); + assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "isFor", "true"); assert.fieldEquals( "Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), @@ -905,7 +938,97 @@ describe("DaoPool", () => { let event = createRewardCredited( proposalId, - BigInt.fromI32(REWARD_TYPE_VOTE_DELEGATED - 1), + BigInt.fromI32(REWARD_TYPE_CREATE), + rewardToken, + amount, + sender, + contractSender, + block, + tx + ); + + onRewardCredited(event); + + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "unclaimedRewardUSDFor", + "200" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "unclaimedRewardUSDAgainst", + "200" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "unclaimedRewardFromDelegationsUSDFor", + "0" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "unclaimedRewardFromDelegationsUSDAgainst", + "0" + ); + }); + + test("should handle RewardCredited when reward type vote for/against", () => { + let proposalId = BigInt.fromI32(1); + let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); + let amount = BigInt.fromI32(1000); + + let event = createRewardCredited( + proposalId, + BigInt.fromI32(REWARD_TYPE_VOTE_FOR), + rewardToken, + amount, + sender, + contractSender, + block, + tx + ); + + onRewardCredited(event); + + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "unclaimedRewardFromDelegationsUSDFor", + "0" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "unclaimedRewardFromDelegationsUSDAgainst", + "0" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "unclaimedRewardUSDFor", + "200" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "unclaimedRewardUSDAgainst", + "0" + ); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalDelegationRewardUSDFor", "0"); + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "totalDelegationRewardUSDAgainst", + "0" + ); + + event = createRewardCredited( + proposalId, + BigInt.fromI32(REWARD_TYPE_VOTE_AGAINST), rewardToken, amount, sender, @@ -919,18 +1042,37 @@ describe("DaoPool", () => { assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardUSD", + "unclaimedRewardFromDelegationsUSDFor", + "0" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "unclaimedRewardFromDelegationsUSDAgainst", + "0" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "unclaimedRewardUSDFor", "200" ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardFromDelegationsUSD", + "unclaimedRewardUSDAgainst", + "200" + ); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalDelegationRewardUSDFor", "0"); + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "totalDelegationRewardUSDAgainst", "0" ); }); - test("should handle RewardCredited when reward type", () => { + test("should handle RewardCredited when reward type vote for/against delegated", () => { let proposalId = BigInt.fromI32(1); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); @@ -938,7 +1080,7 @@ describe("DaoPool", () => { let event = createRewardCredited( proposalId, - BigInt.fromI32(REWARD_TYPE_VOTE_DELEGATED), + BigInt.fromI32(REWARD_TYPE_VOTE_FOR_DELEGATED), rewardToken, amount, sender, @@ -952,16 +1094,89 @@ describe("DaoPool", () => { assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardFromDelegationsUSD", + "unclaimedRewardFromDelegationsUSDFor", "200" ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardUSD", + "unclaimedRewardFromDelegationsUSDAgainst", + "0" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "unclaimedRewardUSDFor", + "200" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "unclaimedRewardUSDAgainst", + "0" + ); + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "totalDelegationRewardUSDFor", + "200" + ); + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "totalDelegationRewardUSDAgainst", + "0" + ); + + event = createRewardCredited( + proposalId, + BigInt.fromI32(REWARD_TYPE_VOTE_AGAINST_DELEGATED), + rewardToken, + amount, + sender, + contractSender, + block, + tx + ); + + onRewardCredited(event); + + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "unclaimedRewardFromDelegationsUSDFor", + "200" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "unclaimedRewardFromDelegationsUSDAgainst", + "200" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "unclaimedRewardUSDFor", + "200" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "unclaimedRewardUSDAgainst", + "200" + ); + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "totalDelegationRewardUSDFor", + "200" + ); + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "totalDelegationRewardUSDAgainst", "200" ); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalDelegationRewardUSD", "200"); }); test("should deposit", () => { @@ -1033,7 +1248,7 @@ describe("DaoPool", () => { let event = createRewardCredited( proposalId, - BigInt.fromI32(REWARD_TYPE_VOTE_DELEGATED - 1), + BigInt.fromI32(REWARD_TYPE_VOTE_FOR), rewardToken, amount2, sender, @@ -1062,4 +1277,22 @@ describe("DaoPool", () => { assert.fieldEquals("VoterInPool", user.concat(contractSender).toHexString(), "totalStakingReward", "3000"); }); + + test("should handle OffchainResultsSaved event", () => { + let user = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + let resultsHash = "hash1"; + + let event = createOffchainResultsSaved(user, resultsHash, contractSender, block, tx); + + onOffchainResultsSaved(event); + + assert.fieldEquals("DaoPool", contractSender.toHexString(), "offchainResultsHash", resultsHash); + + resultsHash = "hash2"; + event = createOffchainResultsSaved(user, resultsHash, contractSender, block, tx); + + onOffchainResultsSaved(event); + + assert.fieldEquals("DaoPool", contractSender.toHexString(), "offchainResultsHash", resultsHash); + }); }); From 1e55f29b896301897c2fd39f394cb5e7adfbeb12 Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Mon, 10 Jul 2023 20:08:18 +0300 Subject: [PATCH 04/44] Feature/graph modules (#112) * replaced ArrayHelpers with dlsl/graph-modules * replaced HistorySearcher with dlsl/graph-modules --- AllInteractions/package-lock.json | 35 +++++++++++++++++ AllInteractions/package.json | 1 + AllInteractions/src/helpers/ArrayHelper.ts | 18 --------- AllInteractions/src/mappings/DaoPool.ts | 20 +++++----- AllInteractions/src/mappings/DaoValidators.ts | 8 ++-- AllInteractions/src/mappings/Insurance.ts | 6 +-- AllInteractions/src/mappings/PoolFactory.ts | 6 +-- AllInteractions/src/mappings/TraderPool.ts | 16 ++++---- .../src/mappings/TraderPoolInvestProposal.ts | 16 ++++---- .../src/mappings/TraderPoolRiskyProposal.ts | 12 +++--- AllInteractions/src/mappings/UserRegistry.ts | 6 +-- AllPools/package-lock.json | 35 +++++++++++++++++ AllPools/package.json | 1 + .../src/entities/trader-pool/TraderPool.ts | 4 +- .../trader-pool/TraderPoolPriceHistory.ts | 6 +-- AllPools/src/helpers/ArrayHelper.ts | 33 ---------------- AllPools/src/helpers/HistorySearcher.ts | 24 ------------ AllPools/src/mappings/TraderPool.ts | 33 ++++++++-------- AllPoolsInvestors/package-lock.json | 38 +++++++++++++++++++ AllPoolsInvestors/package.json | 1 + .../history/InvestorAmountHistory.ts | 7 ++-- .../entities/trader-pool/history/LpHistory.ts | 7 ++-- AllPoolsInvestors/src/helpers/ArrayHelper.ts | 33 ---------------- .../src/helpers/HistorySearcher.ts | 23 ----------- AllPoolsInvestors/src/mappings/Insurance.ts | 6 ++- AllPoolsInvestors/src/mappings/TraderPool.ts | 24 ++++++------ .../src/mappings/TraderPoolProposal.ts | 2 +- DaoPools/package-lock.json | 35 +++++++++++++++++ DaoPools/package.json | 1 + DaoPools/src/helpers/ArrayHelper.ts | 33 ---------------- DaoPools/src/mappings/DaoPool.ts | 16 ++++---- DaoPools/src/mappings/DistributionProposal.ts | 4 +- DaoPools/src/mappings/TokenSale.ts | 6 +-- DaoPools/tests/DaoPool.test.ts | 4 +- InvestPool/package-lock.json | 38 +++++++++++++++++++ InvestPool/package.json | 1 + InvestPool/src/helpers/ArrayHelper.ts | 28 -------------- .../src/mappings/TraderPoolInvestProposal.ts | 3 +- 38 files changed, 297 insertions(+), 293 deletions(-) delete mode 100644 AllInteractions/src/helpers/ArrayHelper.ts delete mode 100644 AllPools/src/helpers/ArrayHelper.ts delete mode 100644 AllPools/src/helpers/HistorySearcher.ts delete mode 100644 AllPoolsInvestors/src/helpers/ArrayHelper.ts delete mode 100644 AllPoolsInvestors/src/helpers/HistorySearcher.ts delete mode 100644 DaoPools/src/helpers/ArrayHelper.ts diff --git a/AllInteractions/package-lock.json b/AllInteractions/package-lock.json index 3847d7f4..f8bb8d12 100644 --- a/AllInteractions/package-lock.json +++ b/AllInteractions/package-lock.json @@ -7,6 +7,7 @@ "name": "dexe", "license": "UNLICENSED", "dependencies": { + "@dlsl/graph-modules": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "0.5.0" @@ -111,6 +112,22 @@ "node": ">=6.9.0" } }, + "node_modules/@dlsl/graph-modules": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "dependencies": { + "@graphprotocol/graph-ts": "0.29.3" + } + }, + "node_modules/@dlsl/graph-modules/node_modules/@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "dependencies": { + "assemblyscript": "0.19.10" + } + }, "node_modules/@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", @@ -5245,6 +5262,24 @@ "regenerator-runtime": "^0.13.4" } }, + "@dlsl/graph-modules": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "requires": { + "@graphprotocol/graph-ts": "0.29.3" + }, + "dependencies": { + "@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "requires": { + "assemblyscript": "0.19.10" + } + } + } + }, "@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", diff --git a/AllInteractions/package.json b/AllInteractions/package.json index c0e79521..65fa98a6 100644 --- a/AllInteractions/package.json +++ b/AllInteractions/package.json @@ -13,6 +13,7 @@ "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" }, "dependencies": { + "@dlsl/graph-modules": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "0.5.0" diff --git a/AllInteractions/src/helpers/ArrayHelper.ts b/AllInteractions/src/helpers/ArrayHelper.ts deleted file mode 100644 index 5e59b6f3..00000000 --- a/AllInteractions/src/helpers/ArrayHelper.ts +++ /dev/null @@ -1,18 +0,0 @@ -export function upcastCopy(array: Array): Array { - let newArr = new Array(); - - for (let i = 0; i < array.length; i++) { - newArr.push(array[i]); - } - - return newArr; -} - -export function extendArray(array: Array, elements: Array): Array { - for (let i = 0; i < elements.length; i++) { - if (!array.includes(elements[i])) { - array.push(elements[i]); - } - } - return array; -} diff --git a/AllInteractions/src/mappings/DaoPool.ts b/AllInteractions/src/mappings/DaoPool.ts index 3edd031e..e8a98030 100644 --- a/AllInteractions/src/mappings/DaoPool.ts +++ b/AllInteractions/src/mappings/DaoPool.ts @@ -1,4 +1,5 @@ import { BigInt } from "@graphprotocol/graph-ts"; +import { pushUnique } from "@dlsl/graph-modules"; import { Delegated, Deposited, @@ -19,7 +20,6 @@ import { getDaoPoolVote } from "../entities/dao-pool/DaoPoolVote"; import { getDaoProposalCreate } from "../entities/dao-pool/DaoProposalCreate"; import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; import { getTransaction } from "../entities/transaction/Transaction"; -import { extendArray } from "../helpers/ArrayHelper"; import { getDaoPoolOffchainResult } from "../entities/dao-pool/DaoOffchainResults"; export function onProposalCreated(event: ProposalCreated): void { @@ -36,7 +36,7 @@ export function onProposalCreated(event: ProposalCreated): void { transaction.interactionsCount ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_PROPOSAL_CREATED)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_PROPOSAL_CREATED)]); proposalCreated.transaction = transaction.id; transaction.save(); @@ -57,7 +57,7 @@ export function onDelegated(event: Delegated): void { transaction.interactionsCount ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = extendArray(transaction.type, [ + transaction.type = pushUnique(transaction.type, [ getEnumBigInt(event.params.isDelegate ? TransactionType.DAO_POOL_DELEGATED : TransactionType.DAO_POOL_UNDELEGATED), ]); delegated.transaction = transaction.id; @@ -81,7 +81,7 @@ export function onVoted(event: Voted): void { event.params.isVoteFor ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_PROPOSAL_VOTED)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_PROPOSAL_VOTED)]); voted.transaction = transaction.id; transaction.save(); @@ -102,7 +102,7 @@ export function onProposalExecuted(event: ProposalExecuted): void { transaction.interactionsCount ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_PROPOSAL_EXECUTED)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_PROPOSAL_EXECUTED)]); executed.transaction = transaction.id; transaction.save(); @@ -123,7 +123,7 @@ export function onRewardClaimed(event: RewardClaimed): void { transaction.interactionsCount ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_REWARD_CLAIMED)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_REWARD_CLAIMED)]); claimed.transaction = transaction.id; transaction.save(); @@ -147,7 +147,7 @@ export function onDeposited(event: Deposited): void { ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_DEPOSITED)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_DEPOSITED)]); deposit.transaction = transaction.id; transaction.save(); @@ -171,7 +171,7 @@ export function onWithdrawn(event: Withdrawn): void { ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_WITHDRAWN)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_WITHDRAWN)]); withdrawn.transaction = transaction.id; transaction.save(); @@ -194,7 +194,7 @@ export function onMovedToValidators(event: MovedToValidators): void { ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = extendArray(transaction.type, [ + transaction.type = pushUnique(transaction.type, [ getEnumBigInt(TransactionType.DAO_POOL_MOVED_TO_VALIDATORS), ]); moved.transaction = transaction.id; @@ -218,7 +218,7 @@ export function onOffchainResultsSaved(event: OffchainResultsSaved): void { ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = extendArray(transaction.type, [ + transaction.type = pushUnique(transaction.type, [ getEnumBigInt(TransactionType.DAO_POOL_OFFCHAIN_RESULTS_SAVED), ]); offchainResultsSaved.transaction = transaction.id; diff --git a/AllInteractions/src/mappings/DaoValidators.ts b/AllInteractions/src/mappings/DaoValidators.ts index 8bfa2cb6..4a5a797d 100644 --- a/AllInteractions/src/mappings/DaoValidators.ts +++ b/AllInteractions/src/mappings/DaoValidators.ts @@ -1,4 +1,5 @@ import { BigInt } from "@graphprotocol/graph-ts"; +import { pushUnique } from "@dlsl/graph-modules"; import { Voted, InternalProposalCreated, @@ -9,7 +10,6 @@ import { getDaoValidatorProposalCreate } from "../entities/dao-pool/DaoValidator import { getDaoValidatorProposalExecute } from "../entities/dao-pool/DaoValidatorProposalExecute"; import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; import { getTransaction } from "../entities/transaction/Transaction"; -import { extendArray } from "../helpers/ArrayHelper"; export function onVoted(event: Voted): void { let transaction = getTransaction( @@ -29,7 +29,7 @@ export function onVoted(event: Voted): void { ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.DAO_VALIDATORS_VOTED)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.DAO_VALIDATORS_VOTED)]); voted.transaction = transaction.id; transaction.save(); @@ -52,7 +52,7 @@ export function onInternalProposalCreated(event: InternalProposalCreated): void ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = extendArray(transaction.type, [ + transaction.type = pushUnique(transaction.type, [ getEnumBigInt(TransactionType.DAO_VALIDATORS_PROPOSAL_CREATED), ]); created.transaction = transaction.id; @@ -77,7 +77,7 @@ export function onInternalProposalExecuted(event: InternalProposalExecuted): voi ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = extendArray(transaction.type, [ + transaction.type = pushUnique(transaction.type, [ getEnumBigInt(TransactionType.DAO_VALIDATORS_PROPOSAL_EXECUTED), ]); executed.transaction = transaction.id; diff --git a/AllInteractions/src/mappings/Insurance.ts b/AllInteractions/src/mappings/Insurance.ts index 552d5c4e..572e5408 100644 --- a/AllInteractions/src/mappings/Insurance.ts +++ b/AllInteractions/src/mappings/Insurance.ts @@ -1,9 +1,9 @@ import { BigInt } from "@graphprotocol/graph-ts"; +import { pushUnique } from "@dlsl/graph-modules"; import { Deposited, Paidout, Withdrawn } from "../../generated/Insurance/Insurance"; import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; import { getInsuranceStake } from "../entities/insurance/InsuranceStake"; import { getTransaction } from "../entities/transaction/Transaction"; -import { extendArray } from "../helpers/ArrayHelper"; export function onDeposit(event: Deposited): void { let transaction = getTransaction( @@ -14,7 +14,7 @@ export function onDeposit(event: Deposited): void { ); let stake = getInsuranceStake(event.transaction.hash, event.params.amount, transaction.interactionsCount); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.INSURANCE_STAKE)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.INSURANCE_STAKE)]); stake.transaction = transaction.id; transaction.save(); @@ -30,7 +30,7 @@ export function onWithdraw(event: Withdrawn): void { ); let stake = getInsuranceStake(event.transaction.hash, event.params.amount, transaction.interactionsCount); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.INSURANCE_UNSTAKE)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.INSURANCE_UNSTAKE)]); stake.transaction = transaction.id; transaction.save(); diff --git a/AllInteractions/src/mappings/PoolFactory.ts b/AllInteractions/src/mappings/PoolFactory.ts index fd6c8695..a3325d5a 100644 --- a/AllInteractions/src/mappings/PoolFactory.ts +++ b/AllInteractions/src/mappings/PoolFactory.ts @@ -1,4 +1,5 @@ import { BigInt } from "@graphprotocol/graph-ts"; +import { pushUnique } from "@dlsl/graph-modules"; import { DaoPoolDeployed, TraderPoolDeployed } from "../../generated/PoolFactory/PoolFactory"; import { DaoPool, DaoValidators, TraderPool, TraderPoolInvestProposal } from "../../generated/templates"; import { TraderPoolRiskyProposal } from "../../generated/templates"; @@ -9,7 +10,6 @@ import { getPoolCreate } from "../entities/trader-pool/PoolCreate"; import { getProposalContract } from "../entities/trader-pool/ProposalContract"; import { getTraderPool } from "../entities/trader-pool/TraderPool"; import { getTransaction } from "../entities/transaction/Transaction"; -import { extendArray } from "../helpers/ArrayHelper"; export function onTraderPoolDeployed(event: TraderPoolDeployed): void { getTraderPool(event.params.at, event.params.proposalContract, event.params.trader).save(); @@ -37,7 +37,7 @@ export function onTraderPoolDeployed(event: TraderPoolDeployed): void { ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.POOL_CREATE)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.POOL_CREATE)]); create.transaction = transaction.id; @@ -64,7 +64,7 @@ export function onDaoPoolDeployed(event: DaoPoolDeployed): void { ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_CREATED)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_CREATED)]); daoCreate.transaction = transaction.id; transaction.save(); diff --git a/AllInteractions/src/mappings/TraderPool.ts b/AllInteractions/src/mappings/TraderPool.ts index 05ca9bac..210f54de 100644 --- a/AllInteractions/src/mappings/TraderPool.ts +++ b/AllInteractions/src/mappings/TraderPool.ts @@ -1,4 +1,5 @@ import { Bytes, BigInt, Address } from "@graphprotocol/graph-ts"; +import { pushUnique } from "@dlsl/graph-modules"; import { Transaction } from "../../generated/schema"; import { CommissionClaimed, @@ -17,7 +18,6 @@ import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTy import { getOnlyPool } from "../entities/transaction/OnlyPool"; import { getProposalVest } from "../entities/trader-pool/risky-proposal/ProposalVest"; import { getGetPerformanceFee } from "../entities/transaction/GetPerformanceFee"; -import { extendArray } from "../helpers/ArrayHelper"; export function onExchange(event: Exchanged): void { let transaction = getTransaction( @@ -36,7 +36,7 @@ export function onExchange(event: Exchanged): void { transaction.interactionsCount ); - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.SWAP)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.SWAP)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); exchange.transaction = transaction.id; @@ -91,7 +91,7 @@ export function onDescriptionURLChanged(event: DescriptionURLChanged): void { let onlyPool = getOnlyPool(event.transaction.hash, event.address, transaction.interactionsCount); onlyPool.transaction = transaction.id; - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.POOL_EDIT)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.POOL_EDIT)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); transaction.save(); onlyPool.save(); @@ -114,7 +114,7 @@ export function onProposalDivest(event: ProposalDivested): void { transaction.interactionsCount ); proposalVest.transaction = transaction.id; - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_DIVEST)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_DIVEST)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); proposalVest.save(); transaction.save(); @@ -131,7 +131,7 @@ export function onModifiedPrivateInvestors(event: ModifiedPrivateInvestors): voi let onlyPool = getOnlyPool(event.transaction.hash, event.address, transaction.interactionsCount); onlyPool.transaction = transaction.id; - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.POOL_UPDATE_INVESTORS)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.POOL_UPDATE_INVESTORS)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); transaction.save(); onlyPool.save(); @@ -148,7 +148,7 @@ export function onModifiedAdmins(event: ModifiedAdmins): void { let onlyPool = getOnlyPool(event.transaction.hash, event.address, transaction.interactionsCount); onlyPool.transaction = transaction.id; - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.POOL_UPDATE_MANAGERS)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.POOL_UPDATE_MANAGERS)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); transaction.save(); onlyPool.save(); @@ -170,7 +170,7 @@ export function onCommissionClaimed(event: CommissionClaimed): void { ); perfomanceFee.transaction = transaction.id; - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.TRADER_GET_PERFOMANCE_FEE)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.TRADER_GET_PERFOMANCE_FEE)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); transaction.save(); perfomanceFee.save(); @@ -187,7 +187,7 @@ function setupVest( ): void { let vest = getVest(hash, baseAmount, lpAmount, pool, count); - transaction.type = extendArray(transaction.type, [type]); + transaction.type = pushUnique(transaction.type, [type]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); vest.transaction = transaction.id; diff --git a/AllInteractions/src/mappings/TraderPoolInvestProposal.ts b/AllInteractions/src/mappings/TraderPoolInvestProposal.ts index 5ac1b69e..7ac3bddb 100644 --- a/AllInteractions/src/mappings/TraderPoolInvestProposal.ts +++ b/AllInteractions/src/mappings/TraderPoolInvestProposal.ts @@ -1,4 +1,5 @@ import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { pushUnique, upcastCopy } from "@dlsl/graph-modules"; import { ProposalClaimed, ProposalConverted, @@ -18,7 +19,6 @@ import { getProposalContract } from "../entities/trader-pool/ProposalContract"; import { getProposalVest } from "../entities/trader-pool/risky-proposal/ProposalVest"; import { getTraderPool } from "../entities/trader-pool/TraderPool"; import { getTransaction } from "../entities/transaction/Transaction"; -import { extendArray, upcastCopy } from "../helpers/ArrayHelper"; export function onProposalCreated(event: ProposalCreated): void { let proposalContract = getProposalContract(event.address); @@ -36,7 +36,7 @@ export function onProposalCreated(event: ProposalCreated): void { ); proposalCreate.transaction = transaction.id; - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_CREATE)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_CREATE)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); proposalCreate.save(); @@ -60,7 +60,7 @@ export function onProposalWithdrawn(event: ProposalWithdrawn): void { ); withdraw.transaction = transaction.id; - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_WITHDRAW)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_WITHDRAW)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); withdraw.save(); @@ -87,7 +87,7 @@ export function onProposalSupplied(event: ProposalSupplied): void { ); supply.transaction = transaction.id; - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_SUPPLY)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_SUPPLY)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); supply.save(); @@ -113,7 +113,7 @@ export function onProposalClaimed(event: ProposalClaimed): void { ); supply.transaction = transaction.id; - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_CLAIM)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_CLAIM)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); supply.save(); @@ -136,7 +136,7 @@ export function onProposalRestrictionsChanged(event: ProposalRestrictionsChanged transaction.interactionsCount ); edit.transaction = transaction.id; - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_EDIT)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_EDIT)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); edit.save(); @@ -162,7 +162,7 @@ export function onProposalInvest(event: ProposalInvested): void { transaction.interactionsCount ); vest.transaction = transaction.id; - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_INVEST)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_INVEST)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); vest.save(); @@ -189,7 +189,7 @@ export function onProposalConverted(event: ProposalConverted): void { ); convertToDividends.transaction = transaction.id; - transaction.type = extendArray(transaction.type, [ + transaction.type = pushUnique(transaction.type, [ getEnumBigInt(TransactionType.INVEST_PROPOSAL_CONVERT_TO_DIVIDENDS), ]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); diff --git a/AllInteractions/src/mappings/TraderPoolRiskyProposal.ts b/AllInteractions/src/mappings/TraderPoolRiskyProposal.ts index c859bd77..675ad1b7 100644 --- a/AllInteractions/src/mappings/TraderPoolRiskyProposal.ts +++ b/AllInteractions/src/mappings/TraderPoolRiskyProposal.ts @@ -1,4 +1,5 @@ import { Address, BigInt } from "@graphprotocol/graph-ts"; +import { pushUnique } from "@dlsl/graph-modules"; import { ProposalCreated, ProposalExchanged, @@ -14,7 +15,6 @@ import { getRiskyProposalExchange } from "../entities/trader-pool/risky-proposal import { getProposalVest } from "../entities/trader-pool/risky-proposal/ProposalVest"; import { getTraderPool } from "../entities/trader-pool/TraderPool"; import { getTransaction } from "../entities/transaction/Transaction"; -import { extendArray } from "../helpers/ArrayHelper"; export function onProposalCreated(event: ProposalCreated): void { let proposalContract = getProposalContract(event.address); @@ -35,7 +35,7 @@ export function onProposalCreated(event: ProposalCreated): void { ); proposalCreate.transaction = transaction.id; - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_CREATE)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_CREATE)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); proposalCreate.save(); @@ -62,7 +62,7 @@ export function onProposalExchange(event: ProposalExchanged): void { ); exchange.transaction = transaction.id; - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_SWAP)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_SWAP)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); exchange.save(); @@ -87,7 +87,7 @@ export function onProposalInvest(event: ProposalInvested): void { transaction.interactionsCount ); vest.transaction = transaction.id; - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_INVEST)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_INVEST)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); vest.save(); @@ -113,7 +113,7 @@ export function onProposalDivest(event: ProposalDivested): void { ); vest.transaction = transaction.id; - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_DIVEST)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_DIVEST)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); vest.save(); @@ -137,7 +137,7 @@ export function onProposalRestrictionsChanged(event: ProposalRestrictionsChanged ); edit.transaction = transaction.id; - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_EDIT)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_EDIT)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); edit.save(); diff --git a/AllInteractions/src/mappings/UserRegistry.ts b/AllInteractions/src/mappings/UserRegistry.ts index 5fc4fa7b..ea98a45d 100644 --- a/AllInteractions/src/mappings/UserRegistry.ts +++ b/AllInteractions/src/mappings/UserRegistry.ts @@ -1,8 +1,8 @@ import { BigInt } from "@graphprotocol/graph-ts"; +import { pushUnique } from "@dlsl/graph-modules"; import { Agreed, UpdatedProfile } from "../../generated/UserRegistry/UserRegistry"; import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; import { getTransaction } from "../entities/transaction/Transaction"; -import { extendArray } from "../helpers/ArrayHelper"; export function onAgreed(event: Agreed): void { let transaction = getTransaction( @@ -12,7 +12,7 @@ export function onAgreed(event: Agreed): void { event.params.user ); - transaction.type = extendArray(transaction.type, [ + transaction.type = pushUnique(transaction.type, [ getEnumBigInt(TransactionType.USER_AGREED_TO_PRIVACY_POLICY), ]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); @@ -28,7 +28,7 @@ export function onUpdatedProfile(event: UpdatedProfile): void { event.params.user ); - transaction.type = extendArray(transaction.type, [getEnumBigInt(TransactionType.UPDATED_USER_CREDENTIALS)]); + transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.UPDATED_USER_CREDENTIALS)]); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); transaction.save(); diff --git a/AllPools/package-lock.json b/AllPools/package-lock.json index 0eb67168..22592cf1 100644 --- a/AllPools/package-lock.json +++ b/AllPools/package-lock.json @@ -7,6 +7,7 @@ "name": "dexe", "license": "UNLICENSED", "dependencies": { + "@dlsl/graph-modules": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "0.5.0" @@ -111,6 +112,22 @@ "node": ">=6.9.0" } }, + "node_modules/@dlsl/graph-modules": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "dependencies": { + "@graphprotocol/graph-ts": "0.29.3" + } + }, + "node_modules/@dlsl/graph-modules/node_modules/@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "dependencies": { + "assemblyscript": "0.19.10" + } + }, "node_modules/@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", @@ -5242,6 +5259,24 @@ "regenerator-runtime": "^0.13.4" } }, + "@dlsl/graph-modules": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "requires": { + "@graphprotocol/graph-ts": "0.29.3" + }, + "dependencies": { + "@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "requires": { + "assemblyscript": "0.19.10" + } + } + } + }, "@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", diff --git a/AllPools/package.json b/AllPools/package.json index c0e79521..65fa98a6 100644 --- a/AllPools/package.json +++ b/AllPools/package.json @@ -13,6 +13,7 @@ "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" }, "dependencies": { + "@dlsl/graph-modules": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "0.5.0" diff --git a/AllPools/src/entities/trader-pool/TraderPool.ts b/AllPools/src/entities/trader-pool/TraderPool.ts index aac1574c..5f6538e2 100644 --- a/AllPools/src/entities/trader-pool/TraderPool.ts +++ b/AllPools/src/entities/trader-pool/TraderPool.ts @@ -1,6 +1,6 @@ import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { pushUnique } from "@dlsl/graph-modules"; import { TraderPool } from "../../../generated/schema"; -import { extendArray } from "../../helpers/ArrayHelper"; export function getTraderPool( poolAddress: Address, @@ -42,7 +42,7 @@ export function getTraderPool( traderPool.priceHistoryCount = BigInt.zero(); - traderPool.admins = extendArray(new Array(), [trader]); + traderPool.admins = pushUnique(new Array(), [trader]); traderPool.trader = trader; traderPool.commission = commission; diff --git a/AllPools/src/entities/trader-pool/TraderPoolPriceHistory.ts b/AllPools/src/entities/trader-pool/TraderPoolPriceHistory.ts index 975a50d7..61bbf8d4 100644 --- a/AllPools/src/entities/trader-pool/TraderPoolPriceHistory.ts +++ b/AllPools/src/entities/trader-pool/TraderPoolPriceHistory.ts @@ -1,6 +1,6 @@ import { Address, BigInt } from "@graphprotocol/graph-ts"; import { TraderPool, TraderPoolPriceHistory } from "../../../generated/schema"; -import { findPrevHistory } from "../../helpers/HistorySearcher"; +import { findPrevHistory } from "@dlsl/graph-modules"; import { BLOCK_PER_YEAR, CHECK_PER_BLOCK, DECIMAL, PERCENTAGE_DENOMINATOR } from "../global/globals"; import { getTraderPool } from "./TraderPool"; import { PERCENTAGE_NUMERATOR } from "../global/globals"; @@ -82,7 +82,7 @@ export function getTraderPoolPriceHistory( pool.id, prevBlock, BigInt.fromI32(CHECK_PER_BLOCK), - pool.creationBlock + pool.creationBlock.toI32() ); if (lastYearHistory != null) { @@ -105,7 +105,7 @@ export function getPrevPriceHistory(currentPH: TraderPoolPriceHistory): TraderPo currentPH.pool, currentPH.block, BigInt.fromI32(CHECK_PER_BLOCK), - pool.creationBlock + pool.creationBlock.toI32() ); return prevHistory; diff --git a/AllPools/src/helpers/ArrayHelper.ts b/AllPools/src/helpers/ArrayHelper.ts deleted file mode 100644 index d86a3c98..00000000 --- a/AllPools/src/helpers/ArrayHelper.ts +++ /dev/null @@ -1,33 +0,0 @@ -export function extendArray(array: Array, elements: Array): Array { - for (let i = 0; i < elements.length; i++) { - if (!array.includes(elements[i])) { - array.push(elements[i]); - } - } - return array; -} - -export function reduceArray(array: Array, elements: Array): Array { - for (let i = 0; i < elements.length; i++) { - if (array.includes(elements[i])) { - let index = array.indexOf(elements[i]); - - let tmp = array[array.length - 1]; - array[array.length - 1] = array[index]; - array[index] = tmp; - - array.pop(); - } - } - return array; -} - -export function upcastCopy(array: Array): Array { - let newArr = new Array(); - - for (let i = 0; i < array.length; i++) { - newArr.push(array[i]); - } - - return newArr; -} diff --git a/AllPools/src/helpers/HistorySearcher.ts b/AllPools/src/helpers/HistorySearcher.ts deleted file mode 100644 index 28f96633..00000000 --- a/AllPools/src/helpers/HistorySearcher.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; -import { MAX_SEARCH_DEPTH } from "../entities/global/globals"; - -export function findPrevHistory( - loadFunction: (id: string) => T | null, - idBase: string, - idSuffix: BigInt, - decrement: BigInt, - minimum: BigInt = BigInt.zero() -): T | null { - let newSuffix = idSuffix.minus(decrement); - let history = loadFunction(idBase + newSuffix.toString()); - - while ( - history == null && - newSuffix.gt(minimum) && - idSuffix.minus(newSuffix).div(decrement).le(BigInt.fromI32(MAX_SEARCH_DEPTH)) - ) { - newSuffix = newSuffix.minus(decrement); - history = loadFunction(idBase + newSuffix.toString()); - } - - return history; -} diff --git a/AllPools/src/mappings/TraderPool.ts b/AllPools/src/mappings/TraderPool.ts index 7787aba5..3da1e658 100644 --- a/AllPools/src/mappings/TraderPool.ts +++ b/AllPools/src/mappings/TraderPool.ts @@ -13,6 +13,7 @@ import { getTraderPool } from "../entities/trader-pool/TraderPool"; import { getPositionOffset } from "../entities/global/PositionOffset"; import { getPosition } from "../entities/trader-pool/Position"; import { Address, BigInt, Bytes, log } from "@graphprotocol/graph-ts"; +import { pushUnique, remove, upcastCopy, findPrevHistory } from "@dlsl/graph-modules"; import { getPositionId } from "../helpers/Position"; import { DAY, @@ -22,14 +23,13 @@ import { PRICE_FEED_ADDRESS, PERCENTAGE_DENOMINATOR, PERCENTAGE_NUMERATOR, + MAX_SEARCH_DEPTH, } from "../entities/global/globals"; import { PriceFeed } from "../../generated/templates/TraderPool/PriceFeed"; import { Exchange, FeeHistory, Position, TraderPool, TraderPoolPriceHistory } from "../../generated/schema"; -import { upcastCopy, extendArray, reduceArray } from "../helpers/ArrayHelper"; import { getInvestor } from "../entities/trader-pool/Investor"; import { getExchange } from "../entities/trader-pool/Exchange"; import { getExchangeHistory } from "../entities/trader-pool/history/ExchangeHistory"; -import { findPrevHistory } from "../helpers/HistorySearcher"; import { getFeeHistory } from "../entities/trader-pool/history/FeeHistory"; import { roundCheckUp } from "../entities/trader-pool/TraderPoolPriceHistory"; import { getTokenValue, getUSDValue } from "../helpers/PriceFeedInteractions"; @@ -129,11 +129,11 @@ export function onJoined(event: Joined): void { let pool = getTraderPool(event.address); let investor = getInvestor(event.params.user); - pool.investors = extendArray(pool.investors, [investor.id]); + pool.investors = pushUnique(pool.investors, [investor.id]); pool.investorsCount = pool.investorsCount.plus(BigInt.fromI32(1)); - investor.activePools = extendArray(investor.activePools, [pool.id]); - investor.allPools = extendArray(investor.allPools, [pool.id]); + investor.activePools = pushUnique(investor.activePools, [pool.id]); + investor.allPools = pushUnique(investor.allPools, [pool.id]); investor.save(); pool.save(); @@ -143,10 +143,10 @@ export function onLeft(event: Left): void { let pool = getTraderPool(event.address); let investor = getInvestor(event.params.user); - pool.investors = reduceArray(pool.investors, [investor.id]); + pool.investors = remove(pool.investors, [investor.id]); pool.investorsCount = pool.investorsCount.minus(BigInt.fromI32(1)); - investor.activePools = reduceArray(investor.activePools, [pool.id]); + investor.activePools = remove(investor.activePools, [pool.id]); investor.save(); pool.save(); @@ -164,12 +164,12 @@ export function onModifiedAdmins(event: ModifiedAdmins): void { let admins = upcastCopy(event.params.admins); if (event.params.add) { - pool.admins = extendArray(pool.admins, admins); + pool.admins = pushUnique(pool.admins, admins); } else { - pool.admins = reduceArray(pool.admins, admins); + pool.admins = remove(pool.admins, admins); } - pool.admins = extendArray(pool.admins, [pool.trader]); + pool.admins = pushUnique(pool.admins, [pool.trader]); pool.save(); } @@ -177,9 +177,9 @@ export function onModifiedPrivateInvestors(event: ModifiedPrivateInvestors): voi let pool = getTraderPool(event.address); let upcastedArray = upcastCopy(event.params.privateInvestors); if (event.params.add) { - pool.privateInvestors = extendArray(pool.privateInvestors, upcastedArray); + pool.privateInvestors = pushUnique(pool.privateInvestors, upcastedArray); } else { - pool.privateInvestors = reduceArray(pool.privateInvestors, upcastedArray); + pool.privateInvestors = remove(pool.privateInvestors, upcastedArray); } pool.save(); } @@ -191,7 +191,8 @@ export function onTraderCommissionMinted(event: CommissionClaimed): void { TraderPoolPriceHistory.load, pool.id, roundCheckUp(event.block.number), - BigInt.fromI32(100) + BigInt.fromI32(MAX_SEARCH_DEPTH), + 100 ); let currentPNL = priceHistory == null ? BigInt.zero() : priceHistory.percPNLUSD; let currentLpCost = priceHistory == null ? BigInt.fromI32(1) : priceHistory.usdTVL.div(priceHistory.supply); @@ -202,7 +203,8 @@ export function onTraderCommissionMinted(event: CommissionClaimed): void { FeeHistory.load, event.address.toHexString(), history.day, - BigInt.fromI32(1) + BigInt.fromI32(MAX_SEARCH_DEPTH), + 1 ); history.prevHistory = prevHistory == null ? "" : prevHistory.id; history.PNL = currentPNL; @@ -351,7 +353,8 @@ function recalculateOrderSize(baseVolume: BigInt, pool: TraderPool, block: BigIn TraderPoolPriceHistory.load, pool.id, block, - BigInt.fromI32(100) + BigInt.fromI32(MAX_SEARCH_DEPTH), + 100 ); let currentPercentage: BigInt; if (lastHistory == null || lastHistory.baseTVL.equals(BigInt.zero())) { diff --git a/AllPoolsInvestors/package-lock.json b/AllPoolsInvestors/package-lock.json index 8265f32c..f51405f3 100644 --- a/AllPoolsInvestors/package-lock.json +++ b/AllPoolsInvestors/package-lock.json @@ -7,6 +7,7 @@ "name": "dexe", "license": "UNLICENSED", "dependencies": { + "@dlsl/graph-modules": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "^0.5.0" @@ -111,6 +112,22 @@ "node": ">=6.9.0" } }, + "node_modules/@dlsl/graph-modules": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "dependencies": { + "@graphprotocol/graph-ts": "0.29.3" + } + }, + "node_modules/@dlsl/graph-modules/node_modules/@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "dependencies": { + "assemblyscript": "0.19.10" + } + }, "node_modules/@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", @@ -5245,6 +5262,24 @@ "regenerator-runtime": "^0.13.4" } }, + "@dlsl/graph-modules": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "requires": { + "@graphprotocol/graph-ts": "0.29.3" + }, + "dependencies": { + "@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "requires": { + "assemblyscript": "0.19.10" + } + } + } + }, "@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", @@ -6658,6 +6693,7 @@ }, "gluegun": { "version": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", + "integrity": "sha512-BPKWUsKoAC+NeFXSNySObftw6lgKipegbbUuaKy6cPXm8z8bkHO3kbn6OVXwoJMkbCJubaFZJj9SGsevNfnJrg==", "from": "gluegun@git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", "requires": { "apisauce": "^1.0.1", @@ -6947,6 +6983,7 @@ }, "concat-stream": { "version": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", + "integrity": "sha512-GBrsRGcg6w3ac6B49frS/FGwdeuWMognaZIGxLfZ93vP2z3bIhaI/Bgn3rrS49lI7lrFznULlNUjWYP4soqgvw==", "from": "concat-stream@github:hugomrdias/concat-stream#feat/smaller", "requires": { "inherits": "^2.0.3", @@ -8153,6 +8190,7 @@ }, "ndjson": { "version": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", + "integrity": "sha512-4HWirDBroNYRKoq+8A7y0uvXlO0dF4p7URRRdqvPSgGjQFVpxpE4uasORXNxeRBMHQnXbTnUBVLXXagwKFH6AQ==", "from": "ndjson@github:hugomrdias/ndjson#feat/readable-stream3", "requires": { "json-stringify-safe": "^5.0.1", diff --git a/AllPoolsInvestors/package.json b/AllPoolsInvestors/package.json index b083530d..409a8374 100644 --- a/AllPoolsInvestors/package.json +++ b/AllPoolsInvestors/package.json @@ -13,6 +13,7 @@ "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" }, "dependencies": { + "@dlsl/graph-modules": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "^0.5.0" diff --git a/AllPoolsInvestors/src/entities/trader-pool/history/InvestorAmountHistory.ts b/AllPoolsInvestors/src/entities/trader-pool/history/InvestorAmountHistory.ts index 47f9a74d..73e75306 100644 --- a/AllPoolsInvestors/src/entities/trader-pool/history/InvestorAmountHistory.ts +++ b/AllPoolsInvestors/src/entities/trader-pool/history/InvestorAmountHistory.ts @@ -1,7 +1,7 @@ import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { DAY } from "../../global/globals"; +import { DAY, MAX_SEARCH_DEPTH } from "../../global/globals"; import { Investor, InvestorAmountHistory } from "../../../../generated/schema"; -import { findPrevHistory } from "../../../helpers/HistorySearcher"; +import { findPrevHistory } from "@dlsl/graph-modules"; export function getInvestorAmountHistory(investor: Investor, timestamp: BigInt): InvestorAmountHistory { let day = timestamp.div(BigInt.fromI32(DAY)); @@ -32,7 +32,8 @@ export function injectPrevInvestorAmountHistory(history: InvestorAmountHistory, InvestorAmountHistory.load, investor.id.toHexString(), history.day, - BigInt.fromI32(1) + BigInt.fromI32(MAX_SEARCH_DEPTH), + 1 ); if (prevHistory != null) { history.prevHistory = prevHistory.id; diff --git a/AllPoolsInvestors/src/entities/trader-pool/history/LpHistory.ts b/AllPoolsInvestors/src/entities/trader-pool/history/LpHistory.ts index e7665e4b..c6ebfb5c 100644 --- a/AllPoolsInvestors/src/entities/trader-pool/history/LpHistory.ts +++ b/AllPoolsInvestors/src/entities/trader-pool/history/LpHistory.ts @@ -1,7 +1,7 @@ import { BigInt, Bytes } from "@graphprotocol/graph-ts"; import { InvestorPoolPosition, LpHistory } from "../../../../generated/schema"; -import { DAY } from "../../global/globals"; -import { findPrevHistory } from "../../../helpers/HistorySearcher"; +import { DAY, MAX_SEARCH_DEPTH } from "../../global/globals"; +import { findPrevHistory } from "@dlsl/graph-modules"; export function getLpHistory(investorPoolPosition: InvestorPoolPosition, timestamp: BigInt): LpHistory { let day = timestamp.div(BigInt.fromI32(DAY)); @@ -26,7 +26,8 @@ export function injectPrevLPHistory(history: LpHistory, investorPoolPosition: In LpHistory.load, investorPoolPosition.id, history.day, - BigInt.fromI32(1) + BigInt.fromI32(MAX_SEARCH_DEPTH), + 1 ); if (prevHistory != null) { history.prevHistory = prevHistory.id; diff --git a/AllPoolsInvestors/src/helpers/ArrayHelper.ts b/AllPoolsInvestors/src/helpers/ArrayHelper.ts deleted file mode 100644 index d86a3c98..00000000 --- a/AllPoolsInvestors/src/helpers/ArrayHelper.ts +++ /dev/null @@ -1,33 +0,0 @@ -export function extendArray(array: Array, elements: Array): Array { - for (let i = 0; i < elements.length; i++) { - if (!array.includes(elements[i])) { - array.push(elements[i]); - } - } - return array; -} - -export function reduceArray(array: Array, elements: Array): Array { - for (let i = 0; i < elements.length; i++) { - if (array.includes(elements[i])) { - let index = array.indexOf(elements[i]); - - let tmp = array[array.length - 1]; - array[array.length - 1] = array[index]; - array[index] = tmp; - - array.pop(); - } - } - return array; -} - -export function upcastCopy(array: Array): Array { - let newArr = new Array(); - - for (let i = 0; i < array.length; i++) { - newArr.push(array[i]); - } - - return newArr; -} diff --git a/AllPoolsInvestors/src/helpers/HistorySearcher.ts b/AllPoolsInvestors/src/helpers/HistorySearcher.ts deleted file mode 100644 index 2acd533e..00000000 --- a/AllPoolsInvestors/src/helpers/HistorySearcher.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; -import { MAX_SEARCH_DEPTH } from "../entities/global/globals"; - -export function findPrevHistory( - loadFunction: (id: string) => T | null, - idBase: string, - idSuffix: BigInt, - decrement: BigInt -): T | null { - let newSuffix = idSuffix.minus(decrement); - let history = loadFunction(idBase + newSuffix.toString()); - - while ( - history == null && - newSuffix.gt(BigInt.zero()) && - idSuffix.minus(newSuffix).div(decrement).le(BigInt.fromI32(MAX_SEARCH_DEPTH)) - ) { - newSuffix = newSuffix.minus(decrement); - history = loadFunction(idBase + newSuffix.toString()); - } - - return history; -} diff --git a/AllPoolsInvestors/src/mappings/Insurance.ts b/AllPoolsInvestors/src/mappings/Insurance.ts index 9d5432fe..7ba7a8e1 100644 --- a/AllPoolsInvestors/src/mappings/Insurance.ts +++ b/AllPoolsInvestors/src/mappings/Insurance.ts @@ -3,7 +3,8 @@ import { Deposited, Paidout, Withdrawn } from "../../generated/Insurance/Insuran import { InsuranceHistory, Investor } from "../../generated/schema"; import { getInsuranceHistory } from "../entities/trader-pool/history/InsuranceHistory"; import { getInvestor } from "../entities/trader-pool/Investor"; -import { findPrevHistory } from "../helpers/HistorySearcher"; +import { findPrevHistory } from "@dlsl/graph-modules"; +import { MAX_SEARCH_DEPTH } from "../entities/global/globals"; export function onDeposit(event: Deposited): void { let investor = getInvestor(event.params.investor); @@ -47,7 +48,8 @@ function injectPrevHistory(history: InsuranceHistory, investor: Investor): void InsuranceHistory.load, investor.id.toHexString(), history.day, - BigInt.fromI32(1) + BigInt.fromI32(MAX_SEARCH_DEPTH), + 1 ); if (prevHistory != null) { history.prevHistory = prevHistory.id; diff --git a/AllPoolsInvestors/src/mappings/TraderPool.ts b/AllPoolsInvestors/src/mappings/TraderPool.ts index 737ba40d..1e1a5a45 100644 --- a/AllPoolsInvestors/src/mappings/TraderPool.ts +++ b/AllPoolsInvestors/src/mappings/TraderPool.ts @@ -8,7 +8,7 @@ import { } from "../../generated/templates/TraderPool/TraderPool"; import { getTraderPool } from "../entities/trader-pool/TraderPool"; import { Address, BigInt, Bytes, ethereum, log } from "@graphprotocol/graph-ts"; -import { extendArray, reduceArray, upcastCopy } from "../helpers/ArrayHelper"; +import { pushUnique, remove, upcastCopy } from "@dlsl/graph-modules"; import { getInvestor } from "../entities/trader-pool/Investor"; import { getTraderPoolHistory } from "../entities/trader-pool/history/TraderPoolHistory"; import { getInvestorPoolPosition } from "../entities/trader-pool/InvestorPoolPosition"; @@ -31,14 +31,14 @@ export function onJoined(event: Joined): void { let history = getTraderPoolHistory(pool, event.block.timestamp); let investor = getInvestor(event.params.user); - pool.investors = extendArray(pool.investors, [investor.id]); + pool.investors = pushUnique(pool.investors, [investor.id]); pool.investorsCount = pool.investorsCount.plus(BigInt.fromI32(1)); - history.investors = extendArray(history.investors, [investor.id]); + history.investors = pushUnique(history.investors, [investor.id]); history.investorsCount = history.investorsCount.plus(BigInt.fromI32(1)); - investor.activePools = extendArray(investor.activePools, [pool.id]); - investor.allPools = extendArray(investor.allPools, [pool.id]); + investor.activePools = pushUnique(investor.activePools, [pool.id]); + investor.allPools = pushUnique(investor.allPools, [pool.id]); let positionOffset = getPositionOffset(pool, investor); let investorPoolPosition = getInvestorPoolPosition(investor, pool, positionOffset); @@ -55,13 +55,13 @@ export function onLeft(event: Left): void { let history = getTraderPoolHistory(pool, event.block.timestamp); let investor = getInvestor(event.params.user); - pool.investors = reduceArray(pool.investors, [investor.id]); + pool.investors = remove(pool.investors, [investor.id]); pool.investorsCount = pool.investorsCount.minus(BigInt.fromI32(1)); - history.investors = reduceArray(history.investors, [investor.id]); + history.investors = remove(history.investors, [investor.id]); history.investorsCount = history.investorsCount.minus(BigInt.fromI32(1)); - investor.activePools = reduceArray(investor.activePools, [pool.id]); + investor.activePools = remove(investor.activePools, [pool.id]); let positionOffset = getPositionOffset(pool, investor); let investorPoolPosition = getInvestorPoolPosition(investor, pool, positionOffset); @@ -84,18 +84,18 @@ export function onModifiedPrivateInvestors(event: ModifiedPrivateInvestors): voi let upcastedArray = upcastCopy(event.params.privateInvestors); if (event.params.add) { - pool.privateInvestors = extendArray(pool.privateInvestors, upcastedArray); + pool.privateInvestors = pushUnique(pool.privateInvestors, upcastedArray); pool.privateInvestorsCount = pool.privateInvestorsCount.plus(BigInt.fromI32(event.params.privateInvestors.length)); - history.privateInvestors = extendArray(history.privateInvestors, upcastedArray); + history.privateInvestors = pushUnique(history.privateInvestors, upcastedArray); history.privateInvestorsCount = history.privateInvestorsCount.plus( BigInt.fromI32(event.params.privateInvestors.length) ); } else { - pool.privateInvestors = reduceArray(pool.privateInvestors, upcastedArray); + pool.privateInvestors = remove(pool.privateInvestors, upcastedArray); pool.privateInvestorsCount = pool.privateInvestorsCount.minus(BigInt.fromI32(event.params.privateInvestors.length)); - history.privateInvestors = reduceArray(history.privateInvestors, upcastedArray); + history.privateInvestors = remove(history.privateInvestors, upcastedArray); history.privateInvestorsCount = history.privateInvestorsCount.minus( BigInt.fromI32(event.params.privateInvestors.length) ); diff --git a/AllPoolsInvestors/src/mappings/TraderPoolProposal.ts b/AllPoolsInvestors/src/mappings/TraderPoolProposal.ts index 4e98820e..149b13a8 100644 --- a/AllPoolsInvestors/src/mappings/TraderPoolProposal.ts +++ b/AllPoolsInvestors/src/mappings/TraderPoolProposal.ts @@ -10,11 +10,11 @@ import { getProposalVest } from "../entities/trader-pool/proposal/ProposalVest"; import { getProposalContract } from "../entities/trader-pool/proposal/ProposalContract"; import { getTraderPool } from "../entities/trader-pool/TraderPool"; import { Address, Bytes, BigInt, log } from "@graphprotocol/graph-ts"; +import { upcastCopy } from "@dlsl/graph-modules"; import { PriceFeed } from "../../generated/templates/TraderPool/PriceFeed"; import { PRICE_FEED_ADDRESS } from "../entities/global/globals"; import { getInvestor } from "../entities/trader-pool/Investor"; import { getProposalPositionOffset } from "../entities/global/ProposalPositionOffset"; -import { upcastCopy } from "../helpers/ArrayHelper"; import { getProposalClaim } from "../entities/trader-pool/proposal/ProposalClaim"; import { getUSDValue } from "../helpers/PriceFeedInteractions"; diff --git a/DaoPools/package-lock.json b/DaoPools/package-lock.json index 80c59e98..5a2ab78d 100644 --- a/DaoPools/package-lock.json +++ b/DaoPools/package-lock.json @@ -7,6 +7,7 @@ "name": "dexe", "license": "UNLICENSED", "dependencies": { + "@dlsl/graph-modules": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "0.5.0" @@ -111,6 +112,22 @@ "node": ">=6.9.0" } }, + "node_modules/@dlsl/graph-modules": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "dependencies": { + "@graphprotocol/graph-ts": "0.29.3" + } + }, + "node_modules/@dlsl/graph-modules/node_modules/@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "dependencies": { + "assemblyscript": "0.19.10" + } + }, "node_modules/@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", @@ -5272,6 +5289,24 @@ "regenerator-runtime": "^0.13.4" } }, + "@dlsl/graph-modules": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "requires": { + "@graphprotocol/graph-ts": "0.29.3" + }, + "dependencies": { + "@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "requires": { + "assemblyscript": "0.19.10" + } + } + } + }, "@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", diff --git a/DaoPools/package.json b/DaoPools/package.json index c0e79521..65fa98a6 100644 --- a/DaoPools/package.json +++ b/DaoPools/package.json @@ -13,6 +13,7 @@ "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" }, "dependencies": { + "@dlsl/graph-modules": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "0.5.0" diff --git a/DaoPools/src/helpers/ArrayHelper.ts b/DaoPools/src/helpers/ArrayHelper.ts deleted file mode 100644 index d86a3c98..00000000 --- a/DaoPools/src/helpers/ArrayHelper.ts +++ /dev/null @@ -1,33 +0,0 @@ -export function extendArray(array: Array, elements: Array): Array { - for (let i = 0; i < elements.length; i++) { - if (!array.includes(elements[i])) { - array.push(elements[i]); - } - } - return array; -} - -export function reduceArray(array: Array, elements: Array): Array { - for (let i = 0; i < elements.length; i++) { - if (array.includes(elements[i])) { - let index = array.indexOf(elements[i]); - - let tmp = array[array.length - 1]; - array[array.length - 1] = array[index]; - array[index] = tmp; - - array.pop(); - } - } - return array; -} - -export function upcastCopy(array: Array): Array { - let newArr = new Array(); - - for (let i = 0; i < array.length; i++) { - newArr.push(array[i]); - } - - return newArr; -} diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index 72e9f4d5..4031ce6b 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -1,4 +1,5 @@ import { Address, BigInt, Bytes, log } from "@graphprotocol/graph-ts"; +import { pushUnique, remove } from "@dlsl/graph-modules"; import { Delegated, Deposited, @@ -32,7 +33,6 @@ import { YEAR, } from "../entities/global/globals"; import { Proposal, VoterInPool, VoterInProposal } from "../../generated/schema"; -import { extendArray, reduceArray } from "../helpers/ArrayHelper"; import { getProposalSettings } from "../entities/Settings/ProposalSettings"; import { getVoterInPoolPair } from "../entities/Voters/VoterInPoolPair"; import { getUSDValue } from "../helpers/PriceFeedInteractions"; @@ -88,7 +88,7 @@ export function onDelegated(event: Delegated): void { if (event.params.isDelegate) { toVoterInPool.receivedDelegation = toVoterInPool.receivedDelegation.plus(event.params.amount); - toVoterInPool.receivedNFTDelegation = extendArray(toVoterInPool.receivedNFTDelegation, event.params.nfts); + toVoterInPool.receivedNFTDelegation = pushUnique(toVoterInPool.receivedNFTDelegation, event.params.nfts); toVoterInPool.receivedNFTDelegationCount = BigInt.fromI32(toVoterInPool.receivedNFTDelegation.length); if (pair.delegateAmount.equals(BigInt.zero()) && pair.delegateNfts.length == 0) { @@ -96,24 +96,24 @@ export function onDelegated(event: Delegated): void { } pair.delegateAmount = pair.delegateAmount.plus(event.params.amount); - pair.delegateNfts = extendArray(pair.delegateNfts, event.params.nfts); + pair.delegateNfts = pushUnique(pair.delegateNfts, event.params.nfts); pool.totalCurrentTokenDelegated = pool.totalCurrentTokenDelegated.plus(event.params.amount); - pool.totalCurrentNFTDelegated = extendArray(pool.totalCurrentNFTDelegated, event.params.nfts); + pool.totalCurrentNFTDelegated = pushUnique(pool.totalCurrentNFTDelegated, event.params.nfts); } else { toVoterInPool.receivedDelegation = toVoterInPool.receivedDelegation.minus(event.params.amount); - toVoterInPool.receivedNFTDelegation = reduceArray(toVoterInPool.receivedNFTDelegation, event.params.nfts); + toVoterInPool.receivedNFTDelegation = remove(toVoterInPool.receivedNFTDelegation, event.params.nfts); toVoterInPool.receivedNFTDelegationCount = BigInt.fromI32(toVoterInPool.receivedNFTDelegation.length); pair.delegateAmount = pair.delegateAmount.minus(event.params.amount); - pair.delegateNfts = reduceArray(pair.delegateNfts, event.params.nfts); + pair.delegateNfts = remove(pair.delegateNfts, event.params.nfts); if (pair.delegateAmount.equals(BigInt.zero()) && pair.delegateNfts.length == 0) { toVoterInPool.currentDelegatorsCount = toVoterInPool.currentDelegatorsCount.minus(BigInt.fromI32(1)); } pool.totalCurrentTokenDelegated = pool.totalCurrentTokenDelegated.minus(event.params.amount); - pool.totalCurrentNFTDelegated = reduceArray(pool.totalCurrentNFTDelegated, event.params.nfts); + pool.totalCurrentNFTDelegated = remove(pool.totalCurrentNFTDelegated, event.params.nfts); } if (event.params.amount.gt(BigInt.zero())) { @@ -176,7 +176,7 @@ export function onVoted(event: Voted): void { .plus(event.params.delegatedVote); } - let newVoters = extendArray(proposal.voters, [voter.id]); + let newVoters = pushUnique(proposal.voters, [voter.id]); if (proposal.voters.length < newVoters.length) { proposal.voters = newVoters; diff --git a/DaoPools/src/mappings/DistributionProposal.ts b/DaoPools/src/mappings/DistributionProposal.ts index 54f333ec..c1f7a38b 100644 --- a/DaoPools/src/mappings/DistributionProposal.ts +++ b/DaoPools/src/mappings/DistributionProposal.ts @@ -1,4 +1,5 @@ import { Address, BigInt, log } from "@graphprotocol/graph-ts"; +import { pushUnique } from "@dlsl/graph-modules"; import { PriceFeed } from "../../generated/templates/DistributionProposal/PriceFeed"; import { DistributionProposalClaimed } from "../../generated/templates/DistributionProposal/DistributionProposal"; import { getDaoPool } from "../entities/DaoPool"; @@ -6,7 +7,6 @@ import { getDPContract } from "../entities/DPContract"; import { getProposal } from "../entities/Proposal"; import { getVoter } from "../entities/Voters/Voter"; import { getVoterInPool } from "../entities/Voters/VoterInPool"; -import { extendArray } from "../helpers/ArrayHelper"; import { BNB_ADDRESS, PRICE_FEED_ADDRESS, WBNB_ADDRESS } from "../entities/global/globals"; import { getDistributionProposal } from "../entities/DistributionProposal"; import { getVoterInProposal } from "../entities/Voters/VoterInProposal"; @@ -28,7 +28,7 @@ export function onDistributionProposalClaimed(event: DistributionProposalClaimed event.params.amount ); - voterInPool.claimedDPs = extendArray(voterInPool.claimedDPs, [proposal.id]); + voterInPool.claimedDPs = pushUnique(voterInPool.claimedDPs, [proposal.id]); voterInPool.totalDPClaimed = voterInPool.totalDPClaimed.plus(usdAmount); voterInProposal.claimedDpRewardUSD = usdAmount; diff --git a/DaoPools/src/mappings/TokenSale.ts b/DaoPools/src/mappings/TokenSale.ts index 0587e146..63b10c87 100644 --- a/DaoPools/src/mappings/TokenSale.ts +++ b/DaoPools/src/mappings/TokenSale.ts @@ -1,11 +1,11 @@ import { Address, BigDecimal, BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { pushUnique } from "@dlsl/graph-modules"; import { Bought, TierCreated, Whitelisted } from "../../generated/templates/TokenSale/TokenSaleProposal"; import { getDaoPool } from "../entities/DaoPool"; import { getTokenSale } from "../entities/TokenSale"; import { getTokenSaleTier } from "../entities/TokenSaleTier"; import { getVoter } from "../entities/Voters/Voter"; import { getVoterInPool } from "../entities/Voters/VoterInPool"; -import { extendArray } from "../helpers/ArrayHelper"; export function onTierCreated(event: TierCreated): void { let tokenSale = getTokenSale(event.address); @@ -20,7 +20,7 @@ export function onBought(event: Bought): void { let tier = getTokenSaleTier(tokenSale, event.params.tierId); let pool = getDaoPool(Address.fromBytes(tokenSale.pool)); - tier.voters = extendArray(tier.voters, [ + tier.voters = pushUnique(tier.voters, [ getVoterInPool(pool, getVoter(event.params.buyer), event.block.timestamp).id, ]); @@ -37,7 +37,7 @@ export function onWhitelisted(event: Whitelisted): void { let tokenSale = getTokenSale(event.address); let tier = getTokenSaleTier(tokenSale, event.params.tierId); - tier.userWhitelist = extendArray(tier.userWhitelist, [event.params.user]); + tier.userWhitelist = pushUnique(tier.userWhitelist, [event.params.user]); tier.save(); tokenSale.save(); diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index 567545bd..a9dc98ec 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -869,10 +869,12 @@ describe("DaoPool", () => { ); proposalId = BigInt.fromI32(2); - event = createProposalExecuted(proposalId, sender, contractSender, block, tx); + isFor = false; + event = createProposalExecuted(proposalId, isFor, sender, contractSender, block, tx); onProposalExecuted(event); + assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "isFor", "false"); assert.fieldEquals( "Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), diff --git a/InvestPool/package-lock.json b/InvestPool/package-lock.json index 8265f32c..f51405f3 100644 --- a/InvestPool/package-lock.json +++ b/InvestPool/package-lock.json @@ -7,6 +7,7 @@ "name": "dexe", "license": "UNLICENSED", "dependencies": { + "@dlsl/graph-modules": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "^0.5.0" @@ -111,6 +112,22 @@ "node": ">=6.9.0" } }, + "node_modules/@dlsl/graph-modules": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "dependencies": { + "@graphprotocol/graph-ts": "0.29.3" + } + }, + "node_modules/@dlsl/graph-modules/node_modules/@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "dependencies": { + "assemblyscript": "0.19.10" + } + }, "node_modules/@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", @@ -5245,6 +5262,24 @@ "regenerator-runtime": "^0.13.4" } }, + "@dlsl/graph-modules": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "requires": { + "@graphprotocol/graph-ts": "0.29.3" + }, + "dependencies": { + "@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "requires": { + "assemblyscript": "0.19.10" + } + } + } + }, "@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", @@ -6658,6 +6693,7 @@ }, "gluegun": { "version": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", + "integrity": "sha512-BPKWUsKoAC+NeFXSNySObftw6lgKipegbbUuaKy6cPXm8z8bkHO3kbn6OVXwoJMkbCJubaFZJj9SGsevNfnJrg==", "from": "gluegun@git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", "requires": { "apisauce": "^1.0.1", @@ -6947,6 +6983,7 @@ }, "concat-stream": { "version": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", + "integrity": "sha512-GBrsRGcg6w3ac6B49frS/FGwdeuWMognaZIGxLfZ93vP2z3bIhaI/Bgn3rrS49lI7lrFznULlNUjWYP4soqgvw==", "from": "concat-stream@github:hugomrdias/concat-stream#feat/smaller", "requires": { "inherits": "^2.0.3", @@ -8153,6 +8190,7 @@ }, "ndjson": { "version": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", + "integrity": "sha512-4HWirDBroNYRKoq+8A7y0uvXlO0dF4p7URRRdqvPSgGjQFVpxpE4uasORXNxeRBMHQnXbTnUBVLXXagwKFH6AQ==", "from": "ndjson@github:hugomrdias/ndjson#feat/readable-stream3", "requires": { "json-stringify-safe": "^5.0.1", diff --git a/InvestPool/package.json b/InvestPool/package.json index b083530d..409a8374 100644 --- a/InvestPool/package.json +++ b/InvestPool/package.json @@ -13,6 +13,7 @@ "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" }, "dependencies": { + "@dlsl/graph-modules": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "^0.5.0" diff --git a/InvestPool/src/helpers/ArrayHelper.ts b/InvestPool/src/helpers/ArrayHelper.ts index b602ba53..b909331d 100644 --- a/InvestPool/src/helpers/ArrayHelper.ts +++ b/InvestPool/src/helpers/ArrayHelper.ts @@ -1,21 +1,3 @@ -export function extendArray(array: Array, elements: Array): Array { - for (let i = 0; i < elements.length; i++) { - array.push(elements[i]); - } - return array; -} - -export function reduceArray(array: Array, elements: Array): Array { - for (let i = 0; i < elements.length; i++) { - if (array.includes(elements[i])) { - let index = array.indexOf(elements[i]); - - array = deleteByIndex(array, index); - } - } - return array; -} - export function deleteByIndex(array: Array, index: i32): Array { let tmp = array[array.length - 1]; array[array.length - 1] = array[index]; @@ -25,13 +7,3 @@ export function deleteByIndex(array: Array, index: i32): Array { return array; } - -export function upcastCopy(array: Array): Array { - let newArr = new Array(); - - for (let i = 0; i < array.length; i++) { - newArr.push(array[i]); - } - - return newArr; -} diff --git a/InvestPool/src/mappings/TraderPoolInvestProposal.ts b/InvestPool/src/mappings/TraderPoolInvestProposal.ts index ea55cd11..26d52752 100644 --- a/InvestPool/src/mappings/TraderPoolInvestProposal.ts +++ b/InvestPool/src/mappings/TraderPoolInvestProposal.ts @@ -1,4 +1,5 @@ import { Address, BigInt, Bytes, log } from "@graphprotocol/graph-ts"; +import { upcastCopy } from "@dlsl/graph-modules"; import { ProposalCreated, ProposalWithdrawn, @@ -14,7 +15,7 @@ import { getProposal } from "../entities/invest-pool/proposal/Proposal"; import { getProposalContract } from "../entities/invest-pool/proposal/ProposalContract"; import { getSupply } from "../entities/invest-pool/proposal/ProposalSupply"; import { getWithdraw } from "../entities/invest-pool/proposal/ProposalWithdraw"; -import { deleteByIndex, extendArray, upcastCopy } from "../helpers/ArrayHelper"; +import { deleteByIndex } from "../helpers/ArrayHelper"; import { getUSDValue } from "../helpers/PriceFeedInteractions"; export function onProposalCreated(event: ProposalCreated): void { From afb232e855640855dde528eade3d290a7145346a Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Tue, 11 Jul 2023 14:57:07 +0300 Subject: [PATCH 05/44] Feature/offchain results (#111) * updated schema for rewards in DaoPools * separeted rewardUSD amounts, updated Reward types * handled OffchainResultsSaved event * fixed doc * added VoterOffchain entity, updated DaoPool * fixed VoterOffchain entity * added claimedRewardUSD to VoterOffchain entity --- AllInteractions/tests/DaoPool.test.ts | 54 ++++++++++++++++ DaoPools/schema.graphql | 14 ++++- DaoPools/src/entities/Voters/VoterOffchain.ts | 19 ++++++ DaoPools/src/mappings/DaoPool.ts | 61 ++++++++++++------- DaoPools/tests/DaoPool.test.ts | 56 +++++++++++++++++ 5 files changed, 182 insertions(+), 22 deletions(-) create mode 100644 DaoPools/src/entities/Voters/VoterOffchain.ts diff --git a/AllInteractions/tests/DaoPool.test.ts b/AllInteractions/tests/DaoPool.test.ts index e433dd09..b68316e6 100644 --- a/AllInteractions/tests/DaoPool.test.ts +++ b/AllInteractions/tests/DaoPool.test.ts @@ -650,4 +650,58 @@ describe("DaoPool", () => { BigInt.fromI32(2) ); }); + + test("should handle OffchainResultsSaved", () => { + let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + + let event = createOffchainResultsSaved(sender, contractSender, block, tx); + + onOffchainResultsSaved(event); + + assert.fieldEquals( + "DaoPoolOffchainResultsSaved", + tx.hash.concatI32(0).toHexString(), + "pool", + contractSender.toHexString() + ); + + assert.fieldEquals( + "DaoPoolOffchainResultsSaved", + tx.hash.concatI32(0).toHexString(), + "transaction", + tx.hash.toHexString() + ); + + assertTransaction( + tx.hash, + event.params.sender, + block, + `[${TransactionType.DAO_POOL_OFFCHAIN_RESULTS_SAVED}]`, + BigInt.fromI32(1) + ); + + onOffchainResultsSaved(event); + + assert.fieldEquals( + "DaoPoolOffchainResultsSaved", + tx.hash.concatI32(1).toHexString(), + "pool", + contractSender.toHexString() + ); + + assert.fieldEquals( + "DaoPoolOffchainResultsSaved", + tx.hash.concatI32(1).toHexString(), + "transaction", + tx.hash.toHexString() + ); + + assertTransaction( + tx.hash, + event.params.sender, + block, + `[${TransactionType.DAO_POOL_OFFCHAIN_RESULTS_SAVED}]`, + BigInt.fromI32(2) + ); + }); }); diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index d83d7ea4..0b2dc8dc 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -61,6 +61,18 @@ type DaoPool @entity { tokenSales: [TokenSale!]! @derivedFrom(field: "pool") } +# @notice The entity holds information about voter offchain results +# @param id forms from voter address and pool address +# @param rewardUSD the rewards in USD +type VoterOffchain @entity { + id: Bytes! # voter address + pool address + voter: Voter! + pool: DaoPool! + + rewardUSD: BigInt! + claimedRewardUSD: BigInt! +} + # @notice The entity holds information about voter # @param id forms from user address type Voter @entity { @@ -196,7 +208,7 @@ type ProposalVote @entity(immutable: true) { # @param claimedRewardUSD the amount of claimed reward # @param claimedDpRewardUSD the amount of dp rewards in usd type VoterInProposal @entity { - id: Bytes! # voter in voter address + proposal entity id + id: Bytes! # voter address + proposal entity id pool: DaoPool! proposal: Proposal! voter: VoterInPool! diff --git a/DaoPools/src/entities/Voters/VoterOffchain.ts b/DaoPools/src/entities/Voters/VoterOffchain.ts new file mode 100644 index 00000000..7295da0f --- /dev/null +++ b/DaoPools/src/entities/Voters/VoterOffchain.ts @@ -0,0 +1,19 @@ +import { BigInt } from "@graphprotocol/graph-ts"; +import { DaoPool, Voter, VoterOffchain } from "../../../generated/schema"; + +export function getVoterOffchain(voter: Voter, pool: DaoPool): VoterOffchain { + const id = voter.id.concat(pool.id); + let voterOffchain = VoterOffchain.load(id); + + if (voterOffchain == null) { + voterOffchain = new VoterOffchain(id); + + voterOffchain.voter = voter.id; + voterOffchain.pool = pool.id; + + voterOffchain.rewardUSD = BigInt.zero(); + voterOffchain.claimedRewardUSD = BigInt.zero(); + } + + return voterOffchain; +} diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index 4031ce6b..c0139214 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -36,6 +36,7 @@ import { Proposal, VoterInPool, VoterInProposal } from "../../generated/schema"; import { getProposalSettings } from "../entities/Settings/ProposalSettings"; import { getVoterInPoolPair } from "../entities/Voters/VoterInPoolPair"; import { getUSDValue } from "../helpers/PriceFeedInteractions"; +import { getVoterOffchain } from "../entities/Voters/VoterOffchain"; export function onProposalCreated(event: ProposalCreated): void { let pool = getDaoPool(event.address); @@ -222,13 +223,22 @@ export function onRewardClaimed(event: RewardClaimed): void { let voter = getVoter(event.params.sender); let voterInPool = getVoterInPool(pool, voter, event.block.timestamp); let proposal = getProposal(pool, event.params.proposalId); - let voterInProposal = getVoterInProposal(proposal, voterInPool); let usdAmount = getUSDValue(event.params.token, event.params.amount); - voterInProposal.claimedRewardUSD = usdAmount; + if (event.params.proposalId.notEqual(BigInt.zero())) { + let voterInProposal = getVoterInProposal(proposal, voterInPool); - voterInProposal.save(); + voterInProposal.claimedRewardUSD = usdAmount; + + voterInProposal.save(); + } else { + let voterOffchain = getVoterOffchain(voter, pool); + + voterOffchain.claimedRewardUSD = voterOffchain.claimedRewardUSD.plus(usdAmount); + + voterOffchain.save(); + } voterInPool.totalClaimedUSD = voterInPool.totalClaimedUSD.plus(usdAmount); @@ -242,34 +252,43 @@ export function onRewardCredited(event: RewardCredited): void { let voter = getVoter(event.params.sender); let voterInPool = getVoterInPool(pool, voter, event.block.timestamp); let proposal = getProposal(pool, event.params.proposalId); - let voterInProposal = getVoterInProposal(proposal, voterInPool); let usdAmount = getUSDValue(event.params.rewardToken, event.params.amount); - const rewardType = event.params.rewardType; + if (event.params.proposalId.notEqual(BigInt.zero())) { + let voterInProposal = getVoterInProposal(proposal, voterInPool); + const rewardType = event.params.rewardType; + + if (rewardType == REWARD_TYPE_VOTE_FOR_DELEGATED) { + voterInProposal.unclaimedRewardFromDelegationsUSDFor = + voterInProposal.unclaimedRewardFromDelegationsUSDFor.plus(usdAmount); + voterInPool.totalDelegationRewardUSDFor = voterInPool.totalDelegationRewardUSDFor.plus(usdAmount); + } else if (rewardType == REWARD_TYPE_VOTE_AGAINST_DELEGATED) { + voterInProposal.unclaimedRewardFromDelegationsUSDAgainst = + voterInProposal.unclaimedRewardFromDelegationsUSDAgainst.plus(usdAmount); + voterInPool.totalDelegationRewardUSDAgainst = voterInPool.totalDelegationRewardUSDAgainst.plus(usdAmount); + } - if (rewardType == REWARD_TYPE_VOTE_FOR_DELEGATED) { - voterInProposal.unclaimedRewardFromDelegationsUSDFor = - voterInProposal.unclaimedRewardFromDelegationsUSDFor.plus(usdAmount); - voterInPool.totalDelegationRewardUSDFor = voterInPool.totalDelegationRewardUSDFor.plus(usdAmount); - } else if (rewardType == REWARD_TYPE_VOTE_AGAINST_DELEGATED) { - voterInProposal.unclaimedRewardFromDelegationsUSDAgainst = - voterInProposal.unclaimedRewardFromDelegationsUSDAgainst.plus(usdAmount); - voterInPool.totalDelegationRewardUSDAgainst = voterInPool.totalDelegationRewardUSDAgainst.plus(usdAmount); - } + if (rewardType == REWARD_TYPE_VOTE_FOR || rewardType == REWARD_TYPE_VOTE_FOR_DELEGATED) { + voterInProposal.unclaimedRewardUSDFor = voterInProposal.unclaimedRewardUSDFor.plus(usdAmount); + } else if (rewardType == REWARD_TYPE_VOTE_AGAINST || rewardType == REWARD_TYPE_VOTE_AGAINST_DELEGATED) { + voterInProposal.unclaimedRewardUSDAgainst = voterInProposal.unclaimedRewardUSDAgainst.plus(usdAmount); + } else { + voterInProposal.unclaimedRewardUSDFor = voterInProposal.unclaimedRewardUSDFor.plus(usdAmount); + voterInProposal.unclaimedRewardUSDAgainst = voterInProposal.unclaimedRewardUSDAgainst.plus(usdAmount); + } - if (rewardType == REWARD_TYPE_VOTE_FOR || rewardType == REWARD_TYPE_VOTE_FOR_DELEGATED) { - voterInProposal.unclaimedRewardUSDFor = voterInProposal.unclaimedRewardUSDFor.plus(usdAmount); - } else if (rewardType == REWARD_TYPE_VOTE_AGAINST || rewardType == REWARD_TYPE_VOTE_AGAINST_DELEGATED) { - voterInProposal.unclaimedRewardUSDAgainst = voterInProposal.unclaimedRewardUSDAgainst.plus(usdAmount); + voterInProposal.save(); } else { - voterInProposal.unclaimedRewardUSDFor = voterInProposal.unclaimedRewardUSDFor.plus(usdAmount); - voterInProposal.unclaimedRewardUSDAgainst = voterInProposal.unclaimedRewardUSDAgainst.plus(usdAmount); + let voterOffchain = getVoterOffchain(voter, pool); + + voterOffchain.rewardUSD = voterOffchain.rewardUSD.plus(usdAmount); + + voterOffchain.save(); } recalculateAPR(voterInPool, usdAmount, event.block.timestamp); - voterInProposal.save(); voterInPool.save(); voter.save(); pool.save(); diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index a9dc98ec..cd206400 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -932,6 +932,21 @@ describe("DaoPool", () => { ); }); + test("should handle offchain RewardClaimed", () => { + let proposalId = BigInt.zero(); + let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); + let amount = BigInt.fromI32(1000); + + let event = createRewardClaimed(proposalId, sender, rewardToken, amount, contractSender, block, tx); + + onRewardClaimed(event); + + assert.fieldEquals("VoterOffchain", sender.concat(contractSender).toHexString(), "claimedRewardUSD", `200`); + + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalClaimedUSD", "200"); + }); + test("should handle RewardCredited", () => { let proposalId = BigInt.fromI32(1); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); @@ -1181,6 +1196,29 @@ describe("DaoPool", () => { ); }); + test("should handle offchain RewardCredited", () => { + let proposalId = BigInt.zero(); + let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); + let amount = BigInt.fromI32(1000); + + let event = createRewardCredited( + proposalId, + BigInt.fromI32(REWARD_TYPE_VOTE_AGAINST_DELEGATED), + rewardToken, + amount, + sender, + contractSender, + block, + tx + ); + + onRewardCredited(event); + + assert.fieldEquals("VoterOffchain", sender.concat(contractSender).toHexString(), "rewardUSD", "200"); + assert.fieldEquals("VoterOffchain", sender.concat(contractSender).toHexString(), "claimedRewardUSD", "0"); + }); + test("should deposit", () => { let userKeeperAddress = Address.fromString("0x16e08f7d84603aeb97cd1c89a80a9e914f181676"); getUserKeeperContract(userKeeperAddress, contractSender).save(); @@ -1297,4 +1335,22 @@ describe("DaoPool", () => { assert.fieldEquals("DaoPool", contractSender.toHexString(), "offchainResultsHash", resultsHash); }); + + test("should handle OffchainResultsSaved event", () => { + let user = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + let resultsHash = "hash1"; + + let event = createOffchainResultsSaved(user, resultsHash, contractSender, block, tx); + + onOffchainResultsSaved(event); + + assert.fieldEquals("DaoPool", contractSender.toHexString(), "offchainResultsHash", resultsHash); + + resultsHash = "hash2"; + event = createOffchainResultsSaved(user, resultsHash, contractSender, block, tx); + + onOffchainResultsSaved(event); + + assert.fieldEquals("DaoPool", contractSender.toHexString(), "offchainResultsHash", resultsHash); + }); }); From 60f8608bebb74e1016efd5adaa0310f0653e65bf Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Thu, 20 Jul 2023 18:25:47 +0300 Subject: [PATCH 06/44] Feature/requested event (#113) * changed onDelegated handler, added onRequested handler * fixed entities * added test for onRequested * added onRequested handler to AllInteractions * fixed tx types --- AllInteractions/abis/DaoPool.json | 31 +++ .../entities/global/TransactionTypeEnum.ts | 19 +- AllInteractions/src/helpers/ArrayHelper.ts | 4 + AllInteractions/src/mappings/DaoPool.ts | 51 ++-- AllInteractions/src/mappings/DaoValidators.ts | 12 +- AllInteractions/src/mappings/Insurance.ts | 3 +- AllInteractions/src/mappings/PoolFactory.ts | 6 +- AllInteractions/src/mappings/TraderPool.ts | 16 +- .../src/mappings/TraderPoolInvestProposal.ts | 22 +- .../src/mappings/TraderPoolRiskyProposal.ts | 12 +- AllInteractions/src/mappings/UserRegistry.ts | 8 +- AllInteractions/subgraph.yaml | 2 + AllInteractions/tests/DaoPool.test.ts | 113 ++++----- DaoPools/abis/DaoPool.json | 31 +++ DaoPools/schema.graphql | 9 +- DaoPools/src/entities/DelegationHistory.ts | 5 +- DaoPools/src/entities/Voters/VoterInPool.ts | 4 + .../src/entities/Voters/VoterInPoolPair.ts | 3 + .../src/entities/global/DelegationTypeEnum.ts | 11 + DaoPools/src/mappings/DaoPool.ts | 65 ++++- DaoPools/subgraph.yaml | 2 + DaoPools/tests/DaoPool.test.ts | 224 +++++++++++++++++- 22 files changed, 524 insertions(+), 129 deletions(-) create mode 100644 AllInteractions/src/helpers/ArrayHelper.ts create mode 100644 DaoPools/src/entities/global/DelegationTypeEnum.ts diff --git a/AllInteractions/abis/DaoPool.json b/AllInteractions/abis/DaoPool.json index 94c81e9a..37baae9f 100644 --- a/AllInteractions/abis/DaoPool.json +++ b/AllInteractions/abis/DaoPool.json @@ -1539,5 +1539,36 @@ ], "name": "Voted", "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "nfts", + "type": "uint256[]" + } + ], + "name": "Requested", + "type": "event" } ] \ No newline at end of file diff --git a/AllInteractions/src/entities/global/TransactionTypeEnum.ts b/AllInteractions/src/entities/global/TransactionTypeEnum.ts index df428e75..e6ab65e8 100644 --- a/AllInteractions/src/entities/global/TransactionTypeEnum.ts +++ b/AllInteractions/src/entities/global/TransactionTypeEnum.ts @@ -42,15 +42,16 @@ export enum TransactionType { DAO_POOL_DELEGATED = 30, DAO_POOL_UNDELEGATED = 31, - DAO_POOL_REWARD_CLAIMED = 32, - DAO_POOL_DEPOSITED = 33, - DAO_POOL_WITHDRAWN = 34, - DAO_POOL_MOVED_TO_VALIDATORS = 35, - DAO_POOL_OFFCHAIN_RESULTS_SAVED = 36, - - DAO_VALIDATORS_VOTED = 37, - DAO_VALIDATORS_PROPOSAL_CREATED = 38, - DAO_VALIDATORS_PROPOSAL_EXECUTED = 39, + DAO_POOL_REQUESTED = 32, + DAO_POOL_REWARD_CLAIMED = 33, + DAO_POOL_DEPOSITED = 34, + DAO_POOL_WITHDRAWN = 35, + DAO_POOL_MOVED_TO_VALIDATORS = 36, + DAO_POOL_OFFCHAIN_RESULTS_SAVED = 37, + + DAO_VALIDATORS_VOTED = 38, + DAO_VALIDATORS_PROPOSAL_CREATED = 39, + DAO_VALIDATORS_PROPOSAL_EXECUTED = 40, } export function getEnumBigInt(operation: TransactionType): BigInt { diff --git a/AllInteractions/src/helpers/ArrayHelper.ts b/AllInteractions/src/helpers/ArrayHelper.ts new file mode 100644 index 00000000..c78dfd08 --- /dev/null +++ b/AllInteractions/src/helpers/ArrayHelper.ts @@ -0,0 +1,4 @@ +export function push(array: Array, item: T): Array { + array.push(item); + return array; +} diff --git a/AllInteractions/src/mappings/DaoPool.ts b/AllInteractions/src/mappings/DaoPool.ts index e8a98030..cc5c9368 100644 --- a/AllInteractions/src/mappings/DaoPool.ts +++ b/AllInteractions/src/mappings/DaoPool.ts @@ -1,5 +1,4 @@ import { BigInt } from "@graphprotocol/graph-ts"; -import { pushUnique } from "@dlsl/graph-modules"; import { Delegated, Deposited, @@ -10,6 +9,7 @@ import { RewardClaimed, Voted, Withdrawn, + Requested, } from "../../generated/templates/DaoPool/DaoPool"; import { getDaoPoolDelegate } from "../entities/dao-pool/DaoPoolDelegate"; import { getDaoPoolVest } from "../entities/dao-pool/DaoPoolVest"; @@ -21,6 +21,7 @@ import { getDaoProposalCreate } from "../entities/dao-pool/DaoProposalCreate"; import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; import { getTransaction } from "../entities/transaction/Transaction"; import { getDaoPoolOffchainResult } from "../entities/dao-pool/DaoOffchainResults"; +import { push } from "../helpers/ArrayHelper"; export function onProposalCreated(event: ProposalCreated): void { let transaction = getTransaction( @@ -36,7 +37,7 @@ export function onProposalCreated(event: ProposalCreated): void { transaction.interactionsCount ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_PROPOSAL_CREATED)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.DAO_POOL_PROPOSAL_CREATED)); proposalCreated.transaction = transaction.id; transaction.save(); @@ -57,9 +58,31 @@ export function onDelegated(event: Delegated): void { transaction.interactionsCount ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = pushUnique(transaction.type, [ - getEnumBigInt(event.params.isDelegate ? TransactionType.DAO_POOL_DELEGATED : TransactionType.DAO_POOL_UNDELEGATED), - ]); + transaction.type = push( + transaction.type, + getEnumBigInt(event.params.isDelegate ? TransactionType.DAO_POOL_DELEGATED : TransactionType.DAO_POOL_UNDELEGATED) + ); + delegated.transaction = transaction.id; + + transaction.save(); + delegated.save(); +} + +export function onRequested(event: Requested): void { + let transaction = getTransaction( + event.transaction.hash, + event.block.number, + event.block.timestamp, + event.params.from + ); + let delegated = getDaoPoolDelegate( + event.transaction.hash, + event.address, + event.params.amount, + transaction.interactionsCount + ); + transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.DAO_POOL_REQUESTED)); delegated.transaction = transaction.id; transaction.save(); @@ -81,7 +104,7 @@ export function onVoted(event: Voted): void { event.params.isVoteFor ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_PROPOSAL_VOTED)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.DAO_POOL_PROPOSAL_VOTED)); voted.transaction = transaction.id; transaction.save(); @@ -102,7 +125,7 @@ export function onProposalExecuted(event: ProposalExecuted): void { transaction.interactionsCount ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_PROPOSAL_EXECUTED)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.DAO_POOL_PROPOSAL_EXECUTED)); executed.transaction = transaction.id; transaction.save(); @@ -123,7 +146,7 @@ export function onRewardClaimed(event: RewardClaimed): void { transaction.interactionsCount ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_REWARD_CLAIMED)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.DAO_POOL_REWARD_CLAIMED)); claimed.transaction = transaction.id; transaction.save(); @@ -147,7 +170,7 @@ export function onDeposited(event: Deposited): void { ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_DEPOSITED)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.DAO_POOL_DEPOSITED)); deposit.transaction = transaction.id; transaction.save(); @@ -171,7 +194,7 @@ export function onWithdrawn(event: Withdrawn): void { ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_WITHDRAWN)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.DAO_POOL_WITHDRAWN)); withdrawn.transaction = transaction.id; transaction.save(); @@ -194,9 +217,7 @@ export function onMovedToValidators(event: MovedToValidators): void { ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = pushUnique(transaction.type, [ - getEnumBigInt(TransactionType.DAO_POOL_MOVED_TO_VALIDATORS), - ]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.DAO_POOL_MOVED_TO_VALIDATORS)); moved.transaction = transaction.id; transaction.save(); @@ -218,9 +239,7 @@ export function onOffchainResultsSaved(event: OffchainResultsSaved): void { ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = pushUnique(transaction.type, [ - getEnumBigInt(TransactionType.DAO_POOL_OFFCHAIN_RESULTS_SAVED), - ]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.DAO_POOL_OFFCHAIN_RESULTS_SAVED)); offchainResultsSaved.transaction = transaction.id; transaction.save(); diff --git a/AllInteractions/src/mappings/DaoValidators.ts b/AllInteractions/src/mappings/DaoValidators.ts index 4a5a797d..34efa4d4 100644 --- a/AllInteractions/src/mappings/DaoValidators.ts +++ b/AllInteractions/src/mappings/DaoValidators.ts @@ -1,5 +1,4 @@ import { BigInt } from "@graphprotocol/graph-ts"; -import { pushUnique } from "@dlsl/graph-modules"; import { Voted, InternalProposalCreated, @@ -10,6 +9,7 @@ import { getDaoValidatorProposalCreate } from "../entities/dao-pool/DaoValidator import { getDaoValidatorProposalExecute } from "../entities/dao-pool/DaoValidatorProposalExecute"; import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; import { getTransaction } from "../entities/transaction/Transaction"; +import { push } from "../helpers/ArrayHelper"; export function onVoted(event: Voted): void { let transaction = getTransaction( @@ -29,7 +29,7 @@ export function onVoted(event: Voted): void { ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.DAO_VALIDATORS_VOTED)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.DAO_VALIDATORS_VOTED)); voted.transaction = transaction.id; transaction.save(); @@ -52,9 +52,7 @@ export function onInternalProposalCreated(event: InternalProposalCreated): void ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = pushUnique(transaction.type, [ - getEnumBigInt(TransactionType.DAO_VALIDATORS_PROPOSAL_CREATED), - ]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.DAO_VALIDATORS_PROPOSAL_CREATED)); created.transaction = transaction.id; transaction.save(); @@ -77,9 +75,7 @@ export function onInternalProposalExecuted(event: InternalProposalExecuted): voi ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = pushUnique(transaction.type, [ - getEnumBigInt(TransactionType.DAO_VALIDATORS_PROPOSAL_EXECUTED), - ]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.DAO_VALIDATORS_PROPOSAL_EXECUTED)); executed.transaction = transaction.id; transaction.save(); diff --git a/AllInteractions/src/mappings/Insurance.ts b/AllInteractions/src/mappings/Insurance.ts index 572e5408..efedfb4e 100644 --- a/AllInteractions/src/mappings/Insurance.ts +++ b/AllInteractions/src/mappings/Insurance.ts @@ -4,6 +4,7 @@ import { Deposited, Paidout, Withdrawn } from "../../generated/Insurance/Insuran import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; import { getInsuranceStake } from "../entities/insurance/InsuranceStake"; import { getTransaction } from "../entities/transaction/Transaction"; +import { push } from "../helpers/ArrayHelper"; export function onDeposit(event: Deposited): void { let transaction = getTransaction( @@ -30,7 +31,7 @@ export function onWithdraw(event: Withdrawn): void { ); let stake = getInsuranceStake(event.transaction.hash, event.params.amount, transaction.interactionsCount); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.INSURANCE_UNSTAKE)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.INSURANCE_UNSTAKE)); stake.transaction = transaction.id; transaction.save(); diff --git a/AllInteractions/src/mappings/PoolFactory.ts b/AllInteractions/src/mappings/PoolFactory.ts index a3325d5a..b3c132ff 100644 --- a/AllInteractions/src/mappings/PoolFactory.ts +++ b/AllInteractions/src/mappings/PoolFactory.ts @@ -1,5 +1,4 @@ import { BigInt } from "@graphprotocol/graph-ts"; -import { pushUnique } from "@dlsl/graph-modules"; import { DaoPoolDeployed, TraderPoolDeployed } from "../../generated/PoolFactory/PoolFactory"; import { DaoPool, DaoValidators, TraderPool, TraderPoolInvestProposal } from "../../generated/templates"; import { TraderPoolRiskyProposal } from "../../generated/templates"; @@ -10,6 +9,7 @@ import { getPoolCreate } from "../entities/trader-pool/PoolCreate"; import { getProposalContract } from "../entities/trader-pool/ProposalContract"; import { getTraderPool } from "../entities/trader-pool/TraderPool"; import { getTransaction } from "../entities/transaction/Transaction"; +import { push } from "../helpers/ArrayHelper"; export function onTraderPoolDeployed(event: TraderPoolDeployed): void { getTraderPool(event.params.at, event.params.proposalContract, event.params.trader).save(); @@ -37,7 +37,7 @@ export function onTraderPoolDeployed(event: TraderPoolDeployed): void { ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.POOL_CREATE)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.POOL_CREATE)); create.transaction = transaction.id; @@ -64,7 +64,7 @@ export function onDaoPoolDeployed(event: DaoPoolDeployed): void { ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.DAO_POOL_CREATED)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.DAO_POOL_CREATED)); daoCreate.transaction = transaction.id; transaction.save(); diff --git a/AllInteractions/src/mappings/TraderPool.ts b/AllInteractions/src/mappings/TraderPool.ts index 210f54de..299ea737 100644 --- a/AllInteractions/src/mappings/TraderPool.ts +++ b/AllInteractions/src/mappings/TraderPool.ts @@ -1,5 +1,4 @@ import { Bytes, BigInt, Address } from "@graphprotocol/graph-ts"; -import { pushUnique } from "@dlsl/graph-modules"; import { Transaction } from "../../generated/schema"; import { CommissionClaimed, @@ -18,6 +17,7 @@ import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTy import { getOnlyPool } from "../entities/transaction/OnlyPool"; import { getProposalVest } from "../entities/trader-pool/risky-proposal/ProposalVest"; import { getGetPerformanceFee } from "../entities/transaction/GetPerformanceFee"; +import { push } from "../helpers/ArrayHelper"; export function onExchange(event: Exchanged): void { let transaction = getTransaction( @@ -36,7 +36,7 @@ export function onExchange(event: Exchanged): void { transaction.interactionsCount ); - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.SWAP)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.SWAP)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); exchange.transaction = transaction.id; @@ -91,7 +91,7 @@ export function onDescriptionURLChanged(event: DescriptionURLChanged): void { let onlyPool = getOnlyPool(event.transaction.hash, event.address, transaction.interactionsCount); onlyPool.transaction = transaction.id; - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.POOL_EDIT)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.POOL_EDIT)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); transaction.save(); onlyPool.save(); @@ -114,7 +114,7 @@ export function onProposalDivest(event: ProposalDivested): void { transaction.interactionsCount ); proposalVest.transaction = transaction.id; - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_DIVEST)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.RISKY_PROPOSAL_DIVEST)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); proposalVest.save(); transaction.save(); @@ -131,7 +131,7 @@ export function onModifiedPrivateInvestors(event: ModifiedPrivateInvestors): voi let onlyPool = getOnlyPool(event.transaction.hash, event.address, transaction.interactionsCount); onlyPool.transaction = transaction.id; - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.POOL_UPDATE_INVESTORS)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.POOL_UPDATE_INVESTORS)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); transaction.save(); onlyPool.save(); @@ -148,7 +148,7 @@ export function onModifiedAdmins(event: ModifiedAdmins): void { let onlyPool = getOnlyPool(event.transaction.hash, event.address, transaction.interactionsCount); onlyPool.transaction = transaction.id; - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.POOL_UPDATE_MANAGERS)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.POOL_UPDATE_MANAGERS)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); transaction.save(); onlyPool.save(); @@ -170,7 +170,7 @@ export function onCommissionClaimed(event: CommissionClaimed): void { ); perfomanceFee.transaction = transaction.id; - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.TRADER_GET_PERFOMANCE_FEE)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.TRADER_GET_PERFOMANCE_FEE)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); transaction.save(); perfomanceFee.save(); @@ -187,7 +187,7 @@ function setupVest( ): void { let vest = getVest(hash, baseAmount, lpAmount, pool, count); - transaction.type = pushUnique(transaction.type, [type]); + transaction.type = push(transaction.type, type); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); vest.transaction = transaction.id; diff --git a/AllInteractions/src/mappings/TraderPoolInvestProposal.ts b/AllInteractions/src/mappings/TraderPoolInvestProposal.ts index 7ac3bddb..f272af05 100644 --- a/AllInteractions/src/mappings/TraderPoolInvestProposal.ts +++ b/AllInteractions/src/mappings/TraderPoolInvestProposal.ts @@ -1,5 +1,5 @@ import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { pushUnique, upcastCopy } from "@dlsl/graph-modules"; +import { upcastCopy } from "@dlsl/graph-modules"; import { ProposalClaimed, ProposalConverted, @@ -19,6 +19,7 @@ import { getProposalContract } from "../entities/trader-pool/ProposalContract"; import { getProposalVest } from "../entities/trader-pool/risky-proposal/ProposalVest"; import { getTraderPool } from "../entities/trader-pool/TraderPool"; import { getTransaction } from "../entities/transaction/Transaction"; +import { push } from "../helpers/ArrayHelper"; export function onProposalCreated(event: ProposalCreated): void { let proposalContract = getProposalContract(event.address); @@ -36,7 +37,7 @@ export function onProposalCreated(event: ProposalCreated): void { ); proposalCreate.transaction = transaction.id; - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_CREATE)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.INVEST_PROPOSAL_CREATE)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); proposalCreate.save(); @@ -60,7 +61,7 @@ export function onProposalWithdrawn(event: ProposalWithdrawn): void { ); withdraw.transaction = transaction.id; - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_WITHDRAW)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.INVEST_PROPOSAL_WITHDRAW)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); withdraw.save(); @@ -87,7 +88,7 @@ export function onProposalSupplied(event: ProposalSupplied): void { ); supply.transaction = transaction.id; - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_SUPPLY)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.INVEST_PROPOSAL_SUPPLY)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); supply.save(); @@ -113,7 +114,7 @@ export function onProposalClaimed(event: ProposalClaimed): void { ); supply.transaction = transaction.id; - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_CLAIM)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.INVEST_PROPOSAL_CLAIM)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); supply.save(); @@ -136,7 +137,7 @@ export function onProposalRestrictionsChanged(event: ProposalRestrictionsChanged transaction.interactionsCount ); edit.transaction = transaction.id; - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_EDIT)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.INVEST_PROPOSAL_EDIT)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); edit.save(); @@ -162,7 +163,7 @@ export function onProposalInvest(event: ProposalInvested): void { transaction.interactionsCount ); vest.transaction = transaction.id; - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.INVEST_PROPOSAL_INVEST)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.INVEST_PROPOSAL_INVEST)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); vest.save(); @@ -189,9 +190,10 @@ export function onProposalConverted(event: ProposalConverted): void { ); convertToDividends.transaction = transaction.id; - transaction.type = pushUnique(transaction.type, [ - getEnumBigInt(TransactionType.INVEST_PROPOSAL_CONVERT_TO_DIVIDENDS), - ]); + transaction.type = push( + transaction.type, + getEnumBigInt(TransactionType.INVEST_PROPOSAL_CONVERT_TO_DIVIDENDS) + ); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); convertToDividends.save(); diff --git a/AllInteractions/src/mappings/TraderPoolRiskyProposal.ts b/AllInteractions/src/mappings/TraderPoolRiskyProposal.ts index 675ad1b7..97831d68 100644 --- a/AllInteractions/src/mappings/TraderPoolRiskyProposal.ts +++ b/AllInteractions/src/mappings/TraderPoolRiskyProposal.ts @@ -1,5 +1,4 @@ import { Address, BigInt } from "@graphprotocol/graph-ts"; -import { pushUnique } from "@dlsl/graph-modules"; import { ProposalCreated, ProposalExchanged, @@ -15,6 +14,7 @@ import { getRiskyProposalExchange } from "../entities/trader-pool/risky-proposal import { getProposalVest } from "../entities/trader-pool/risky-proposal/ProposalVest"; import { getTraderPool } from "../entities/trader-pool/TraderPool"; import { getTransaction } from "../entities/transaction/Transaction"; +import { push } from "../helpers/ArrayHelper"; export function onProposalCreated(event: ProposalCreated): void { let proposalContract = getProposalContract(event.address); @@ -35,7 +35,7 @@ export function onProposalCreated(event: ProposalCreated): void { ); proposalCreate.transaction = transaction.id; - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_CREATE)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.RISKY_PROPOSAL_CREATE)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); proposalCreate.save(); @@ -62,7 +62,7 @@ export function onProposalExchange(event: ProposalExchanged): void { ); exchange.transaction = transaction.id; - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_SWAP)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.RISKY_PROPOSAL_SWAP)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); exchange.save(); @@ -87,7 +87,7 @@ export function onProposalInvest(event: ProposalInvested): void { transaction.interactionsCount ); vest.transaction = transaction.id; - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_INVEST)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.RISKY_PROPOSAL_INVEST)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); vest.save(); @@ -113,7 +113,7 @@ export function onProposalDivest(event: ProposalDivested): void { ); vest.transaction = transaction.id; - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_DIVEST)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.RISKY_PROPOSAL_DIVEST)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); vest.save(); @@ -137,7 +137,7 @@ export function onProposalRestrictionsChanged(event: ProposalRestrictionsChanged ); edit.transaction = transaction.id; - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.RISKY_PROPOSAL_EDIT)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.RISKY_PROPOSAL_EDIT)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); edit.save(); diff --git a/AllInteractions/src/mappings/UserRegistry.ts b/AllInteractions/src/mappings/UserRegistry.ts index ea98a45d..adba2065 100644 --- a/AllInteractions/src/mappings/UserRegistry.ts +++ b/AllInteractions/src/mappings/UserRegistry.ts @@ -1,8 +1,8 @@ import { BigInt } from "@graphprotocol/graph-ts"; -import { pushUnique } from "@dlsl/graph-modules"; import { Agreed, UpdatedProfile } from "../../generated/UserRegistry/UserRegistry"; import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; import { getTransaction } from "../entities/transaction/Transaction"; +import { push } from "../helpers/ArrayHelper"; export function onAgreed(event: Agreed): void { let transaction = getTransaction( @@ -12,9 +12,7 @@ export function onAgreed(event: Agreed): void { event.params.user ); - transaction.type = pushUnique(transaction.type, [ - getEnumBigInt(TransactionType.USER_AGREED_TO_PRIVACY_POLICY), - ]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.USER_AGREED_TO_PRIVACY_POLICY)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); transaction.save(); @@ -28,7 +26,7 @@ export function onUpdatedProfile(event: UpdatedProfile): void { event.params.user ); - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.UPDATED_USER_CREDENTIALS)]); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.UPDATED_USER_CREDENTIALS)); transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); transaction.save(); diff --git a/AllInteractions/subgraph.yaml b/AllInteractions/subgraph.yaml index d457acc4..45d8a46d 100644 --- a/AllInteractions/subgraph.yaml +++ b/AllInteractions/subgraph.yaml @@ -198,6 +198,8 @@ templates: handler: onMovedToValidators - event: OffchainResultsSaved(string,address) handler: onOffchainResultsSaved + - event: Requested(address,address,uint256,uint256[]) + handler: onRequested - kind: ethereum/contract name: DaoValidators network: chapel diff --git a/AllInteractions/tests/DaoPool.test.ts b/AllInteractions/tests/DaoPool.test.ts index b68316e6..efef69e1 100644 --- a/AllInteractions/tests/DaoPool.test.ts +++ b/AllInteractions/tests/DaoPool.test.ts @@ -21,9 +21,11 @@ import { RewardClaimed, Voted, Withdrawn, + Requested, } from "../generated/templates/DaoPool/DaoPool"; import { onDelegated, + onRequested, onProposalCreated, onProposalExecuted, onVoted, @@ -91,6 +93,30 @@ function createDelegated( return event; } +function createRequested( + from: Address, + to: Address, + amount: BigInt, + nfts: Array, + contractSender: Address, + block: ethereum.Block, + tx: ethereum.Transaction +): Requested { + let event = changetype(newMockEvent()); + event.parameters = new Array(); + + event.parameters.push(new ethereum.EventParam("from", ethereum.Value.fromAddress(from))); + event.parameters.push(new ethereum.EventParam("to", ethereum.Value.fromAddress(to))); + event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); + event.parameters.push(new ethereum.EventParam("nfts", ethereum.Value.fromUnsignedBigIntArray(nfts))); + + event.block = block; + event.transaction = tx; + event.address = contractSender; + + return event; +} + function createVoted( proposalId: BigInt, sender: Address, @@ -317,6 +343,37 @@ describe("DaoPool", () => { ); }); + test("should handle Requested", () => { + let from = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + let to = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"); + let amount = BigInt.fromI32(100).pow(18); + let nfts = [BigInt.fromI32(1), BigInt.fromI32(2)]; + + let event0 = createRequested(from, to, amount, nfts, contractSender, block, tx); + + onRequested(event0); + + assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); + assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); + + assertTransaction(tx.hash, event0.params.from, block, `[${TransactionType.DAO_POOL_REQUESTED}]`, BigInt.fromI32(1)); + + let event1 = createRequested(from, to, amount, nfts, contractSender, block, tx); + + onRequested(event1); + + assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); + assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); + + assertTransaction( + tx.hash, + event1.params.from, + block, + `[${TransactionType.DAO_POOL_REQUESTED}, ${TransactionType.DAO_POOL_REQUESTED}]`, + BigInt.fromI32(2) + ); + }); + test("should handle Voted", () => { let proposalId = BigInt.fromI32(1); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); @@ -646,61 +703,7 @@ describe("DaoPool", () => { tx.hash, event.params.sender, block, - `[${TransactionType.DAO_POOL_OFFCHAIN_RESULTS_SAVED}]`, - BigInt.fromI32(2) - ); - }); - - test("should handle OffchainResultsSaved", () => { - let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - - let event = createOffchainResultsSaved(sender, contractSender, block, tx); - - onOffchainResultsSaved(event); - - assert.fieldEquals( - "DaoPoolOffchainResultsSaved", - tx.hash.concatI32(0).toHexString(), - "pool", - contractSender.toHexString() - ); - - assert.fieldEquals( - "DaoPoolOffchainResultsSaved", - tx.hash.concatI32(0).toHexString(), - "transaction", - tx.hash.toHexString() - ); - - assertTransaction( - tx.hash, - event.params.sender, - block, - `[${TransactionType.DAO_POOL_OFFCHAIN_RESULTS_SAVED}]`, - BigInt.fromI32(1) - ); - - onOffchainResultsSaved(event); - - assert.fieldEquals( - "DaoPoolOffchainResultsSaved", - tx.hash.concatI32(1).toHexString(), - "pool", - contractSender.toHexString() - ); - - assert.fieldEquals( - "DaoPoolOffchainResultsSaved", - tx.hash.concatI32(1).toHexString(), - "transaction", - tx.hash.toHexString() - ); - - assertTransaction( - tx.hash, - event.params.sender, - block, - `[${TransactionType.DAO_POOL_OFFCHAIN_RESULTS_SAVED}]`, + `[${TransactionType.DAO_POOL_OFFCHAIN_RESULTS_SAVED}, ${TransactionType.DAO_POOL_OFFCHAIN_RESULTS_SAVED}]`, BigInt.fromI32(2) ); }); diff --git a/DaoPools/abis/DaoPool.json b/DaoPools/abis/DaoPool.json index e0656b91..4cadf366 100644 --- a/DaoPools/abis/DaoPool.json +++ b/DaoPools/abis/DaoPool.json @@ -1577,5 +1577,36 @@ ], "name": "StakingRewardClaimed", "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "nfts", + "type": "uint256[]" + } + ], + "name": "Requested", + "type": "event" } ] \ No newline at end of file diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index 0b2dc8dc..ffbcad0b 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -149,6 +149,11 @@ type VoterInPool @entity { receivedDelegation: BigInt! receivedNFTDelegation: [BigInt!]! receivedNFTDelegationCount: BigInt! + + requestedTokensAmount: BigInt! + requestedNft: [BigInt!]! + requestedNftCount: BigInt! + totalDPClaimed: BigInt! totalClaimedUSD: BigInt! @@ -260,7 +265,7 @@ type DelegationHistory @entity(immutable: true) { from: Voter! to: Voter! - isDelegate: Boolean! + type: BigInt! amount: BigInt! nfts: [BigInt!]! @@ -310,6 +315,8 @@ type VoterInPoolPair @entity { delegateAmount: BigInt! delegateNfts: [BigInt!]! + requestAmount: BigInt! + requestNfts: [BigInt!]! history: [DelegationHistory!]! @derivedFrom(field: "pair") } diff --git a/DaoPools/src/entities/DelegationHistory.ts b/DaoPools/src/entities/DelegationHistory.ts index 0a514982..25d25e37 100644 --- a/DaoPools/src/entities/DelegationHistory.ts +++ b/DaoPools/src/entities/DelegationHistory.ts @@ -2,6 +2,7 @@ import { BigInt, Bytes } from "@graphprotocol/graph-ts"; import { DaoPool, DelegationHistory, Voter } from "../../generated/schema"; import { getInteractionCount } from "./global/InteractionCount"; import { increaseCounter } from "../helpers/IncreaseCounter"; +import { DelegationType, getEnumBigInt } from "./global/DelegationTypeEnum"; export function getDelegationHistory( hash: Bytes, @@ -11,7 +12,7 @@ export function getDelegationHistory( to: Voter, amount: BigInt, nfts: Array, - isDelegate: boolean + type: DelegationType ): DelegationHistory { let counter = getInteractionCount(hash); let id = hash.concatI32(counter.count.toI32()); @@ -22,7 +23,7 @@ export function getDelegationHistory( history.amount = amount; history.from = from.id; history.to = to.id; - history.isDelegate = isDelegate; + history.type = getEnumBigInt(type); history.timestamp = timestamp; history.nfts = nfts; diff --git a/DaoPools/src/entities/Voters/VoterInPool.ts b/DaoPools/src/entities/Voters/VoterInPool.ts index 1cdc9af9..b793656e 100644 --- a/DaoPools/src/entities/Voters/VoterInPool.ts +++ b/DaoPools/src/entities/Voters/VoterInPool.ts @@ -17,6 +17,10 @@ export function getVoterInPool(pool: DaoPool, voter: Voter, timestamp: BigInt): voterInPool.receivedNFTDelegation = new Array(); voterInPool.receivedNFTDelegationCount = BigInt.zero(); + voterInPool.requestedTokensAmount = BigInt.zero(); + voterInPool.requestedNft = new Array(); + voterInPool.requestedNftCount = BigInt.zero(); + voterInPool.totalDelegationRewardUSDFor = BigInt.zero(); voterInPool.totalDelegationRewardUSDAgainst = BigInt.zero(); diff --git a/DaoPools/src/entities/Voters/VoterInPoolPair.ts b/DaoPools/src/entities/Voters/VoterInPoolPair.ts index 93442875..aae29d42 100644 --- a/DaoPools/src/entities/Voters/VoterInPoolPair.ts +++ b/DaoPools/src/entities/Voters/VoterInPoolPair.ts @@ -13,6 +13,9 @@ export function getVoterInPoolPair(from: VoterInPool, to: VoterInPool): VoterInP pair.delegateAmount = BigInt.zero(); pair.delegateNfts = new Array(); + + pair.requestAmount = BigInt.zero(); + pair.requestNfts = new Array(); } return pair; diff --git a/DaoPools/src/entities/global/DelegationTypeEnum.ts b/DaoPools/src/entities/global/DelegationTypeEnum.ts new file mode 100644 index 00000000..2abab17d --- /dev/null +++ b/DaoPools/src/entities/global/DelegationTypeEnum.ts @@ -0,0 +1,11 @@ +import { BigInt } from "@graphprotocol/graph-ts"; + +export enum DelegationType { + DELEGATE = 1, + UNDELEGATE = 2, + REQUEST = 3, +} + +export function getEnumBigInt(operation: DelegationType): BigInt { + return BigInt.fromI32(operation as i32); +} diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index c0139214..1f530855 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -7,6 +7,7 @@ import { OffchainResultsSaved, ProposalCreated, ProposalExecuted, + Requested, RewardClaimed, RewardCredited, StakingRewardClaimed, @@ -37,6 +38,7 @@ import { getProposalSettings } from "../entities/Settings/ProposalSettings"; import { getVoterInPoolPair } from "../entities/Voters/VoterInPoolPair"; import { getUSDValue } from "../helpers/PriceFeedInteractions"; import { getVoterOffchain } from "../entities/Voters/VoterOffchain"; +import { DelegationType } from "../entities/global/DelegationTypeEnum"; export function onProposalCreated(event: ProposalCreated): void { let pool = getDaoPool(event.address); @@ -78,7 +80,7 @@ export function onDelegated(event: Delegated): void { to, event.params.amount, event.params.nfts, - event.params.isDelegate + event.params.isDelegate ? DelegationType.DELEGATE : DelegationType.UNDELEGATE ); let toVoterInPool = getVoterInPool(pool, to, event.block.timestamp); let fromVoterInPool = getVoterInPool(pool, from, event.block.timestamp); @@ -88,6 +90,9 @@ export function onDelegated(event: Delegated): void { delegateHistory.pair = pair.id; if (event.params.isDelegate) { + const amountToUnrequest = pair.requestAmount.lt(event.params.amount) ? pair.requestAmount : event.params.amount; + const availableAmount = event.params.amount.minus(amountToUnrequest); + toVoterInPool.receivedDelegation = toVoterInPool.receivedDelegation.plus(event.params.amount); toVoterInPool.receivedNFTDelegation = pushUnique(toVoterInPool.receivedNFTDelegation, event.params.nfts); toVoterInPool.receivedNFTDelegationCount = BigInt.fromI32(toVoterInPool.receivedNFTDelegation.length); @@ -96,11 +101,17 @@ export function onDelegated(event: Delegated): void { toVoterInPool.currentDelegatorsCount = toVoterInPool.currentDelegatorsCount.plus(BigInt.fromI32(1)); } - pair.delegateAmount = pair.delegateAmount.plus(event.params.amount); + pair.delegateAmount = pair.delegateAmount.plus(availableAmount); pair.delegateNfts = pushUnique(pair.delegateNfts, event.params.nfts); - pool.totalCurrentTokenDelegated = pool.totalCurrentTokenDelegated.plus(event.params.amount); + pool.totalCurrentTokenDelegated = pool.totalCurrentTokenDelegated.plus(availableAmount); pool.totalCurrentNFTDelegated = pushUnique(pool.totalCurrentNFTDelegated, event.params.nfts); + + pair.requestAmount = pair.requestAmount.minus(amountToUnrequest); + pair.requestNfts = remove(pair.requestNfts, event.params.nfts); + toVoterInPool.requestedTokensAmount = toVoterInPool.requestedTokensAmount.minus(amountToUnrequest); + toVoterInPool.requestedNft = remove(toVoterInPool.requestedNft, event.params.nfts); + toVoterInPool.requestedNftCount = BigInt.fromI32(toVoterInPool.requestedNft.length); } else { toVoterInPool.receivedDelegation = toVoterInPool.receivedDelegation.minus(event.params.amount); toVoterInPool.receivedNFTDelegation = remove(toVoterInPool.receivedNFTDelegation, event.params.nfts); @@ -115,6 +126,17 @@ export function onDelegated(event: Delegated): void { pool.totalCurrentTokenDelegated = pool.totalCurrentTokenDelegated.minus(event.params.amount); pool.totalCurrentNFTDelegated = remove(pool.totalCurrentNFTDelegated, event.params.nfts); + + let amountToUnrequest = pair.requestAmount.lt(event.params.amount) ? pair.requestAmount : event.params.amount; + pair.requestAmount = pair.requestAmount.minus(amountToUnrequest); + pair.requestNfts = remove(pair.requestNfts, event.params.nfts); + + amountToUnrequest = toVoterInPool.requestedTokensAmount.lt(event.params.amount) + ? toVoterInPool.requestedTokensAmount + : event.params.amount; + toVoterInPool.requestedTokensAmount = toVoterInPool.requestedTokensAmount.minus(amountToUnrequest); + toVoterInPool.requestedNft = remove(toVoterInPool.requestedNft, event.params.nfts); + toVoterInPool.requestedNftCount = BigInt.fromI32(toVoterInPool.requestedNft.length); } if (event.params.amount.gt(BigInt.zero())) { @@ -348,6 +370,43 @@ export function onOffchainResultsSaved(event: OffchainResultsSaved): void { pool.save(); } +export function onRequested(event: Requested): void { + let from = getVoter(event.params.from); + let to = getVoter(event.params.to); + let pool = getDaoPool(event.address); + let delegateHistory = getDelegationHistory( + event.transaction.hash, + pool, + event.block.timestamp, + from, + to, + event.params.amount, + event.params.nfts, + DelegationType.REQUEST + ); + let toVoterInPool = getVoterInPool(pool, to, event.block.timestamp); + let fromVoterInPool = getVoterInPool(pool, from, event.block.timestamp); + + let pair = getVoterInPoolPair(fromVoterInPool, toVoterInPool); + + toVoterInPool.requestedTokensAmount = toVoterInPool.requestedTokensAmount.plus(event.params.amount); + toVoterInPool.requestedNft = pushUnique(toVoterInPool.requestedNft, event.params.nfts); + toVoterInPool.requestedNftCount = BigInt.fromI32(toVoterInPool.requestedNft.length); + + pair.requestAmount = pair.requestAmount.plus(event.params.amount); + pair.requestNfts = pushUnique(pair.requestNfts, event.params.nfts); + + delegateHistory.pair = pair.id; + + pair.save(); + fromVoterInPool.save(); + toVoterInPool.save(); + delegateHistory.save(); + pool.save(); + to.save(); + from.save(); +} + function recalculateAPR(voterInPool: VoterInPool, rewardCredited: BigInt, currentTimestamp: BigInt): void { if ( voterInPool.totalLockedFundsUSD.notEqual(BigInt.zero()) && diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index df127d29..3c4c4491 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -62,6 +62,8 @@ templates: handler: onStakingRewardClaimed - event: OffchainResultsSaved(string,address) handler: onOffchainResultsSaved + - event: Requested(address,address,uint256,uint256[]) + handler: onRequested - kind: ethereum/contract name: DistributionProposal diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index cd206400..38d432f8 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -23,6 +23,7 @@ import { Voted, StakingRewardClaimed, OffchainResultsSaved, + Requested, } from "../generated/templates/DaoPool/DaoPool"; import { onDelegated, @@ -36,6 +37,7 @@ import { onWithdrawn, onStakingRewardClaimed, onOffchainResultsSaved, + onRequested, } from "../src/mappings/DaoPool"; import { ProposalType } from "../src/entities/global/ProposalTypes"; import { @@ -50,6 +52,7 @@ import { ProposalSettings } from "../generated/schema"; import { createSetERC20 } from "./UserKeeper.test"; import { getUserKeeperContract } from "../src/entities/UserKeeperContract"; import { onSetERC20 } from "../src/mappings/UserKeeper"; +import { DelegationType } from "../src/entities/global/DelegationTypeEnum"; function createProposalCreated( proposalId: BigInt, @@ -316,6 +319,30 @@ function createOffchainResultsSaved( return event; } +function createRequested( + from: Address, + to: Address, + amount: BigInt, + nfts: BigInt[], + contractSender: Address, + block: ethereum.Block, + tx: ethereum.Transaction +): Requested { + let event = changetype(newMockEvent()); + event.parameters = new Array(); + + event.parameters.push(new ethereum.EventParam("from", ethereum.Value.fromAddress(from))); + event.parameters.push(new ethereum.EventParam("to", ethereum.Value.fromAddress(to))); + event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); + event.parameters.push(new ethereum.EventParam("nfts", ethereum.Value.fromUnsignedBigIntArray(nfts))); + + event.block = block; + event.transaction = tx; + event.address = contractSender; + + return event; +} + const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); const contractSender = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181670"); @@ -531,7 +558,12 @@ describe("DaoPool", () => { assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "to", to.toHexString()); assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "nfts", `[${nfts[0]}, ${nfts[1]}]`); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "isDelegate", "true"); + assert.fieldEquals( + "DelegationHistory", + tx.hash.concatI32(0).toHexString(), + "type", + DelegationType.DELEGATE.toString() + ); assert.fieldEquals( "VoterInPoolPair", @@ -607,7 +639,12 @@ describe("DaoPool", () => { assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "to", to.toHexString()); assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "amount", amount2.toString()); assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "nfts", `[${nfts2[0]}]`); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "isDelegate", "false"); + assert.fieldEquals( + "DelegationHistory", + tx.hash.concatI32(1).toHexString(), + "type", + DelegationType.UNDELEGATE.toString() + ); assert.fieldEquals( "VoterInPoolPair", @@ -1353,4 +1390,187 @@ describe("DaoPool", () => { assert.fieldEquals("DaoPool", contractSender.toHexString(), "offchainResultsHash", resultsHash); }); + + test("should handle Requested event", () => { + let from = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + let to = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"); + + let amount = BigInt.fromI32(100).pow(18); + let nfts = [BigInt.fromI32(1)]; + + let delegatedEvent = createDelegated(from, to, amount, nfts, true, contractSender, block, tx); + + onDelegated(delegatedEvent); + + assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentNFTDelegated", `[${nfts[0]}]`); + assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentTokenDelegatees", "1"); + assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentNFTDelegatees", "1"); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "receivedDelegation", amount.toString()); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "receivedNFTDelegation", `[${nfts[0]}]`); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "currentDelegatorsCount", "1"); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "receivedNFTDelegationCount", "1"); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "requestedTokensAmount", "0"); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "requestedNft", `[]`); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "requestedNftCount", `0`); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); + assert.fieldEquals( + "DelegationHistory", + tx.hash.concatI32(0).toHexString(), + "timestamp", + delegatedEvent.block.timestamp.toString() + ); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "from", from.toHexString()); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "to", to.toHexString()); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "nfts", `[${nfts[0]}]`); + assert.fieldEquals( + "DelegationHistory", + tx.hash.concatI32(0).toHexString(), + "type", + DelegationType.DELEGATE.toString() + ); + + assert.fieldEquals( + "VoterInPoolPair", + contractSender.concat(from).concat(to).toHexString(), + "from", + from.concat(contractSender).toHexString() + ); + assert.fieldEquals( + "VoterInPoolPair", + contractSender.concat(from).concat(to).toHexString(), + "to", + to.concat(contractSender).toHexString() + ); + assert.fieldEquals( + "VoterInPoolPair", + contractSender.concat(from).concat(to).toHexString(), + "delegateAmount", + amount.toString() + ); + assert.fieldEquals( + "VoterInPoolPair", + contractSender.concat(from).concat(to).toHexString(), + "delegateNfts", + `[${nfts[0]}]` + ); + assert.fieldEquals("VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), "requestAmount", "0"); + assert.fieldEquals("VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), "requestNfts", `[]`); + + let event = createRequested(from, to, amount, nfts, contractSender, block, tx); + + onRequested(event); + + assert.fieldEquals( + "VoterInPool", + to.concat(contractSender).toHexString(), + "requestedTokensAmount", + amount.toString() + ); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "requestedNft", `[${nfts[0]}]`); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "requestedNftCount", `1`); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "pool", contractSender.toHexString()); + assert.fieldEquals( + "DelegationHistory", + tx.hash.concatI32(1).toHexString(), + "timestamp", + event.block.timestamp.toString() + ); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "from", from.toHexString()); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "to", to.toHexString()); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "amount", amount.toString()); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "nfts", `[${nfts[0]}]`); + assert.fieldEquals( + "DelegationHistory", + tx.hash.concatI32(1).toHexString(), + "type", + DelegationType.REQUEST.toString() + ); + + assert.fieldEquals( + "VoterInPoolPair", + contractSender.concat(from).concat(to).toHexString(), + "from", + from.concat(contractSender).toHexString() + ); + assert.fieldEquals( + "VoterInPoolPair", + contractSender.concat(from).concat(to).toHexString(), + "to", + to.concat(contractSender).toHexString() + ); + assert.fieldEquals( + "VoterInPoolPair", + contractSender.concat(from).concat(to).toHexString(), + "delegateAmount", + amount.toString() + ); + assert.fieldEquals( + "VoterInPoolPair", + contractSender.concat(from).concat(to).toHexString(), + "delegateNfts", + `[${nfts[0]}]` + ); + assert.fieldEquals( + "VoterInPoolPair", + contractSender.concat(from).concat(to).toHexString(), + "requestAmount", + amount.toString() + ); + assert.fieldEquals( + "VoterInPoolPair", + contractSender.concat(from).concat(to).toHexString(), + "requestNfts", + `[${nfts[0]}]` + ); + + let undelegatedEvent = createDelegated(from, to, amount, nfts, false, contractSender, block, tx); + + onDelegated(undelegatedEvent); + + assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentNFTDelegated", `[]`); + assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentTokenDelegatees", "0"); + assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentNFTDelegatees", "0"); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "receivedDelegation", "0"); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "receivedNFTDelegation", `[]`); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "currentDelegatorsCount", "0"); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "receivedNFTDelegationCount", "0"); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "requestedTokensAmount", "0"); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "requestedNft", `[]`); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "requestedNftCount", `0`); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(2).toHexString(), "pool", contractSender.toHexString()); + assert.fieldEquals( + "DelegationHistory", + tx.hash.concatI32(2).toHexString(), + "timestamp", + undelegatedEvent.block.timestamp.toString() + ); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(2).toHexString(), "from", from.toHexString()); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(2).toHexString(), "to", to.toHexString()); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(2).toHexString(), "amount", amount.toString()); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(2).toHexString(), "nfts", `[${nfts[0]}]`); + assert.fieldEquals( + "DelegationHistory", + tx.hash.concatI32(2).toHexString(), + "type", + DelegationType.UNDELEGATE.toString() + ); + + assert.fieldEquals( + "VoterInPoolPair", + contractSender.concat(from).concat(to).toHexString(), + "from", + from.concat(contractSender).toHexString() + ); + assert.fieldEquals( + "VoterInPoolPair", + contractSender.concat(from).concat(to).toHexString(), + "to", + to.concat(contractSender).toHexString() + ); + assert.fieldEquals("VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), "delegateAmount", "0"); + assert.fieldEquals("VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), "delegateNfts", `[]`); + assert.fieldEquals("VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), "requestAmount", "0"); + assert.fieldEquals("VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), "requestNfts", `[]`); + }); }); From 8282f41a09355b74be239cf84662391ac863220b Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Wed, 26 Jul 2023 15:58:52 +0300 Subject: [PATCH 07/44] Feature/expert nft (#114) * changed onDelegated handler, added onRequested handler * fixed entities * added test for onRequested * added onRequested handler to AllInteractions * fixed tx types * updated abis, updated DaoPoolDeployed event handler, added ExpertNFT to DaoPools * added GlobalExpert to DaoPools * fixed test for ERC721Expert --------- Co-authored-by: Artem Chystiakov --- AllInteractions/abis/PoolFactory.json | 6 + AllInteractions/subgraph.yaml | 2 +- AllInteractions/tests/PoolFactory.test.ts | 17 +- AllPools/abis/PoolFactory.json | 6 + AllPoolsInvestors/abis/PoolFactory.json | 6 + BasicPool/abis/PoolFactory.json | 6 + DaoPools/abis/ERC721Expert.json | 623 ++++++++++++++++++ DaoPools/abis/PoolFactory.json | 6 + DaoPools/schema.graphql | 34 + DaoPools/src/entities/ExpertNft/Expert.ts | 13 + .../src/entities/ExpertNft/ExpertInPool.ts | 17 + DaoPools/src/entities/ExpertNft/ExpertNft.ts | 18 + .../src/entities/ExpertNft/GlobalExpert.ts | 13 + DaoPools/src/entities/ExpertNftContract.ts | 13 + DaoPools/src/mappings/ERC721Expert.ts | 48 ++ DaoPools/src/mappings/GlobalERC721Expert.ts | 29 + DaoPools/src/mappings/PoolFactory.ts | 12 +- DaoPools/subgraph.yaml | 49 +- DaoPools/tests/ERC721Expert.test.ts | 253 +++++++ DaoPools/tests/GlobalERC721Expert.test.ts | 134 ++++ DaoPools/tests/PoolFactory.test.ts | 16 +- DaoValidators/abis/PoolFactory.json | 6 + DaoValidators/subgraph.yaml | 2 +- InvestPool/abis/PoolFactory.json | 6 + 24 files changed, 1329 insertions(+), 6 deletions(-) create mode 100644 DaoPools/abis/ERC721Expert.json create mode 100644 DaoPools/src/entities/ExpertNft/Expert.ts create mode 100644 DaoPools/src/entities/ExpertNft/ExpertInPool.ts create mode 100644 DaoPools/src/entities/ExpertNft/ExpertNft.ts create mode 100644 DaoPools/src/entities/ExpertNft/GlobalExpert.ts create mode 100644 DaoPools/src/entities/ExpertNftContract.ts create mode 100644 DaoPools/src/mappings/ERC721Expert.ts create mode 100644 DaoPools/src/mappings/GlobalERC721Expert.ts create mode 100644 DaoPools/tests/ERC721Expert.test.ts create mode 100644 DaoPools/tests/GlobalERC721Expert.test.ts diff --git a/AllInteractions/abis/PoolFactory.json b/AllInteractions/abis/PoolFactory.json index c5272075..c4ffab21 100644 --- a/AllInteractions/abis/PoolFactory.json +++ b/AllInteractions/abis/PoolFactory.json @@ -38,6 +38,12 @@ "name": "govUserKeeper", "type": "address" }, + { + "indexed": false, + "internalType": "address", + "name": "localExpertNft", + "type": "address" + }, { "indexed": false, "internalType": "address", diff --git a/AllInteractions/subgraph.yaml b/AllInteractions/subgraph.yaml index 45d8a46d..9997154b 100644 --- a/AllInteractions/subgraph.yaml +++ b/AllInteractions/subgraph.yaml @@ -22,7 +22,7 @@ dataSources: eventHandlers: - event: TraderPoolDeployed(string,string,string,address,address,address,address,uint256,string) handler: onTraderPoolDeployed - - event: DaoPoolDeployed(string,address,address,address,address,address,address) + - event: DaoPoolDeployed(string,address,address,address,address,address,address,address) handler: onDaoPoolDeployed - kind: ethereum/contract diff --git a/AllInteractions/tests/PoolFactory.test.ts b/AllInteractions/tests/PoolFactory.test.ts index f34e7ecd..8b17be3c 100644 --- a/AllInteractions/tests/PoolFactory.test.ts +++ b/AllInteractions/tests/PoolFactory.test.ts @@ -46,6 +46,7 @@ function createDaoPoolDeployed( validators: Address, settings: Address, govUserKeeper: Address, + expertNft: Address, sender: Address, block: ethereum.Block, tx: ethereum.Transaction @@ -59,6 +60,8 @@ function createDaoPoolDeployed( event.parameters.push(new ethereum.EventParam("validators", ethereum.Value.fromAddress(validators))); event.parameters.push(new ethereum.EventParam("settings", ethereum.Value.fromAddress(settings))); event.parameters.push(new ethereum.EventParam("govUserKeeper", ethereum.Value.fromAddress(govUserKeeper))); + event.parameters.push(new ethereum.EventParam("govUserKeeper", ethereum.Value.fromAddress(govUserKeeper))); + event.parameters.push(new ethereum.EventParam("localExpertNft", ethereum.Value.fromAddress(expertNft))); event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); event.block = block; @@ -115,9 +118,21 @@ describe("PoolFactory", () => { let validators = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181639"); let settings = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181649"); let govUserKeeper = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181659"); + let expertNft = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181659"); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181669"); - let event = createDaoPoolDeployed(name, govPool, dp, validators, settings, govUserKeeper, sender, block, tx); + let event = createDaoPoolDeployed( + name, + govPool, + dp, + validators, + settings, + govUserKeeper, + expertNft, + sender, + block, + tx + ); onDaoPoolDeployed(event); diff --git a/AllPools/abis/PoolFactory.json b/AllPools/abis/PoolFactory.json index c5272075..c4ffab21 100644 --- a/AllPools/abis/PoolFactory.json +++ b/AllPools/abis/PoolFactory.json @@ -38,6 +38,12 @@ "name": "govUserKeeper", "type": "address" }, + { + "indexed": false, + "internalType": "address", + "name": "localExpertNft", + "type": "address" + }, { "indexed": false, "internalType": "address", diff --git a/AllPoolsInvestors/abis/PoolFactory.json b/AllPoolsInvestors/abis/PoolFactory.json index c5272075..c4ffab21 100644 --- a/AllPoolsInvestors/abis/PoolFactory.json +++ b/AllPoolsInvestors/abis/PoolFactory.json @@ -38,6 +38,12 @@ "name": "govUserKeeper", "type": "address" }, + { + "indexed": false, + "internalType": "address", + "name": "localExpertNft", + "type": "address" + }, { "indexed": false, "internalType": "address", diff --git a/BasicPool/abis/PoolFactory.json b/BasicPool/abis/PoolFactory.json index c5272075..c4ffab21 100644 --- a/BasicPool/abis/PoolFactory.json +++ b/BasicPool/abis/PoolFactory.json @@ -38,6 +38,12 @@ "name": "govUserKeeper", "type": "address" }, + { + "indexed": false, + "internalType": "address", + "name": "localExpertNft", + "type": "address" + }, { "indexed": false, "internalType": "address", diff --git a/DaoPools/abis/ERC721Expert.json b/DaoPools/abis/ERC721Expert.json new file mode 100644 index 00000000..f49341a1 --- /dev/null +++ b/DaoPools/abis/ERC721Expert.json @@ -0,0 +1,623 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ERC721Expert", + "sourceName": "contracts/gov/ERC721/ERC721Expert.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "enum IERC721Expert.BurnAuth", + "name": "burnAuth", + "type": "uint8" + } + ], + "name": "Issued", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string[]", + "name": "tags", + "type": "string[]" + } + ], + "name": "TagsAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "__ERC721Expert_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burnAuth", + "outputs": [ + { + "internalType": "enum IERC721Expert.BurnAuth", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "expert", + "type": "address" + } + ], + "name": "getIdByExpert", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getTags", + "outputs": [ + { + "internalType": "string[]", + "name": "", + "type": "string[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "expert", + "type": "address" + } + ], + "name": "isExpert", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "string", + "name": "uri_", + "type": "string" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "string[]", + "name": "tags", + "type": "string[]" + } + ], + "name": "setTags", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "uri_", + "type": "string" + } + ], + "name": "setTokenURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5061242b806100206000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80636352211e116100de57806395d89b4111610097578063c87b56dd11610071578063c87b56dd14610348578063d0def5211461035b578063e985e9c51461036e578063f2fde38b146103aa57600080fd5b806395d89b411461031a578063a22cb46514610322578063b88d4fde1461033557600080fd5b80636352211e146102b557806370a08231146102c8578063715018a6146102db57806376c535ae146102e35780637a6e9514146102f65780638da5cb5b1461030957600080fd5b806323b872dd1161013057806323b872dd1461022857806329d29cb31461023b5780633cca1f2c1461025b57806342842e0e1461026e57806342966c68146102815780636047fb891461029457600080fd5b806301ffc9a7146101785780630489b56f146101a057806306fdde03146101c0578063081812fc146101d5578063095ea7b314610200578063162094c414610215575b600080fd5b61018b610186366004611c75565b6103bd565b60405190151581526020015b60405180910390f35b6101b36101ae366004611c92565b610403565b6040516101979190611cab565b6101c861048d565b6040516101979190611d2b565b6101e86101e3366004611c92565b61051f565b6040516001600160a01b039091168152602001610197565b61021361020e366004611d5a565b610546565b005b610213610223366004611dcd565b61065c565b610213610236366004611e19565b6106a4565b61024e610249366004611c92565b6106d5565b6040516101979190611e55565b610213610269366004611eb7565b6107c1565b61021361027c366004611e19565b610949565b61021361028f366004611c92565b610964565b6102a76102a2366004611f23565b610a23565b604051908152602001610197565b6101e86102c3366004611c92565b610aa2565b6102a76102d6366004611f23565b610b02565b610213610b88565b61018b6102f1366004611f23565b610b9c565b610213610304366004611fdd565b610bb0565b60c9546001600160a01b03166101e8565b6101c8610cd7565b6102136103303660046120c2565b610ce6565b6102136103433660046120fe565b610cf5565b6101c8610356366004611c92565b610d2d565b6102a761036936600461217a565b610e3e565b61018b61037c3660046121b4565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6102136103b8366004611f23565b610f85565b60006001600160e01b03198216630489b56f60e01b14806103ee57506001600160e01b0319821663966376c560e01b145b806103fd57506103fd82610ffb565b92915050565b600061040e8261104b565b6104855760405162461bcd60e51b815260206004820152603a60248201527f4552433732314578706572743a2043616e6e6f742066696e64204275726e204160448201527f75746820666f72206e6f6e206578697374616e7420626164676500000000000060648201526084015b60405180910390fd5b506001919050565b60606065805461049c906121e7565b80601f01602080910402602001604051908101604052809291908181526020018280546104c8906121e7565b80156105155780601f106104ea57610100808354040283529160200191610515565b820191906000526020600020905b8154815290600101906020018083116104f857829003601f168201915b5050505050905090565b600061052a82611068565b506000908152606960205260409020546001600160a01b031690565b600061055182610aa2565b9050806001600160a01b0316836001600160a01b031614156105bf5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161047c565b336001600160a01b03821614806105db57506105db813361037c565b61064d5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161047c565b61065783836110b8565b505050565b610664611126565b6106578383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061118092505050565b6106ae338261120b565b6106ca5760405162461bcd60e51b815260040161047c90612222565b610657838383611289565b606060fd6000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156107b6578382906000526020600020018054610729906121e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610755906121e7565b80156107a25780601f10610777576101008083540402835291602001916107a2565b820191906000526020600020905b81548152906001019060200180831161078557829003601f168201915b50505050508152602001906001019061070a565b505050509050919050565b600054610100900460ff16158080156107e15750600054600160ff909116105b806107fb5750303b1580156107fb575060005460ff166001145b61085e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161047c565b6000805460ff191660011790558015610881576000805461ff0019166101001790555b6108896112ea565b6108fc85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8901819004810282018101909252878152925087915086908190840183828082843760009201919091525061131992505050565b8015610942576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61065783838360405180602001604052806000815250610cf5565b61096c611126565b6109758161104b565b6109d65760405162461bcd60e51b815260206004820152602c60248201527f4552433732314578706572743a2043616e6e6f74206275726e206e6f6e2d657860448201526b697374656e7420626164676560a01b606482015260840161047c565b60fc60006109e383610aa2565b6001600160a01b031681526020808201929092526040908101600090812081905583815260fd9092528120610a1791611af8565b610a208161134a565b50565b6000610a2e82610b9c565b610a865760405162461bcd60e51b815260206004820152602360248201527f4552433732314578706572743a2055736572206973206e6f7420616e20657870604482015262195c9d60ea1b606482015260840161047c565b506001600160a01b0316600090815260fc602052604090205490565b6000818152606760205260408120546001600160a01b0316806103fd5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161047c565b60006001600160a01b038216610b6c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161047c565b506001600160a01b031660009081526068602052604090205490565b610b90611126565b610b9a600061138a565b565b6000610ba782610b02565b60011492915050565b610bb8611126565b610bc18261104b565b610c295760405162461bcd60e51b815260206004820152603360248201527f4552433732314578706572743a2043616e6e6f7420736574207461677320746f604482015272206e6f6e2d6578697374656e7420626164676560681b606482015260840161047c565b600381511115610c7b5760405162461bcd60e51b815260206004820152601b60248201527f4552433732314578706572743a20546f6f206d75636820746167730000000000604482015260640161047c565b600082815260fd602090815260409091208251610c9a92840190611b16565b50817fd7996413e860167fcb318719e1b39a370926f403d1af94aa60d7b2df1869e34582604051610ccb9190611e55565b60405180910390a25050565b60606066805461049c906121e7565b610cf13383836113dc565b5050565b610cff338361120b565b610d1b5760405162461bcd60e51b815260040161047c90612222565b610d27848484846114ab565b50505050565b6060610d3882611068565b60008281526097602052604081208054610d51906121e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610d7d906121e7565b8015610dca5780601f10610d9f57610100808354040283529160200191610dca565b820191906000526020600020905b815481529060010190602001808311610dad57829003601f168201915b505050505090506000610de860408051602081019091526000815290565b9050805160001415610dfb575092915050565b815115610e2d578082604051602001610e1592919061226f565b60405160208183030381529060405292505050919050565b610e36846114de565b949350505050565b6000610e48611126565b610e5184610b9c565b15610ebb5760405162461bcd60e51b815260206004820152603460248201527f4552433732314578706572743a2043616e6e6f74206d696e74206d6f7265207460448201527368616e206f6e652065787065727420626164676560601b606482015260840161047c565b60fb60008154610eca906122b4565b91829055509050610edb8482611552565b610f1b8184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061118092505050565b6001600160a01b03848116600081815260fc6020526040902083905560c9548392166001600160a01b03167f135ffb3383e06280e062ac5095bbf8faa98517161e596a2536bd98a9a8b64a886001604051610f769190611cab565b60405180910390a49392505050565b610f8d611126565b6001600160a01b038116610ff25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161047c565b610a208161138a565b60006001600160e01b031982166380ac58cd60e01b148061102c57506001600160e01b03198216635b5e139f60e01b145b806103fd57506301ffc9a760e01b6001600160e01b03198316146103fd565b6000908152606760205260409020546001600160a01b0316151590565b6110718161104b565b610a205760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161047c565b600081815260696020526040902080546001600160a01b0319166001600160a01b03841690811790915581906110ed82610aa2565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60c9546001600160a01b03163314610b9a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161047c565b6111898261104b565b6111ec5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b606482015260840161047c565b6000828152609760209081526040909120825161065792840190611b73565b60008061121783610aa2565b9050806001600160a01b0316846001600160a01b0316148061125e57506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b80610e365750836001600160a01b03166112778461051f565b6001600160a01b031614949350505050565b60405162461bcd60e51b815260206004820152603060248201527f4552433732314578706572743a204578706572742062616467652063616e6e6f60448201526f1d081899481d1c985b9cd9995c9c995960821b606482015260840161047c565b600054610100900460ff166113115760405162461bcd60e51b815260040161047c906122cf565b610b9a6116cd565b600054610100900460ff166113405760405162461bcd60e51b815260040161047c906122cf565b610cf182826116fd565b6113538161174b565b6000818152609760205260409020805461136c906121e7565b159050610a20576000818152609760205260408120610a2091611bf3565b60c980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316141561143e5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161047c565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6114b6848484611289565b6114c2848484846117ee565b610d275760405162461bcd60e51b815260040161047c9061231a565b60606114e982611068565b600061150060408051602081019091526000815290565b90506000815111611520576040518060200160405280600081525061154b565b8061152a846118fb565b60405160200161153b92919061226f565b6040516020818303038152906040525b9392505050565b6001600160a01b0382166115a85760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161047c565b6115b18161104b565b156115fe5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161047c565b61160c600083836001611998565b6116158161104b565b156116625760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161047c565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600054610100900460ff166116f45760405162461bcd60e51b815260040161047c906122cf565b610b9a3361138a565b600054610100900460ff166117245760405162461bcd60e51b815260040161047c906122cf565b8151611737906065906020850190611b73565b508051610657906066906020840190611b73565b600061175682610aa2565b9050611766816000846001611998565b61176f82610aa2565b600083815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526068845282852080546000190190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60006001600160a01b0384163b156118f057604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061183290339089908890889060040161236c565b602060405180830381600087803b15801561184c57600080fd5b505af192505050801561187c575060408051601f3d908101601f19168201909252611879918101906123a9565b60015b6118d6573d8080156118aa576040519150601f19603f3d011682016040523d82523d6000602084013e6118af565b606091505b5080516118ce5760405162461bcd60e51b815260040161047c9061231a565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610e36565b506001949350505050565b6060600061190883611a20565b600101905060008167ffffffffffffffff81111561192857611928611f3e565b6040519080825280601f01601f191660200182016040528015611952576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461198b57611990565b61195c565b509392505050565b6001811115610d27576001600160a01b038416156119de576001600160a01b038416600090815260686020526040812080548392906119d89084906123c6565b90915550505b6001600160a01b03831615610d27576001600160a01b03831660009081526068602052604081208054839290611a159084906123dd565b909155505050505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611a5f5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611a8b576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611aa957662386f26fc10000830492506010015b6305f5e1008310611ac1576305f5e100830492506008015b6127108310611ad557612710830492506004015b60648310611ae7576064830492506002015b600a83106103fd5760010192915050565b5080546000825590600052602060002090810190610a209190611c2d565b828054828255906000526020600020908101928215611b63579160200282015b82811115611b635782518051611b53918491602090910190611b73565b5091602001919060010190611b36565b50611b6f929150611c2d565b5090565b828054611b7f906121e7565b90600052602060002090601f016020900481019282611ba15760008555611be7565b82601f10611bba57805160ff1916838001178555611be7565b82800160010185558215611be7579182015b82811115611be7578251825591602001919060010190611bcc565b50611b6f929150611c4a565b508054611bff906121e7565b6000825580601f10611c0f575050565b601f016020900490600052602060002090810190610a209190611c4a565b80821115611b6f576000611c418282611bf3565b50600101611c2d565b5b80821115611b6f5760008155600101611c4b565b6001600160e01b031981168114610a2057600080fd5b600060208284031215611c8757600080fd5b813561154b81611c5f565b600060208284031215611ca457600080fd5b5035919050565b6020810160048310611ccd57634e487b7160e01b600052602160045260246000fd5b91905290565b60005b83811015611cee578181015183820152602001611cd6565b83811115610d275750506000910152565b60008151808452611d17816020860160208601611cd3565b601f01601f19169290920160200192915050565b60208152600061154b6020830184611cff565b80356001600160a01b0381168114611d5557600080fd5b919050565b60008060408385031215611d6d57600080fd5b611d7683611d3e565b946020939093013593505050565b60008083601f840112611d9657600080fd5b50813567ffffffffffffffff811115611dae57600080fd5b602083019150836020828501011115611dc657600080fd5b9250929050565b600080600060408486031215611de257600080fd5b83359250602084013567ffffffffffffffff811115611e0057600080fd5b611e0c86828701611d84565b9497909650939450505050565b600080600060608486031215611e2e57600080fd5b611e3784611d3e565b9250611e4560208501611d3e565b9150604084013590509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611eaa57603f19888603018452611e98858351611cff565b94509285019290850190600101611e7c565b5092979650505050505050565b60008060008060408587031215611ecd57600080fd5b843567ffffffffffffffff80821115611ee557600080fd5b611ef188838901611d84565b90965094506020870135915080821115611f0a57600080fd5b50611f1787828801611d84565b95989497509550505050565b600060208284031215611f3557600080fd5b61154b82611d3e565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611f7d57611f7d611f3e565b604052919050565b600067ffffffffffffffff831115611f9f57611f9f611f3e565b611fb2601f8401601f1916602001611f54565b9050828152838383011115611fc657600080fd5b828260208301376000602084830101529392505050565b6000806040808486031215611ff157600080fd5b8335925060208085013567ffffffffffffffff8082111561201157600080fd5b818701915087601f83011261202557600080fd5b81358181111561203757612037611f3e565b8060051b612046858201611f54565b918252838101850191858101908b84111561206057600080fd5b86860192505b838310156120b05782358581111561207e5760008081fd5b8601603f81018d136120905760008081fd5b6120a08d898301358b8401611f85565b8352509186019190860190612066565b80985050505050505050509250929050565b600080604083850312156120d557600080fd5b6120de83611d3e565b9150602083013580151581146120f357600080fd5b809150509250929050565b6000806000806080858703121561211457600080fd5b61211d85611d3e565b935061212b60208601611d3e565b925060408501359150606085013567ffffffffffffffff81111561214e57600080fd5b8501601f8101871361215f57600080fd5b61216e87823560208401611f85565b91505092959194509250565b60008060006040848603121561218f57600080fd5b61219884611d3e565b9250602084013567ffffffffffffffff811115611e0057600080fd5b600080604083850312156121c757600080fd5b6121d083611d3e565b91506121de60208401611d3e565b90509250929050565b600181811c908216806121fb57607f821691505b6020821081141561221c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351612281818460208801611cd3565b835190830190612295818360208801611cd3565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b60006000198214156122c8576122c861229e565b5060010190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061239f90830184611cff565b9695505050505050565b6000602082840312156123bb57600080fd5b815161154b81611c5f565b6000828210156123d8576123d861229e565b500390565b600082198211156123f0576123f061229e565b50019056fea264697066735822122027f94d7fa347a28fdcfa9fad3aa9022ea66ded9e185638b350da2701b8d28b3864736f6c63430008090033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101735760003560e01c80636352211e116100de57806395d89b4111610097578063c87b56dd11610071578063c87b56dd14610348578063d0def5211461035b578063e985e9c51461036e578063f2fde38b146103aa57600080fd5b806395d89b411461031a578063a22cb46514610322578063b88d4fde1461033557600080fd5b80636352211e146102b557806370a08231146102c8578063715018a6146102db57806376c535ae146102e35780637a6e9514146102f65780638da5cb5b1461030957600080fd5b806323b872dd1161013057806323b872dd1461022857806329d29cb31461023b5780633cca1f2c1461025b57806342842e0e1461026e57806342966c68146102815780636047fb891461029457600080fd5b806301ffc9a7146101785780630489b56f146101a057806306fdde03146101c0578063081812fc146101d5578063095ea7b314610200578063162094c414610215575b600080fd5b61018b610186366004611c75565b6103bd565b60405190151581526020015b60405180910390f35b6101b36101ae366004611c92565b610403565b6040516101979190611cab565b6101c861048d565b6040516101979190611d2b565b6101e86101e3366004611c92565b61051f565b6040516001600160a01b039091168152602001610197565b61021361020e366004611d5a565b610546565b005b610213610223366004611dcd565b61065c565b610213610236366004611e19565b6106a4565b61024e610249366004611c92565b6106d5565b6040516101979190611e55565b610213610269366004611eb7565b6107c1565b61021361027c366004611e19565b610949565b61021361028f366004611c92565b610964565b6102a76102a2366004611f23565b610a23565b604051908152602001610197565b6101e86102c3366004611c92565b610aa2565b6102a76102d6366004611f23565b610b02565b610213610b88565b61018b6102f1366004611f23565b610b9c565b610213610304366004611fdd565b610bb0565b60c9546001600160a01b03166101e8565b6101c8610cd7565b6102136103303660046120c2565b610ce6565b6102136103433660046120fe565b610cf5565b6101c8610356366004611c92565b610d2d565b6102a761036936600461217a565b610e3e565b61018b61037c3660046121b4565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6102136103b8366004611f23565b610f85565b60006001600160e01b03198216630489b56f60e01b14806103ee57506001600160e01b0319821663966376c560e01b145b806103fd57506103fd82610ffb565b92915050565b600061040e8261104b565b6104855760405162461bcd60e51b815260206004820152603a60248201527f4552433732314578706572743a2043616e6e6f742066696e64204275726e204160448201527f75746820666f72206e6f6e206578697374616e7420626164676500000000000060648201526084015b60405180910390fd5b506001919050565b60606065805461049c906121e7565b80601f01602080910402602001604051908101604052809291908181526020018280546104c8906121e7565b80156105155780601f106104ea57610100808354040283529160200191610515565b820191906000526020600020905b8154815290600101906020018083116104f857829003601f168201915b5050505050905090565b600061052a82611068565b506000908152606960205260409020546001600160a01b031690565b600061055182610aa2565b9050806001600160a01b0316836001600160a01b031614156105bf5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161047c565b336001600160a01b03821614806105db57506105db813361037c565b61064d5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161047c565b61065783836110b8565b505050565b610664611126565b6106578383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061118092505050565b6106ae338261120b565b6106ca5760405162461bcd60e51b815260040161047c90612222565b610657838383611289565b606060fd6000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156107b6578382906000526020600020018054610729906121e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610755906121e7565b80156107a25780601f10610777576101008083540402835291602001916107a2565b820191906000526020600020905b81548152906001019060200180831161078557829003601f168201915b50505050508152602001906001019061070a565b505050509050919050565b600054610100900460ff16158080156107e15750600054600160ff909116105b806107fb5750303b1580156107fb575060005460ff166001145b61085e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161047c565b6000805460ff191660011790558015610881576000805461ff0019166101001790555b6108896112ea565b6108fc85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8901819004810282018101909252878152925087915086908190840183828082843760009201919091525061131992505050565b8015610942576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61065783838360405180602001604052806000815250610cf5565b61096c611126565b6109758161104b565b6109d65760405162461bcd60e51b815260206004820152602c60248201527f4552433732314578706572743a2043616e6e6f74206275726e206e6f6e2d657860448201526b697374656e7420626164676560a01b606482015260840161047c565b60fc60006109e383610aa2565b6001600160a01b031681526020808201929092526040908101600090812081905583815260fd9092528120610a1791611af8565b610a208161134a565b50565b6000610a2e82610b9c565b610a865760405162461bcd60e51b815260206004820152602360248201527f4552433732314578706572743a2055736572206973206e6f7420616e20657870604482015262195c9d60ea1b606482015260840161047c565b506001600160a01b0316600090815260fc602052604090205490565b6000818152606760205260408120546001600160a01b0316806103fd5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161047c565b60006001600160a01b038216610b6c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161047c565b506001600160a01b031660009081526068602052604090205490565b610b90611126565b610b9a600061138a565b565b6000610ba782610b02565b60011492915050565b610bb8611126565b610bc18261104b565b610c295760405162461bcd60e51b815260206004820152603360248201527f4552433732314578706572743a2043616e6e6f7420736574207461677320746f604482015272206e6f6e2d6578697374656e7420626164676560681b606482015260840161047c565b600381511115610c7b5760405162461bcd60e51b815260206004820152601b60248201527f4552433732314578706572743a20546f6f206d75636820746167730000000000604482015260640161047c565b600082815260fd602090815260409091208251610c9a92840190611b16565b50817fd7996413e860167fcb318719e1b39a370926f403d1af94aa60d7b2df1869e34582604051610ccb9190611e55565b60405180910390a25050565b60606066805461049c906121e7565b610cf13383836113dc565b5050565b610cff338361120b565b610d1b5760405162461bcd60e51b815260040161047c90612222565b610d27848484846114ab565b50505050565b6060610d3882611068565b60008281526097602052604081208054610d51906121e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610d7d906121e7565b8015610dca5780601f10610d9f57610100808354040283529160200191610dca565b820191906000526020600020905b815481529060010190602001808311610dad57829003601f168201915b505050505090506000610de860408051602081019091526000815290565b9050805160001415610dfb575092915050565b815115610e2d578082604051602001610e1592919061226f565b60405160208183030381529060405292505050919050565b610e36846114de565b949350505050565b6000610e48611126565b610e5184610b9c565b15610ebb5760405162461bcd60e51b815260206004820152603460248201527f4552433732314578706572743a2043616e6e6f74206d696e74206d6f7265207460448201527368616e206f6e652065787065727420626164676560601b606482015260840161047c565b60fb60008154610eca906122b4565b91829055509050610edb8482611552565b610f1b8184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061118092505050565b6001600160a01b03848116600081815260fc6020526040902083905560c9548392166001600160a01b03167f135ffb3383e06280e062ac5095bbf8faa98517161e596a2536bd98a9a8b64a886001604051610f769190611cab565b60405180910390a49392505050565b610f8d611126565b6001600160a01b038116610ff25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161047c565b610a208161138a565b60006001600160e01b031982166380ac58cd60e01b148061102c57506001600160e01b03198216635b5e139f60e01b145b806103fd57506301ffc9a760e01b6001600160e01b03198316146103fd565b6000908152606760205260409020546001600160a01b0316151590565b6110718161104b565b610a205760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161047c565b600081815260696020526040902080546001600160a01b0319166001600160a01b03841690811790915581906110ed82610aa2565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60c9546001600160a01b03163314610b9a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161047c565b6111898261104b565b6111ec5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b606482015260840161047c565b6000828152609760209081526040909120825161065792840190611b73565b60008061121783610aa2565b9050806001600160a01b0316846001600160a01b0316148061125e57506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b80610e365750836001600160a01b03166112778461051f565b6001600160a01b031614949350505050565b60405162461bcd60e51b815260206004820152603060248201527f4552433732314578706572743a204578706572742062616467652063616e6e6f60448201526f1d081899481d1c985b9cd9995c9c995960821b606482015260840161047c565b600054610100900460ff166113115760405162461bcd60e51b815260040161047c906122cf565b610b9a6116cd565b600054610100900460ff166113405760405162461bcd60e51b815260040161047c906122cf565b610cf182826116fd565b6113538161174b565b6000818152609760205260409020805461136c906121e7565b159050610a20576000818152609760205260408120610a2091611bf3565b60c980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316141561143e5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161047c565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6114b6848484611289565b6114c2848484846117ee565b610d275760405162461bcd60e51b815260040161047c9061231a565b60606114e982611068565b600061150060408051602081019091526000815290565b90506000815111611520576040518060200160405280600081525061154b565b8061152a846118fb565b60405160200161153b92919061226f565b6040516020818303038152906040525b9392505050565b6001600160a01b0382166115a85760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161047c565b6115b18161104b565b156115fe5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161047c565b61160c600083836001611998565b6116158161104b565b156116625760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161047c565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600054610100900460ff166116f45760405162461bcd60e51b815260040161047c906122cf565b610b9a3361138a565b600054610100900460ff166117245760405162461bcd60e51b815260040161047c906122cf565b8151611737906065906020850190611b73565b508051610657906066906020840190611b73565b600061175682610aa2565b9050611766816000846001611998565b61176f82610aa2565b600083815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526068845282852080546000190190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60006001600160a01b0384163b156118f057604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061183290339089908890889060040161236c565b602060405180830381600087803b15801561184c57600080fd5b505af192505050801561187c575060408051601f3d908101601f19168201909252611879918101906123a9565b60015b6118d6573d8080156118aa576040519150601f19603f3d011682016040523d82523d6000602084013e6118af565b606091505b5080516118ce5760405162461bcd60e51b815260040161047c9061231a565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610e36565b506001949350505050565b6060600061190883611a20565b600101905060008167ffffffffffffffff81111561192857611928611f3e565b6040519080825280601f01601f191660200182016040528015611952576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461198b57611990565b61195c565b509392505050565b6001811115610d27576001600160a01b038416156119de576001600160a01b038416600090815260686020526040812080548392906119d89084906123c6565b90915550505b6001600160a01b03831615610d27576001600160a01b03831660009081526068602052604081208054839290611a159084906123dd565b909155505050505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611a5f5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611a8b576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611aa957662386f26fc10000830492506010015b6305f5e1008310611ac1576305f5e100830492506008015b6127108310611ad557612710830492506004015b60648310611ae7576064830492506002015b600a83106103fd5760010192915050565b5080546000825590600052602060002090810190610a209190611c2d565b828054828255906000526020600020908101928215611b63579160200282015b82811115611b635782518051611b53918491602090910190611b73565b5091602001919060010190611b36565b50611b6f929150611c2d565b5090565b828054611b7f906121e7565b90600052602060002090601f016020900481019282611ba15760008555611be7565b82601f10611bba57805160ff1916838001178555611be7565b82800160010185558215611be7579182015b82811115611be7578251825591602001919060010190611bcc565b50611b6f929150611c4a565b508054611bff906121e7565b6000825580601f10611c0f575050565b601f016020900490600052602060002090810190610a209190611c4a565b80821115611b6f576000611c418282611bf3565b50600101611c2d565b5b80821115611b6f5760008155600101611c4b565b6001600160e01b031981168114610a2057600080fd5b600060208284031215611c8757600080fd5b813561154b81611c5f565b600060208284031215611ca457600080fd5b5035919050565b6020810160048310611ccd57634e487b7160e01b600052602160045260246000fd5b91905290565b60005b83811015611cee578181015183820152602001611cd6565b83811115610d275750506000910152565b60008151808452611d17816020860160208601611cd3565b601f01601f19169290920160200192915050565b60208152600061154b6020830184611cff565b80356001600160a01b0381168114611d5557600080fd5b919050565b60008060408385031215611d6d57600080fd5b611d7683611d3e565b946020939093013593505050565b60008083601f840112611d9657600080fd5b50813567ffffffffffffffff811115611dae57600080fd5b602083019150836020828501011115611dc657600080fd5b9250929050565b600080600060408486031215611de257600080fd5b83359250602084013567ffffffffffffffff811115611e0057600080fd5b611e0c86828701611d84565b9497909650939450505050565b600080600060608486031215611e2e57600080fd5b611e3784611d3e565b9250611e4560208501611d3e565b9150604084013590509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611eaa57603f19888603018452611e98858351611cff565b94509285019290850190600101611e7c565b5092979650505050505050565b60008060008060408587031215611ecd57600080fd5b843567ffffffffffffffff80821115611ee557600080fd5b611ef188838901611d84565b90965094506020870135915080821115611f0a57600080fd5b50611f1787828801611d84565b95989497509550505050565b600060208284031215611f3557600080fd5b61154b82611d3e565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611f7d57611f7d611f3e565b604052919050565b600067ffffffffffffffff831115611f9f57611f9f611f3e565b611fb2601f8401601f1916602001611f54565b9050828152838383011115611fc657600080fd5b828260208301376000602084830101529392505050565b6000806040808486031215611ff157600080fd5b8335925060208085013567ffffffffffffffff8082111561201157600080fd5b818701915087601f83011261202557600080fd5b81358181111561203757612037611f3e565b8060051b612046858201611f54565b918252838101850191858101908b84111561206057600080fd5b86860192505b838310156120b05782358581111561207e5760008081fd5b8601603f81018d136120905760008081fd5b6120a08d898301358b8401611f85565b8352509186019190860190612066565b80985050505050505050509250929050565b600080604083850312156120d557600080fd5b6120de83611d3e565b9150602083013580151581146120f357600080fd5b809150509250929050565b6000806000806080858703121561211457600080fd5b61211d85611d3e565b935061212b60208601611d3e565b925060408501359150606085013567ffffffffffffffff81111561214e57600080fd5b8501601f8101871361215f57600080fd5b61216e87823560208401611f85565b91505092959194509250565b60008060006040848603121561218f57600080fd5b61219884611d3e565b9250602084013567ffffffffffffffff811115611e0057600080fd5b600080604083850312156121c757600080fd5b6121d083611d3e565b91506121de60208401611d3e565b90509250929050565b600181811c908216806121fb57607f821691505b6020821081141561221c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351612281818460208801611cd3565b835190830190612295818360208801611cd3565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b60006000198214156122c8576122c861229e565b5060010190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061239f90830184611cff565b9695505050505050565b6000602082840312156123bb57600080fd5b815161154b81611c5f565b6000828210156123d8576123d861229e565b500390565b600082198211156123f0576123f061229e565b50019056fea264697066735822122027f94d7fa347a28fdcfa9fad3aa9022ea66ded9e185638b350da2701b8d28b3864736f6c63430008090033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/DaoPools/abis/PoolFactory.json b/DaoPools/abis/PoolFactory.json index c5272075..c4ffab21 100644 --- a/DaoPools/abis/PoolFactory.json +++ b/DaoPools/abis/PoolFactory.json @@ -38,6 +38,12 @@ "name": "govUserKeeper", "type": "address" }, + { + "indexed": false, + "internalType": "address", + "name": "localExpertNft", + "type": "address" + }, { "indexed": false, "internalType": "address", diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index ffbcad0b..750441b5 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -58,6 +58,7 @@ type DaoPool @entity { proposals: [Proposal!]! @derivedFrom(field: "pool") settings: [ProposalSettings!]! @derivedFrom(field: "pool") executors: [Executor!]! @derivedFrom(field: "pool") + experts: [ExpertInPool!]! @derivedFrom(field: "pool") tokenSales: [TokenSale!]! @derivedFrom(field: "pool") } @@ -359,3 +360,36 @@ type InteractionCount @entity { id: Bytes! count: BigInt! } + +type ExpertNftContract @entity(immutable: true) { + id: Bytes! # contract address + daoPool: DaoPool! +} + +type GlobalExpert @entity { + id: Bytes! # voter address + nft: ExpertNft! +} + +type Expert @entity { + id: Bytes! # voter address + pools: [Bytes!]! + + nfts: [ExpertNft!]! @derivedFrom(field: "expert") +} + +type ExpertInPool @entity { + id: Bytes! # voter address + pool address + tokenId: BigInt! + + pool: DaoPool! + expert: Voter! +} + +type ExpertNft @entity { + id: Bytes! # ExpertNft address + token id + expert: Expert! + + tokenId: BigInt! + tags: [String!]! +} diff --git a/DaoPools/src/entities/ExpertNft/Expert.ts b/DaoPools/src/entities/ExpertNft/Expert.ts new file mode 100644 index 00000000..6975c9c1 --- /dev/null +++ b/DaoPools/src/entities/ExpertNft/Expert.ts @@ -0,0 +1,13 @@ +import { Address, Bytes } from "@graphprotocol/graph-ts"; +import { Expert } from "../../../generated/schema"; + +export function getExpert(expertAddress: Address): Expert { + let expert = Expert.load(expertAddress); + + if (expert == null) { + expert = new Expert(expertAddress); + expert.pools = new Array(); + } + + return expert; +} diff --git a/DaoPools/src/entities/ExpertNft/ExpertInPool.ts b/DaoPools/src/entities/ExpertNft/ExpertInPool.ts new file mode 100644 index 00000000..ef2cd6fe --- /dev/null +++ b/DaoPools/src/entities/ExpertNft/ExpertInPool.ts @@ -0,0 +1,17 @@ +import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { DaoPool, Expert, ExpertInPool } from "../../../generated/schema"; + +export function getExpertInPool(expert: Expert, pool: Bytes, tokenId: BigInt = BigInt.zero()): ExpertInPool { + const id = expert.id.concat(pool); + let expertInPool = ExpertInPool.load(id); + + if (expertInPool == null) { + expertInPool = new ExpertInPool(id); + expertInPool.tokenId = tokenId; + + expertInPool.expert = expert.id; + expertInPool.pool = pool; + } + + return expertInPool; +} diff --git a/DaoPools/src/entities/ExpertNft/ExpertNft.ts b/DaoPools/src/entities/ExpertNft/ExpertNft.ts new file mode 100644 index 00000000..de8f34bb --- /dev/null +++ b/DaoPools/src/entities/ExpertNft/ExpertNft.ts @@ -0,0 +1,18 @@ +import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { ExpertNft } from "../../../generated/schema"; + +export function getExpertNft(expertNftAddress: Address, tokenId: BigInt, expert: Bytes = Bytes.empty()): ExpertNft { + const id = expertNftAddress.concat(Bytes.fromByteArray(Bytes.fromBigInt(tokenId))); + let expertNft = ExpertNft.load(id); + + if (expertNft == null) { + expertNft = new ExpertNft(id); + + expertNft.expert = expert; + + expertNft.tokenId = tokenId; + expertNft.tags = new Array(); + } + + return expertNft; +} diff --git a/DaoPools/src/entities/ExpertNft/GlobalExpert.ts b/DaoPools/src/entities/ExpertNft/GlobalExpert.ts new file mode 100644 index 00000000..a89da631 --- /dev/null +++ b/DaoPools/src/entities/ExpertNft/GlobalExpert.ts @@ -0,0 +1,13 @@ +import { Address, Bytes } from "@graphprotocol/graph-ts"; +import { GlobalExpert } from "../../../generated/schema"; + +export function getGlobalExpert(expertAddress: Address, nft: Bytes = Bytes.empty()): GlobalExpert { + let expert = GlobalExpert.load(expertAddress); + + if (expert == null) { + expert = new GlobalExpert(expertAddress); + expert.nft = nft; + } + + return expert; +} diff --git a/DaoPools/src/entities/ExpertNftContract.ts b/DaoPools/src/entities/ExpertNftContract.ts new file mode 100644 index 00000000..ebf27ab9 --- /dev/null +++ b/DaoPools/src/entities/ExpertNftContract.ts @@ -0,0 +1,13 @@ +import { Address } from "@graphprotocol/graph-ts"; +import { ExpertNftContract } from "../../generated/schema"; + +export function getExpertNftContract(expertNftAddress: Address, poolId: Address = Address.zero()): ExpertNftContract { + let expertNft = ExpertNftContract.load(expertNftAddress); + + if (expertNft == null) { + expertNft = new ExpertNftContract(expertNftAddress); + expertNft.daoPool = poolId; + } + + return expertNft; +} diff --git a/DaoPools/src/mappings/ERC721Expert.ts b/DaoPools/src/mappings/ERC721Expert.ts new file mode 100644 index 00000000..7b6d1152 --- /dev/null +++ b/DaoPools/src/mappings/ERC721Expert.ts @@ -0,0 +1,48 @@ +import { pushUnique, remove } from "@dlsl/graph-modules"; +import { Transfer, TagsAdded } from "../../generated/templates/ERC721Expert/ERC721Expert"; +import { getExpertNft } from "../entities/ExpertNft/ExpertNft"; +import { Address, Bytes, store } from "@graphprotocol/graph-ts"; +import { getExpert } from "../entities/ExpertNft/Expert"; +import { getExpertInPool } from "../entities/ExpertNft/ExpertInPool"; +import { getExpertNftContract } from "../entities/ExpertNftContract"; + +export function onTransfer(event: Transfer): void { + let expertNftContract = getExpertNftContract(event.address); + + if (event.params.from.equals(Address.zero())) { + const expert = getExpert(event.params.to); + const expertInPool = getExpertInPool(expert, expertNftContract.daoPool, event.params.tokenId); + getExpertNft(event.address, event.params.tokenId, event.params.to).save(); + + expert.pools = pushUnique(expert.pools, [expertNftContract.daoPool]); + + expertInPool.save(); + expert.save(); + } else { + const expert = getExpert(event.params.from); + + expert.pools = remove(expert.pools, [expertNftContract.daoPool]); + + store.remove("ExpertInPool", event.params.from.concat(expertNftContract.daoPool).toHexString()); + store.remove( + "ExpertNft", + event.address.concat(Bytes.fromByteArray(Bytes.fromBigInt(event.params.tokenId))).toHexString() + ); + + if (expert.pools.length == 0) { + store.remove("Expert", expert.id.toHexString()); + } else { + expert.save(); + } + } + + expertNftContract.save(); +} + +export function onTagsAdded(event: TagsAdded): void { + const expertNft = getExpertNft(event.address, event.params.tokenId); + + expertNft.tags = pushUnique(expertNft.tags, event.params.tags); + + expertNft.save(); +} diff --git a/DaoPools/src/mappings/GlobalERC721Expert.ts b/DaoPools/src/mappings/GlobalERC721Expert.ts new file mode 100644 index 00000000..c6b54886 --- /dev/null +++ b/DaoPools/src/mappings/GlobalERC721Expert.ts @@ -0,0 +1,29 @@ +import { pushUnique } from "@dlsl/graph-modules"; +import { Transfer, TagsAdded } from "../../generated/templates/ERC721Expert/ERC721Expert"; +import { getExpertNft } from "../entities/ExpertNft/ExpertNft"; +import { Address, Bytes, store } from "@graphprotocol/graph-ts"; +import { getGlobalExpert } from "../entities/ExpertNft/GlobalExpert"; + +export function onTransfer(event: Transfer): void { + if (event.params.from.equals(Address.zero())) { + const nft = getExpertNft(event.address, event.params.tokenId, event.params.to); + + getGlobalExpert(event.params.to, nft.id).save(); + + nft.save(); + } else { + store.remove( + "ExpertNft", + event.address.concat(Bytes.fromByteArray(Bytes.fromBigInt(event.params.tokenId))).toHexString() + ); + store.remove("GlobalExpert", event.params.from.toHexString()); + } +} + +export function onTagsAdded(event: TagsAdded): void { + const expertNft = getExpertNft(event.address, event.params.tokenId); + + expertNft.tags = pushUnique(expertNft.tags, event.params.tags); + + expertNft.save(); +} diff --git a/DaoPools/src/mappings/PoolFactory.ts b/DaoPools/src/mappings/PoolFactory.ts index 6aec92c6..e00bef47 100644 --- a/DaoPools/src/mappings/PoolFactory.ts +++ b/DaoPools/src/mappings/PoolFactory.ts @@ -1,7 +1,15 @@ import { DaoPoolDeployed, DaoTokenSaleDeployed } from "../../generated/PoolFactory/PoolFactory"; -import { DaoPool, DaoSettings, DistributionProposal, TokenSale, UserKeeper } from "../../generated/templates"; +import { + DaoPool, + DaoSettings, + DistributionProposal, + TokenSale, + UserKeeper, + ERC721Expert, +} from "../../generated/templates"; import { getDaoPool } from "../entities/DaoPool"; import { getDPContract } from "../entities/DPContract"; +import { getExpertNftContract } from "../entities/ExpertNftContract"; import { getSettingsContract } from "../entities/SettingsContract"; import { getTokenSale } from "../entities/TokenSale"; import { getUserKeeperContract } from "../entities/UserKeeperContract"; @@ -12,11 +20,13 @@ export function onDeployed(event: DaoPoolDeployed): void { getDPContract(event.params.dp, event.params.govPool).save(); getSettingsContract(event.params.settings, event.params.govPool).save(); getUserKeeperContract(event.params.govUserKeeper, event.params.govPool).save(); + getExpertNftContract(event.params.localExpertNft, event.params.govPool).save(); DaoPool.create(event.params.govPool); DistributionProposal.create(event.params.dp); DaoSettings.create(event.params.settings); UserKeeper.create(event.params.govUserKeeper); + ERC721Expert.create(event.params.localExpertNft); } export function onTokenSaleDeployed(event: DaoTokenSaleDeployed): void { diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index 3c4c4491..5aa245fd 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -20,10 +20,34 @@ dataSources: - name: PoolFactory file: ./abis/PoolFactory.json eventHandlers: - - event: DaoPoolDeployed(string,address,address,address,address,address,address) + - event: DaoPoolDeployed(string,address,address,address,address,address,address,address) handler: onDeployed - event: DaoTokenSaleDeployed(address,address,address) handler: onTokenSaleDeployed + - kind: ethereum/contract + name: ERC721Expert + network: chapel + source: + address: "0x47eEcd37B2b684EaD7Aca8081Bd46a0AfC19269b" + abi: ERC721Expert + startBlock: 27518585 + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/mappings/GlobalERC721Expert.ts + entities: + - ExpertNFTContract + - GlobalExpert + - ExpertNft + abis: + - name: ERC721Expert + file: ./abis/ERC721Expert.json + eventHandlers: + - event: Transfer(indexed address,indexed address,indexed uint256) + handler: onTransfer + - event: TagsAdded(indexed uint256,string[]) + handler: onTagsAdded templates: - kind: ethereum/contract @@ -148,3 +172,26 @@ templates: handler: onBought - event: Whitelisted(uint256,address) handler: onWhitelisted + - kind: ethereum/contract + name: ERC721Expert + network: chapel + source: + abi: ERC721Expert + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/mappings/ERC721Expert.ts + entities: + - ExpertNFTContract + - Expert + - ExpertInPool + - ExpertNft + abis: + - name: ERC721Expert + file: ./abis/ERC721Expert.json + eventHandlers: + - event: Transfer(indexed address,indexed address,indexed uint256) + handler: onTransfer + - event: TagsAdded(indexed uint256,string[]) + handler: onTagsAdded diff --git a/DaoPools/tests/ERC721Expert.test.ts b/DaoPools/tests/ERC721Expert.test.ts new file mode 100644 index 00000000..191817ed --- /dev/null +++ b/DaoPools/tests/ERC721Expert.test.ts @@ -0,0 +1,253 @@ +import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { assert, beforeAll, afterEach, describe, newMockEvent, test } from "matchstick-as"; +import { TagsAdded, Transfer } from "../generated/templates/ERC721Expert/ERC721Expert"; +import { getBlock, getTransaction } from "./utils"; +import { onTagsAdded, onTransfer } from "../src/mappings/ERC721Expert"; +import { ExpertNftContract } from "../generated/schema"; +import { getDaoPool } from "../src/entities/DaoPool"; + +function createTransfer( + from: Address, + to: Address, + tokenId: BigInt, + contractSender: Bytes, + block: ethereum.Block, + tx: ethereum.Transaction +): Transfer { + let event = changetype(newMockEvent()); + event.parameters = new Array(); + + event.parameters.push(new ethereum.EventParam("from", ethereum.Value.fromAddress(from))); + event.parameters.push(new ethereum.EventParam("to", ethereum.Value.fromAddress(to))); + event.parameters.push(new ethereum.EventParam("tokenId", ethereum.Value.fromUnsignedBigInt(tokenId))); + + event.block = block; + event.transaction = tx; + event.address = Address.fromBytes(contractSender); + + return event; +} + +function createTagsAdded( + tokenId: BigInt, + tags: Array, + contractSender: Bytes, + block: ethereum.Block, + tx: ethereum.Transaction +): TagsAdded { + let event = changetype(newMockEvent()); + event.parameters = new Array(); + + event.parameters.push(new ethereum.EventParam("tokenId", ethereum.Value.fromUnsignedBigInt(tokenId))); + event.parameters.push(new ethereum.EventParam("tags", ethereum.Value.fromStringArray(tags))); + + event.block = block; + event.transaction = tx; + event.address = Address.fromBytes(contractSender); + + return event; +} + +const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); +const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); +const daoPools = [ + Address.fromString("0x8081f9dDc36585D7BDe9673762BeCa477b49CdA2"), + Address.fromString("0x5027c0495dE7f867aDf7F7084Dc4e802D6865bc0"), +]; +const nfts = [ + Address.fromString("0x328f2a5cd77856aD326635485192D959ECcE1A70"), + Address.fromString("0xD7AA6C70a88D47bF6625FFFF29d8cBDbC1A5CB9f"), +]; + +describe("ERC721Expert", () => { + beforeAll(() => { + getDaoPool(Address.fromBytes(daoPools[0])).save(); + getDaoPool(Address.fromBytes(daoPools[1])).save(); + + let nft = new ExpertNftContract(nfts[0]); + nft.daoPool = daoPools[0]; + nft.save(); + + nft = new ExpertNftContract(nfts[1]); + nft.daoPool = daoPools[1]; + nft.save(); + }); + + test("should handle Transfer (mint)", () => { + const from = Address.zero(); + const to = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181671"); + + let tokenId = BigInt.fromI32(1); + + let event = createTransfer(from, to, tokenId, nfts[0], block, tx); + + onTransfer(event); + + assert.fieldEquals("Expert", to.toHexString(), "id", to.toHexString()); + assert.fieldEquals("Expert", to.toHexString(), "pools", `[${daoPools[0].toHexString()}]`); + + assert.fieldEquals( + "ExpertInPool", + to.concat(daoPools[0]).toHexString(), + "id", + to.concat(daoPools[0]).toHexString() + ); + assert.fieldEquals("ExpertInPool", to.concat(daoPools[0]).toHexString(), "tokenId", tokenId.toString()); + assert.fieldEquals("ExpertInPool", to.concat(daoPools[0]).toHexString(), "pool", daoPools[0].toHexString()); + assert.fieldEquals("ExpertInPool", to.concat(daoPools[0]).toHexString(), "expert", to.toHexString()); + + assert.fieldEquals( + "ExpertNft", + nfts[0].concat(bytesFromBigInt(tokenId)).toHexString(), + "id", + nfts[0].concat(bytesFromBigInt(tokenId)).toHexString() + ); + assert.fieldEquals( + "ExpertNft", + nfts[0].concat(bytesFromBigInt(tokenId)).toHexString(), + "tokenId", + tokenId.toString() + ); + assert.fieldEquals("ExpertNft", nfts[0].concat(bytesFromBigInt(tokenId)).toHexString(), "tags", "[]"); + assert.fieldEquals("ExpertNft", nfts[0].concat(bytesFromBigInt(tokenId)).toHexString(), "expert", to.toHexString()); + + event = createTransfer(from, to, tokenId, nfts[1], block, tx); + + onTransfer(event); + + assert.fieldEquals("Expert", to.toHexString(), "id", to.toHexString()); + assert.fieldEquals( + "Expert", + to.toHexString(), + "pools", + `[${daoPools[0].toHexString()}, ${daoPools[1].toHexString()}]` + ); + + assert.fieldEquals( + "ExpertInPool", + to.concat(daoPools[1]).toHexString(), + "id", + to.concat(daoPools[1]).toHexString() + ); + assert.fieldEquals("ExpertInPool", to.concat(daoPools[1]).toHexString(), "tokenId", tokenId.toString()); + assert.fieldEquals("ExpertInPool", to.concat(daoPools[1]).toHexString(), "pool", daoPools[1].toHexString()); + assert.fieldEquals("ExpertInPool", to.concat(daoPools[1]).toHexString(), "expert", to.toHexString()); + + assert.fieldEquals( + "ExpertNft", + nfts[1].concat(bytesFromBigInt(tokenId)).toHexString(), + "id", + nfts[1].concat(bytesFromBigInt(tokenId)).toHexString() + ); + assert.fieldEquals( + "ExpertNft", + nfts[1].concat(bytesFromBigInt(tokenId)).toHexString(), + "tokenId", + tokenId.toString() + ); + assert.fieldEquals("ExpertNft", nfts[0].concat(bytesFromBigInt(tokenId)).toHexString(), "tags", "[]"); + assert.fieldEquals("ExpertNft", nfts[1].concat(bytesFromBigInt(tokenId)).toHexString(), "expert", to.toHexString()); + }); + + test("should handle Transfer (burn)", () => { + const from = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181671"); + const to = Address.zero(); + + let tokenId = BigInt.fromI32(1); + + let event = createTransfer(from, to, tokenId, nfts[0], block, tx); + + onTransfer(event); + + assert.fieldEquals("Expert", from.toHexString(), "id", from.toHexString()); + assert.fieldEquals("Expert", from.toHexString(), "pools", `[${daoPools[1].toHexString()}]`); + + assert.notInStore("ExpertInPool", to.concat(daoPools[0]).toHexString()); + assert.notInStore("ExpertNft", nfts[0].concat(bytesFromBigInt(tokenId)).toHexString()); + + assert.fieldEquals( + "ExpertInPool", + from.concat(daoPools[1]).toHexString(), + "id", + from.concat(daoPools[1]).toHexString() + ); + assert.fieldEquals("ExpertInPool", from.concat(daoPools[1]).toHexString(), "tokenId", tokenId.toString()); + assert.fieldEquals("ExpertInPool", from.concat(daoPools[1]).toHexString(), "pool", daoPools[1].toHexString()); + assert.fieldEquals("ExpertInPool", from.concat(daoPools[1]).toHexString(), "expert", from.toHexString()); + + assert.fieldEquals( + "ExpertNft", + nfts[1].concat(bytesFromBigInt(tokenId)).toHexString(), + "id", + nfts[1].concat(bytesFromBigInt(tokenId)).toHexString() + ); + assert.fieldEquals( + "ExpertNft", + nfts[1].concat(bytesFromBigInt(tokenId)).toHexString(), + "tokenId", + tokenId.toString() + ); + assert.fieldEquals("ExpertNft", nfts[1].concat(bytesFromBigInt(tokenId)).toHexString(), "tags", "[]"); + assert.fieldEquals( + "ExpertNft", + nfts[1].concat(bytesFromBigInt(tokenId)).toHexString(), + "expert", + from.toHexString() + ); + + event = createTransfer(from, to, tokenId, nfts[1], block, tx); + + onTransfer(event); + + assert.notInStore("Expert", from.toHexString()); + assert.notInStore("ExpertInPool", from.concat(daoPools[1]).toHexString()); + assert.notInStore("ExpertNft", nfts[1].concat(bytesFromBigInt(tokenId)).toHexString()); + }); + + test("should handle TagsAdded", () => { + let tokenId = BigInt.fromI32(1); + let tags = ["tag1", "tag2"]; + + let event = createTagsAdded(tokenId, tags, nfts[0], block, tx); + + onTagsAdded(event); + + assert.fieldEquals( + "ExpertNft", + nfts[0].concat(bytesFromBigInt(tokenId)).toHexString(), + "id", + nfts[0].concat(bytesFromBigInt(tokenId)).toHexString() + ); + assert.fieldEquals( + "ExpertNft", + nfts[0].concat(bytesFromBigInt(tokenId)).toHexString(), + "tokenId", + tokenId.toString() + ); + assert.fieldEquals("ExpertNft", nfts[0].concat(bytesFromBigInt(tokenId)).toHexString(), "tags", "[tag1, tag2]"); + + tags = ["tag3"]; + + event = createTagsAdded(tokenId, tags, nfts[1], block, tx); + + onTagsAdded(event); + + assert.fieldEquals( + "ExpertNft", + nfts[1].concat(bytesFromBigInt(tokenId)).toHexString(), + "id", + nfts[1].concat(bytesFromBigInt(tokenId)).toHexString() + ); + assert.fieldEquals( + "ExpertNft", + nfts[1].concat(bytesFromBigInt(tokenId)).toHexString(), + "tokenId", + tokenId.toString() + ); + assert.fieldEquals("ExpertNft", nfts[1].concat(bytesFromBigInt(tokenId)).toHexString(), "tags", "[tag3]"); + }); +}); + +function bytesFromBigInt(v: BigInt): Bytes { + return Bytes.fromByteArray(Bytes.fromBigInt(v)); +} diff --git a/DaoPools/tests/GlobalERC721Expert.test.ts b/DaoPools/tests/GlobalERC721Expert.test.ts new file mode 100644 index 00000000..8335d70c --- /dev/null +++ b/DaoPools/tests/GlobalERC721Expert.test.ts @@ -0,0 +1,134 @@ +import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { assert, beforeAll, afterEach, describe, newMockEvent, test } from "matchstick-as"; +import { TagsAdded, Transfer } from "../generated/templates/ERC721Expert/ERC721Expert"; +import { getBlock, getTransaction } from "./utils"; +import { onTagsAdded, onTransfer } from "../src/mappings/GlobalERC721Expert"; + +function createTransfer( + from: Address, + to: Address, + tokenId: BigInt, + contractSender: Bytes, + block: ethereum.Block, + tx: ethereum.Transaction +): Transfer { + let event = changetype(newMockEvent()); + event.parameters = new Array(); + + event.parameters.push(new ethereum.EventParam("from", ethereum.Value.fromAddress(from))); + event.parameters.push(new ethereum.EventParam("to", ethereum.Value.fromAddress(to))); + event.parameters.push(new ethereum.EventParam("tokenId", ethereum.Value.fromUnsignedBigInt(tokenId))); + + event.block = block; + event.transaction = tx; + event.address = Address.fromBytes(contractSender); + + return event; +} + +function createTagsAdded( + tokenId: BigInt, + tags: Array, + contractSender: Bytes, + block: ethereum.Block, + tx: ethereum.Transaction +): TagsAdded { + let event = changetype(newMockEvent()); + event.parameters = new Array(); + + event.parameters.push(new ethereum.EventParam("tokenId", ethereum.Value.fromUnsignedBigInt(tokenId))); + event.parameters.push(new ethereum.EventParam("tags", ethereum.Value.fromStringArray(tags))); + + event.block = block; + event.transaction = tx; + event.address = Address.fromBytes(contractSender); + + return event; +} + +const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); +const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); + +const nft = Address.fromString("0x328f2a5cd77856aD326635485192D959ECcE1A70"); + +describe("GlobalERC721Expert", () => { + test("should handle Transfer (mint)", () => { + const from = Address.zero(); + const to = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181671"); + + let tokenId = BigInt.fromI32(1); + + let event = createTransfer(from, to, tokenId, nft, block, tx); + + onTransfer(event); + + assert.fieldEquals("GlobalExpert", to.toHexString(), "id", to.toHexString()); + assert.fieldEquals( + "GlobalExpert", + to.toHexString(), + "nft", + event.address.concat(bytesFromBigInt(tokenId)).toHexString() + ); + + assert.fieldEquals( + "ExpertNft", + nft.concat(bytesFromBigInt(tokenId)).toHexString(), + "id", + nft.concat(bytesFromBigInt(tokenId)).toHexString() + ); + assert.fieldEquals("ExpertNft", nft.concat(bytesFromBigInt(tokenId)).toHexString(), "tokenId", tokenId.toString()); + assert.fieldEquals("ExpertNft", nft.concat(bytesFromBigInt(tokenId)).toHexString(), "tags", "[]"); + assert.fieldEquals("ExpertNft", nft.concat(bytesFromBigInt(tokenId)).toHexString(), "expert", to.toHexString()); + }); + + test("should handle Transfer (burn)", () => { + const from = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181671"); + const to = Address.zero(); + + let tokenId = BigInt.fromI32(1); + + let event = createTransfer(from, to, tokenId, nft, block, tx); + + onTransfer(event); + + assert.notInStore("ExpertNft", nft.concat(bytesFromBigInt(tokenId)).toHexString()); + assert.notInStore("GlobalExpert", from.toHexString()); + }); + + test("should handle TagsAdded", () => { + let tokenId = BigInt.fromI32(1); + let tags = ["tag1", "tag2"]; + + let event = createTagsAdded(tokenId, tags, nft, block, tx); + + onTagsAdded(event); + + assert.fieldEquals( + "ExpertNft", + nft.concat(bytesFromBigInt(tokenId)).toHexString(), + "id", + nft.concat(bytesFromBigInt(tokenId)).toHexString() + ); + assert.fieldEquals("ExpertNft", nft.concat(bytesFromBigInt(tokenId)).toHexString(), "tokenId", tokenId.toString()); + assert.fieldEquals("ExpertNft", nft.concat(bytesFromBigInt(tokenId)).toHexString(), "tags", "[tag1, tag2]"); + + tags = ["tag3"]; + + event = createTagsAdded(tokenId, tags, nft, block, tx); + + onTagsAdded(event); + + assert.fieldEquals( + "ExpertNft", + nft.concat(bytesFromBigInt(tokenId)).toHexString(), + "id", + nft.concat(bytesFromBigInt(tokenId)).toHexString() + ); + assert.fieldEquals("ExpertNft", nft.concat(bytesFromBigInt(tokenId)).toHexString(), "tokenId", tokenId.toString()); + assert.fieldEquals("ExpertNft", nft.concat(bytesFromBigInt(tokenId)).toHexString(), "tags", "[tag1, tag2, tag3]"); + }); +}); + +function bytesFromBigInt(v: BigInt): Bytes { + return Bytes.fromByteArray(Bytes.fromBigInt(v)); +} diff --git a/DaoPools/tests/PoolFactory.test.ts b/DaoPools/tests/PoolFactory.test.ts index b628d6ef..466af890 100644 --- a/DaoPools/tests/PoolFactory.test.ts +++ b/DaoPools/tests/PoolFactory.test.ts @@ -11,6 +11,7 @@ function createDaoPoolDeployed( validators: Address, settings: Address, govUserKeeper: Address, + expertNft: Address, sender: Address, block: ethereum.Block, tx: ethereum.Transaction @@ -24,6 +25,7 @@ function createDaoPoolDeployed( event.parameters.push(new ethereum.EventParam("validators", ethereum.Value.fromAddress(validators))); event.parameters.push(new ethereum.EventParam("settings", ethereum.Value.fromAddress(settings))); event.parameters.push(new ethereum.EventParam("govUserKeeper", ethereum.Value.fromAddress(govUserKeeper))); + event.parameters.push(new ethereum.EventParam("localExpertNft", ethereum.Value.fromAddress(expertNft))); event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); event.block = block; @@ -61,9 +63,21 @@ describe("PoolFactory", () => { let validators = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); let settings = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"); let govUserKeeper = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181673"); + let expertNft = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181673"); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181674"); - let event = createDaoPoolDeployed(name, govPool, dp, validators, settings, govUserKeeper, sender, block, tx); + let event = createDaoPoolDeployed( + name, + govPool, + dp, + validators, + settings, + govUserKeeper, + expertNft, + sender, + block, + tx + ); onDeployed(event); diff --git a/DaoValidators/abis/PoolFactory.json b/DaoValidators/abis/PoolFactory.json index c5272075..c4ffab21 100644 --- a/DaoValidators/abis/PoolFactory.json +++ b/DaoValidators/abis/PoolFactory.json @@ -38,6 +38,12 @@ "name": "govUserKeeper", "type": "address" }, + { + "indexed": false, + "internalType": "address", + "name": "localExpertNft", + "type": "address" + }, { "indexed": false, "internalType": "address", diff --git a/DaoValidators/subgraph.yaml b/DaoValidators/subgraph.yaml index b210c384..0a85dc6b 100644 --- a/DaoValidators/subgraph.yaml +++ b/DaoValidators/subgraph.yaml @@ -20,7 +20,7 @@ dataSources: - name: PoolFactory file: ./abis/PoolFactory.json eventHandlers: - - event: DaoPoolDeployed(string,address,address,address,address,address,address) + - event: DaoPoolDeployed(string,address,address,address,address,address,address,address) handler: onDeployed templates: diff --git a/InvestPool/abis/PoolFactory.json b/InvestPool/abis/PoolFactory.json index c5272075..c4ffab21 100644 --- a/InvestPool/abis/PoolFactory.json +++ b/InvestPool/abis/PoolFactory.json @@ -38,6 +38,12 @@ "name": "govUserKeeper", "type": "address" }, + { + "indexed": false, + "internalType": "address", + "name": "localExpertNft", + "type": "address" + }, { "indexed": false, "internalType": "address", From 7d567e55c2758cc18ea40fed301e48c6f7301a0c Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Wed, 26 Jul 2023 17:44:29 +0300 Subject: [PATCH 08/44] added proposalsCount to VoterInPool (#115) * added proposalsCount to VoterInPool * fixed onRewardClaimed handler --- DaoPools/schema.graphql | 4 +- DaoPools/src/entities/Voters/VoterInPool.ts | 3 ++ DaoPools/src/mappings/DaoPool.ts | 6 +++ DaoPools/tests/DaoPool.test.ts | 53 +++++++++++++++++++++ 4 files changed, 65 insertions(+), 1 deletion(-) diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index 750441b5..580fb019 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -173,7 +173,9 @@ type VoterInPool @entity { pool: DaoPool! voter: Voter! - proposals: [VoterInProposal!]! @derivedFrom(field: "voter") + proposalsCount: BigInt! + + proposals: [VoterInProposal!]! claimedDPs: [DistributionProposal!]! } diff --git a/DaoPools/src/entities/Voters/VoterInPool.ts b/DaoPools/src/entities/Voters/VoterInPool.ts index b793656e..e630b81d 100644 --- a/DaoPools/src/entities/Voters/VoterInPool.ts +++ b/DaoPools/src/entities/Voters/VoterInPool.ts @@ -37,6 +37,9 @@ export function getVoterInPool(pool: DaoPool, voter: Voter, timestamp: BigInt): voterInPool.totalStakingReward = BigInt.zero(); + voterInPool.proposalsCount = BigInt.zero(); + voterInPool.proposals = new Array(); + pool.votersCount = pool.votersCount.plus(BigInt.fromI32(1)); } diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index 1f530855..4d5b266c 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -208,6 +208,9 @@ export function onVoted(event: Voted): void { proposal.votesCount = proposal.votesCount.plus(BigInt.fromI32(1)); + voterInPool.proposals = pushUnique(voterInPool.proposals, [voterInProposal.id]); + voterInPool.proposalsCount = BigInt.fromI32(voterInPool.proposals.length); + proposalVote.save(); voterInProposal.save(); voterInPool.save(); @@ -300,6 +303,9 @@ export function onRewardCredited(event: RewardCredited): void { voterInProposal.unclaimedRewardUSDAgainst = voterInProposal.unclaimedRewardUSDAgainst.plus(usdAmount); } + voterInPool.proposals = pushUnique(voterInPool.proposals, [voterInProposal.id]); + voterInPool.proposalsCount = BigInt.fromI32(voterInPool.proposals.length); + voterInProposal.save(); } else { let voterOffchain = getVoterOffchain(voter, pool); diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index 38d432f8..47eadfb0 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -699,6 +699,15 @@ describe("DaoPool", () => { personalVoteFor.plus(delegatedVoteFor).toString() ); assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "1"); + + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "proposals", + `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + ); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); + assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), @@ -774,6 +783,15 @@ describe("DaoPool", () => { personalVoteAgainst.plus(delegatedVoteAgainst).toString() ); assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "1"); + + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "proposals", + `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + ); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); + assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), @@ -1027,6 +1045,13 @@ describe("DaoPool", () => { "unclaimedRewardFromDelegationsUSDAgainst", "0" ); + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "proposals", + `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + ); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); }); test("should handle RewardCredited when reward type vote for/against", () => { @@ -1079,6 +1104,13 @@ describe("DaoPool", () => { "totalDelegationRewardUSDAgainst", "0" ); + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "proposals", + `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + ); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); event = createRewardCredited( proposalId, @@ -1124,6 +1156,13 @@ describe("DaoPool", () => { "totalDelegationRewardUSDAgainst", "0" ); + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "proposals", + `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + ); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); }); test("should handle RewardCredited when reward type vote for/against delegated", () => { @@ -1181,6 +1220,13 @@ describe("DaoPool", () => { "totalDelegationRewardUSDAgainst", "0" ); + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "proposals", + `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + ); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); event = createRewardCredited( proposalId, @@ -1231,6 +1277,13 @@ describe("DaoPool", () => { "totalDelegationRewardUSDAgainst", "200" ); + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "proposals", + `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + ); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); }); test("should handle offchain RewardCredited", () => { From 524a6397c401eb3f5576b1f1798c854a481f439c Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Thu, 27 Jul 2023 20:38:25 +0300 Subject: [PATCH 09/44] configured ci for graph tests (#116) --- .github/workflows/test-graphs.yml | 30 ++++++++++++++++++++++++++++++ BasicPool/package-lock.json | 3 +++ package.json | 3 +++ 3 files changed, 36 insertions(+) create mode 100644 .github/workflows/test-graphs.yml diff --git a/.github/workflows/test-graphs.yml b/.github/workflows/test-graphs.yml new file mode 100644 index 00000000..309ab54c --- /dev/null +++ b/.github/workflows/test-graphs.yml @@ -0,0 +1,30 @@ +name: "test-graphs" + +on: + push: + branches: + - master + pull_request: + branches: + - master + - dev + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - name: Checkout the repository + uses: actions/checkout@v3 + + - name: Setup node + uses: actions/setup-node@v3 + with: + node-version: "16.18.x" + cache: npm + + - name: Install packages + run: npm run install-all + + - name: Run tests + run: npm run compile-all && npm run test-all diff --git a/BasicPool/package-lock.json b/BasicPool/package-lock.json index 8265f32c..23355d66 100644 --- a/BasicPool/package-lock.json +++ b/BasicPool/package-lock.json @@ -6658,6 +6658,7 @@ }, "gluegun": { "version": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", + "integrity": "sha512-BPKWUsKoAC+NeFXSNySObftw6lgKipegbbUuaKy6cPXm8z8bkHO3kbn6OVXwoJMkbCJubaFZJj9SGsevNfnJrg==", "from": "gluegun@git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", "requires": { "apisauce": "^1.0.1", @@ -6947,6 +6948,7 @@ }, "concat-stream": { "version": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", + "integrity": "sha512-GBrsRGcg6w3ac6B49frS/FGwdeuWMognaZIGxLfZ93vP2z3bIhaI/Bgn3rrS49lI7lrFznULlNUjWYP4soqgvw==", "from": "concat-stream@github:hugomrdias/concat-stream#feat/smaller", "requires": { "inherits": "^2.0.3", @@ -8153,6 +8155,7 @@ }, "ndjson": { "version": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", + "integrity": "sha512-4HWirDBroNYRKoq+8A7y0uvXlO0dF4p7URRRdqvPSgGjQFVpxpE4uasORXNxeRBMHQnXbTnUBVLXXagwKFH6AQ==", "from": "ndjson@github:hugomrdias/ndjson#feat/readable-stream3", "requires": { "json-stringify-safe": "^5.0.1", diff --git a/package.json b/package.json index 927a3ae9..4e8dba6f 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,9 @@ "license": "UNLICENSED", "scripts": { "install": "npx husky install", + "install-all": "cd AllInteractions && npm install && cd ../AllPools && npm install && cd ../AllPoolsInvestors && npm install && cd ../BasicPool && npm install && cd ../DaoPools && npm install && cd ../DaoValidators && npm install && cd ../InvestPool && npm install", + "compile-all": "cd AllInteractions && npm run compile && cd ../AllPools && npm run compile && cd ../AllPoolsInvestors && npm run compile && cd ../BasicPool && npm run compile && cd ../DaoPools && npm run compile && cd ../DaoValidators && npm run compile && cd ../InvestPool && npm run compile", + "test-all": "cd AllInteractions && npm run test && cd ../AllPools && npm run test && cd ../AllPoolsInvestors && npm run test && cd ../BasicPool && npm run test && cd ../DaoPools && npm run test && cd ../DaoValidators && npm run test && cd ../InvestPool && npm run test", "lint-fix": "npm run lint-ts-fix && npm run lint-ql-fix && npm run lint-json-fix && npm run lint-yaml-fix", "lint-json-fix": "prettier --write \"./[a-zA-Z0-9.]+(?!-lock).json\"", "lint-yaml-fix": "prettier --write \"./**/*.yaml\"", From 9ac8235c03c2560ea6574811af17d81fb09a68c3 Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Tue, 1 Aug 2023 14:14:49 +0300 Subject: [PATCH 10/44] added totals about proposals, votes, rewards to voter entity (#118) --- DaoPools/schema.graphql | 5 +++++ DaoPools/src/entities/Voters/Voter.ts | 7 ++++++- DaoPools/src/mappings/DaoPool.ts | 17 ++++++++++++++--- DaoPools/src/mappings/DistributionProposal.ts | 2 ++ DaoPools/tests/DaoPool.test.ts | 18 ++++++++++++++++++ DaoPools/tests/DistributionProposal.test.ts | 7 +++++++ 6 files changed, 52 insertions(+), 4 deletions(-) diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index 580fb019..001addd2 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -78,6 +78,11 @@ type VoterOffchain @entity { # @param id forms from user address type Voter @entity { id: Bytes! # voter address + totalProposalsCreated: BigInt! + totalClaimedUSD: BigInt! + totalVotedProposals: BigInt! + totalVotes: BigInt! + pools: [VoterInPool!]! @derivedFrom(field: "voter") } diff --git a/DaoPools/src/entities/Voters/Voter.ts b/DaoPools/src/entities/Voters/Voter.ts index fdf276db..7f1678cb 100644 --- a/DaoPools/src/entities/Voters/Voter.ts +++ b/DaoPools/src/entities/Voters/Voter.ts @@ -1,4 +1,4 @@ -import { Address } from "@graphprotocol/graph-ts"; +import { Address, BigInt } from "@graphprotocol/graph-ts"; import { Voter } from "../../../generated/schema"; export function getVoter(voterAddress: Address): Voter { @@ -6,6 +6,11 @@ export function getVoter(voterAddress: Address): Voter { if (voter == null) { voter = new Voter(voterAddress); + + voter.totalProposalsCreated = BigInt.zero(); + voter.totalClaimedUSD = BigInt.zero(); + voter.totalVotedProposals = BigInt.zero(); + voter.totalVotes = BigInt.zero(); } return voter; diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index 4d5b266c..8383e412 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -63,6 +63,11 @@ export function onProposalCreated(event: ProposalCreated): void { pool.proposalCount = pool.proposalCount.plus(BigInt.fromI32(1)); + let voter = getVoter(Address.fromBytes(proposal.creator)); + + voter.totalProposalsCreated = voter.totalProposalsCreated.plus(BigInt.fromI32(1)); + + voter.save(); settings.save(); pool.save(); proposal.save(); @@ -204,6 +209,8 @@ export function onVoted(event: Voted): void { if (proposal.voters.length < newVoters.length) { proposal.voters = newVoters; proposal.votersVoted = proposal.votersVoted.plus(BigInt.fromI32(1)); + + voter.totalVotedProposals = voter.totalVotedProposals.plus(BigInt.fromI32(1)); } proposal.votesCount = proposal.votesCount.plus(BigInt.fromI32(1)); @@ -211,6 +218,8 @@ export function onVoted(event: Voted): void { voterInPool.proposals = pushUnique(voterInPool.proposals, [voterInProposal.id]); voterInPool.proposalsCount = BigInt.fromI32(voterInPool.proposals.length); + voter.totalVotes = voter.totalVotes.plus(event.params.personalVote).plus(event.params.delegatedVote); + proposalVote.save(); voterInProposal.save(); voterInPool.save(); @@ -266,6 +275,7 @@ export function onRewardClaimed(event: RewardClaimed): void { } voterInPool.totalClaimedUSD = voterInPool.totalClaimedUSD.plus(usdAmount); + voter.totalClaimedUSD = voter.totalClaimedUSD.plus(usdAmount); voterInPool.save(); voter.save(); @@ -359,9 +369,10 @@ export function onStakingRewardClaimed(event: StakingRewardClaimed): void { let voter = getVoter(event.params.user); let voterInPool = getVoterInPool(pool, voter, event.block.timestamp); - voterInPool.totalStakingReward = voterInPool.totalStakingReward.plus( - getUSDValue(event.params.token, event.params.amount) - ); + const usdAmount = getUSDValue(event.params.token, event.params.amount); + voter.totalClaimedUSD = voter.totalClaimedUSD.plus(usdAmount); + + voterInPool.totalStakingReward = voterInPool.totalStakingReward.plus(usdAmount); voterInPool.save(); voter.save(); diff --git a/DaoPools/src/mappings/DistributionProposal.ts b/DaoPools/src/mappings/DistributionProposal.ts index c1f7a38b..62340364 100644 --- a/DaoPools/src/mappings/DistributionProposal.ts +++ b/DaoPools/src/mappings/DistributionProposal.ts @@ -32,6 +32,8 @@ export function onDistributionProposalClaimed(event: DistributionProposalClaimed voterInPool.totalDPClaimed = voterInPool.totalDPClaimed.plus(usdAmount); voterInProposal.claimedDpRewardUSD = usdAmount; + voter.totalClaimedUSD = voter.totalClaimedUSD.plus(usdAmount); + proposal.save(); voterInProposal.save(); voterInPool.save(); diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index 47eadfb0..0f7838f8 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -453,6 +453,9 @@ describe("DaoPool", () => { onProposalCreated(event); assert.fieldEquals("DaoPool", contractSender.toHexString(), "votersCount", "0"); + + assert.fieldEquals("Voter", sender.toHexString(), "totalProposalsCreated", "1"); + assert.fieldEquals( "Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), @@ -692,6 +695,8 @@ describe("DaoPool", () => { onVoted(event); + assert.fieldEquals("Voter", sender.toHexString(), "totalVotedProposals", "1"); + assert.fieldEquals("Voter", sender.toHexString(), "totalVotes", personalVoteFor.plus(delegatedVoteFor).toString()); assert.fieldEquals( "Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), @@ -776,6 +781,13 @@ describe("DaoPool", () => { onVoted(event); + assert.fieldEquals("Voter", sender.toHexString(), "totalVotedProposals", "1"); + assert.fieldEquals( + "Voter", + sender.toHexString(), + "totalVotes", + personalVoteFor.plus(delegatedVoteFor).plus(personalVoteAgainst).plus(delegatedVoteAgainst).toString() + ); assert.fieldEquals( "Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), @@ -958,6 +970,7 @@ describe("DaoPool", () => { onRewardClaimed(event0); + assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", amounts[0].toString()); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalIds[0].toI32()).toHexString(), @@ -973,6 +986,7 @@ describe("DaoPool", () => { onRewardClaimed(event1); + assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", amounts[0].plus(amounts[1]).toString()); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalIds[1].toI32()).toHexString(), @@ -997,6 +1011,8 @@ describe("DaoPool", () => { onRewardClaimed(event); + assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", "200"); + assert.fieldEquals("VoterOffchain", sender.concat(contractSender).toHexString(), "claimedRewardUSD", `200`); assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalClaimedUSD", "200"); @@ -1401,10 +1417,12 @@ describe("DaoPool", () => { onStakingRewardClaimed(event); + assert.fieldEquals("Voter", user.toHexString(), "totalClaimedUSD", "1500"); assert.fieldEquals("VoterInPool", user.concat(contractSender).toHexString(), "totalStakingReward", "1500"); onStakingRewardClaimed(event); + assert.fieldEquals("Voter", user.toHexString(), "totalClaimedUSD", amount.toString()); assert.fieldEquals("VoterInPool", user.concat(contractSender).toHexString(), "totalStakingReward", "3000"); }); diff --git a/DaoPools/tests/DistributionProposal.test.ts b/DaoPools/tests/DistributionProposal.test.ts index e93812b8..f7592734 100644 --- a/DaoPools/tests/DistributionProposal.test.ts +++ b/DaoPools/tests/DistributionProposal.test.ts @@ -96,5 +96,12 @@ describe("DistributionProposal", () => { "totalDPClaimed", BigInt.fromU64(10000000000000000000).toString() ); + + assert.fieldEquals( + "Voter", + sender.toHexString(), + "totalClaimedUSD", + BigInt.fromU64(10000000000000000000).toString() + ); }); }); From 91ac21bfbcb194cba7011886d41d62ff5167217f Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Tue, 1 Aug 2023 17:28:01 +0300 Subject: [PATCH 11/44] added interactedWithPool to transaction entity in AllInteractions (#117) * added interactedWithPool to transaction entity in AllInteractions * fixed GetPerformanceFee * fixed test for TraderPool * fixed typo --- AllInteractions/schema.graphql | 16 +++++ .../dao-pool/DaoValidatorProposalVote.ts | 2 +- .../src/entities/transaction/Transaction.ts | 9 ++- AllInteractions/src/mappings/DaoPool.ts | 30 ++++++--- AllInteractions/src/mappings/DaoValidators.ts | 17 +++-- AllInteractions/src/mappings/PoolFactory.ts | 6 +- AllInteractions/src/mappings/TraderPool.ts | 24 ++++--- .../src/mappings/TraderPoolInvestProposal.ts | 21 ++++-- .../src/mappings/TraderPoolRiskyProposal.ts | 15 +++-- AllInteractions/tests/DaoPool.test.ts | 66 ++++++++++++++----- AllInteractions/tests/DaoValidators.test.ts | 12 ++-- AllInteractions/tests/Insurance.test.ts | 12 +++- AllInteractions/tests/PoolFactory.test.ts | 18 ++++- AllInteractions/tests/TraderPool.test.ts | 39 +++++++---- .../tests/TraderPoolInvestProposal.test.ts | 26 +++++--- .../tests/TraderPoolRiskyProposal.test.ts | 16 +++-- AllInteractions/tests/UserRegistry.test.ts | 12 ++-- AllInteractions/tests/utils.ts | 4 +- 18 files changed, 245 insertions(+), 100 deletions(-) diff --git a/AllInteractions/schema.graphql b/AllInteractions/schema.graphql index 9435aef9..3e9a2608 100644 --- a/AllInteractions/schema.graphql +++ b/AllInteractions/schema.graphql @@ -34,6 +34,8 @@ type Transaction @entity { user: Bytes! + interactedWithPool: Pool! + interactionsCount: BigInt! exchange: [Exchange!]! @derivedFrom(field: "transaction") @@ -56,6 +58,20 @@ type Transaction @entity { getPerformanceFee: [GetPerformanceFee!]! @derivedFrom(field: "transaction") onlyPool: [OnlyPool!]! @derivedFrom(field: "transaction") + + daoPoolCreate: [DaoPoolCreate!]! @derivedFrom(field: "transaction") + daoPoolDelegate: [DaoPoolDelegate!]! @derivedFrom(field: "transaction") + daoPoolVote: [DaoPoolVote!]! @derivedFrom(field: "transaction") + daoProposalCreate: [DaoProposalCreate!]! @derivedFrom(field: "transaction") + daoPoolExecute: [DaoPoolExecute!]! @derivedFrom(field: "transaction") + daoPoolRewardClaim: [DaoPoolRewardClaim!]! @derivedFrom(field: "transaction") + daoPoolVest: [DaoPoolVest!]! @derivedFrom(field: "transaction") + daoPoolMovedToValidators: [DaoPoolMovedToValidators!]! @derivedFrom(field: "transaction") + daoPoolOffchainResultsSaved: [DaoPoolOffchainResultsSaved!]! @derivedFrom(field: "transaction") + + daoValidatorProposalCreate: [DaoValidatorProposalCreate!]! @derivedFrom(field: "transaction") + daoValidatorProposalVote: [DaoValidatorProposalVote!]! @derivedFrom(field: "transaction") + daoValidatorProposalExecute: [DaoValidatorProposalExecute!]! @derivedFrom(field: "transaction") } # @notice The entity holds information about exchange diff --git a/AllInteractions/src/entities/dao-pool/DaoValidatorProposalVote.ts b/AllInteractions/src/entities/dao-pool/DaoValidatorProposalVote.ts index 4c142913..66a62d2f 100644 --- a/AllInteractions/src/entities/dao-pool/DaoValidatorProposalVote.ts +++ b/AllInteractions/src/entities/dao-pool/DaoValidatorProposalVote.ts @@ -1,7 +1,7 @@ import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; import { DaoValidatorProposalVote } from "../../../generated/schema"; -export function getDaoVaildatorProposalVote( +export function getDaoValidatorProposalVote( hash: Bytes, pool: Address, proposalId: BigInt, diff --git a/AllInteractions/src/entities/transaction/Transaction.ts b/AllInteractions/src/entities/transaction/Transaction.ts index be90f0c0..0fc074fe 100644 --- a/AllInteractions/src/entities/transaction/Transaction.ts +++ b/AllInteractions/src/entities/transaction/Transaction.ts @@ -1,7 +1,13 @@ import { Bytes, BigInt } from "@graphprotocol/graph-ts"; import { Transaction } from "../../../generated/schema"; -export function getTransaction(hash: Bytes, block: BigInt, timestamp: BigInt, investor: Bytes): Transaction { +export function getTransaction( + hash: Bytes, + block: BigInt, + timestamp: BigInt, + investor: Bytes, + pool: Bytes = Bytes.empty() +): Transaction { let transaction = Transaction.load(hash); if (transaction == null) { @@ -10,6 +16,7 @@ export function getTransaction(hash: Bytes, block: BigInt, timestamp: BigInt, in transaction.timestamp = timestamp; transaction.type = new Array(); transaction.user = investor; + transaction.interactedWithPool = pool; transaction.interactionsCount = BigInt.zero(); } diff --git a/AllInteractions/src/mappings/DaoPool.ts b/AllInteractions/src/mappings/DaoPool.ts index cc5c9368..652ddd42 100644 --- a/AllInteractions/src/mappings/DaoPool.ts +++ b/AllInteractions/src/mappings/DaoPool.ts @@ -28,7 +28,8 @@ export function onProposalCreated(event: ProposalCreated): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + event.address ); let proposalCreated = getDaoProposalCreate( event.transaction.hash, @@ -49,7 +50,8 @@ export function onDelegated(event: Delegated): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.from + event.params.from, + event.address ); let delegated = getDaoPoolDelegate( event.transaction.hash, @@ -73,7 +75,8 @@ export function onRequested(event: Requested): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.from + event.params.from, + event.address ); let delegated = getDaoPoolDelegate( event.transaction.hash, @@ -94,7 +97,8 @@ export function onVoted(event: Voted): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + event.address ); let voted = getDaoPoolVote( event.transaction.hash, @@ -116,7 +120,8 @@ export function onProposalExecuted(event: ProposalExecuted): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + event.address ); let executed = getDaoPoolExecute( event.transaction.hash, @@ -137,7 +142,8 @@ export function onRewardClaimed(event: RewardClaimed): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + event.address ); let claimed = getDaoPoolRewardClaim( event.transaction.hash, @@ -158,7 +164,8 @@ export function onDeposited(event: Deposited): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + event.address ); let deposit = getDaoPoolVest( @@ -182,7 +189,8 @@ export function onWithdrawn(event: Withdrawn): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + event.address ); let withdrawn = getDaoPoolVest( @@ -206,7 +214,8 @@ export function onMovedToValidators(event: MovedToValidators): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + event.address ); let moved = getDaoPoolMovedToValidators( @@ -229,7 +238,8 @@ export function onOffchainResultsSaved(event: OffchainResultsSaved): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + event.address ); let offchainResultsSaved = getDaoPoolOffchainResult( diff --git a/AllInteractions/src/mappings/DaoValidators.ts b/AllInteractions/src/mappings/DaoValidators.ts index 34efa4d4..4a034904 100644 --- a/AllInteractions/src/mappings/DaoValidators.ts +++ b/AllInteractions/src/mappings/DaoValidators.ts @@ -4,7 +4,7 @@ import { InternalProposalCreated, InternalProposalExecuted, } from "../../generated/templates/DaoValidators/DaoValidators"; -import { getDaoVaildatorProposalVote } from "../entities/dao-pool/DaoValidatorProposalVote"; +import { getDaoValidatorProposalVote } from "../entities/dao-pool/DaoValidatorProposalVote"; import { getDaoValidatorProposalCreate } from "../entities/dao-pool/DaoValidatorProposalCreate"; import { getDaoValidatorProposalExecute } from "../entities/dao-pool/DaoValidatorProposalExecute"; import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; @@ -16,10 +16,11 @@ export function onVoted(event: Voted): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + event.address ); - let voted = getDaoVaildatorProposalVote( + let vote = getDaoValidatorProposalVote( event.transaction.hash, event.address, event.params.proposalId, @@ -30,10 +31,10 @@ export function onVoted(event: Voted): void { transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); transaction.type = push(transaction.type, getEnumBigInt(TransactionType.DAO_VALIDATORS_VOTED)); - voted.transaction = transaction.id; + vote.transaction = transaction.id; transaction.save(); - voted.save(); + vote.save(); } export function onInternalProposalCreated(event: InternalProposalCreated): void { @@ -41,7 +42,8 @@ export function onInternalProposalCreated(event: InternalProposalCreated): void event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + event.address ); let created = getDaoValidatorProposalCreate( @@ -64,7 +66,8 @@ export function onInternalProposalExecuted(event: InternalProposalExecuted): voi event.transaction.hash, event.block.number, event.block.timestamp, - event.params.executor + event.params.executor, + event.address ); let executed = getDaoValidatorProposalExecute( diff --git a/AllInteractions/src/mappings/PoolFactory.ts b/AllInteractions/src/mappings/PoolFactory.ts index b3c132ff..f4cc769c 100644 --- a/AllInteractions/src/mappings/PoolFactory.ts +++ b/AllInteractions/src/mappings/PoolFactory.ts @@ -27,7 +27,8 @@ export function onTraderPoolDeployed(event: TraderPoolDeployed): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.trader + event.params.trader, + event.params.at ); let create = getPoolCreate( event.transaction.hash, @@ -53,7 +54,8 @@ export function onDaoPoolDeployed(event: DaoPoolDeployed): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + event.params.govPool ); let daoCreate = getDaoPoolCreate( diff --git a/AllInteractions/src/mappings/TraderPool.ts b/AllInteractions/src/mappings/TraderPool.ts index 299ea737..93bf089b 100644 --- a/AllInteractions/src/mappings/TraderPool.ts +++ b/AllInteractions/src/mappings/TraderPool.ts @@ -24,7 +24,8 @@ export function onExchange(event: Exchanged): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + event.address ); let exchange = getExchange( event.transaction.hash, @@ -49,7 +50,8 @@ export function onInvest(event: Invested): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.user + event.params.user, + event.address ); setupVest( transaction, @@ -67,7 +69,8 @@ export function onDivest(event: Divested): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.user + event.params.user, + event.address ); setupVest( transaction, @@ -85,7 +88,8 @@ export function onDescriptionURLChanged(event: DescriptionURLChanged): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + event.address ); let onlyPool = getOnlyPool(event.transaction.hash, event.address, transaction.interactionsCount); @@ -102,7 +106,8 @@ export function onProposalDivest(event: ProposalDivested): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.user + event.params.user, + event.address ); let proposalVest = getProposalVest( @@ -125,7 +130,8 @@ export function onModifiedPrivateInvestors(event: ModifiedPrivateInvestors): voi event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + event.address ); let onlyPool = getOnlyPool(event.transaction.hash, event.address, transaction.interactionsCount); @@ -142,7 +148,8 @@ export function onModifiedAdmins(event: ModifiedAdmins): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + event.address ); let onlyPool = getOnlyPool(event.transaction.hash, event.address, transaction.interactionsCount); @@ -159,7 +166,8 @@ export function onCommissionClaimed(event: CommissionClaimed): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + event.address ); let perfomanceFee = getGetPerformanceFee( diff --git a/AllInteractions/src/mappings/TraderPoolInvestProposal.ts b/AllInteractions/src/mappings/TraderPoolInvestProposal.ts index f272af05..2776f5d0 100644 --- a/AllInteractions/src/mappings/TraderPoolInvestProposal.ts +++ b/AllInteractions/src/mappings/TraderPoolInvestProposal.ts @@ -27,7 +27,8 @@ export function onProposalCreated(event: ProposalCreated): void { event.transaction.hash, event.block.number, event.block.timestamp, - getTraderPool(Address.fromBytes(proposalContract.pool)).trader + getTraderPool(Address.fromBytes(proposalContract.pool)).trader, + proposalContract.pool ); let proposalCreate = getInvestProposalCreate( event.transaction.hash, @@ -50,7 +51,8 @@ export function onProposalWithdrawn(event: ProposalWithdrawn): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + pool ); let withdraw = getInvestProposalWithdraw( event.transaction.hash, @@ -75,7 +77,8 @@ export function onProposalSupplied(event: ProposalSupplied): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + pool ); let supply = getInvestProposalClaimOrSupply( @@ -102,7 +105,8 @@ export function onProposalClaimed(event: ProposalClaimed): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.user + event.params.user, + pool ); let supply = getInvestProposalClaimOrSupply( event.transaction.hash, @@ -127,7 +131,8 @@ export function onProposalRestrictionsChanged(event: ProposalRestrictionsChanged event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + pool ); let edit = getInvestProposalEdited( @@ -151,7 +156,8 @@ export function onProposalInvest(event: ProposalInvested): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.user + event.params.user, + pool ); let vest = getProposalVest( @@ -177,7 +183,8 @@ export function onProposalConverted(event: ProposalConverted): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.user + event.params.user, + pool ); let convertToDividends = getInvestProposalConvertToDividends( diff --git a/AllInteractions/src/mappings/TraderPoolRiskyProposal.ts b/AllInteractions/src/mappings/TraderPoolRiskyProposal.ts index 97831d68..b10051d7 100644 --- a/AllInteractions/src/mappings/TraderPoolRiskyProposal.ts +++ b/AllInteractions/src/mappings/TraderPoolRiskyProposal.ts @@ -23,7 +23,8 @@ export function onProposalCreated(event: ProposalCreated): void { event.transaction.hash, event.block.number, event.block.timestamp, - getTraderPool(Address.fromBytes(proposalContract.pool)).trader + getTraderPool(Address.fromBytes(proposalContract.pool)).trader, + proposalContract.pool ); let proposalCreate = getRiskyProposalCreate( @@ -48,7 +49,8 @@ export function onProposalExchange(event: ProposalExchanged): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + pool ); let exchange = getRiskyProposalExchange( event.transaction.hash, @@ -76,7 +78,8 @@ export function onProposalInvest(event: ProposalInvested): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.user + event.params.user, + pool ); let vest = getProposalVest( event.transaction.hash, @@ -101,7 +104,8 @@ export function onProposalDivest(event: ProposalDivested): void { event.transaction.hash, event.block.number, event.block.timestamp, - event.params.user + event.params.user, + pool ); let vest = getProposalVest( event.transaction.hash, @@ -126,7 +130,8 @@ export function onProposalRestrictionsChanged(event: ProposalRestrictionsChanged event.transaction.hash, event.block.number, event.block.timestamp, - event.params.sender + event.params.sender, + pool ); let edit = getRiskyProposalEdited( diff --git a/AllInteractions/tests/DaoPool.test.ts b/AllInteractions/tests/DaoPool.test.ts index efef69e1..b56301b2 100644 --- a/AllInteractions/tests/DaoPool.test.ts +++ b/AllInteractions/tests/DaoPool.test.ts @@ -308,7 +308,8 @@ describe("DaoPool", () => { event.params.sender, block, `[${TransactionType.DAO_POOL_PROPOSAL_CREATED}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + contractSender ); }); @@ -325,7 +326,14 @@ describe("DaoPool", () => { assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); - assertTransaction(tx.hash, event0.params.from, block, `[${TransactionType.DAO_POOL_DELEGATED}]`, BigInt.fromI32(1)); + assertTransaction( + tx.hash, + event0.params.from, + block, + `[${TransactionType.DAO_POOL_DELEGATED}]`, + BigInt.fromI32(1), + contractSender + ); let event1 = createDelegated(from, to, amount, nfts, false, contractSender, block, tx); @@ -339,7 +347,8 @@ describe("DaoPool", () => { event1.params.from, block, `[${TransactionType.DAO_POOL_DELEGATED}, ${TransactionType.DAO_POOL_UNDELEGATED}]`, - BigInt.fromI32(2) + BigInt.fromI32(2), + contractSender ); }); @@ -356,7 +365,14 @@ describe("DaoPool", () => { assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); - assertTransaction(tx.hash, event0.params.from, block, `[${TransactionType.DAO_POOL_REQUESTED}]`, BigInt.fromI32(1)); + assertTransaction( + tx.hash, + event0.params.from, + block, + `[${TransactionType.DAO_POOL_REQUESTED}]`, + BigInt.fromI32(1), + contractSender + ); let event1 = createRequested(from, to, amount, nfts, contractSender, block, tx); @@ -370,7 +386,8 @@ describe("DaoPool", () => { event1.params.from, block, `[${TransactionType.DAO_POOL_REQUESTED}, ${TransactionType.DAO_POOL_REQUESTED}]`, - BigInt.fromI32(2) + BigInt.fromI32(2), + contractSender ); }); @@ -399,7 +416,8 @@ describe("DaoPool", () => { event.params.sender, block, `[${TransactionType.DAO_POOL_PROPOSAL_VOTED}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + contractSender ); }); @@ -420,7 +438,8 @@ describe("DaoPool", () => { event.params.sender, block, `[${TransactionType.DAO_POOL_PROPOSAL_EXECUTED}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + contractSender ); const nextTx = getNextTx(tx); @@ -444,7 +463,8 @@ describe("DaoPool", () => { event.params.sender, block, `[${TransactionType.DAO_POOL_PROPOSAL_EXECUTED}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + contractSender ); }); @@ -475,7 +495,8 @@ describe("DaoPool", () => { event.params.sender, block, `[${TransactionType.DAO_POOL_REWARD_CLAIMED}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + contractSender ); const nextTx = getNextTx(tx); @@ -508,7 +529,8 @@ describe("DaoPool", () => { event.params.sender, block, `[${TransactionType.DAO_POOL_REWARD_CLAIMED}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + contractSender ); }); @@ -530,7 +552,8 @@ describe("DaoPool", () => { event.params.sender, block, `[${TransactionType.DAO_POOL_DEPOSITED}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + contractSender ); const nextTx = getNextTx(tx); @@ -550,7 +573,8 @@ describe("DaoPool", () => { event.params.sender, block, `[${TransactionType.DAO_POOL_DEPOSITED}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + contractSender ); }); @@ -572,7 +596,8 @@ describe("DaoPool", () => { event.params.sender, block, `[${TransactionType.DAO_POOL_WITHDRAWN}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + contractSender ); const nextTx = getNextTx(tx); @@ -592,7 +617,8 @@ describe("DaoPool", () => { event.params.sender, block, `[${TransactionType.DAO_POOL_WITHDRAWN}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + contractSender ); }); @@ -622,7 +648,8 @@ describe("DaoPool", () => { event.params.sender, block, `[${TransactionType.DAO_POOL_MOVED_TO_VALIDATORS}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + contractSender ); const nextTx = getNextTx(tx); @@ -650,7 +677,8 @@ describe("DaoPool", () => { event.params.sender, block, `[${TransactionType.DAO_POOL_MOVED_TO_VALIDATORS}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + contractSender ); }); @@ -680,7 +708,8 @@ describe("DaoPool", () => { event.params.sender, block, `[${TransactionType.DAO_POOL_OFFCHAIN_RESULTS_SAVED}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + contractSender ); onOffchainResultsSaved(event); @@ -704,7 +733,8 @@ describe("DaoPool", () => { event.params.sender, block, `[${TransactionType.DAO_POOL_OFFCHAIN_RESULTS_SAVED}, ${TransactionType.DAO_POOL_OFFCHAIN_RESULTS_SAVED}]`, - BigInt.fromI32(2) + BigInt.fromI32(2), + contractSender ); }); }); diff --git a/AllInteractions/tests/DaoValidators.test.ts b/AllInteractions/tests/DaoValidators.test.ts index 35eba56b..4bbb8e21 100644 --- a/AllInteractions/tests/DaoValidators.test.ts +++ b/AllInteractions/tests/DaoValidators.test.ts @@ -132,7 +132,8 @@ describe("DaoValidators", () => { event.params.sender, block, `[${TransactionType.DAO_VALIDATORS_PROPOSAL_CREATED}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + contractSender ); }); @@ -176,7 +177,8 @@ describe("DaoValidators", () => { event.params.executor, block, `[${TransactionType.DAO_VALIDATORS_PROPOSAL_CREATED}, ${TransactionType.DAO_VALIDATORS_PROPOSAL_EXECUTED}]`, - BigInt.fromI32(2) + BigInt.fromI32(2), + contractSender ); const nextTx = getNextTx(tx); @@ -217,7 +219,8 @@ describe("DaoValidators", () => { event.params.executor, block, `[${TransactionType.DAO_VALIDATORS_PROPOSAL_CREATED}, ${TransactionType.DAO_VALIDATORS_PROPOSAL_EXECUTED}]`, - BigInt.fromI32(2) + BigInt.fromI32(2), + contractSender ); }); @@ -257,7 +260,8 @@ describe("DaoValidators", () => { event.params.sender, block, `[${TransactionType.DAO_VALIDATORS_VOTED}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + contractSender ); }); }); diff --git a/AllInteractions/tests/Insurance.test.ts b/AllInteractions/tests/Insurance.test.ts index f537d44f..1d53ddfb 100644 --- a/AllInteractions/tests/Insurance.test.ts +++ b/AllInteractions/tests/Insurance.test.ts @@ -62,7 +62,14 @@ describe("Insurance", () => { assert.fieldEquals("InsuranceStake", tx.hash.concatI32(0).toHexString(), "amount", expectedAmount.toString()); assert.fieldEquals("InsuranceStake", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - assertTransaction(tx.hash, event.params.investor, block, `[${TransactionType.INSURANCE_STAKE}]`, BigInt.fromI32(1)); + assertTransaction( + tx.hash, + event.params.investor, + block, + `[${TransactionType.INSURANCE_STAKE}]`, + BigInt.fromI32(1), + Bytes.empty() + ); }); test("should handle withdraw event", () => { @@ -81,7 +88,8 @@ describe("Insurance", () => { event.params.investor, block, `[${TransactionType.INSURANCE_UNSTAKE}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + Bytes.empty() ); }); }); diff --git a/AllInteractions/tests/PoolFactory.test.ts b/AllInteractions/tests/PoolFactory.test.ts index 8b17be3c..078648fd 100644 --- a/AllInteractions/tests/PoolFactory.test.ts +++ b/AllInteractions/tests/PoolFactory.test.ts @@ -108,7 +108,14 @@ describe("PoolFactory", () => { assert.fieldEquals("PoolCreate", tx.hash.concatI32(0).toHexString(), "symbol", expectedSymbol); assert.fieldEquals("PoolCreate", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - assertTransaction(tx.hash, event.params.trader, block, `[${TransactionType.POOL_CREATE}]`, BigInt.fromI32(1)); + assertTransaction( + tx.hash, + event.params.trader, + block, + `[${TransactionType.POOL_CREATE}]`, + BigInt.fromI32(1), + expectedAt + ); }); test("should handle DaoPoolDeployed event", () => { @@ -139,6 +146,13 @@ describe("PoolFactory", () => { assert.fieldEquals("DaoPoolCreate", tx.hash.concatI32(0).toHexString(), "pool", govPool.toHexString()); assert.fieldEquals("DaoPoolCreate", tx.hash.concatI32(0).toHexString(), "name", name); - assertTransaction(tx.hash, event.params.sender, block, `[${TransactionType.DAO_POOL_CREATED}]`, BigInt.fromI32(1)); + assertTransaction( + tx.hash, + event.params.sender, + block, + `[${TransactionType.DAO_POOL_CREATED}]`, + BigInt.fromI32(1), + govPool + ); }); }); diff --git a/AllInteractions/tests/TraderPool.test.ts b/AllInteractions/tests/TraderPool.test.ts index 06a58839..ee8e279b 100644 --- a/AllInteractions/tests/TraderPool.test.ts +++ b/AllInteractions/tests/TraderPool.test.ts @@ -234,7 +234,7 @@ describe("TraderPool", () => { assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString(), "toVolume", toVolume.toString()); assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - assertTransaction(tx.hash, event.params.sender, block, `[${TransactionType.SWAP}]`, BigInt.fromI32(1)); + assertTransaction(tx.hash, event.params.sender, block, `[${TransactionType.SWAP}]`, BigInt.fromI32(1), sender); }); test("should handle invested event", () => { @@ -251,7 +251,7 @@ describe("TraderPool", () => { assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "lpAmount", receivedLP.toString()); assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - assertTransaction(tx.hash, event.params.user, block, `[${TransactionType.INVEST}]`, BigInt.fromI32(1)); + assertTransaction(tx.hash, event.params.user, block, `[${TransactionType.INVEST}]`, BigInt.fromI32(1), sender); const nextTx = getNextTx(tx); @@ -268,7 +268,7 @@ describe("TraderPool", () => { assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "lpAmount", receivedLP.toString()); assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "transaction", nextTx.hash.toHexString()); - assertTransaction(nextTx.hash, event.params.user, block, `[${TransactionType.INVEST}]`, BigInt.fromI32(1)); + assertTransaction(nextTx.hash, event.params.user, block, `[${TransactionType.INVEST}]`, BigInt.fromI32(1), sender); }); test("should handle divested event", () => { @@ -285,7 +285,7 @@ describe("TraderPool", () => { assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "lpAmount", divestedLP.toString()); assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - assertTransaction(tx.hash, event.params.user, block, `[${TransactionType.DIVEST}]`, BigInt.fromI32(1)); + assertTransaction(tx.hash, event.params.user, block, `[${TransactionType.DIVEST}]`, BigInt.fromI32(1), sender); const nextTx = getNextTx(tx); @@ -302,7 +302,7 @@ describe("TraderPool", () => { assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "lpAmount", divestedLP.toString()); assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "transaction", nextTx.hash.toHexString()); - assertTransaction(nextTx.hash, event.params.user, block, `[${TransactionType.DIVEST}]`, BigInt.fromI32(1)); + assertTransaction(nextTx.hash, event.params.user, block, `[${TransactionType.DIVEST}]`, BigInt.fromI32(1), sender); }); test("should handle DescriptionURLChanged event", () => { @@ -316,7 +316,7 @@ describe("TraderPool", () => { assert.fieldEquals("OnlyPool", tx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); assert.fieldEquals("OnlyPool", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - assertTransaction(tx.hash, event.params.sender, block, `[${TransactionType.POOL_EDIT}]`, BigInt.fromI32(1)); + assertTransaction(tx.hash, event.params.sender, block, `[${TransactionType.POOL_EDIT}]`, BigInt.fromI32(1), sender); const nextTx = getNextTx(tx); @@ -330,7 +330,14 @@ describe("TraderPool", () => { assert.fieldEquals("OnlyPool", nextTx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); assert.fieldEquals("OnlyPool", nextTx.hash.concatI32(0).toHexString(), "transaction", nextTx.hash.toHexString()); - assertTransaction(nextTx.hash, event.params.sender, block, `[${TransactionType.POOL_EDIT}]`, BigInt.fromI32(1)); + assertTransaction( + nextTx.hash, + event.params.sender, + block, + `[${TransactionType.POOL_EDIT}]`, + BigInt.fromI32(1), + sender + ); }); test("should handle ProposalDivested event", () => { @@ -355,7 +362,8 @@ describe("TraderPool", () => { event.params.user, block, `[${TransactionType.RISKY_PROPOSAL_DIVEST}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + sender ); }); @@ -378,7 +386,8 @@ describe("TraderPool", () => { event.params.sender, block, `[${TransactionType.POOL_UPDATE_INVESTORS}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + sender ); const nextTx = getNextTx(tx); @@ -396,7 +405,8 @@ describe("TraderPool", () => { event.params.sender, block, `[${TransactionType.POOL_UPDATE_INVESTORS}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + sender ); }); @@ -419,7 +429,8 @@ describe("TraderPool", () => { event.params.sender, block, `[${TransactionType.POOL_UPDATE_MANAGERS}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + sender ); const nextTx = getNextTx(tx); @@ -437,7 +448,8 @@ describe("TraderPool", () => { event.params.sender, block, `[${TransactionType.POOL_UPDATE_MANAGERS}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + sender ); }); @@ -464,7 +476,8 @@ describe("TraderPool", () => { event.params.sender, block, `[${TransactionType.TRADER_GET_PERFOMANCE_FEE}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + sender ); }); }); diff --git a/AllInteractions/tests/TraderPoolInvestProposal.test.ts b/AllInteractions/tests/TraderPoolInvestProposal.test.ts index e9e7ce7e..7c8ed4f2 100644 --- a/AllInteractions/tests/TraderPoolInvestProposal.test.ts +++ b/AllInteractions/tests/TraderPoolInvestProposal.test.ts @@ -219,7 +219,7 @@ describe("TraderPoolInvestProposal", () => { tx.hash.toHexString() ); - assertTransaction(tx.hash, trader, block, `[${TransactionType.INVEST_PROPOSAL_CREATE}]`, BigInt.fromI32(1)); + assertTransaction(tx.hash, trader, block, `[${TransactionType.INVEST_PROPOSAL_CREATE}]`, BigInt.fromI32(1), pool); }); test("should handle ProposalWithdrawn event", () => { @@ -250,7 +250,8 @@ describe("TraderPoolInvestProposal", () => { event.params.sender, block, `[${TransactionType.INVEST_PROPOSAL_WITHDRAW}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + pool ); }); @@ -289,7 +290,8 @@ describe("TraderPoolInvestProposal", () => { event.params.sender, block, `[${TransactionType.INVEST_PROPOSAL_SUPPLY}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + pool ); const nextTx = getNextTx(tx); @@ -336,7 +338,8 @@ describe("TraderPoolInvestProposal", () => { event.params.sender, block, `[${TransactionType.INVEST_PROPOSAL_SUPPLY}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + pool ); }); @@ -375,7 +378,8 @@ describe("TraderPoolInvestProposal", () => { event.params.user, block, `[${TransactionType.INVEST_PROPOSAL_CLAIM}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + pool ); const nextTx = getNextTx(tx); @@ -422,7 +426,8 @@ describe("TraderPoolInvestProposal", () => { event.params.user, block, `[${TransactionType.INVEST_PROPOSAL_CLAIM}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + pool ); }); @@ -447,7 +452,8 @@ describe("TraderPoolInvestProposal", () => { event.params.user, block, `[${TransactionType.INVEST_PROPOSAL_INVEST}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + pool ); }); @@ -496,7 +502,8 @@ describe("TraderPoolInvestProposal", () => { event.params.user, block, `[${TransactionType.INVEST_PROPOSAL_CONVERT_TO_DIVIDENDS}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + pool ); }); @@ -516,7 +523,8 @@ describe("TraderPoolInvestProposal", () => { event.params.sender, block, `[${TransactionType.INVEST_PROPOSAL_EDIT}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + pool ); }); }); diff --git a/AllInteractions/tests/TraderPoolRiskyProposal.test.ts b/AllInteractions/tests/TraderPoolRiskyProposal.test.ts index c6c7d947..4989f393 100644 --- a/AllInteractions/tests/TraderPoolRiskyProposal.test.ts +++ b/AllInteractions/tests/TraderPoolRiskyProposal.test.ts @@ -174,7 +174,7 @@ describe("TraderPoolRiskyProposal", () => { assert.fieldEquals("RiskyProposalCreate", tx.hash.concatI32(0).toHexString(), "token", token.toHexString()); assert.fieldEquals("RiskyProposalCreate", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - assertTransaction(tx.hash, trader, block, `[${TransactionType.RISKY_PROPOSAL_CREATE}]`, BigInt.fromI32(1)); + assertTransaction(tx.hash, trader, block, `[${TransactionType.RISKY_PROPOSAL_CREATE}]`, BigInt.fromI32(1), pool); }); test("should handle ProposalExchanged event", () => { @@ -216,7 +216,7 @@ describe("TraderPoolRiskyProposal", () => { tx.hash.toHexString() ); - assertTransaction(tx.hash, user, block, `[${TransactionType.RISKY_PROPOSAL_SWAP}]`, BigInt.fromI32(1)); + assertTransaction(tx.hash, user, block, `[${TransactionType.RISKY_PROPOSAL_SWAP}]`, BigInt.fromI32(1), pool); }); test("should handle ProposalInvested event", () => { @@ -240,7 +240,8 @@ describe("TraderPoolRiskyProposal", () => { event.params.user, block, `[${TransactionType.RISKY_PROPOSAL_INVEST}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + pool ); }); @@ -265,7 +266,8 @@ describe("TraderPoolRiskyProposal", () => { event.params.user, block, `[${TransactionType.RISKY_PROPOSAL_DIVEST}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + pool ); }); @@ -285,7 +287,8 @@ describe("TraderPoolRiskyProposal", () => { event.params.sender, block, `[${TransactionType.RISKY_PROPOSAL_EDIT}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + pool ); const nextTx = getNextTx(tx); @@ -309,7 +312,8 @@ describe("TraderPoolRiskyProposal", () => { event.params.sender, block, `[${TransactionType.RISKY_PROPOSAL_EDIT}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + pool ); }); }); diff --git a/AllInteractions/tests/UserRegistry.test.ts b/AllInteractions/tests/UserRegistry.test.ts index 1a501ba6..9f968fc4 100644 --- a/AllInteractions/tests/UserRegistry.test.ts +++ b/AllInteractions/tests/UserRegistry.test.ts @@ -53,7 +53,8 @@ describe("UserRegistry", () => { event.params.user, block, `[${TransactionType.USER_AGREED_TO_PRIVACY_POLICY}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + Bytes.empty() ); const nextTx = getNextTx(tx); @@ -68,7 +69,8 @@ describe("UserRegistry", () => { event.params.user, block, `[${TransactionType.USER_AGREED_TO_PRIVACY_POLICY}]`, - BigInt.fromI32(1) + BigInt.fromI32(1), + Bytes.empty() ); }); @@ -85,7 +87,8 @@ describe("UserRegistry", () => { event.params.user, block, `[${TransactionType.USER_AGREED_TO_PRIVACY_POLICY}, ${TransactionType.UPDATED_USER_CREDENTIALS}]`, - BigInt.fromI32(2) + BigInt.fromI32(2), + Bytes.empty() ); const nextTx = getNextTx(tx); @@ -101,7 +104,8 @@ describe("UserRegistry", () => { event.params.user, block, `[${TransactionType.USER_AGREED_TO_PRIVACY_POLICY}, ${TransactionType.UPDATED_USER_CREDENTIALS}]`, - BigInt.fromI32(2) + BigInt.fromI32(2), + Bytes.empty() ); }); }); diff --git a/AllInteractions/tests/utils.ts b/AllInteractions/tests/utils.ts index e8471e7e..7f9945ed 100644 --- a/AllInteractions/tests/utils.ts +++ b/AllInteractions/tests/utils.ts @@ -80,11 +80,13 @@ export function assertTransaction( sender: Address, block: ethereum.Block, transactionType: string, - interactionsCount: BigInt + interactionsCount: BigInt, + pool: Bytes ): void { assert.fieldEquals("Transaction", hash.toHexString(), "block", block.number.toString()); assert.fieldEquals("Transaction", hash.toHexString(), "timestamp", block.timestamp.toString()); assert.fieldEquals("Transaction", hash.toHexString(), "type", transactionType); assert.fieldEquals("Transaction", hash.toHexString(), "user", sender.toHexString()); assert.fieldEquals("Transaction", hash.toHexString(), "interactionsCount", interactionsCount.toString()); + assert.fieldEquals("Transaction", hash.toHexString(), "interactedWithPool", pool.toHexString()); } From 3cd22b1280c1c075b5a93c3f3fd786b1b614887c Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Tue, 1 Aug 2023 17:28:37 +0300 Subject: [PATCH 12/44] Fix/update abis (#119) * updated abis for AllInteractions, AllPools, AllPoolsInvestors * updated abis for BasicPool, DaoPools, DaoValidators, InvestPool --- AllInteractions/abis/DaoPool.json | 968 ++++++++----- AllInteractions/abis/DaoValidators.json | 99 +- AllInteractions/abis/Insurance.json | 13 + AllInteractions/abis/PoolFactory.json | 212 ++- AllInteractions/abis/TraderPool.json | 1129 +++++++++++---- .../abis/TraderPoolInvestProposal.json | 13 + .../abis/TraderPoolRiskyProposal.json | 34 +- AllInteractions/abis/UserRegistry.json | 51 +- AllInteractions/subgraph.yaml | 2 +- AllInteractions/tests/DaoPool.test.ts | 1 + AllPools/abis/PoolFactory.json | 212 ++- AllPools/abis/PoolRegistry.json | 13 + AllPools/abis/PriceFeed.json | 13 + AllPools/abis/TraderPool.json | 1206 ++++++++++++---- AllPoolsInvestors/abis/Insurance.json | 13 + AllPoolsInvestors/abis/PoolFactory.json | 212 ++- AllPoolsInvestors/abis/PriceFeed.json | 13 + AllPoolsInvestors/abis/TraderPool.json | 1129 +++++++++++---- .../abis/TraderPoolProposal.json | 76 +- BasicPool/abis/PoolFactory.json | 212 ++- BasicPool/abis/PriceFeed.json | 13 + BasicPool/abis/TraderPoolRiskyProposal.json | 34 +- DaoPools/abis/DaoPool.json | 1103 +++++++++------ DaoPools/abis/DaoSettings.json | 356 +++-- DaoPools/abis/DistributionProposal.json | 13 + DaoPools/abis/ERC721Expert.json | 1237 ++++++++--------- DaoPools/abis/PoolFactory.json | 212 ++- DaoPools/abis/PriceFeed.json | 13 + DaoPools/abis/TokenSale.json | 506 +++++-- DaoPools/abis/UserKeeper.json | 169 ++- DaoValidators/abis/DaoValidators.json | 99 +- DaoValidators/abis/PoolFactory.json | 212 ++- InvestPool/abis/PoolFactory.json | 212 ++- InvestPool/abis/PriceFeed.json | 13 + InvestPool/abis/TraderPoolInvestProposal.json | 13 + 35 files changed, 7041 insertions(+), 2785 deletions(-) diff --git a/AllInteractions/abis/DaoPool.json b/AllInteractions/abis/DaoPool.json index 37baae9f..afcc3330 100644 --- a/AllInteractions/abis/DaoPool.json +++ b/AllInteractions/abis/DaoPool.json @@ -2,16 +2,60 @@ { "anonymous": false, "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "resultsHash", + "type": "string" + }, { "indexed": false, "internalType": "address", - "name": "from", + "name": "sender", "type": "address" + } + ], + "name": "OffchainResultsSaved", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "resultsHash", + "type": "string" + } + ], + "name": "getSignHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" }, { "indexed": false, "internalType": "address", - "name": "to", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", "type": "address" }, { @@ -19,21 +63,83 @@ "internalType": "uint256", "name": "amount", "type": "uint256" + } + ], + "name": "RewardClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" }, { "indexed": false, - "internalType": "uint256[]", - "name": "nfts", - "type": "uint256[]" + "internalType": "enum IGovPool.RewardType", + "name": "rewardType", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RewardCredited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "personalVote", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "delegatedVote", + "type": "uint256" }, { "indexed": false, "internalType": "bool", - "name": "isDelegate", + "name": "isVoteFor", "type": "bool" } ], - "name": "Delegated", + "name": "Voted", "type": "event" }, { @@ -42,14 +148,14 @@ { "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "proposalId", "type": "uint256" }, { "indexed": false, - "internalType": "uint256[]", - "name": "nfts", - "type": "uint256[]" + "internalType": "bool", + "name": "isFor", + "type": "bool" }, { "indexed": false, @@ -58,7 +164,38 @@ "type": "address" } ], - "name": "Deposited", + "name": "ProposalExecuted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "DPCreated", "type": "event" }, { @@ -83,12 +220,42 @@ { "anonymous": false, "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, { "indexed": false, "internalType": "string", - "name": "resultsHash", + "name": "proposalDescription", "type": "string" }, + { + "indexed": false, + "internalType": "string", + "name": "misc", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "quorum", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "proposalSettings", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, { "indexed": false, "internalType": "address", @@ -96,7 +263,44 @@ "type": "address" } ], - "name": "OffchainResultsSaved", + "name": "ProposalCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "nfts", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isDelegate", + "type": "bool" + } + ], + "name": "Delegated", "type": "event" }, { @@ -121,21 +325,77 @@ "type": "address" } ], - "name": "Withdrawn", + "name": "Deposited", "type": "event" }, { - "inputs": [], - "name": "PERCENTAGE_DELEGATORS_REWARDS", - "outputs": [ + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, { + "indexed": false, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "amount", "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "nfts", + "type": "uint256[]" } ], - "stateMutability": "view", - "type": "function" + "name": "Requested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "nfts", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "Withdrawn", + "type": "event" }, { "inputs": [], @@ -153,29 +413,51 @@ { "inputs": [ { - "internalType": "address", - "name": "govSettingAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "govUserKeeperAddress", - "type": "address" + "components": [ + { + "internalType": "address", + "name": "settingsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "userKeeperAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "distributionAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "validatorsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "expertNftAddress", + "type": "address" + } + ], + "internalType": "struct IGovPool.Dependencies", + "name": "govPoolDeps", + "type": "tuple" }, { "internalType": "address", - "name": "distributionProposalAddress", + "name": "nftMultiplierAddress", "type": "address" }, { - "internalType": "address", - "name": "validatorsAddress", - "type": "address" + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" }, { - "internalType": "address", - "name": "nftMultiplierAddress", - "type": "address" + "internalType": "uint256", + "name": "expertVoteModifier", + "type": "uint256" }, { "internalType": "address", @@ -221,6 +503,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "bool", + "name": "onlyBABT", + "type": "bool" + } + ], + "name": "changeBABTRestriction", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -234,6 +529,24 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "regularModifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expertModifier", + "type": "uint256" + } + ], + "name": "changeVoteModifiers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -273,19 +586,48 @@ "type": "string" }, { - "internalType": "address[]", - "name": "executors", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" + "components": [ + { + "internalType": "address", + "name": "executor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct IGovPool.ProposalAction[]", + "name": "actionsOnFor", + "type": "tuple[]" }, { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" + "components": [ + { + "internalType": "address", + "name": "executor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct IGovPool.ProposalAction[]", + "name": "actionsOnAgainst", + "type": "tuple[]" } ], "name": "createProposal", @@ -365,6 +707,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "dexeExpertNft", + "outputs": [ + { + "internalType": "contract IERC721Expert", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -391,6 +746,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [], + "name": "expertNft", + "outputs": [ + { + "internalType": "contract IERC721Expert", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -432,6 +800,25 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getExpertStatus", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "getHelperContracts", @@ -653,24 +1040,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -692,11 +1096,21 @@ "name": "voteEnd", "type": "uint64" }, + { + "internalType": "uint64", + "name": "executeAfter", + "type": "uint64" + }, { "internalType": "uint256", "name": "votesFor", "type": "uint256" }, + { + "internalType": "uint256", + "name": "votesAgainst", + "type": "uint256" + }, { "internalType": "uint256", "name": "nftPowerSnapshotId", @@ -713,19 +1127,48 @@ "type": "string" }, { - "internalType": "address[]", - "name": "executors", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" + "components": [ + { + "internalType": "address", + "name": "executor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct IGovPool.ProposalAction[]", + "name": "actionsOnFor", + "type": "tuple[]" }, { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" + "components": [ + { + "internalType": "address", + "name": "executor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct IGovPool.ProposalAction[]", + "name": "actionsOnAgainst", + "type": "tuple[]" } ], "internalType": "struct IGovPool.Proposal", @@ -742,15 +1185,20 @@ "type": "bool" }, { - "internalType": "uint32", + "internalType": "uint56", "name": "snapshotId", - "type": "uint32" + "type": "uint56" }, { "internalType": "uint64", "name": "voteEnd", "type": "uint64" }, + { + "internalType": "uint64", + "name": "executeAfter", + "type": "uint64" + }, { "internalType": "uint128", "name": "quorum", @@ -760,6 +1208,11 @@ "internalType": "uint256", "name": "votesFor", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votesAgainst", + "type": "uint256" } ], "internalType": "struct IGovValidators.ProposalCore", @@ -785,6 +1238,11 @@ "internalType": "uint256", "name": "requiredValidatorsQuorum", "type": "uint256" + }, + { + "internalType": "uint64", + "name": "executeAfter", + "type": "uint64" } ], "internalType": "struct IGovPool.ProposalView[]", @@ -815,6 +1273,16 @@ ], "name": "getTotalVotes", "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, { "internalType": "uint256", "name": "", @@ -853,17 +1321,32 @@ "components": [ { "internalType": "uint256", - "name": "totalVoted", + "name": "totalVotedFor", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalVotedAgainst", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensVotedFor", "type": "uint256" }, { "internalType": "uint256", - "name": "tokensVoted", + "name": "tokensVotedAgainst", "type": "uint256" }, { "internalType": "uint256[]", - "name": "nftsVoted", + "name": "nftsVotedFor", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "nftsVotedAgainst", "type": "uint256[]" } ], @@ -888,6 +1371,43 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getVoteModifierForUser", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVoteModifiers", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -909,21 +1429,9 @@ "type": "uint256" }, { - "components": [ - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "length", - "type": "uint256" - } - ], - "internalType": "struct ShrinkableArray.UintArray", + "internalType": "uint256[]", "name": "nfts", - "type": "tuple" + "type": "uint256[]" } ], "stateMutability": "view", @@ -1117,12 +1625,35 @@ "name": "onlyBABTHolders", "outputs": [ { - "internalType": "bool", - "name": "", - "type": "bool" + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "delegatee", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "nftIds", + "type": "uint256[]" } ], - "stateMutability": "view", + "name": "request", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { @@ -1281,6 +1812,11 @@ "internalType": "uint256[]", "name": "voteNftIds", "type": "uint256[]" + }, + { + "internalType": "bool", + "name": "isVoteFor", + "type": "bool" } ], "name": "vote", @@ -1304,6 +1840,11 @@ "internalType": "uint256[]", "name": "voteNftIds", "type": "uint256[]" + }, + { + "internalType": "bool", + "name": "isVoteFor", + "type": "bool" } ], "name": "voteDelegated", @@ -1337,238 +1878,5 @@ { "stateMutability": "payable", "type": "receive" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "DPCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "proposalDescription", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "misc", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "quorum", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalSettings", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "ProposalCreated", - "type": "event" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "ProposalExecuted", - "type": "event" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "RewardClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum IGovPool.RewardType", - "name": "rewardType", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RewardCredited", - "type": "event" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "personalVote", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "delegatedVote", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isVoteFor", - "type": "bool" - } - ], - "name": "Voted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "nfts", - "type": "uint256[]" - } - ], - "name": "Requested", - "type": "event" } ] \ No newline at end of file diff --git a/AllInteractions/abis/DaoValidators.json b/AllInteractions/abis/DaoValidators.json index 05769327..456d0a37 100644 --- a/AllInteractions/abis/DaoValidators.json +++ b/AllInteractions/abis/DaoValidators.json @@ -37,6 +37,19 @@ "name": "ExternalProposalCreated", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -156,14 +169,26 @@ "type": "string" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" }, { "internalType": "address[]", @@ -236,14 +261,26 @@ "type": "uint256" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" } ], "name": "createExternalProposal", @@ -334,6 +371,11 @@ "name": "voteEnd", "type": "uint64" }, + { + "internalType": "uint64", + "name": "executeAfter", + "type": "uint64" + }, { "internalType": "uint128", "name": "quorum", @@ -343,6 +385,11 @@ "internalType": "uint256", "name": "votesFor", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votesAgainst", + "type": "uint256" } ], "internalType": "struct IGovValidators.ProposalCore", @@ -399,6 +446,11 @@ "name": "voteEnd", "type": "uint64" }, + { + "internalType": "uint64", + "name": "executeAfter", + "type": "uint64" + }, { "internalType": "uint128", "name": "quorum", @@ -408,6 +460,11 @@ "internalType": "uint256", "name": "votesFor", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votesAgainst", + "type": "uint256" } ], "internalType": "struct IGovValidators.ProposalCore", @@ -523,6 +580,11 @@ "name": "duration", "type": "uint64" }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, { "internalType": "uint128", "name": "quorum", @@ -626,6 +688,11 @@ "internalType": "bool", "name": "isInternal", "type": "bool" + }, + { + "internalType": "bool", + "name": "isVoteFor", + "type": "bool" } ], "name": "vote", diff --git a/AllInteractions/abis/Insurance.json b/AllInteractions/abis/Insurance.json index 4cab338f..eaac44c0 100644 --- a/AllInteractions/abis/Insurance.json +++ b/AllInteractions/abis/Insurance.json @@ -18,6 +18,19 @@ "name": "Deposited", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ diff --git a/AllInteractions/abis/PoolFactory.json b/AllInteractions/abis/PoolFactory.json index c4ffab21..499c422b 100644 --- a/AllInteractions/abis/PoolFactory.json +++ b/AllInteractions/abis/PoolFactory.json @@ -264,24 +264,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -316,14 +333,26 @@ "type": "string" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" }, { "internalType": "address[]", @@ -372,6 +401,16 @@ "name": "nftMultiplierAddress", "type": "address" }, + { + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expertVoteModifier", + "type": "uint256" + }, { "internalType": "address", "name": "verifier", @@ -457,24 +496,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -509,14 +565,26 @@ "type": "string" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" }, { "internalType": "address[]", @@ -565,6 +633,16 @@ "name": "nftMultiplierAddress", "type": "address" }, + { + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expertVoteModifier", + "type": "uint256" + }, { "internalType": "address", "name": "verifier", @@ -626,6 +704,11 @@ "name": "saleEndTime", "type": "uint64" }, + { + "internalType": "uint64", + "name": "claimLockDuration", + "type": "uint64" + }, { "internalType": "address", "name": "saleTokenAddress", @@ -677,9 +760,26 @@ "internalType": "struct ITokenSaleProposal.VestingSettings", "name": "vestingSettings", "type": "tuple" + }, + { + "components": [ + { + "internalType": "enum ITokenSaleProposal.ParticipationType", + "name": "participationType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ITokenSaleProposal.ParticipationDetails", + "name": "participationDetails", + "type": "tuple" } ], - "internalType": "struct ITokenSaleProposal.TierView[]", + "internalType": "struct ITokenSaleProposal.TierInitParams[]", "name": "tiersParams", "type": "tuple[]" }, @@ -854,8 +954,18 @@ "type": "string" } ], - "name": "predictGovAddress", + "name": "predictGovAddresses", "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, { "internalType": "address", "name": "", @@ -891,4 +1001,4 @@ "stateMutability": "nonpayable", "type": "function" } -] +] \ No newline at end of file diff --git a/AllInteractions/abis/TraderPool.json b/AllInteractions/abis/TraderPool.json index 59325d0c..89519c3b 100644 --- a/AllInteractions/abis/TraderPool.json +++ b/AllInteractions/abis/TraderPool.json @@ -1,4 +1,845 @@ [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "divestedLP2", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "receivedLP", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "receivedBase", + "type": "uint256" + } + ], + "name": "ProposalDivested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "investedLP", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "investedBase", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "receivedLP2", + "type": "uint256" + } + ], + "name": "ProposalInvested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "investor", + "type": "address" + } + ], + "name": "ProposalJoined", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "investor", + "type": "address" + } + ], + "name": "ProposalLeft", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ProposalRestrictionsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "TransferBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TransferSingle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "value", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "URI", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "parentPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "trader", + "type": "address" + }, + { + "internalType": "address", + "name": "baseToken", + "type": "address" + }, + { + "internalType": "uint8", + "name": "baseTokenDecimals", + "type": "uint8" + } + ], + "internalType": "struct ITraderPoolProposal.ParentTraderPoolInfo", + "name": "parentTraderPoolInfo", + "type": "tuple" + } + ], + "name": "__TraderPoolProposal_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + } + ], + "name": "balanceOfBatch", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "exists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBaseToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getInjector", + "outputs": [ + { + "internalType": "address", + "name": "_injector", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getInvestedBaseInUSD", + "outputs": [ + { + "internalType": "uint256", + "name": "investedBaseUSD", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getTotalActiveInvestments", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "investedBase", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "priceFeed", + "outputs": [ + { + "internalType": "contract IPriceFeed", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proposalsTotalNum", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contractsRegistry", + "type": "address" + } + ], + "name": "setDependencies", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_injector", + "type": "address" + } + ], + "name": "setInjector", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "totalLPBalances", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalLockedLP", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "uri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "descriptionURL", + "type": "string" + } + ], + "name": "DescriptionURLChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "admins", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "add", + "type": "bool" + } + ], + "name": "ModifiedAdmins", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "privateInvestors", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "add", + "type": "bool" + } + ], + "name": "ModifiedPrivateInvestors", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "fromToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "toToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fromVolume", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "toVolume", + "type": "uint256" + } + ], + "name": "Exchanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "position", + "type": "address" + } + ], + "name": "PositionClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "position", + "type": "address" + } + ], + "name": "PositionOpened", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "traderLpClaimed", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "traderBaseClaimed", + "type": "uint256" + } + ], + "name": "CommissionClaimed", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -49,6 +890,19 @@ "name": "Divested", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -205,24 +1059,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "addBlockInvestment", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [ { @@ -334,6 +1170,11 @@ "name": "descriptionURL", "type": "string" }, + { + "internalType": "bool", + "name": "onlyBABTHolders", + "type": "bool" + }, { "internalType": "bool", "name": "privatePool", @@ -427,13 +1268,8 @@ }, { "internalType": "uint256[]", - "name": "minPositionsOut", + "name": "minBaseOut", "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "minDexeCommissionOut", - "type": "uint256" } ], "name": "divest", @@ -557,11 +1393,6 @@ "internalType": "uint256", "name": "dexeUSDCommission", "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeDexeCommission", - "type": "uint256" } ], "internalType": "struct ITraderPool.Commissions", @@ -930,11 +1761,6 @@ "internalType": "uint256", "name": "dexeUSDCommission", "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeDexeCommission", - "type": "uint256" } ], "internalType": "struct ITraderPool.Commissions", @@ -1077,6 +1903,11 @@ "internalType": "address[]", "name": "tokens", "type": "address[]" + }, + { + "internalType": "uint256", + "name": "minLPOut", + "type": "uint256" } ], "name": "investInitial", @@ -1112,21 +1943,16 @@ "inputs": [ { "internalType": "address", - "name": "", + "name": "who", "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" } ], - "name": "investsInBlocks", + "name": "isBABTHolder", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "stateMutability": "view", @@ -1140,7 +1966,7 @@ "type": "address" } ], - "name": "isBABTHolder", + "name": "isPrivateInvestor", "outputs": [ { "internalType": "bool", @@ -1159,7 +1985,7 @@ "type": "address" } ], - "name": "isPrivateInvestor", + "name": "isTrader", "outputs": [ { "internalType": "bool", @@ -1178,7 +2004,7 @@ "type": "address" } ], - "name": "isTrader", + "name": "isTraderAdmin", "outputs": [ { "internalType": "bool", @@ -1193,16 +2019,16 @@ "inputs": [ { "internalType": "address", - "name": "who", + "name": "", "type": "address" } ], - "name": "isTraderAdmin", + "name": "latestInvestBlocks", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "stateMutability": "view", @@ -1320,11 +2146,6 @@ "internalType": "uint256[]", "name": "offsetLimits", "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "minDexeCommissionOut", - "type": "uint256" } ], "name": "reinvestCommission", @@ -1358,6 +2179,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "setLatestInvestBlock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "symbol", @@ -1514,190 +2348,5 @@ "outputs": [], "stateMutability": "nonpayable", "type": "function" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "fromToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "toToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fromVolume", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toVolume", - "type": "uint256" - } - ], - "name": "Exchanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "position", - "type": "address" - } - ], - "name": "PositionClosed", - "type": "event" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "divestedLP2", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedBase", - "type": "uint256" - } - ], - "name": "ProposalDivested", - "type": "event" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "descriptionURL", - "type": "string" - } - ], - "name": "DescriptionURLChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "admins", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "ModifiedAdmins", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "privateInvestors", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "ModifiedPrivateInvestors", - "type": "event" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "traderLpClaimed", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "traderBaseClaimed", - "type": "uint256" - } - ], - "name": "CommissionClaimed", - "type": "event" } ] \ No newline at end of file diff --git a/AllInteractions/abis/TraderPoolInvestProposal.json b/AllInteractions/abis/TraderPoolInvestProposal.json index 53c966b2..d247c78f 100644 --- a/AllInteractions/abis/TraderPoolInvestProposal.json +++ b/AllInteractions/abis/TraderPoolInvestProposal.json @@ -24,6 +24,19 @@ "name": "ApprovalForAll", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ diff --git a/AllInteractions/abis/TraderPoolRiskyProposal.json b/AllInteractions/abis/TraderPoolRiskyProposal.json index 90ced4f2..cbd65aa5 100644 --- a/AllInteractions/abis/TraderPoolRiskyProposal.json +++ b/AllInteractions/abis/TraderPoolRiskyProposal.json @@ -24,6 +24,19 @@ "name": "ApprovalForAll", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -277,6 +290,25 @@ "name": "ProposalPositionClosed", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "positionToken", + "type": "address" + } + ], + "name": "ProposalPositionOpened", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -632,7 +664,7 @@ }, { "internalType": "uint256", - "name": "minPositionOut", + "name": "minBaseOut", "type": "uint256" } ], diff --git a/AllInteractions/abis/UserRegistry.json b/AllInteractions/abis/UserRegistry.json index e15d42d3..950b24f0 100644 --- a/AllInteractions/abis/UserRegistry.json +++ b/AllInteractions/abis/UserRegistry.json @@ -18,6 +18,19 @@ "name": "Agreed", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -37,6 +50,19 @@ "name": "OwnershipTransferred", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + } + ], + "name": "SetDocumentHash", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -195,21 +221,28 @@ "inputs": [ { "internalType": "address", - "name": "", + "name": "user", "type": "address" } ], "name": "userInfos", "outputs": [ { - "internalType": "string", - "name": "profileURL", - "type": "string" - }, - { - "internalType": "bytes32", - "name": "signatureHash", - "type": "bytes32" + "components": [ + { + "internalType": "string", + "name": "profileURL", + "type": "string" + }, + { + "internalType": "bytes32", + "name": "signatureHash", + "type": "bytes32" + } + ], + "internalType": "struct IUserRegistry.UserInfo", + "name": "", + "type": "tuple" } ], "stateMutability": "view", diff --git a/AllInteractions/subgraph.yaml b/AllInteractions/subgraph.yaml index 9997154b..6e4f8238 100644 --- a/AllInteractions/subgraph.yaml +++ b/AllInteractions/subgraph.yaml @@ -186,7 +186,7 @@ templates: handler: onDelegated - event: Voted(uint256,address,uint256,uint256,bool) handler: onVoted - - event: ProposalExecuted(uint256,address) + - event: ProposalExecuted(uint256,bool,address) handler: onProposalExecuted - event: RewardClaimed(uint256,address,address,uint256) handler: onRewardClaimed diff --git a/AllInteractions/tests/DaoPool.test.ts b/AllInteractions/tests/DaoPool.test.ts index b56301b2..e8a0146b 100644 --- a/AllInteractions/tests/DaoPool.test.ts +++ b/AllInteractions/tests/DaoPool.test.ts @@ -154,6 +154,7 @@ function createProposalExecuted( event.parameters = new Array(); event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); + event.parameters.push(new ethereum.EventParam("isFor", ethereum.Value.fromBoolean(true))); event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); event.block = block; diff --git a/AllPools/abis/PoolFactory.json b/AllPools/abis/PoolFactory.json index c4ffab21..499c422b 100644 --- a/AllPools/abis/PoolFactory.json +++ b/AllPools/abis/PoolFactory.json @@ -264,24 +264,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -316,14 +333,26 @@ "type": "string" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" }, { "internalType": "address[]", @@ -372,6 +401,16 @@ "name": "nftMultiplierAddress", "type": "address" }, + { + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expertVoteModifier", + "type": "uint256" + }, { "internalType": "address", "name": "verifier", @@ -457,24 +496,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -509,14 +565,26 @@ "type": "string" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" }, { "internalType": "address[]", @@ -565,6 +633,16 @@ "name": "nftMultiplierAddress", "type": "address" }, + { + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expertVoteModifier", + "type": "uint256" + }, { "internalType": "address", "name": "verifier", @@ -626,6 +704,11 @@ "name": "saleEndTime", "type": "uint64" }, + { + "internalType": "uint64", + "name": "claimLockDuration", + "type": "uint64" + }, { "internalType": "address", "name": "saleTokenAddress", @@ -677,9 +760,26 @@ "internalType": "struct ITokenSaleProposal.VestingSettings", "name": "vestingSettings", "type": "tuple" + }, + { + "components": [ + { + "internalType": "enum ITokenSaleProposal.ParticipationType", + "name": "participationType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ITokenSaleProposal.ParticipationDetails", + "name": "participationDetails", + "type": "tuple" } ], - "internalType": "struct ITokenSaleProposal.TierView[]", + "internalType": "struct ITokenSaleProposal.TierInitParams[]", "name": "tiersParams", "type": "tuple[]" }, @@ -854,8 +954,18 @@ "type": "string" } ], - "name": "predictGovAddress", + "name": "predictGovAddresses", "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, { "internalType": "address", "name": "", @@ -891,4 +1001,4 @@ "stateMutability": "nonpayable", "type": "function" } -] +] \ No newline at end of file diff --git a/AllPools/abis/PoolRegistry.json b/AllPools/abis/PoolRegistry.json index 2a3e59d9..e5f28102 100644 --- a/AllPools/abis/PoolRegistry.json +++ b/AllPools/abis/PoolRegistry.json @@ -1,4 +1,17 @@ [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ diff --git a/AllPools/abis/PriceFeed.json b/AllPools/abis/PriceFeed.json index b2a92aad..2c479f04 100644 --- a/AllPools/abis/PriceFeed.json +++ b/AllPools/abis/PriceFeed.json @@ -1,4 +1,17 @@ [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ diff --git a/AllPools/abis/TraderPool.json b/AllPools/abis/TraderPool.json index f85c634e..d89d8e14 100644 --- a/AllPools/abis/TraderPool.json +++ b/AllPools/abis/TraderPool.json @@ -1,4 +1,926 @@ [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "fromToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "toToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fromVolume", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "toVolume", + "type": "uint256" + } + ], + "name": "ActivePortfolioExchanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "fromToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "toToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fromVolume", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "toVolume", + "type": "uint256" + } + ], + "name": "Exchanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "position", + "type": "address" + } + ], + "name": "PositionOpened", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "divestedLP2", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "receivedLP", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "receivedBase", + "type": "uint256" + } + ], + "name": "ProposalDivested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "investedLP", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "investedBase", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "receivedLP2", + "type": "uint256" + } + ], + "name": "ProposalInvested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "investor", + "type": "address" + } + ], + "name": "ProposalJoined", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "investor", + "type": "address" + } + ], + "name": "ProposalLeft", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ProposalRestrictionsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "TransferBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TransferSingle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "value", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "URI", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "parentPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "trader", + "type": "address" + }, + { + "internalType": "address", + "name": "baseToken", + "type": "address" + }, + { + "internalType": "uint8", + "name": "baseTokenDecimals", + "type": "uint8" + } + ], + "internalType": "struct ITraderPoolProposal.ParentTraderPoolInfo", + "name": "parentTraderPoolInfo", + "type": "tuple" + } + ], + "name": "__TraderPoolProposal_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + } + ], + "name": "balanceOfBatch", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "exists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBaseToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getInjector", + "outputs": [ + { + "internalType": "address", + "name": "_injector", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getInvestedBaseInUSD", + "outputs": [ + { + "internalType": "uint256", + "name": "investedBaseUSD", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getTotalActiveInvestments", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "investedBase", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "priceFeed", + "outputs": [ + { + "internalType": "contract IPriceFeed", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proposalsTotalNum", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contractsRegistry", + "type": "address" + } + ], + "name": "setDependencies", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_injector", + "type": "address" + } + ], + "name": "setInjector", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "totalLPBalances", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalLockedLP", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "uri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "descriptionURL", + "type": "string" + } + ], + "name": "DescriptionURLChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "admins", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "add", + "type": "bool" + } + ], + "name": "ModifiedAdmins", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "privateInvestors", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "add", + "type": "bool" + } + ], + "name": "ModifiedPrivateInvestors", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "fromToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "toToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fromVolume", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "toVolume", + "type": "uint256" + } + ], + "name": "Exchanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "position", + "type": "address" + } + ], + "name": "PositionClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "position", + "type": "address" + } + ], + "name": "PositionOpened", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "traderLpClaimed", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "traderBaseClaimed", + "type": "uint256" + } + ], + "name": "CommissionClaimed", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -46,7 +968,20 @@ "type": "uint256" } ], - "name": "Divested", + "name": "Divested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", "type": "event" }, { @@ -205,24 +1140,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "addBlockInvestment", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [ { @@ -334,6 +1251,11 @@ "name": "descriptionURL", "type": "string" }, + { + "internalType": "bool", + "name": "onlyBABTHolders", + "type": "bool" + }, { "internalType": "bool", "name": "privatePool", @@ -427,13 +1349,8 @@ }, { "internalType": "uint256[]", - "name": "minPositionsOut", + "name": "minBaseOut", "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "minDexeCommissionOut", - "type": "uint256" } ], "name": "divest", @@ -557,11 +1474,6 @@ "internalType": "uint256", "name": "dexeUSDCommission", "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeDexeCommission", - "type": "uint256" } ], "internalType": "struct ITraderPool.Commissions", @@ -930,11 +1842,6 @@ "internalType": "uint256", "name": "dexeUSDCommission", "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeDexeCommission", - "type": "uint256" } ], "internalType": "struct ITraderPool.Commissions", @@ -1077,6 +1984,11 @@ "internalType": "address[]", "name": "tokens", "type": "address[]" + }, + { + "internalType": "uint256", + "name": "minLPOut", + "type": "uint256" } ], "name": "investInitial", @@ -1112,21 +2024,16 @@ "inputs": [ { "internalType": "address", - "name": "", + "name": "who", "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" } ], - "name": "investsInBlocks", + "name": "isBABTHolder", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "stateMutability": "view", @@ -1140,7 +2047,7 @@ "type": "address" } ], - "name": "isBABTHolder", + "name": "isPrivateInvestor", "outputs": [ { "internalType": "bool", @@ -1159,7 +2066,7 @@ "type": "address" } ], - "name": "isPrivateInvestor", + "name": "isTrader", "outputs": [ { "internalType": "bool", @@ -1178,7 +2085,7 @@ "type": "address" } ], - "name": "isTrader", + "name": "isTraderAdmin", "outputs": [ { "internalType": "bool", @@ -1193,16 +2100,16 @@ "inputs": [ { "internalType": "address", - "name": "who", + "name": "", "type": "address" } ], - "name": "isTraderAdmin", + "name": "latestInvestBlocks", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "stateMutability": "view", @@ -1320,11 +2227,6 @@ "internalType": "uint256[]", "name": "offsetLimits", "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "minDexeCommissionOut", - "type": "uint256" } ], "name": "reinvestCommission", @@ -1358,6 +2260,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "setLatestInvestBlock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "symbol", @@ -1514,184 +2429,5 @@ "outputs": [], "stateMutability": "nonpayable", "type": "function" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "fromToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "toToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fromVolume", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toVolume", - "type": "uint256" - } - ], - "name": "Exchanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "position", - "type": "address" - } - ], - "name": "PositionClosed", - "type": "event" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "fromToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "toToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fromVolume", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toVolume", - "type": "uint256" - } - ], - "name": "ActivePortfolioExchanged", - "type": "event" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "descriptionURL", - "type": "string" - } - ], - "name": "DescriptionURLChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "admins", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "ModifiedAdmins", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "privateInvestors", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "ModifiedPrivateInvestors", - "type": "event" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "traderLpClaimed", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "traderBaseClaimed", - "type": "uint256" - } - ], - "name": "CommissionClaimed", - "type": "event" } ] \ No newline at end of file diff --git a/AllPoolsInvestors/abis/Insurance.json b/AllPoolsInvestors/abis/Insurance.json index 4cab338f..eaac44c0 100644 --- a/AllPoolsInvestors/abis/Insurance.json +++ b/AllPoolsInvestors/abis/Insurance.json @@ -18,6 +18,19 @@ "name": "Deposited", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ diff --git a/AllPoolsInvestors/abis/PoolFactory.json b/AllPoolsInvestors/abis/PoolFactory.json index c4ffab21..499c422b 100644 --- a/AllPoolsInvestors/abis/PoolFactory.json +++ b/AllPoolsInvestors/abis/PoolFactory.json @@ -264,24 +264,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -316,14 +333,26 @@ "type": "string" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" }, { "internalType": "address[]", @@ -372,6 +401,16 @@ "name": "nftMultiplierAddress", "type": "address" }, + { + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expertVoteModifier", + "type": "uint256" + }, { "internalType": "address", "name": "verifier", @@ -457,24 +496,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -509,14 +565,26 @@ "type": "string" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" }, { "internalType": "address[]", @@ -565,6 +633,16 @@ "name": "nftMultiplierAddress", "type": "address" }, + { + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expertVoteModifier", + "type": "uint256" + }, { "internalType": "address", "name": "verifier", @@ -626,6 +704,11 @@ "name": "saleEndTime", "type": "uint64" }, + { + "internalType": "uint64", + "name": "claimLockDuration", + "type": "uint64" + }, { "internalType": "address", "name": "saleTokenAddress", @@ -677,9 +760,26 @@ "internalType": "struct ITokenSaleProposal.VestingSettings", "name": "vestingSettings", "type": "tuple" + }, + { + "components": [ + { + "internalType": "enum ITokenSaleProposal.ParticipationType", + "name": "participationType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ITokenSaleProposal.ParticipationDetails", + "name": "participationDetails", + "type": "tuple" } ], - "internalType": "struct ITokenSaleProposal.TierView[]", + "internalType": "struct ITokenSaleProposal.TierInitParams[]", "name": "tiersParams", "type": "tuple[]" }, @@ -854,8 +954,18 @@ "type": "string" } ], - "name": "predictGovAddress", + "name": "predictGovAddresses", "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, { "internalType": "address", "name": "", @@ -891,4 +1001,4 @@ "stateMutability": "nonpayable", "type": "function" } -] +] \ No newline at end of file diff --git a/AllPoolsInvestors/abis/PriceFeed.json b/AllPoolsInvestors/abis/PriceFeed.json index b2a92aad..2c479f04 100644 --- a/AllPoolsInvestors/abis/PriceFeed.json +++ b/AllPoolsInvestors/abis/PriceFeed.json @@ -1,4 +1,17 @@ [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ diff --git a/AllPoolsInvestors/abis/TraderPool.json b/AllPoolsInvestors/abis/TraderPool.json index 59325d0c..89519c3b 100644 --- a/AllPoolsInvestors/abis/TraderPool.json +++ b/AllPoolsInvestors/abis/TraderPool.json @@ -1,4 +1,845 @@ [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "divestedLP2", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "receivedLP", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "receivedBase", + "type": "uint256" + } + ], + "name": "ProposalDivested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "investedLP", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "investedBase", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "receivedLP2", + "type": "uint256" + } + ], + "name": "ProposalInvested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "investor", + "type": "address" + } + ], + "name": "ProposalJoined", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "investor", + "type": "address" + } + ], + "name": "ProposalLeft", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ProposalRestrictionsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "TransferBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TransferSingle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "value", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "URI", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "parentPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "trader", + "type": "address" + }, + { + "internalType": "address", + "name": "baseToken", + "type": "address" + }, + { + "internalType": "uint8", + "name": "baseTokenDecimals", + "type": "uint8" + } + ], + "internalType": "struct ITraderPoolProposal.ParentTraderPoolInfo", + "name": "parentTraderPoolInfo", + "type": "tuple" + } + ], + "name": "__TraderPoolProposal_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + } + ], + "name": "balanceOfBatch", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "exists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBaseToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getInjector", + "outputs": [ + { + "internalType": "address", + "name": "_injector", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getInvestedBaseInUSD", + "outputs": [ + { + "internalType": "uint256", + "name": "investedBaseUSD", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getTotalActiveInvestments", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "investedBase", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "priceFeed", + "outputs": [ + { + "internalType": "contract IPriceFeed", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proposalsTotalNum", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contractsRegistry", + "type": "address" + } + ], + "name": "setDependencies", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_injector", + "type": "address" + } + ], + "name": "setInjector", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "totalLPBalances", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalLockedLP", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "uri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "descriptionURL", + "type": "string" + } + ], + "name": "DescriptionURLChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "admins", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "add", + "type": "bool" + } + ], + "name": "ModifiedAdmins", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "privateInvestors", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "add", + "type": "bool" + } + ], + "name": "ModifiedPrivateInvestors", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "fromToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "toToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fromVolume", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "toVolume", + "type": "uint256" + } + ], + "name": "Exchanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "position", + "type": "address" + } + ], + "name": "PositionClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "position", + "type": "address" + } + ], + "name": "PositionOpened", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "traderLpClaimed", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "traderBaseClaimed", + "type": "uint256" + } + ], + "name": "CommissionClaimed", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -49,6 +890,19 @@ "name": "Divested", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -205,24 +1059,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "addBlockInvestment", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [ { @@ -334,6 +1170,11 @@ "name": "descriptionURL", "type": "string" }, + { + "internalType": "bool", + "name": "onlyBABTHolders", + "type": "bool" + }, { "internalType": "bool", "name": "privatePool", @@ -427,13 +1268,8 @@ }, { "internalType": "uint256[]", - "name": "minPositionsOut", + "name": "minBaseOut", "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "minDexeCommissionOut", - "type": "uint256" } ], "name": "divest", @@ -557,11 +1393,6 @@ "internalType": "uint256", "name": "dexeUSDCommission", "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeDexeCommission", - "type": "uint256" } ], "internalType": "struct ITraderPool.Commissions", @@ -930,11 +1761,6 @@ "internalType": "uint256", "name": "dexeUSDCommission", "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeDexeCommission", - "type": "uint256" } ], "internalType": "struct ITraderPool.Commissions", @@ -1077,6 +1903,11 @@ "internalType": "address[]", "name": "tokens", "type": "address[]" + }, + { + "internalType": "uint256", + "name": "minLPOut", + "type": "uint256" } ], "name": "investInitial", @@ -1112,21 +1943,16 @@ "inputs": [ { "internalType": "address", - "name": "", + "name": "who", "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" } ], - "name": "investsInBlocks", + "name": "isBABTHolder", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "stateMutability": "view", @@ -1140,7 +1966,7 @@ "type": "address" } ], - "name": "isBABTHolder", + "name": "isPrivateInvestor", "outputs": [ { "internalType": "bool", @@ -1159,7 +1985,7 @@ "type": "address" } ], - "name": "isPrivateInvestor", + "name": "isTrader", "outputs": [ { "internalType": "bool", @@ -1178,7 +2004,7 @@ "type": "address" } ], - "name": "isTrader", + "name": "isTraderAdmin", "outputs": [ { "internalType": "bool", @@ -1193,16 +2019,16 @@ "inputs": [ { "internalType": "address", - "name": "who", + "name": "", "type": "address" } ], - "name": "isTraderAdmin", + "name": "latestInvestBlocks", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "stateMutability": "view", @@ -1320,11 +2146,6 @@ "internalType": "uint256[]", "name": "offsetLimits", "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "minDexeCommissionOut", - "type": "uint256" } ], "name": "reinvestCommission", @@ -1358,6 +2179,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "setLatestInvestBlock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "symbol", @@ -1514,190 +2348,5 @@ "outputs": [], "stateMutability": "nonpayable", "type": "function" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "fromToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "toToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fromVolume", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toVolume", - "type": "uint256" - } - ], - "name": "Exchanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "position", - "type": "address" - } - ], - "name": "PositionClosed", - "type": "event" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "divestedLP2", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedBase", - "type": "uint256" - } - ], - "name": "ProposalDivested", - "type": "event" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "descriptionURL", - "type": "string" - } - ], - "name": "DescriptionURLChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "admins", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "ModifiedAdmins", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "privateInvestors", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "ModifiedPrivateInvestors", - "type": "event" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "traderLpClaimed", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "traderBaseClaimed", - "type": "uint256" - } - ], - "name": "CommissionClaimed", - "type": "event" } ] \ No newline at end of file diff --git a/AllPoolsInvestors/abis/TraderPoolProposal.json b/AllPoolsInvestors/abis/TraderPoolProposal.json index 62a6bfb9..bdacb516 100644 --- a/AllPoolsInvestors/abis/TraderPoolProposal.json +++ b/AllPoolsInvestors/abis/TraderPoolProposal.json @@ -1,4 +1,35 @@ [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "tokens", + "type": "address[]" + } + ], + "name": "ProposalClaimed", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -24,6 +55,19 @@ "name": "ApprovalForAll", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -669,37 +713,5 @@ ], "stateMutability": "view", "type": "function" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - } - ], - "name": "ProposalClaimed", - "type": "event" } ] \ No newline at end of file diff --git a/BasicPool/abis/PoolFactory.json b/BasicPool/abis/PoolFactory.json index c4ffab21..499c422b 100644 --- a/BasicPool/abis/PoolFactory.json +++ b/BasicPool/abis/PoolFactory.json @@ -264,24 +264,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -316,14 +333,26 @@ "type": "string" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" }, { "internalType": "address[]", @@ -372,6 +401,16 @@ "name": "nftMultiplierAddress", "type": "address" }, + { + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expertVoteModifier", + "type": "uint256" + }, { "internalType": "address", "name": "verifier", @@ -457,24 +496,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -509,14 +565,26 @@ "type": "string" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" }, { "internalType": "address[]", @@ -565,6 +633,16 @@ "name": "nftMultiplierAddress", "type": "address" }, + { + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expertVoteModifier", + "type": "uint256" + }, { "internalType": "address", "name": "verifier", @@ -626,6 +704,11 @@ "name": "saleEndTime", "type": "uint64" }, + { + "internalType": "uint64", + "name": "claimLockDuration", + "type": "uint64" + }, { "internalType": "address", "name": "saleTokenAddress", @@ -677,9 +760,26 @@ "internalType": "struct ITokenSaleProposal.VestingSettings", "name": "vestingSettings", "type": "tuple" + }, + { + "components": [ + { + "internalType": "enum ITokenSaleProposal.ParticipationType", + "name": "participationType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ITokenSaleProposal.ParticipationDetails", + "name": "participationDetails", + "type": "tuple" } ], - "internalType": "struct ITokenSaleProposal.TierView[]", + "internalType": "struct ITokenSaleProposal.TierInitParams[]", "name": "tiersParams", "type": "tuple[]" }, @@ -854,8 +954,18 @@ "type": "string" } ], - "name": "predictGovAddress", + "name": "predictGovAddresses", "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, { "internalType": "address", "name": "", @@ -891,4 +1001,4 @@ "stateMutability": "nonpayable", "type": "function" } -] +] \ No newline at end of file diff --git a/BasicPool/abis/PriceFeed.json b/BasicPool/abis/PriceFeed.json index b2a92aad..2c479f04 100644 --- a/BasicPool/abis/PriceFeed.json +++ b/BasicPool/abis/PriceFeed.json @@ -1,4 +1,17 @@ [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ diff --git a/BasicPool/abis/TraderPoolRiskyProposal.json b/BasicPool/abis/TraderPoolRiskyProposal.json index 90ced4f2..cbd65aa5 100644 --- a/BasicPool/abis/TraderPoolRiskyProposal.json +++ b/BasicPool/abis/TraderPoolRiskyProposal.json @@ -24,6 +24,19 @@ "name": "ApprovalForAll", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -277,6 +290,25 @@ "name": "ProposalPositionClosed", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "positionToken", + "type": "address" + } + ], + "name": "ProposalPositionOpened", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -632,7 +664,7 @@ }, { "internalType": "uint256", - "name": "minPositionOut", + "name": "minBaseOut", "type": "uint256" } ], diff --git a/DaoPools/abis/DaoPool.json b/DaoPools/abis/DaoPool.json index 4cadf366..407b6b09 100644 --- a/DaoPools/abis/DaoPool.json +++ b/DaoPools/abis/DaoPool.json @@ -5,13 +5,13 @@ { "indexed": false, "internalType": "address", - "name": "from", + "name": "user", "type": "address" }, { "indexed": false, "internalType": "address", - "name": "to", + "name": "token", "type": "address" }, { @@ -19,46 +19,78 @@ "internalType": "uint256", "name": "amount", "type": "uint256" - }, + } + ], + "name": "StakingRewardClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ { "indexed": false, - "internalType": "uint256[]", - "name": "nfts", - "type": "uint256[]" + "internalType": "string", + "name": "resultsHash", + "type": "string" }, { "indexed": false, - "internalType": "bool", - "name": "isDelegate", - "type": "bool" + "internalType": "address", + "name": "sender", + "type": "address" } ], - "name": "Delegated", + "name": "OffchainResultsSaved", "type": "event" }, + { + "inputs": [ + { + "internalType": "string", + "name": "resultsHash", + "type": "string" + } + ], + "name": "getSignHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "proposalId", "type": "uint256" }, { "indexed": false, - "internalType": "uint256[]", - "name": "nfts", - "type": "uint256[]" + "internalType": "address", + "name": "sender", + "type": "address" }, { "indexed": false, "internalType": "address", - "name": "sender", + "name": "token", "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], - "name": "Deposited", + "name": "RewardClaimed", "type": "event" }, { @@ -70,6 +102,24 @@ "name": "proposalId", "type": "uint256" }, + { + "indexed": false, + "internalType": "enum IGovPool.RewardType", + "name": "rewardType", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, { "indexed": false, "internalType": "address", @@ -77,7 +127,7 @@ "type": "address" } ], - "name": "MovedToValidators", + "name": "RewardCredited", "type": "event" }, { @@ -85,18 +135,36 @@ "inputs": [ { "indexed": false, - "internalType": "string", - "name": "resultsHash", - "type": "string" + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "sender", "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "personalVote", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "delegatedVote", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isVoteFor", + "type": "bool" } ], - "name": "OffchainResultsSaved", + "name": "Voted", "type": "event" }, { @@ -105,14 +173,14 @@ { "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "proposalId", "type": "uint256" }, { "indexed": false, - "internalType": "uint256[]", - "name": "nfts", - "type": "uint256[]" + "internalType": "bool", + "name": "isFor", + "type": "bool" }, { "indexed": false, @@ -121,105 +189,357 @@ "type": "address" } ], - "name": "Withdrawn", + "name": "ProposalExecuted", "type": "event" }, { - "inputs": [], - "name": "PERCENTAGE_DELEGATORS_REWARDS", - "outputs": [ + "anonymous": false, + "inputs": [ { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "stateMutability": "view", - "type": "function" + "name": "DPCreated", + "type": "event" }, { - "inputs": [], - "name": "PERCENTAGE_MICROPOOL_REWARDS", - "outputs": [ + "anonymous": false, + "inputs": [ { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "proposalId", "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" } ], - "stateMutability": "view", - "type": "function" + "name": "MovedToValidators", + "type": "event" }, { + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "govSettingAddress", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" }, { - "internalType": "address", - "name": "govUserKeeperAddress", - "type": "address" + "indexed": false, + "internalType": "string", + "name": "proposalDescription", + "type": "string" }, { - "internalType": "address", - "name": "distributionProposalAddress", - "type": "address" + "indexed": false, + "internalType": "string", + "name": "misc", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "quorum", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "proposalSettings", + "type": "uint256" }, { + "indexed": false, "internalType": "address", - "name": "validatorsAddress", + "name": "rewardToken", "type": "address" }, { + "indexed": false, "internalType": "address", - "name": "nftMultiplierAddress", + "name": "sender", "type": "address" - }, + } + ], + "name": "ProposalCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ { + "indexed": false, "internalType": "address", - "name": "_verifier", + "name": "from", "type": "address" }, { - "internalType": "bool", - "name": "_onlyBABTHolders", - "type": "bool" + "indexed": false, + "internalType": "address", + "name": "to", + "type": "address" }, { + "indexed": false, "internalType": "uint256", - "name": "_deployerBABTid", + "name": "amount", "type": "uint256" }, { - "internalType": "string", - "name": "_descriptionURL", - "type": "string" + "indexed": false, + "internalType": "uint256[]", + "name": "nfts", + "type": "uint256[]" }, { - "internalType": "string", - "name": "_name", - "type": "string" + "indexed": false, + "internalType": "bool", + "name": "isDelegate", + "type": "bool" } ], - "name": "__GovPool_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" + "name": "Delegated", + "type": "event" }, { - "inputs": [], - "name": "babt", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "contract ISBT721", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "nfts", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "Deposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "nfts", + "type": "uint256[]" + } + ], + "name": "Requested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "nfts", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "Withdrawn", + "type": "event" + }, + { + "inputs": [], + "name": "PERCENTAGE_MICROPOOL_REWARDS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "settingsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "userKeeperAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "distributionAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "validatorsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "expertNftAddress", + "type": "address" + } + ], + "internalType": "struct IGovPool.Dependencies", + "name": "govPoolDeps", + "type": "tuple" + }, + { + "internalType": "address", + "name": "nftMultiplierAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expertVoteModifier", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_verifier", + "type": "address" + }, + { + "internalType": "bool", + "name": "_onlyBABTHolders", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "_deployerBABTid", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_descriptionURL", + "type": "string" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + } + ], + "name": "__GovPool_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "babt", + "outputs": [ + { + "internalType": "contract ISBT721", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "onlyBABT", + "type": "bool" + } + ], + "name": "changeBABTRestriction", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" }, { "inputs": [ @@ -234,6 +554,24 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "regularModifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expertModifier", + "type": "uint256" + } + ], + "name": "changeVoteModifiers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -273,19 +611,48 @@ "type": "string" }, { - "internalType": "address[]", - "name": "executors", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" + "components": [ + { + "internalType": "address", + "name": "executor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct IGovPool.ProposalAction[]", + "name": "actionsOnFor", + "type": "tuple[]" }, { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" + "components": [ + { + "internalType": "address", + "name": "executor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct IGovPool.ProposalAction[]", + "name": "actionsOnAgainst", + "type": "tuple[]" } ], "name": "createProposal", @@ -365,6 +732,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "dexeExpertNft", + "outputs": [ + { + "internalType": "contract IERC721Expert", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -392,7 +772,20 @@ "type": "function" }, { - "inputs": [ + "inputs": [], + "name": "expertNft", + "outputs": [ + { + "internalType": "contract IERC721Expert", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ { "internalType": "address", "name": "delegator", @@ -432,6 +825,25 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getExpertStatus", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "getHelperContracts", @@ -653,24 +1065,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -692,11 +1121,21 @@ "name": "voteEnd", "type": "uint64" }, + { + "internalType": "uint64", + "name": "executeAfter", + "type": "uint64" + }, { "internalType": "uint256", "name": "votesFor", "type": "uint256" }, + { + "internalType": "uint256", + "name": "votesAgainst", + "type": "uint256" + }, { "internalType": "uint256", "name": "nftPowerSnapshotId", @@ -713,19 +1152,48 @@ "type": "string" }, { - "internalType": "address[]", - "name": "executors", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" + "components": [ + { + "internalType": "address", + "name": "executor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct IGovPool.ProposalAction[]", + "name": "actionsOnFor", + "type": "tuple[]" }, { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" + "components": [ + { + "internalType": "address", + "name": "executor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct IGovPool.ProposalAction[]", + "name": "actionsOnAgainst", + "type": "tuple[]" } ], "internalType": "struct IGovPool.Proposal", @@ -742,15 +1210,20 @@ "type": "bool" }, { - "internalType": "uint32", + "internalType": "uint56", "name": "snapshotId", - "type": "uint32" + "type": "uint56" }, { "internalType": "uint64", "name": "voteEnd", "type": "uint64" }, + { + "internalType": "uint64", + "name": "executeAfter", + "type": "uint64" + }, { "internalType": "uint128", "name": "quorum", @@ -760,6 +1233,11 @@ "internalType": "uint256", "name": "votesFor", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votesAgainst", + "type": "uint256" } ], "internalType": "struct IGovValidators.ProposalCore", @@ -785,6 +1263,11 @@ "internalType": "uint256", "name": "requiredValidatorsQuorum", "type": "uint256" + }, + { + "internalType": "uint64", + "name": "executeAfter", + "type": "uint64" } ], "internalType": "struct IGovPool.ProposalView[]", @@ -815,6 +1298,16 @@ ], "name": "getTotalVotes", "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, { "internalType": "uint256", "name": "", @@ -853,17 +1346,32 @@ "components": [ { "internalType": "uint256", - "name": "totalVoted", + "name": "totalVotedFor", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalVotedAgainst", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensVotedFor", "type": "uint256" }, { "internalType": "uint256", - "name": "tokensVoted", + "name": "tokensVotedAgainst", "type": "uint256" }, { "internalType": "uint256[]", - "name": "nftsVoted", + "name": "nftsVotedFor", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "nftsVotedAgainst", "type": "uint256[]" } ], @@ -888,6 +1396,43 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getVoteModifierForUser", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVoteModifiers", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -909,21 +1454,9 @@ "type": "uint256" }, { - "components": [ - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "length", - "type": "uint256" - } - ], - "internalType": "struct ShrinkableArray.UintArray", + "internalType": "uint256[]", "name": "nfts", - "type": "tuple" + "type": "uint256[]" } ], "stateMutability": "view", @@ -1125,6 +1658,29 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "delegatee", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "nftIds", + "type": "uint256[]" + } + ], + "name": "request", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -1281,6 +1837,11 @@ "internalType": "uint256[]", "name": "voteNftIds", "type": "uint256[]" + }, + { + "internalType": "bool", + "name": "isVoteFor", + "type": "bool" } ], "name": "vote", @@ -1304,6 +1865,11 @@ "internalType": "uint256[]", "name": "voteNftIds", "type": "uint256[]" + }, + { + "internalType": "bool", + "name": "isVoteFor", + "type": "bool" } ], "name": "voteDelegated", @@ -1337,276 +1903,5 @@ { "stateMutability": "payable", "type": "receive" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "DPCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "proposalDescription", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "misc", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "quorum", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalSettings", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "ProposalCreated", - "type": "event" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isFor", - "type": "bool" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "ProposalExecuted", - "type": "event" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "RewardClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum IGovPool.RewardType", - "name": "rewardType", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RewardCredited", - "type": "event" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "personalVote", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "delegatedVote", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isVoteFor", - "type": "bool" - } - ], - "name": "Voted", - "type": "event" - }, - - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "StakingRewardClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "nfts", - "type": "uint256[]" - } - ], - "name": "Requested", - "type": "event" } ] \ No newline at end of file diff --git a/DaoPools/abis/DaoSettings.json b/DaoPools/abis/DaoSettings.json index fe92b987..aef9a558 100644 --- a/DaoPools/abis/DaoSettings.json +++ b/DaoPools/abis/DaoSettings.json @@ -18,6 +18,19 @@ "name": "ExecutorChanged", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -126,24 +139,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -216,24 +246,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -324,24 +371,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -430,24 +494,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -521,24 +602,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -606,24 +704,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -728,24 +843,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", diff --git a/DaoPools/abis/DistributionProposal.json b/DaoPools/abis/DistributionProposal.json index 77f45278..75e50982 100644 --- a/DaoPools/abis/DistributionProposal.json +++ b/DaoPools/abis/DistributionProposal.json @@ -24,6 +24,19 @@ "name": "DistributionProposalClaimed", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "inputs": [ { diff --git a/DaoPools/abis/ERC721Expert.json b/DaoPools/abis/ERC721Expert.json index f49341a1..29922e17 100644 --- a/DaoPools/abis/ERC721Expert.json +++ b/DaoPools/abis/ERC721Expert.json @@ -1,623 +1,614 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ERC721Expert", - "sourceName": "contracts/gov/ERC721/ERC721Expert.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum IERC721Expert.BurnAuth", - "name": "burnAuth", - "type": "uint8" - } - ], - "name": "Issued", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string[]", - "name": "tags", - "type": "string[]" - } - ], - "name": "TagsAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "__ERC721Expert_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "burnAuth", - "outputs": [ - { - "internalType": "enum IERC721Expert.BurnAuth", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "expert", - "type": "address" - } - ], - "name": "getIdByExpert", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getTags", - "outputs": [ - { - "internalType": "string[]", - "name": "", - "type": "string[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "expert", - "type": "address" - } - ], - "name": "isExpert", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "string", - "name": "uri_", - "type": "string" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "string[]", - "name": "tags", - "type": "string[]" - } - ], - "name": "setTags", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "string", - "name": "uri_", - "type": "string" - } - ], - "name": "setTokenURI", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5061242b806100206000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80636352211e116100de57806395d89b4111610097578063c87b56dd11610071578063c87b56dd14610348578063d0def5211461035b578063e985e9c51461036e578063f2fde38b146103aa57600080fd5b806395d89b411461031a578063a22cb46514610322578063b88d4fde1461033557600080fd5b80636352211e146102b557806370a08231146102c8578063715018a6146102db57806376c535ae146102e35780637a6e9514146102f65780638da5cb5b1461030957600080fd5b806323b872dd1161013057806323b872dd1461022857806329d29cb31461023b5780633cca1f2c1461025b57806342842e0e1461026e57806342966c68146102815780636047fb891461029457600080fd5b806301ffc9a7146101785780630489b56f146101a057806306fdde03146101c0578063081812fc146101d5578063095ea7b314610200578063162094c414610215575b600080fd5b61018b610186366004611c75565b6103bd565b60405190151581526020015b60405180910390f35b6101b36101ae366004611c92565b610403565b6040516101979190611cab565b6101c861048d565b6040516101979190611d2b565b6101e86101e3366004611c92565b61051f565b6040516001600160a01b039091168152602001610197565b61021361020e366004611d5a565b610546565b005b610213610223366004611dcd565b61065c565b610213610236366004611e19565b6106a4565b61024e610249366004611c92565b6106d5565b6040516101979190611e55565b610213610269366004611eb7565b6107c1565b61021361027c366004611e19565b610949565b61021361028f366004611c92565b610964565b6102a76102a2366004611f23565b610a23565b604051908152602001610197565b6101e86102c3366004611c92565b610aa2565b6102a76102d6366004611f23565b610b02565b610213610b88565b61018b6102f1366004611f23565b610b9c565b610213610304366004611fdd565b610bb0565b60c9546001600160a01b03166101e8565b6101c8610cd7565b6102136103303660046120c2565b610ce6565b6102136103433660046120fe565b610cf5565b6101c8610356366004611c92565b610d2d565b6102a761036936600461217a565b610e3e565b61018b61037c3660046121b4565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6102136103b8366004611f23565b610f85565b60006001600160e01b03198216630489b56f60e01b14806103ee57506001600160e01b0319821663966376c560e01b145b806103fd57506103fd82610ffb565b92915050565b600061040e8261104b565b6104855760405162461bcd60e51b815260206004820152603a60248201527f4552433732314578706572743a2043616e6e6f742066696e64204275726e204160448201527f75746820666f72206e6f6e206578697374616e7420626164676500000000000060648201526084015b60405180910390fd5b506001919050565b60606065805461049c906121e7565b80601f01602080910402602001604051908101604052809291908181526020018280546104c8906121e7565b80156105155780601f106104ea57610100808354040283529160200191610515565b820191906000526020600020905b8154815290600101906020018083116104f857829003601f168201915b5050505050905090565b600061052a82611068565b506000908152606960205260409020546001600160a01b031690565b600061055182610aa2565b9050806001600160a01b0316836001600160a01b031614156105bf5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161047c565b336001600160a01b03821614806105db57506105db813361037c565b61064d5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161047c565b61065783836110b8565b505050565b610664611126565b6106578383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061118092505050565b6106ae338261120b565b6106ca5760405162461bcd60e51b815260040161047c90612222565b610657838383611289565b606060fd6000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156107b6578382906000526020600020018054610729906121e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610755906121e7565b80156107a25780601f10610777576101008083540402835291602001916107a2565b820191906000526020600020905b81548152906001019060200180831161078557829003601f168201915b50505050508152602001906001019061070a565b505050509050919050565b600054610100900460ff16158080156107e15750600054600160ff909116105b806107fb5750303b1580156107fb575060005460ff166001145b61085e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161047c565b6000805460ff191660011790558015610881576000805461ff0019166101001790555b6108896112ea565b6108fc85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8901819004810282018101909252878152925087915086908190840183828082843760009201919091525061131992505050565b8015610942576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61065783838360405180602001604052806000815250610cf5565b61096c611126565b6109758161104b565b6109d65760405162461bcd60e51b815260206004820152602c60248201527f4552433732314578706572743a2043616e6e6f74206275726e206e6f6e2d657860448201526b697374656e7420626164676560a01b606482015260840161047c565b60fc60006109e383610aa2565b6001600160a01b031681526020808201929092526040908101600090812081905583815260fd9092528120610a1791611af8565b610a208161134a565b50565b6000610a2e82610b9c565b610a865760405162461bcd60e51b815260206004820152602360248201527f4552433732314578706572743a2055736572206973206e6f7420616e20657870604482015262195c9d60ea1b606482015260840161047c565b506001600160a01b0316600090815260fc602052604090205490565b6000818152606760205260408120546001600160a01b0316806103fd5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161047c565b60006001600160a01b038216610b6c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161047c565b506001600160a01b031660009081526068602052604090205490565b610b90611126565b610b9a600061138a565b565b6000610ba782610b02565b60011492915050565b610bb8611126565b610bc18261104b565b610c295760405162461bcd60e51b815260206004820152603360248201527f4552433732314578706572743a2043616e6e6f7420736574207461677320746f604482015272206e6f6e2d6578697374656e7420626164676560681b606482015260840161047c565b600381511115610c7b5760405162461bcd60e51b815260206004820152601b60248201527f4552433732314578706572743a20546f6f206d75636820746167730000000000604482015260640161047c565b600082815260fd602090815260409091208251610c9a92840190611b16565b50817fd7996413e860167fcb318719e1b39a370926f403d1af94aa60d7b2df1869e34582604051610ccb9190611e55565b60405180910390a25050565b60606066805461049c906121e7565b610cf13383836113dc565b5050565b610cff338361120b565b610d1b5760405162461bcd60e51b815260040161047c90612222565b610d27848484846114ab565b50505050565b6060610d3882611068565b60008281526097602052604081208054610d51906121e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610d7d906121e7565b8015610dca5780601f10610d9f57610100808354040283529160200191610dca565b820191906000526020600020905b815481529060010190602001808311610dad57829003601f168201915b505050505090506000610de860408051602081019091526000815290565b9050805160001415610dfb575092915050565b815115610e2d578082604051602001610e1592919061226f565b60405160208183030381529060405292505050919050565b610e36846114de565b949350505050565b6000610e48611126565b610e5184610b9c565b15610ebb5760405162461bcd60e51b815260206004820152603460248201527f4552433732314578706572743a2043616e6e6f74206d696e74206d6f7265207460448201527368616e206f6e652065787065727420626164676560601b606482015260840161047c565b60fb60008154610eca906122b4565b91829055509050610edb8482611552565b610f1b8184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061118092505050565b6001600160a01b03848116600081815260fc6020526040902083905560c9548392166001600160a01b03167f135ffb3383e06280e062ac5095bbf8faa98517161e596a2536bd98a9a8b64a886001604051610f769190611cab565b60405180910390a49392505050565b610f8d611126565b6001600160a01b038116610ff25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161047c565b610a208161138a565b60006001600160e01b031982166380ac58cd60e01b148061102c57506001600160e01b03198216635b5e139f60e01b145b806103fd57506301ffc9a760e01b6001600160e01b03198316146103fd565b6000908152606760205260409020546001600160a01b0316151590565b6110718161104b565b610a205760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161047c565b600081815260696020526040902080546001600160a01b0319166001600160a01b03841690811790915581906110ed82610aa2565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60c9546001600160a01b03163314610b9a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161047c565b6111898261104b565b6111ec5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b606482015260840161047c565b6000828152609760209081526040909120825161065792840190611b73565b60008061121783610aa2565b9050806001600160a01b0316846001600160a01b0316148061125e57506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b80610e365750836001600160a01b03166112778461051f565b6001600160a01b031614949350505050565b60405162461bcd60e51b815260206004820152603060248201527f4552433732314578706572743a204578706572742062616467652063616e6e6f60448201526f1d081899481d1c985b9cd9995c9c995960821b606482015260840161047c565b600054610100900460ff166113115760405162461bcd60e51b815260040161047c906122cf565b610b9a6116cd565b600054610100900460ff166113405760405162461bcd60e51b815260040161047c906122cf565b610cf182826116fd565b6113538161174b565b6000818152609760205260409020805461136c906121e7565b159050610a20576000818152609760205260408120610a2091611bf3565b60c980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316141561143e5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161047c565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6114b6848484611289565b6114c2848484846117ee565b610d275760405162461bcd60e51b815260040161047c9061231a565b60606114e982611068565b600061150060408051602081019091526000815290565b90506000815111611520576040518060200160405280600081525061154b565b8061152a846118fb565b60405160200161153b92919061226f565b6040516020818303038152906040525b9392505050565b6001600160a01b0382166115a85760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161047c565b6115b18161104b565b156115fe5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161047c565b61160c600083836001611998565b6116158161104b565b156116625760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161047c565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600054610100900460ff166116f45760405162461bcd60e51b815260040161047c906122cf565b610b9a3361138a565b600054610100900460ff166117245760405162461bcd60e51b815260040161047c906122cf565b8151611737906065906020850190611b73565b508051610657906066906020840190611b73565b600061175682610aa2565b9050611766816000846001611998565b61176f82610aa2565b600083815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526068845282852080546000190190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60006001600160a01b0384163b156118f057604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061183290339089908890889060040161236c565b602060405180830381600087803b15801561184c57600080fd5b505af192505050801561187c575060408051601f3d908101601f19168201909252611879918101906123a9565b60015b6118d6573d8080156118aa576040519150601f19603f3d011682016040523d82523d6000602084013e6118af565b606091505b5080516118ce5760405162461bcd60e51b815260040161047c9061231a565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610e36565b506001949350505050565b6060600061190883611a20565b600101905060008167ffffffffffffffff81111561192857611928611f3e565b6040519080825280601f01601f191660200182016040528015611952576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461198b57611990565b61195c565b509392505050565b6001811115610d27576001600160a01b038416156119de576001600160a01b038416600090815260686020526040812080548392906119d89084906123c6565b90915550505b6001600160a01b03831615610d27576001600160a01b03831660009081526068602052604081208054839290611a159084906123dd565b909155505050505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611a5f5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611a8b576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611aa957662386f26fc10000830492506010015b6305f5e1008310611ac1576305f5e100830492506008015b6127108310611ad557612710830492506004015b60648310611ae7576064830492506002015b600a83106103fd5760010192915050565b5080546000825590600052602060002090810190610a209190611c2d565b828054828255906000526020600020908101928215611b63579160200282015b82811115611b635782518051611b53918491602090910190611b73565b5091602001919060010190611b36565b50611b6f929150611c2d565b5090565b828054611b7f906121e7565b90600052602060002090601f016020900481019282611ba15760008555611be7565b82601f10611bba57805160ff1916838001178555611be7565b82800160010185558215611be7579182015b82811115611be7578251825591602001919060010190611bcc565b50611b6f929150611c4a565b508054611bff906121e7565b6000825580601f10611c0f575050565b601f016020900490600052602060002090810190610a209190611c4a565b80821115611b6f576000611c418282611bf3565b50600101611c2d565b5b80821115611b6f5760008155600101611c4b565b6001600160e01b031981168114610a2057600080fd5b600060208284031215611c8757600080fd5b813561154b81611c5f565b600060208284031215611ca457600080fd5b5035919050565b6020810160048310611ccd57634e487b7160e01b600052602160045260246000fd5b91905290565b60005b83811015611cee578181015183820152602001611cd6565b83811115610d275750506000910152565b60008151808452611d17816020860160208601611cd3565b601f01601f19169290920160200192915050565b60208152600061154b6020830184611cff565b80356001600160a01b0381168114611d5557600080fd5b919050565b60008060408385031215611d6d57600080fd5b611d7683611d3e565b946020939093013593505050565b60008083601f840112611d9657600080fd5b50813567ffffffffffffffff811115611dae57600080fd5b602083019150836020828501011115611dc657600080fd5b9250929050565b600080600060408486031215611de257600080fd5b83359250602084013567ffffffffffffffff811115611e0057600080fd5b611e0c86828701611d84565b9497909650939450505050565b600080600060608486031215611e2e57600080fd5b611e3784611d3e565b9250611e4560208501611d3e565b9150604084013590509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611eaa57603f19888603018452611e98858351611cff565b94509285019290850190600101611e7c565b5092979650505050505050565b60008060008060408587031215611ecd57600080fd5b843567ffffffffffffffff80821115611ee557600080fd5b611ef188838901611d84565b90965094506020870135915080821115611f0a57600080fd5b50611f1787828801611d84565b95989497509550505050565b600060208284031215611f3557600080fd5b61154b82611d3e565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611f7d57611f7d611f3e565b604052919050565b600067ffffffffffffffff831115611f9f57611f9f611f3e565b611fb2601f8401601f1916602001611f54565b9050828152838383011115611fc657600080fd5b828260208301376000602084830101529392505050565b6000806040808486031215611ff157600080fd5b8335925060208085013567ffffffffffffffff8082111561201157600080fd5b818701915087601f83011261202557600080fd5b81358181111561203757612037611f3e565b8060051b612046858201611f54565b918252838101850191858101908b84111561206057600080fd5b86860192505b838310156120b05782358581111561207e5760008081fd5b8601603f81018d136120905760008081fd5b6120a08d898301358b8401611f85565b8352509186019190860190612066565b80985050505050505050509250929050565b600080604083850312156120d557600080fd5b6120de83611d3e565b9150602083013580151581146120f357600080fd5b809150509250929050565b6000806000806080858703121561211457600080fd5b61211d85611d3e565b935061212b60208601611d3e565b925060408501359150606085013567ffffffffffffffff81111561214e57600080fd5b8501601f8101871361215f57600080fd5b61216e87823560208401611f85565b91505092959194509250565b60008060006040848603121561218f57600080fd5b61219884611d3e565b9250602084013567ffffffffffffffff811115611e0057600080fd5b600080604083850312156121c757600080fd5b6121d083611d3e565b91506121de60208401611d3e565b90509250929050565b600181811c908216806121fb57607f821691505b6020821081141561221c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351612281818460208801611cd3565b835190830190612295818360208801611cd3565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b60006000198214156122c8576122c861229e565b5060010190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061239f90830184611cff565b9695505050505050565b6000602082840312156123bb57600080fd5b815161154b81611c5f565b6000828210156123d8576123d861229e565b500390565b600082198211156123f0576123f061229e565b50019056fea264697066735822122027f94d7fa347a28fdcfa9fad3aa9022ea66ded9e185638b350da2701b8d28b3864736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101735760003560e01c80636352211e116100de57806395d89b4111610097578063c87b56dd11610071578063c87b56dd14610348578063d0def5211461035b578063e985e9c51461036e578063f2fde38b146103aa57600080fd5b806395d89b411461031a578063a22cb46514610322578063b88d4fde1461033557600080fd5b80636352211e146102b557806370a08231146102c8578063715018a6146102db57806376c535ae146102e35780637a6e9514146102f65780638da5cb5b1461030957600080fd5b806323b872dd1161013057806323b872dd1461022857806329d29cb31461023b5780633cca1f2c1461025b57806342842e0e1461026e57806342966c68146102815780636047fb891461029457600080fd5b806301ffc9a7146101785780630489b56f146101a057806306fdde03146101c0578063081812fc146101d5578063095ea7b314610200578063162094c414610215575b600080fd5b61018b610186366004611c75565b6103bd565b60405190151581526020015b60405180910390f35b6101b36101ae366004611c92565b610403565b6040516101979190611cab565b6101c861048d565b6040516101979190611d2b565b6101e86101e3366004611c92565b61051f565b6040516001600160a01b039091168152602001610197565b61021361020e366004611d5a565b610546565b005b610213610223366004611dcd565b61065c565b610213610236366004611e19565b6106a4565b61024e610249366004611c92565b6106d5565b6040516101979190611e55565b610213610269366004611eb7565b6107c1565b61021361027c366004611e19565b610949565b61021361028f366004611c92565b610964565b6102a76102a2366004611f23565b610a23565b604051908152602001610197565b6101e86102c3366004611c92565b610aa2565b6102a76102d6366004611f23565b610b02565b610213610b88565b61018b6102f1366004611f23565b610b9c565b610213610304366004611fdd565b610bb0565b60c9546001600160a01b03166101e8565b6101c8610cd7565b6102136103303660046120c2565b610ce6565b6102136103433660046120fe565b610cf5565b6101c8610356366004611c92565b610d2d565b6102a761036936600461217a565b610e3e565b61018b61037c3660046121b4565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6102136103b8366004611f23565b610f85565b60006001600160e01b03198216630489b56f60e01b14806103ee57506001600160e01b0319821663966376c560e01b145b806103fd57506103fd82610ffb565b92915050565b600061040e8261104b565b6104855760405162461bcd60e51b815260206004820152603a60248201527f4552433732314578706572743a2043616e6e6f742066696e64204275726e204160448201527f75746820666f72206e6f6e206578697374616e7420626164676500000000000060648201526084015b60405180910390fd5b506001919050565b60606065805461049c906121e7565b80601f01602080910402602001604051908101604052809291908181526020018280546104c8906121e7565b80156105155780601f106104ea57610100808354040283529160200191610515565b820191906000526020600020905b8154815290600101906020018083116104f857829003601f168201915b5050505050905090565b600061052a82611068565b506000908152606960205260409020546001600160a01b031690565b600061055182610aa2565b9050806001600160a01b0316836001600160a01b031614156105bf5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161047c565b336001600160a01b03821614806105db57506105db813361037c565b61064d5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161047c565b61065783836110b8565b505050565b610664611126565b6106578383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061118092505050565b6106ae338261120b565b6106ca5760405162461bcd60e51b815260040161047c90612222565b610657838383611289565b606060fd6000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156107b6578382906000526020600020018054610729906121e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610755906121e7565b80156107a25780601f10610777576101008083540402835291602001916107a2565b820191906000526020600020905b81548152906001019060200180831161078557829003601f168201915b50505050508152602001906001019061070a565b505050509050919050565b600054610100900460ff16158080156107e15750600054600160ff909116105b806107fb5750303b1580156107fb575060005460ff166001145b61085e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161047c565b6000805460ff191660011790558015610881576000805461ff0019166101001790555b6108896112ea565b6108fc85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8901819004810282018101909252878152925087915086908190840183828082843760009201919091525061131992505050565b8015610942576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61065783838360405180602001604052806000815250610cf5565b61096c611126565b6109758161104b565b6109d65760405162461bcd60e51b815260206004820152602c60248201527f4552433732314578706572743a2043616e6e6f74206275726e206e6f6e2d657860448201526b697374656e7420626164676560a01b606482015260840161047c565b60fc60006109e383610aa2565b6001600160a01b031681526020808201929092526040908101600090812081905583815260fd9092528120610a1791611af8565b610a208161134a565b50565b6000610a2e82610b9c565b610a865760405162461bcd60e51b815260206004820152602360248201527f4552433732314578706572743a2055736572206973206e6f7420616e20657870604482015262195c9d60ea1b606482015260840161047c565b506001600160a01b0316600090815260fc602052604090205490565b6000818152606760205260408120546001600160a01b0316806103fd5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161047c565b60006001600160a01b038216610b6c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161047c565b506001600160a01b031660009081526068602052604090205490565b610b90611126565b610b9a600061138a565b565b6000610ba782610b02565b60011492915050565b610bb8611126565b610bc18261104b565b610c295760405162461bcd60e51b815260206004820152603360248201527f4552433732314578706572743a2043616e6e6f7420736574207461677320746f604482015272206e6f6e2d6578697374656e7420626164676560681b606482015260840161047c565b600381511115610c7b5760405162461bcd60e51b815260206004820152601b60248201527f4552433732314578706572743a20546f6f206d75636820746167730000000000604482015260640161047c565b600082815260fd602090815260409091208251610c9a92840190611b16565b50817fd7996413e860167fcb318719e1b39a370926f403d1af94aa60d7b2df1869e34582604051610ccb9190611e55565b60405180910390a25050565b60606066805461049c906121e7565b610cf13383836113dc565b5050565b610cff338361120b565b610d1b5760405162461bcd60e51b815260040161047c90612222565b610d27848484846114ab565b50505050565b6060610d3882611068565b60008281526097602052604081208054610d51906121e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610d7d906121e7565b8015610dca5780601f10610d9f57610100808354040283529160200191610dca565b820191906000526020600020905b815481529060010190602001808311610dad57829003601f168201915b505050505090506000610de860408051602081019091526000815290565b9050805160001415610dfb575092915050565b815115610e2d578082604051602001610e1592919061226f565b60405160208183030381529060405292505050919050565b610e36846114de565b949350505050565b6000610e48611126565b610e5184610b9c565b15610ebb5760405162461bcd60e51b815260206004820152603460248201527f4552433732314578706572743a2043616e6e6f74206d696e74206d6f7265207460448201527368616e206f6e652065787065727420626164676560601b606482015260840161047c565b60fb60008154610eca906122b4565b91829055509050610edb8482611552565b610f1b8184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061118092505050565b6001600160a01b03848116600081815260fc6020526040902083905560c9548392166001600160a01b03167f135ffb3383e06280e062ac5095bbf8faa98517161e596a2536bd98a9a8b64a886001604051610f769190611cab565b60405180910390a49392505050565b610f8d611126565b6001600160a01b038116610ff25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161047c565b610a208161138a565b60006001600160e01b031982166380ac58cd60e01b148061102c57506001600160e01b03198216635b5e139f60e01b145b806103fd57506301ffc9a760e01b6001600160e01b03198316146103fd565b6000908152606760205260409020546001600160a01b0316151590565b6110718161104b565b610a205760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161047c565b600081815260696020526040902080546001600160a01b0319166001600160a01b03841690811790915581906110ed82610aa2565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60c9546001600160a01b03163314610b9a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161047c565b6111898261104b565b6111ec5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b606482015260840161047c565b6000828152609760209081526040909120825161065792840190611b73565b60008061121783610aa2565b9050806001600160a01b0316846001600160a01b0316148061125e57506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b80610e365750836001600160a01b03166112778461051f565b6001600160a01b031614949350505050565b60405162461bcd60e51b815260206004820152603060248201527f4552433732314578706572743a204578706572742062616467652063616e6e6f60448201526f1d081899481d1c985b9cd9995c9c995960821b606482015260840161047c565b600054610100900460ff166113115760405162461bcd60e51b815260040161047c906122cf565b610b9a6116cd565b600054610100900460ff166113405760405162461bcd60e51b815260040161047c906122cf565b610cf182826116fd565b6113538161174b565b6000818152609760205260409020805461136c906121e7565b159050610a20576000818152609760205260408120610a2091611bf3565b60c980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316141561143e5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161047c565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6114b6848484611289565b6114c2848484846117ee565b610d275760405162461bcd60e51b815260040161047c9061231a565b60606114e982611068565b600061150060408051602081019091526000815290565b90506000815111611520576040518060200160405280600081525061154b565b8061152a846118fb565b60405160200161153b92919061226f565b6040516020818303038152906040525b9392505050565b6001600160a01b0382166115a85760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161047c565b6115b18161104b565b156115fe5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161047c565b61160c600083836001611998565b6116158161104b565b156116625760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161047c565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600054610100900460ff166116f45760405162461bcd60e51b815260040161047c906122cf565b610b9a3361138a565b600054610100900460ff166117245760405162461bcd60e51b815260040161047c906122cf565b8151611737906065906020850190611b73565b508051610657906066906020840190611b73565b600061175682610aa2565b9050611766816000846001611998565b61176f82610aa2565b600083815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526068845282852080546000190190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60006001600160a01b0384163b156118f057604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061183290339089908890889060040161236c565b602060405180830381600087803b15801561184c57600080fd5b505af192505050801561187c575060408051601f3d908101601f19168201909252611879918101906123a9565b60015b6118d6573d8080156118aa576040519150601f19603f3d011682016040523d82523d6000602084013e6118af565b606091505b5080516118ce5760405162461bcd60e51b815260040161047c9061231a565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610e36565b506001949350505050565b6060600061190883611a20565b600101905060008167ffffffffffffffff81111561192857611928611f3e565b6040519080825280601f01601f191660200182016040528015611952576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461198b57611990565b61195c565b509392505050565b6001811115610d27576001600160a01b038416156119de576001600160a01b038416600090815260686020526040812080548392906119d89084906123c6565b90915550505b6001600160a01b03831615610d27576001600160a01b03831660009081526068602052604081208054839290611a159084906123dd565b909155505050505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611a5f5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611a8b576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611aa957662386f26fc10000830492506010015b6305f5e1008310611ac1576305f5e100830492506008015b6127108310611ad557612710830492506004015b60648310611ae7576064830492506002015b600a83106103fd5760010192915050565b5080546000825590600052602060002090810190610a209190611c2d565b828054828255906000526020600020908101928215611b63579160200282015b82811115611b635782518051611b53918491602090910190611b73565b5091602001919060010190611b36565b50611b6f929150611c2d565b5090565b828054611b7f906121e7565b90600052602060002090601f016020900481019282611ba15760008555611be7565b82601f10611bba57805160ff1916838001178555611be7565b82800160010185558215611be7579182015b82811115611be7578251825591602001919060010190611bcc565b50611b6f929150611c4a565b508054611bff906121e7565b6000825580601f10611c0f575050565b601f016020900490600052602060002090810190610a209190611c4a565b80821115611b6f576000611c418282611bf3565b50600101611c2d565b5b80821115611b6f5760008155600101611c4b565b6001600160e01b031981168114610a2057600080fd5b600060208284031215611c8757600080fd5b813561154b81611c5f565b600060208284031215611ca457600080fd5b5035919050565b6020810160048310611ccd57634e487b7160e01b600052602160045260246000fd5b91905290565b60005b83811015611cee578181015183820152602001611cd6565b83811115610d275750506000910152565b60008151808452611d17816020860160208601611cd3565b601f01601f19169290920160200192915050565b60208152600061154b6020830184611cff565b80356001600160a01b0381168114611d5557600080fd5b919050565b60008060408385031215611d6d57600080fd5b611d7683611d3e565b946020939093013593505050565b60008083601f840112611d9657600080fd5b50813567ffffffffffffffff811115611dae57600080fd5b602083019150836020828501011115611dc657600080fd5b9250929050565b600080600060408486031215611de257600080fd5b83359250602084013567ffffffffffffffff811115611e0057600080fd5b611e0c86828701611d84565b9497909650939450505050565b600080600060608486031215611e2e57600080fd5b611e3784611d3e565b9250611e4560208501611d3e565b9150604084013590509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611eaa57603f19888603018452611e98858351611cff565b94509285019290850190600101611e7c565b5092979650505050505050565b60008060008060408587031215611ecd57600080fd5b843567ffffffffffffffff80821115611ee557600080fd5b611ef188838901611d84565b90965094506020870135915080821115611f0a57600080fd5b50611f1787828801611d84565b95989497509550505050565b600060208284031215611f3557600080fd5b61154b82611d3e565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611f7d57611f7d611f3e565b604052919050565b600067ffffffffffffffff831115611f9f57611f9f611f3e565b611fb2601f8401601f1916602001611f54565b9050828152838383011115611fc657600080fd5b828260208301376000602084830101529392505050565b6000806040808486031215611ff157600080fd5b8335925060208085013567ffffffffffffffff8082111561201157600080fd5b818701915087601f83011261202557600080fd5b81358181111561203757612037611f3e565b8060051b612046858201611f54565b918252838101850191858101908b84111561206057600080fd5b86860192505b838310156120b05782358581111561207e5760008081fd5b8601603f81018d136120905760008081fd5b6120a08d898301358b8401611f85565b8352509186019190860190612066565b80985050505050505050509250929050565b600080604083850312156120d557600080fd5b6120de83611d3e565b9150602083013580151581146120f357600080fd5b809150509250929050565b6000806000806080858703121561211457600080fd5b61211d85611d3e565b935061212b60208601611d3e565b925060408501359150606085013567ffffffffffffffff81111561214e57600080fd5b8501601f8101871361215f57600080fd5b61216e87823560208401611f85565b91505092959194509250565b60008060006040848603121561218f57600080fd5b61219884611d3e565b9250602084013567ffffffffffffffff811115611e0057600080fd5b600080604083850312156121c757600080fd5b6121d083611d3e565b91506121de60208401611d3e565b90509250929050565b600181811c908216806121fb57607f821691505b6020821081141561221c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351612281818460208801611cd3565b835190830190612295818360208801611cd3565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b60006000198214156122c8576122c861229e565b5060010190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061239f90830184611cff565b9695505050505050565b6000602082840312156123bb57600080fd5b815161154b81611c5f565b6000828210156123d8576123d861229e565b500390565b600082198211156123f0576123f061229e565b50019056fea264697066735822122027f94d7fa347a28fdcfa9fad3aa9022ea66ded9e185638b350da2701b8d28b3864736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} +[ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "enum IERC721Expert.BurnAuth", + "name": "burnAuth", + "type": "uint8" + } + ], + "name": "Issued", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string[]", + "name": "tags", + "type": "string[]" + } + ], + "name": "TagsAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "__ERC721Expert_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burnAuth", + "outputs": [ + { + "internalType": "enum IERC721Expert.BurnAuth", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "expert", + "type": "address" + } + ], + "name": "getIdByExpert", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getTags", + "outputs": [ + { + "internalType": "string[]", + "name": "", + "type": "string[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "expert", + "type": "address" + } + ], + "name": "isExpert", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "string", + "name": "uri_", + "type": "string" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "string[]", + "name": "tags", + "type": "string[]" + } + ], + "name": "setTags", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "uri_", + "type": "string" + } + ], + "name": "setTokenURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] \ No newline at end of file diff --git a/DaoPools/abis/PoolFactory.json b/DaoPools/abis/PoolFactory.json index c4ffab21..499c422b 100644 --- a/DaoPools/abis/PoolFactory.json +++ b/DaoPools/abis/PoolFactory.json @@ -264,24 +264,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -316,14 +333,26 @@ "type": "string" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" }, { "internalType": "address[]", @@ -372,6 +401,16 @@ "name": "nftMultiplierAddress", "type": "address" }, + { + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expertVoteModifier", + "type": "uint256" + }, { "internalType": "address", "name": "verifier", @@ -457,24 +496,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -509,14 +565,26 @@ "type": "string" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" }, { "internalType": "address[]", @@ -565,6 +633,16 @@ "name": "nftMultiplierAddress", "type": "address" }, + { + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expertVoteModifier", + "type": "uint256" + }, { "internalType": "address", "name": "verifier", @@ -626,6 +704,11 @@ "name": "saleEndTime", "type": "uint64" }, + { + "internalType": "uint64", + "name": "claimLockDuration", + "type": "uint64" + }, { "internalType": "address", "name": "saleTokenAddress", @@ -677,9 +760,26 @@ "internalType": "struct ITokenSaleProposal.VestingSettings", "name": "vestingSettings", "type": "tuple" + }, + { + "components": [ + { + "internalType": "enum ITokenSaleProposal.ParticipationType", + "name": "participationType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ITokenSaleProposal.ParticipationDetails", + "name": "participationDetails", + "type": "tuple" } ], - "internalType": "struct ITokenSaleProposal.TierView[]", + "internalType": "struct ITokenSaleProposal.TierInitParams[]", "name": "tiersParams", "type": "tuple[]" }, @@ -854,8 +954,18 @@ "type": "string" } ], - "name": "predictGovAddress", + "name": "predictGovAddresses", "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, { "internalType": "address", "name": "", @@ -891,4 +1001,4 @@ "stateMutability": "nonpayable", "type": "function" } -] +] \ No newline at end of file diff --git a/DaoPools/abis/PriceFeed.json b/DaoPools/abis/PriceFeed.json index b2a92aad..2c479f04 100644 --- a/DaoPools/abis/PriceFeed.json +++ b/DaoPools/abis/PriceFeed.json @@ -1,4 +1,17 @@ [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ diff --git a/DaoPools/abis/TokenSale.json b/DaoPools/abis/TokenSale.json index 06ec4d72..0a502ed9 100644 --- a/DaoPools/abis/TokenSale.json +++ b/DaoPools/abis/TokenSale.json @@ -43,6 +43,19 @@ "name": "Bought", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -180,6 +193,11 @@ "internalType": "address", "name": "_govAddress", "type": "address" + }, + { + "internalType": "contract ISBT721", + "name": "_babt", + "type": "address" } ], "name": "__TokenSaleProposal_init", @@ -217,6 +235,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [], + "name": "babt", + "outputs": [ + { + "internalType": "contract ISBT721", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -288,6 +319,19 @@ "stateMutability": "payable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "tierIds", + "type": "uint256[]" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -324,6 +368,11 @@ "name": "saleEndTime", "type": "uint64" }, + { + "internalType": "uint64", + "name": "claimLockDuration", + "type": "uint64" + }, { "internalType": "address", "name": "saleTokenAddress", @@ -375,10 +424,27 @@ "internalType": "struct ITokenSaleProposal.VestingSettings", "name": "vestingSettings", "type": "tuple" + }, + { + "components": [ + { + "internalType": "enum ITokenSaleProposal.ParticipationType", + "name": "participationType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ITokenSaleProposal.ParticipationDetails", + "name": "participationDetails", + "type": "tuple" } ], - "internalType": "struct ITokenSaleProposal.TierView[]", - "name": "tiers", + "internalType": "struct ITokenSaleProposal.TierInitParams[]", + "name": "tierInitParams", "type": "tuple[]" } ], @@ -406,6 +472,30 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "tierIds", + "type": "uint256[]" + } + ], + "name": "getClaimAmounts", + "outputs": [ + { + "internalType": "uint256[]", + "name": "claimAmounts", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -472,119 +562,165 @@ "type": "uint256" } ], - "name": "getTiers", + "name": "getTierViews", "outputs": [ { "components": [ { "components": [ { - "internalType": "string", - "name": "name", - "type": "string" + "components": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "internalType": "struct ITokenSaleProposal.TierMetadata", + "name": "metadata", + "type": "tuple" }, - { - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "internalType": "struct ITokenSaleProposal.TierMetadata", - "name": "metadata", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "totalTokenProvided", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "saleStartTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "saleEndTime", - "type": "uint64" - }, - { - "internalType": "address", - "name": "saleTokenAddress", - "type": "address" - }, - { - "internalType": "address[]", - "name": "purchaseTokenAddresses", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "exchangeRates", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "minAllocationPerUser", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxAllocationPerUser", - "type": "uint256" - }, - { - "components": [ { "internalType": "uint256", - "name": "vestingPercentage", + "name": "totalTokenProvided", "type": "uint256" }, { "internalType": "uint64", - "name": "vestingDuration", + "name": "saleStartTime", "type": "uint64" }, { "internalType": "uint64", - "name": "cliffPeriod", + "name": "saleEndTime", "type": "uint64" }, { "internalType": "uint64", - "name": "unlockStep", + "name": "claimLockDuration", "type": "uint64" + }, + { + "internalType": "address", + "name": "saleTokenAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "purchaseTokenAddresses", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "exchangeRates", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "minAllocationPerUser", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxAllocationPerUser", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "vestingPercentage", + "type": "uint256" + }, + { + "internalType": "uint64", + "name": "vestingDuration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "cliffPeriod", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "unlockStep", + "type": "uint64" + } + ], + "internalType": "struct ITokenSaleProposal.VestingSettings", + "name": "vestingSettings", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "enum ITokenSaleProposal.ParticipationType", + "name": "participationType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ITokenSaleProposal.ParticipationDetails", + "name": "participationDetails", + "type": "tuple" } ], - "internalType": "struct ITokenSaleProposal.VestingSettings", - "name": "vestingSettings", + "internalType": "struct ITokenSaleProposal.TierInitParams", + "name": "tierInitParams", "type": "tuple" - } - ], - "internalType": "struct ITokenSaleProposal.TierView[]", - "name": "tierViews", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "bool", - "name": "isOff", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalSold", - "type": "uint256" }, { - "internalType": "string", - "name": "uri", - "type": "string" + "components": [ + { + "internalType": "bool", + "name": "isOff", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "totalSold", + "type": "uint256" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + }, + { + "components": [ + { + "internalType": "uint64", + "name": "vestingStartTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "vestingEndTime", + "type": "uint64" + } + ], + "internalType": "struct ITokenSaleProposal.VestingTierInfo", + "name": "vestingTierInfo", + "type": "tuple" + } + ], + "internalType": "struct ITokenSaleProposal.TierInfo", + "name": "tierInfo", + "type": "tuple" } ], - "internalType": "struct ITokenSaleProposal.TierInfoView[]", - "name": "tierInfoViews", + "internalType": "struct ITokenSaleProposal.TierView[]", + "name": "tierViews", "type": "tuple[]" } ], @@ -604,62 +740,72 @@ "type": "uint256[]" } ], - "name": "getUserInfos", + "name": "getUserViews", "outputs": [ { "components": [ { "internalType": "bool", - "name": "isWhitelisted", + "name": "canParticipate", "type": "bool" }, { "components": [ { - "internalType": "uint64", - "name": "purchaseTime", - "type": "uint64" + "internalType": "bool", + "name": "isClaimed", + "type": "bool" + }, + { + "internalType": "bool", + "name": "canClaim", + "type": "bool" }, { "internalType": "uint64", - "name": "latestVestingWithdraw", + "name": "claimUnlockTime", "type": "uint64" }, { - "internalType": "address", - "name": "tokenBoughtWith", - "type": "address" + "internalType": "uint256", + "name": "claimTotalAmount", + "type": "uint256" }, { "internalType": "uint256", - "name": "amountBought", + "name": "boughtTotalAmount", "type": "uint256" }, { "internalType": "uint256", - "name": "vestingTotalAmount", + "name": "lockedAmount", "type": "uint256" }, { "internalType": "uint256", - "name": "vestingWithdrawnAmount", + "name": "lockedId", "type": "uint256" + }, + { + "internalType": "address[]", + "name": "purchaseTokenAddresses", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "purchaseTokenAmounts", + "type": "uint256[]" } ], - "internalType": "struct ITokenSaleProposal.Purchase", - "name": "purchase", + "internalType": "struct ITokenSaleProposal.PurchaseView", + "name": "purchaseView", "type": "tuple" }, { "components": [ { "internalType": "uint64", - "name": "cliffEndTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "vestingEndTime", + "name": "latestVestingWithdraw", "type": "uint64" }, { @@ -672,6 +818,16 @@ "name": "nextUnlockAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "vestingTotalAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "vestingWithdrawnAmount", + "type": "uint256" + }, { "internalType": "uint256", "name": "amountToWithdraw", @@ -683,13 +839,13 @@ "type": "uint256" } ], - "internalType": "struct ITokenSaleProposal.VestingView", - "name": "vestingView", + "internalType": "struct ITokenSaleProposal.VestingUserView", + "name": "vestingUserView", "type": "tuple" } ], - "internalType": "struct ITokenSaleProposal.UserInfo[]", - "name": "userInfos", + "internalType": "struct ITokenSaleProposal.UserView[]", + "name": "userViews", "type": "tuple[]" } ], @@ -770,6 +926,74 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tierId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "lockParticipationNft", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tierId", + "type": "uint256" + } + ], + "name": "lockParticipationTokens", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tierId", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -783,6 +1007,40 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "onERC721Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -918,6 +1176,32 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tierId", + "type": "uint256" + } + ], + "name": "unlockParticipationNft", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tierId", + "type": "uint256" + } + ], + "name": "unlockParticipationTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -950,4 +1234,4 @@ "stateMutability": "nonpayable", "type": "function" } -] +] \ No newline at end of file diff --git a/DaoPools/abis/UserKeeper.json b/DaoPools/abis/UserKeeper.json index e1deeb16..a7530c69 100644 --- a/DaoPools/abis/UserKeeper.json +++ b/DaoPools/abis/UserKeeper.json @@ -1,4 +1,17 @@ [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -72,6 +85,40 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "bool", + "name": "useDelegated", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "requiredVotes", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "snapshotId", + "type": "uint256" + } + ], + "name": "canCreate", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -100,7 +147,7 @@ "type": "uint256" } ], - "name": "canParticipate", + "name": "canVote", "outputs": [ { "internalType": "bool", @@ -211,6 +258,16 @@ "internalType": "uint256[]", "name": "perNftPower", "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "requestedTokens", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "requestedNfts", + "type": "uint256[]" } ], "internalType": "struct IGovUserKeeper.DelegationInfoView[]", @@ -390,21 +447,9 @@ "type": "address" }, { - "components": [ - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "length", - "type": "uint256" - } - ], - "internalType": "struct ShrinkableArray.UintArray", + "internalType": "uint256[]", "name": "lockedProposals", - "type": "tuple" + "type": "uint256[]" }, { "internalType": "uint256[]", @@ -420,21 +465,9 @@ "type": "uint256" }, { - "components": [ - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "length", - "type": "uint256" - } - ], - "internalType": "struct ShrinkableArray.UintArray", + "internalType": "uint256[]", "name": "undelegateableNfts", - "type": "tuple" + "type": "uint256[]" } ], "stateMutability": "view", @@ -448,21 +481,9 @@ "type": "address" }, { - "components": [ - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "length", - "type": "uint256" - } - ], - "internalType": "struct ShrinkableArray.UintArray", + "internalType": "uint256[]", "name": "lockedProposals", - "type": "tuple" + "type": "uint256[]" }, { "internalType": "uint256[]", @@ -478,21 +499,9 @@ "type": "uint256" }, { - "components": [ - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "length", - "type": "uint256" - } - ], - "internalType": "struct ShrinkableArray.UintArray", + "internalType": "uint256[]", "name": "withdrawableNfts", - "type": "tuple" + "type": "uint256[]" } ], "stateMutability": "view", @@ -756,6 +765,52 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "internalType": "address", + "name": "delegatee", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "nftIds", + "type": "uint256[]" + } + ], + "name": "requestNfts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "internalType": "address", + "name": "delegatee", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "requestTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { diff --git a/DaoValidators/abis/DaoValidators.json b/DaoValidators/abis/DaoValidators.json index 05769327..456d0a37 100644 --- a/DaoValidators/abis/DaoValidators.json +++ b/DaoValidators/abis/DaoValidators.json @@ -37,6 +37,19 @@ "name": "ExternalProposalCreated", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -156,14 +169,26 @@ "type": "string" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" }, { "internalType": "address[]", @@ -236,14 +261,26 @@ "type": "uint256" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" } ], "name": "createExternalProposal", @@ -334,6 +371,11 @@ "name": "voteEnd", "type": "uint64" }, + { + "internalType": "uint64", + "name": "executeAfter", + "type": "uint64" + }, { "internalType": "uint128", "name": "quorum", @@ -343,6 +385,11 @@ "internalType": "uint256", "name": "votesFor", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votesAgainst", + "type": "uint256" } ], "internalType": "struct IGovValidators.ProposalCore", @@ -399,6 +446,11 @@ "name": "voteEnd", "type": "uint64" }, + { + "internalType": "uint64", + "name": "executeAfter", + "type": "uint64" + }, { "internalType": "uint128", "name": "quorum", @@ -408,6 +460,11 @@ "internalType": "uint256", "name": "votesFor", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votesAgainst", + "type": "uint256" } ], "internalType": "struct IGovValidators.ProposalCore", @@ -523,6 +580,11 @@ "name": "duration", "type": "uint64" }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, { "internalType": "uint128", "name": "quorum", @@ -626,6 +688,11 @@ "internalType": "bool", "name": "isInternal", "type": "bool" + }, + { + "internalType": "bool", + "name": "isVoteFor", + "type": "bool" } ], "name": "vote", diff --git a/DaoValidators/abis/PoolFactory.json b/DaoValidators/abis/PoolFactory.json index c4ffab21..499c422b 100644 --- a/DaoValidators/abis/PoolFactory.json +++ b/DaoValidators/abis/PoolFactory.json @@ -264,24 +264,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -316,14 +333,26 @@ "type": "string" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" }, { "internalType": "address[]", @@ -372,6 +401,16 @@ "name": "nftMultiplierAddress", "type": "address" }, + { + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expertVoteModifier", + "type": "uint256" + }, { "internalType": "address", "name": "verifier", @@ -457,24 +496,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -509,14 +565,26 @@ "type": "string" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" }, { "internalType": "address[]", @@ -565,6 +633,16 @@ "name": "nftMultiplierAddress", "type": "address" }, + { + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expertVoteModifier", + "type": "uint256" + }, { "internalType": "address", "name": "verifier", @@ -626,6 +704,11 @@ "name": "saleEndTime", "type": "uint64" }, + { + "internalType": "uint64", + "name": "claimLockDuration", + "type": "uint64" + }, { "internalType": "address", "name": "saleTokenAddress", @@ -677,9 +760,26 @@ "internalType": "struct ITokenSaleProposal.VestingSettings", "name": "vestingSettings", "type": "tuple" + }, + { + "components": [ + { + "internalType": "enum ITokenSaleProposal.ParticipationType", + "name": "participationType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ITokenSaleProposal.ParticipationDetails", + "name": "participationDetails", + "type": "tuple" } ], - "internalType": "struct ITokenSaleProposal.TierView[]", + "internalType": "struct ITokenSaleProposal.TierInitParams[]", "name": "tiersParams", "type": "tuple[]" }, @@ -854,8 +954,18 @@ "type": "string" } ], - "name": "predictGovAddress", + "name": "predictGovAddresses", "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, { "internalType": "address", "name": "", @@ -891,4 +1001,4 @@ "stateMutability": "nonpayable", "type": "function" } -] +] \ No newline at end of file diff --git a/InvestPool/abis/PoolFactory.json b/InvestPool/abis/PoolFactory.json index c4ffab21..499c422b 100644 --- a/InvestPool/abis/PoolFactory.json +++ b/InvestPool/abis/PoolFactory.json @@ -264,24 +264,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -316,14 +333,26 @@ "type": "string" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" }, { "internalType": "address[]", @@ -372,6 +401,16 @@ "name": "nftMultiplierAddress", "type": "address" }, + { + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expertVoteModifier", + "type": "uint256" + }, { "internalType": "address", "name": "verifier", @@ -457,24 +496,41 @@ "type": "uint256" }, { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteRewardsCoefficient", - "type": "uint256" + "components": [ + { + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "creationReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteForRewardsCoefficient", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteAgainstRewardsCoefficient", + "type": "uint256" + } + ], + "internalType": "struct IGovSettings.RewardsInfo", + "name": "rewardsInfo", + "type": "tuple" }, { "internalType": "string", @@ -509,14 +565,26 @@ "type": "string" }, { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "components": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "internalType": "struct IGovValidators.ProposalSettings", + "name": "proposalSettings", + "type": "tuple" }, { "internalType": "address[]", @@ -565,6 +633,16 @@ "name": "nftMultiplierAddress", "type": "address" }, + { + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expertVoteModifier", + "type": "uint256" + }, { "internalType": "address", "name": "verifier", @@ -626,6 +704,11 @@ "name": "saleEndTime", "type": "uint64" }, + { + "internalType": "uint64", + "name": "claimLockDuration", + "type": "uint64" + }, { "internalType": "address", "name": "saleTokenAddress", @@ -677,9 +760,26 @@ "internalType": "struct ITokenSaleProposal.VestingSettings", "name": "vestingSettings", "type": "tuple" + }, + { + "components": [ + { + "internalType": "enum ITokenSaleProposal.ParticipationType", + "name": "participationType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ITokenSaleProposal.ParticipationDetails", + "name": "participationDetails", + "type": "tuple" } ], - "internalType": "struct ITokenSaleProposal.TierView[]", + "internalType": "struct ITokenSaleProposal.TierInitParams[]", "name": "tiersParams", "type": "tuple[]" }, @@ -854,8 +954,18 @@ "type": "string" } ], - "name": "predictGovAddress", + "name": "predictGovAddresses", "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, { "internalType": "address", "name": "", @@ -891,4 +1001,4 @@ "stateMutability": "nonpayable", "type": "function" } -] +] \ No newline at end of file diff --git a/InvestPool/abis/PriceFeed.json b/InvestPool/abis/PriceFeed.json index b2a92aad..2c479f04 100644 --- a/InvestPool/abis/PriceFeed.json +++ b/InvestPool/abis/PriceFeed.json @@ -1,4 +1,17 @@ [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ diff --git a/InvestPool/abis/TraderPoolInvestProposal.json b/InvestPool/abis/TraderPoolInvestProposal.json index 53c966b2..d247c78f 100644 --- a/InvestPool/abis/TraderPoolInvestProposal.json +++ b/InvestPool/abis/TraderPoolInvestProposal.json @@ -24,6 +24,19 @@ "name": "ApprovalForAll", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, { "anonymous": false, "inputs": [ From 76c33246c0bea346ab83c43ac20d251382d0a855 Mon Sep 17 00:00:00 2001 From: kevandee Date: Wed, 2 Aug 2023 16:27:27 +0300 Subject: [PATCH 13/44] for deploy --- AllInteractions/package.json | 8 ++++---- AllInteractions/subgraph.yaml | 12 ++++++------ AllPools/subgraph.yaml | 8 ++++---- AllPoolsInvestors/subgraph.yaml | 8 ++++---- BasicPool/subgraph.yaml | 4 ++-- DaoPools/package.json | 8 ++++---- DaoPools/subgraph.yaml | 8 ++++---- DaoValidators/package.json | 8 ++++---- DaoValidators/subgraph.yaml | 4 ++-- InvestPool/subgraph.yaml | 4 ++-- 10 files changed, 36 insertions(+), 36 deletions(-) diff --git a/AllInteractions/package.json b/AllInteractions/package.json index 65fa98a6..89c3084a 100644 --- a/AllInteractions/package.json +++ b/AllInteractions/package.json @@ -7,10 +7,10 @@ "build": "graph build", "test": "graph test", "coverage": "graph test -c", - "deploy": "graph deploy --node https://api.thegraph.com/deploy/ volodymyrzolotukhin/dexe", - "create-local": "graph create --node http://localhost:8020/ volodymyrzolotukhin/dexe", - "remove-local": "graph remove --node http://localhost:8020/ volodymyrzolotukhin/dexe", - "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" + "deploy": "graph deploy --node https://api.thegraph.com/deploy/ kevandee/dexe-allinteractions", + "create-local": "graph create --node http://localhost:8020/ kevandee/dexe-allinteractions", + "remove-local": "graph remove --node http://localhost:8020/ kevandee/dexe-allinteractions", + "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 kevandee/dexe-allinteractions" }, "dependencies": { "@dlsl/graph-modules": "^1.0.0-rc.3", diff --git a/AllInteractions/subgraph.yaml b/AllInteractions/subgraph.yaml index 6e4f8238..201560b6 100644 --- a/AllInteractions/subgraph.yaml +++ b/AllInteractions/subgraph.yaml @@ -6,9 +6,9 @@ dataSources: name: PoolFactory network: chapel source: - address: "0x47eEcd37B2b684EaD7Aca8081Bd46a0AfC19269b" + address: "0x11d12802D7b5281addE998E81e7a3db97B133d07" abi: PoolFactory - startBlock: 27518585 + startBlock: 32093342 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -29,9 +29,9 @@ dataSources: name: UserRegistry network: chapel source: - address: "0x79535A32ccB1ff2C74f77E27F47761931c78Bf94" + address: "0xaecE31B655bD313708e5818fA947b16414c9CAa7" abi: UserRegistry - startBlock: 27518585 + startBlock: 32093342 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -52,9 +52,9 @@ dataSources: name: Insurance network: chapel source: - address: "0x311E4e40362579E237Cca7bDCf6427E8bE6c6AD6" + address: "0xF13120985Fa715e453B941ae386a1A3245A7198A" abi: Insurance - startBlock: 27518585 + startBlock: 32093342 mapping: kind: ethereum/events apiVersion: 0.0.6 diff --git a/AllPools/subgraph.yaml b/AllPools/subgraph.yaml index c2e99582..927f489c 100644 --- a/AllPools/subgraph.yaml +++ b/AllPools/subgraph.yaml @@ -6,9 +6,9 @@ dataSources: name: PoolFactory network: chapel source: - address: "0x47eEcd37B2b684EaD7Aca8081Bd46a0AfC19269b" + address: "0x11d12802D7b5281addE998E81e7a3db97B133d07" abi: PoolFactory - startBlock: 27518585 + startBlock: 32093342 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -27,9 +27,9 @@ dataSources: name: PoolRegistry network: chapel source: - address: "0x531025865c4e911EC6047Fff905925CeF957b1A2" + address: "0xA7EF8Ba57199833a839F922b002F93732E1194bd" abi: PoolRegistry - startBlock: 27518585 + startBlock: 32093342 mapping: kind: ethereum/events apiVersion: 0.0.6 diff --git a/AllPoolsInvestors/subgraph.yaml b/AllPoolsInvestors/subgraph.yaml index d23f0be6..ab96e087 100644 --- a/AllPoolsInvestors/subgraph.yaml +++ b/AllPoolsInvestors/subgraph.yaml @@ -6,9 +6,9 @@ dataSources: name: PoolFactory network: chapel source: - address: "0x47eEcd37B2b684EaD7Aca8081Bd46a0AfC19269b" + address: "0x11d12802D7b5281addE998E81e7a3db97B133d07" abi: PoolFactory - startBlock: 27518585 + startBlock: 32093342 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -27,9 +27,9 @@ dataSources: name: Insurance network: chapel source: - address: "0x311E4e40362579E237Cca7bDCf6427E8bE6c6AD6" + address: "0xF13120985Fa715e453B941ae386a1A3245A7198A" abi: Insurance - startBlock: 27518585 + startBlock: 32093342 mapping: kind: ethereum/events apiVersion: 0.0.6 diff --git a/BasicPool/subgraph.yaml b/BasicPool/subgraph.yaml index c3b13532..44a45acf 100644 --- a/BasicPool/subgraph.yaml +++ b/BasicPool/subgraph.yaml @@ -6,9 +6,9 @@ dataSources: name: PoolFactory network: chapel source: - address: "0x47eEcd37B2b684EaD7Aca8081Bd46a0AfC19269b" + address: "0x11d12802D7b5281addE998E81e7a3db97B133d07" abi: PoolFactory - startBlock: 27518585 + startBlock: 32093342 mapping: kind: ethereum/events apiVersion: 0.0.6 diff --git a/DaoPools/package.json b/DaoPools/package.json index 65fa98a6..30f2497d 100644 --- a/DaoPools/package.json +++ b/DaoPools/package.json @@ -7,10 +7,10 @@ "build": "graph build", "test": "graph test", "coverage": "graph test -c", - "deploy": "graph deploy --node https://api.thegraph.com/deploy/ volodymyrzolotukhin/dexe", - "create-local": "graph create --node http://localhost:8020/ volodymyrzolotukhin/dexe", - "remove-local": "graph remove --node http://localhost:8020/ volodymyrzolotukhin/dexe", - "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" + "deploy": "graph deploy --node https://api.thegraph.com/deploy/ kevandee/dexe-daopools", + "create-local": "graph create --node http://localhost:8020/ kevandee/dexe-daopools", + "remove-local": "graph remove --node http://localhost:8020/ kevandee/dexe-daopools", + "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 kevandee/dexe-daopools" }, "dependencies": { "@dlsl/graph-modules": "^1.0.0-rc.3", diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index 5aa245fd..27078c72 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -6,9 +6,9 @@ dataSources: name: PoolFactory network: chapel source: - address: "0x47eEcd37B2b684EaD7Aca8081Bd46a0AfC19269b" + address: "0x11d12802D7b5281addE998E81e7a3db97B133d07" abi: PoolFactory - startBlock: 27518585 + startBlock: 32093342 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -28,9 +28,9 @@ dataSources: name: ERC721Expert network: chapel source: - address: "0x47eEcd37B2b684EaD7Aca8081Bd46a0AfC19269b" + address: "0xe8ac0EB409c15d1429e490F538a5513B789f4A0F" abi: ERC721Expert - startBlock: 27518585 + startBlock: 32093342 mapping: kind: ethereum/events apiVersion: 0.0.6 diff --git a/DaoValidators/package.json b/DaoValidators/package.json index c0e79521..60054f04 100644 --- a/DaoValidators/package.json +++ b/DaoValidators/package.json @@ -7,10 +7,10 @@ "build": "graph build", "test": "graph test", "coverage": "graph test -c", - "deploy": "graph deploy --node https://api.thegraph.com/deploy/ volodymyrzolotukhin/dexe", - "create-local": "graph create --node http://localhost:8020/ volodymyrzolotukhin/dexe", - "remove-local": "graph remove --node http://localhost:8020/ volodymyrzolotukhin/dexe", - "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" + "deploy": "graph deploy --node https://api.thegraph.com/deploy/ kevandee/dexe-daovalidators", + "create-local": "graph create --node http://localhost:8020/ kevandee/dexe-daovalidators", + "remove-local": "graph remove --node http://localhost:8020/ kevandee/dexe-daovalidators", + "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 kevandee/dexe-daovalidators" }, "dependencies": { "@graphprotocol/graph-cli": "0.32.0", diff --git a/DaoValidators/subgraph.yaml b/DaoValidators/subgraph.yaml index 0a85dc6b..d9edc3fe 100644 --- a/DaoValidators/subgraph.yaml +++ b/DaoValidators/subgraph.yaml @@ -6,9 +6,9 @@ dataSources: name: PoolFactory network: chapel source: - address: "0x47eEcd37B2b684EaD7Aca8081Bd46a0AfC19269b" + address: "0x11d12802D7b5281addE998E81e7a3db97B133d07" abi: PoolFactory - startBlock: 27518585 + startBlock: 32093342 mapping: kind: ethereum/events apiVersion: 0.0.6 diff --git a/InvestPool/subgraph.yaml b/InvestPool/subgraph.yaml index b7148589..5c384659 100644 --- a/InvestPool/subgraph.yaml +++ b/InvestPool/subgraph.yaml @@ -6,9 +6,9 @@ dataSources: name: PoolFactory network: chapel source: - address: "0x47eEcd37B2b684EaD7Aca8081Bd46a0AfC19269b" + address: "0x11d12802D7b5281addE998E81e7a3db97B133d07" abi: PoolFactory - startBlock: 27518585 + startBlock: 32093342 mapping: kind: ethereum/events apiVersion: 0.0.6 From ad6d02bd6ff2d14d64b07c07a5485082cff3f165 Mon Sep 17 00:00:00 2001 From: Anton Chaika Date: Mon, 14 Aug 2023 19:22:48 +0300 Subject: [PATCH 14/44] moved from @dlsl/graph-modules to @solarity/graph-lib --- AllInteractions/package-lock.json | 70 +++++++++---------- AllInteractions/package.json | 2 +- AllInteractions/src/mappings/Insurance.ts | 2 +- .../src/mappings/TraderPoolInvestProposal.ts | 2 +- AllPools/package-lock.json | 70 +++++++++---------- AllPools/package.json | 2 +- .../src/entities/trader-pool/TraderPool.ts | 2 +- .../trader-pool/TraderPoolPriceHistory.ts | 2 +- AllPools/src/mappings/TraderPool.ts | 2 +- AllPoolsInvestors/package-lock.json | 70 +++++++++---------- AllPoolsInvestors/package.json | 2 +- .../history/InvestorAmountHistory.ts | 2 +- .../entities/trader-pool/history/LpHistory.ts | 2 +- AllPoolsInvestors/src/mappings/Insurance.ts | 2 +- AllPoolsInvestors/src/mappings/TraderPool.ts | 2 +- .../src/mappings/TraderPoolProposal.ts | 2 +- DaoPools/package-lock.json | 70 +++++++++---------- DaoPools/package.json | 2 +- DaoPools/src/mappings/DaoPool.ts | 2 +- DaoPools/src/mappings/DistributionProposal.ts | 2 +- DaoPools/src/mappings/ERC721Expert.ts | 2 +- DaoPools/src/mappings/GlobalERC721Expert.ts | 2 +- DaoPools/src/mappings/TokenSale.ts | 2 +- InvestPool/package-lock.json | 70 +++++++++---------- InvestPool/package.json | 2 +- .../src/mappings/TraderPoolInvestProposal.ts | 2 +- 26 files changed, 196 insertions(+), 196 deletions(-) diff --git a/AllInteractions/package-lock.json b/AllInteractions/package-lock.json index f8bb8d12..2a6c1cd9 100644 --- a/AllInteractions/package-lock.json +++ b/AllInteractions/package-lock.json @@ -7,9 +7,9 @@ "name": "dexe", "license": "UNLICENSED", "dependencies": { - "@dlsl/graph-modules": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", + "@solarity/graph-lib": "^1.0.0-rc.3", "matchstick-as": "0.5.0" } }, @@ -112,22 +112,6 @@ "node": ">=6.9.0" } }, - "node_modules/@dlsl/graph-modules": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", - "dependencies": { - "@graphprotocol/graph-ts": "0.29.3" - } - }, - "node_modules/@dlsl/graph-modules/node_modules/@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "dependencies": { - "assemblyscript": "0.19.10" - } - }, "node_modules/@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", @@ -544,6 +528,22 @@ "assemblyscript": "0.19.10" } }, + "node_modules/@solarity/graph-lib": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "dependencies": { + "@graphprotocol/graph-ts": "0.29.3" + } + }, + "node_modules/@solarity/graph-lib/node_modules/@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "dependencies": { + "assemblyscript": "0.19.10" + } + }, "node_modules/@types/bn.js": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", @@ -5262,24 +5262,6 @@ "regenerator-runtime": "^0.13.4" } }, - "@dlsl/graph-modules": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", - "requires": { - "@graphprotocol/graph-ts": "0.29.3" - }, - "dependencies": { - "@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "requires": { - "assemblyscript": "0.19.10" - } - } - } - }, "@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", @@ -5527,6 +5509,24 @@ "assemblyscript": "0.19.10" } }, + "@solarity/graph-lib": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "requires": { + "@graphprotocol/graph-ts": "0.29.3" + }, + "dependencies": { + "@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "requires": { + "assemblyscript": "0.19.10" + } + } + } + }, "@types/bn.js": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", diff --git a/AllInteractions/package.json b/AllInteractions/package.json index 89c3084a..3ad5ec88 100644 --- a/AllInteractions/package.json +++ b/AllInteractions/package.json @@ -13,7 +13,7 @@ "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 kevandee/dexe-allinteractions" }, "dependencies": { - "@dlsl/graph-modules": "^1.0.0-rc.3", + "@solarity/graph-lib": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "0.5.0" diff --git a/AllInteractions/src/mappings/Insurance.ts b/AllInteractions/src/mappings/Insurance.ts index efedfb4e..6b28edc3 100644 --- a/AllInteractions/src/mappings/Insurance.ts +++ b/AllInteractions/src/mappings/Insurance.ts @@ -1,5 +1,5 @@ import { BigInt } from "@graphprotocol/graph-ts"; -import { pushUnique } from "@dlsl/graph-modules"; +import { pushUnique } from "@solarity/graph-lib"; import { Deposited, Paidout, Withdrawn } from "../../generated/Insurance/Insurance"; import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; import { getInsuranceStake } from "../entities/insurance/InsuranceStake"; diff --git a/AllInteractions/src/mappings/TraderPoolInvestProposal.ts b/AllInteractions/src/mappings/TraderPoolInvestProposal.ts index 2776f5d0..fed0c181 100644 --- a/AllInteractions/src/mappings/TraderPoolInvestProposal.ts +++ b/AllInteractions/src/mappings/TraderPoolInvestProposal.ts @@ -1,5 +1,5 @@ import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { upcastCopy } from "@dlsl/graph-modules"; +import { upcastCopy } from "@solarity/graph-lib"; import { ProposalClaimed, ProposalConverted, diff --git a/AllPools/package-lock.json b/AllPools/package-lock.json index 22592cf1..81ec1120 100644 --- a/AllPools/package-lock.json +++ b/AllPools/package-lock.json @@ -7,9 +7,9 @@ "name": "dexe", "license": "UNLICENSED", "dependencies": { - "@dlsl/graph-modules": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", + "@solarity/graph-lib": "^1.0.0-rc.3", "matchstick-as": "0.5.0" } }, @@ -112,22 +112,6 @@ "node": ">=6.9.0" } }, - "node_modules/@dlsl/graph-modules": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", - "dependencies": { - "@graphprotocol/graph-ts": "0.29.3" - } - }, - "node_modules/@dlsl/graph-modules/node_modules/@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "dependencies": { - "assemblyscript": "0.19.10" - } - }, "node_modules/@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", @@ -544,6 +528,22 @@ "assemblyscript": "0.19.10" } }, + "node_modules/@solarity/graph-lib": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "dependencies": { + "@graphprotocol/graph-ts": "0.29.3" + } + }, + "node_modules/@solarity/graph-lib/node_modules/@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "dependencies": { + "assemblyscript": "0.19.10" + } + }, "node_modules/@types/bn.js": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", @@ -5259,24 +5259,6 @@ "regenerator-runtime": "^0.13.4" } }, - "@dlsl/graph-modules": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", - "requires": { - "@graphprotocol/graph-ts": "0.29.3" - }, - "dependencies": { - "@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "requires": { - "assemblyscript": "0.19.10" - } - } - } - }, "@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", @@ -5524,6 +5506,24 @@ "assemblyscript": "0.19.10" } }, + "@solarity/graph-lib": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "requires": { + "@graphprotocol/graph-ts": "0.29.3" + }, + "dependencies": { + "@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "requires": { + "assemblyscript": "0.19.10" + } + } + } + }, "@types/bn.js": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", diff --git a/AllPools/package.json b/AllPools/package.json index 65fa98a6..2b4585e8 100644 --- a/AllPools/package.json +++ b/AllPools/package.json @@ -13,7 +13,7 @@ "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" }, "dependencies": { - "@dlsl/graph-modules": "^1.0.0-rc.3", + "@solarity/graph-lib": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "0.5.0" diff --git a/AllPools/src/entities/trader-pool/TraderPool.ts b/AllPools/src/entities/trader-pool/TraderPool.ts index 5f6538e2..1ac1b361 100644 --- a/AllPools/src/entities/trader-pool/TraderPool.ts +++ b/AllPools/src/entities/trader-pool/TraderPool.ts @@ -1,5 +1,5 @@ import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { pushUnique } from "@dlsl/graph-modules"; +import { pushUnique } from "@solarity/graph-lib"; import { TraderPool } from "../../../generated/schema"; export function getTraderPool( diff --git a/AllPools/src/entities/trader-pool/TraderPoolPriceHistory.ts b/AllPools/src/entities/trader-pool/TraderPoolPriceHistory.ts index 61bbf8d4..6fad3624 100644 --- a/AllPools/src/entities/trader-pool/TraderPoolPriceHistory.ts +++ b/AllPools/src/entities/trader-pool/TraderPoolPriceHistory.ts @@ -1,6 +1,6 @@ import { Address, BigInt } from "@graphprotocol/graph-ts"; import { TraderPool, TraderPoolPriceHistory } from "../../../generated/schema"; -import { findPrevHistory } from "@dlsl/graph-modules"; +import { findPrevHistory } from "@solarity/graph-lib"; import { BLOCK_PER_YEAR, CHECK_PER_BLOCK, DECIMAL, PERCENTAGE_DENOMINATOR } from "../global/globals"; import { getTraderPool } from "./TraderPool"; import { PERCENTAGE_NUMERATOR } from "../global/globals"; diff --git a/AllPools/src/mappings/TraderPool.ts b/AllPools/src/mappings/TraderPool.ts index 3da1e658..39d84560 100644 --- a/AllPools/src/mappings/TraderPool.ts +++ b/AllPools/src/mappings/TraderPool.ts @@ -13,7 +13,7 @@ import { getTraderPool } from "../entities/trader-pool/TraderPool"; import { getPositionOffset } from "../entities/global/PositionOffset"; import { getPosition } from "../entities/trader-pool/Position"; import { Address, BigInt, Bytes, log } from "@graphprotocol/graph-ts"; -import { pushUnique, remove, upcastCopy, findPrevHistory } from "@dlsl/graph-modules"; +import { pushUnique, remove, upcastCopy, findPrevHistory } from "@solarity/graph-lib"; import { getPositionId } from "../helpers/Position"; import { DAY, diff --git a/AllPoolsInvestors/package-lock.json b/AllPoolsInvestors/package-lock.json index f51405f3..36edcffa 100644 --- a/AllPoolsInvestors/package-lock.json +++ b/AllPoolsInvestors/package-lock.json @@ -7,9 +7,9 @@ "name": "dexe", "license": "UNLICENSED", "dependencies": { - "@dlsl/graph-modules": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", + "@solarity/graph-lib": "^1.0.0-rc.3", "matchstick-as": "^0.5.0" } }, @@ -112,22 +112,6 @@ "node": ">=6.9.0" } }, - "node_modules/@dlsl/graph-modules": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", - "dependencies": { - "@graphprotocol/graph-ts": "0.29.3" - } - }, - "node_modules/@dlsl/graph-modules/node_modules/@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "dependencies": { - "assemblyscript": "0.19.10" - } - }, "node_modules/@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", @@ -544,6 +528,22 @@ "assemblyscript": "0.19.10" } }, + "node_modules/@solarity/graph-lib": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "dependencies": { + "@graphprotocol/graph-ts": "0.29.3" + } + }, + "node_modules/@solarity/graph-lib/node_modules/@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "dependencies": { + "assemblyscript": "0.19.10" + } + }, "node_modules/@types/bn.js": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", @@ -5262,24 +5262,6 @@ "regenerator-runtime": "^0.13.4" } }, - "@dlsl/graph-modules": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", - "requires": { - "@graphprotocol/graph-ts": "0.29.3" - }, - "dependencies": { - "@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "requires": { - "assemblyscript": "0.19.10" - } - } - } - }, "@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", @@ -5527,6 +5509,24 @@ "assemblyscript": "0.19.10" } }, + "@solarity/graph-lib": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "requires": { + "@graphprotocol/graph-ts": "0.29.3" + }, + "dependencies": { + "@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "requires": { + "assemblyscript": "0.19.10" + } + } + } + }, "@types/bn.js": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", diff --git a/AllPoolsInvestors/package.json b/AllPoolsInvestors/package.json index 409a8374..251df99d 100644 --- a/AllPoolsInvestors/package.json +++ b/AllPoolsInvestors/package.json @@ -13,7 +13,7 @@ "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" }, "dependencies": { - "@dlsl/graph-modules": "^1.0.0-rc.3", + "@solarity/graph-lib": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "^0.5.0" diff --git a/AllPoolsInvestors/src/entities/trader-pool/history/InvestorAmountHistory.ts b/AllPoolsInvestors/src/entities/trader-pool/history/InvestorAmountHistory.ts index 73e75306..e413a9be 100644 --- a/AllPoolsInvestors/src/entities/trader-pool/history/InvestorAmountHistory.ts +++ b/AllPoolsInvestors/src/entities/trader-pool/history/InvestorAmountHistory.ts @@ -1,7 +1,7 @@ import { BigInt, Bytes } from "@graphprotocol/graph-ts"; import { DAY, MAX_SEARCH_DEPTH } from "../../global/globals"; import { Investor, InvestorAmountHistory } from "../../../../generated/schema"; -import { findPrevHistory } from "@dlsl/graph-modules"; +import { findPrevHistory } from "@solarity/graph-lib"; export function getInvestorAmountHistory(investor: Investor, timestamp: BigInt): InvestorAmountHistory { let day = timestamp.div(BigInt.fromI32(DAY)); diff --git a/AllPoolsInvestors/src/entities/trader-pool/history/LpHistory.ts b/AllPoolsInvestors/src/entities/trader-pool/history/LpHistory.ts index c6ebfb5c..07576bb7 100644 --- a/AllPoolsInvestors/src/entities/trader-pool/history/LpHistory.ts +++ b/AllPoolsInvestors/src/entities/trader-pool/history/LpHistory.ts @@ -1,7 +1,7 @@ import { BigInt, Bytes } from "@graphprotocol/graph-ts"; import { InvestorPoolPosition, LpHistory } from "../../../../generated/schema"; import { DAY, MAX_SEARCH_DEPTH } from "../../global/globals"; -import { findPrevHistory } from "@dlsl/graph-modules"; +import { findPrevHistory } from "@solarity/graph-lib"; export function getLpHistory(investorPoolPosition: InvestorPoolPosition, timestamp: BigInt): LpHistory { let day = timestamp.div(BigInt.fromI32(DAY)); diff --git a/AllPoolsInvestors/src/mappings/Insurance.ts b/AllPoolsInvestors/src/mappings/Insurance.ts index 7ba7a8e1..c61f9639 100644 --- a/AllPoolsInvestors/src/mappings/Insurance.ts +++ b/AllPoolsInvestors/src/mappings/Insurance.ts @@ -3,7 +3,7 @@ import { Deposited, Paidout, Withdrawn } from "../../generated/Insurance/Insuran import { InsuranceHistory, Investor } from "../../generated/schema"; import { getInsuranceHistory } from "../entities/trader-pool/history/InsuranceHistory"; import { getInvestor } from "../entities/trader-pool/Investor"; -import { findPrevHistory } from "@dlsl/graph-modules"; +import { findPrevHistory } from "@solarity/graph-lib"; import { MAX_SEARCH_DEPTH } from "../entities/global/globals"; export function onDeposit(event: Deposited): void { diff --git a/AllPoolsInvestors/src/mappings/TraderPool.ts b/AllPoolsInvestors/src/mappings/TraderPool.ts index 1e1a5a45..815ec0f6 100644 --- a/AllPoolsInvestors/src/mappings/TraderPool.ts +++ b/AllPoolsInvestors/src/mappings/TraderPool.ts @@ -8,7 +8,7 @@ import { } from "../../generated/templates/TraderPool/TraderPool"; import { getTraderPool } from "../entities/trader-pool/TraderPool"; import { Address, BigInt, Bytes, ethereum, log } from "@graphprotocol/graph-ts"; -import { pushUnique, remove, upcastCopy } from "@dlsl/graph-modules"; +import { pushUnique, remove, upcastCopy } from "@solarity/graph-lib"; import { getInvestor } from "../entities/trader-pool/Investor"; import { getTraderPoolHistory } from "../entities/trader-pool/history/TraderPoolHistory"; import { getInvestorPoolPosition } from "../entities/trader-pool/InvestorPoolPosition"; diff --git a/AllPoolsInvestors/src/mappings/TraderPoolProposal.ts b/AllPoolsInvestors/src/mappings/TraderPoolProposal.ts index 149b13a8..3463aed0 100644 --- a/AllPoolsInvestors/src/mappings/TraderPoolProposal.ts +++ b/AllPoolsInvestors/src/mappings/TraderPoolProposal.ts @@ -10,7 +10,7 @@ import { getProposalVest } from "../entities/trader-pool/proposal/ProposalVest"; import { getProposalContract } from "../entities/trader-pool/proposal/ProposalContract"; import { getTraderPool } from "../entities/trader-pool/TraderPool"; import { Address, Bytes, BigInt, log } from "@graphprotocol/graph-ts"; -import { upcastCopy } from "@dlsl/graph-modules"; +import { upcastCopy } from "@solarity/graph-lib"; import { PriceFeed } from "../../generated/templates/TraderPool/PriceFeed"; import { PRICE_FEED_ADDRESS } from "../entities/global/globals"; import { getInvestor } from "../entities/trader-pool/Investor"; diff --git a/DaoPools/package-lock.json b/DaoPools/package-lock.json index 5a2ab78d..4fc68b34 100644 --- a/DaoPools/package-lock.json +++ b/DaoPools/package-lock.json @@ -7,9 +7,9 @@ "name": "dexe", "license": "UNLICENSED", "dependencies": { - "@dlsl/graph-modules": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", + "@solarity/graph-lib": "^1.0.0-rc.3", "matchstick-as": "0.5.0" } }, @@ -112,22 +112,6 @@ "node": ">=6.9.0" } }, - "node_modules/@dlsl/graph-modules": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", - "dependencies": { - "@graphprotocol/graph-ts": "0.29.3" - } - }, - "node_modules/@dlsl/graph-modules/node_modules/@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "dependencies": { - "assemblyscript": "0.19.10" - } - }, "node_modules/@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", @@ -545,6 +529,22 @@ "assemblyscript": "0.19.10" } }, + "node_modules/@solarity/graph-lib": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "dependencies": { + "@graphprotocol/graph-ts": "0.29.3" + } + }, + "node_modules/@solarity/graph-lib/node_modules/@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "dependencies": { + "assemblyscript": "0.19.10" + } + }, "node_modules/@types/bn.js": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", @@ -5289,24 +5289,6 @@ "regenerator-runtime": "^0.13.4" } }, - "@dlsl/graph-modules": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", - "requires": { - "@graphprotocol/graph-ts": "0.29.3" - }, - "dependencies": { - "@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "requires": { - "assemblyscript": "0.19.10" - } - } - } - }, "@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", @@ -5555,6 +5537,24 @@ "assemblyscript": "0.19.10" } }, + "@solarity/graph-lib": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "requires": { + "@graphprotocol/graph-ts": "0.29.3" + }, + "dependencies": { + "@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "requires": { + "assemblyscript": "0.19.10" + } + } + } + }, "@types/bn.js": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", diff --git a/DaoPools/package.json b/DaoPools/package.json index 30f2497d..ac3ab434 100644 --- a/DaoPools/package.json +++ b/DaoPools/package.json @@ -13,7 +13,7 @@ "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 kevandee/dexe-daopools" }, "dependencies": { - "@dlsl/graph-modules": "^1.0.0-rc.3", + "@solarity/graph-lib": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "0.5.0" diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index 8383e412..d1a7e65e 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -1,5 +1,5 @@ import { Address, BigInt, Bytes, log } from "@graphprotocol/graph-ts"; -import { pushUnique, remove } from "@dlsl/graph-modules"; +import { pushUnique, remove } from "@solarity/graph-lib"; import { Delegated, Deposited, diff --git a/DaoPools/src/mappings/DistributionProposal.ts b/DaoPools/src/mappings/DistributionProposal.ts index 62340364..a3e30f58 100644 --- a/DaoPools/src/mappings/DistributionProposal.ts +++ b/DaoPools/src/mappings/DistributionProposal.ts @@ -1,5 +1,5 @@ import { Address, BigInt, log } from "@graphprotocol/graph-ts"; -import { pushUnique } from "@dlsl/graph-modules"; +import { pushUnique } from "@solarity/graph-lib"; import { PriceFeed } from "../../generated/templates/DistributionProposal/PriceFeed"; import { DistributionProposalClaimed } from "../../generated/templates/DistributionProposal/DistributionProposal"; import { getDaoPool } from "../entities/DaoPool"; diff --git a/DaoPools/src/mappings/ERC721Expert.ts b/DaoPools/src/mappings/ERC721Expert.ts index 7b6d1152..7a80b2da 100644 --- a/DaoPools/src/mappings/ERC721Expert.ts +++ b/DaoPools/src/mappings/ERC721Expert.ts @@ -1,4 +1,4 @@ -import { pushUnique, remove } from "@dlsl/graph-modules"; +import { pushUnique, remove } from "@solarity/graph-lib"; import { Transfer, TagsAdded } from "../../generated/templates/ERC721Expert/ERC721Expert"; import { getExpertNft } from "../entities/ExpertNft/ExpertNft"; import { Address, Bytes, store } from "@graphprotocol/graph-ts"; diff --git a/DaoPools/src/mappings/GlobalERC721Expert.ts b/DaoPools/src/mappings/GlobalERC721Expert.ts index c6b54886..8e3a3678 100644 --- a/DaoPools/src/mappings/GlobalERC721Expert.ts +++ b/DaoPools/src/mappings/GlobalERC721Expert.ts @@ -1,4 +1,4 @@ -import { pushUnique } from "@dlsl/graph-modules"; +import { pushUnique } from "@solarity/graph-lib"; import { Transfer, TagsAdded } from "../../generated/templates/ERC721Expert/ERC721Expert"; import { getExpertNft } from "../entities/ExpertNft/ExpertNft"; import { Address, Bytes, store } from "@graphprotocol/graph-ts"; diff --git a/DaoPools/src/mappings/TokenSale.ts b/DaoPools/src/mappings/TokenSale.ts index 63b10c87..32ad4475 100644 --- a/DaoPools/src/mappings/TokenSale.ts +++ b/DaoPools/src/mappings/TokenSale.ts @@ -1,5 +1,5 @@ import { Address, BigDecimal, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { pushUnique } from "@dlsl/graph-modules"; +import { pushUnique } from "@solarity/graph-lib"; import { Bought, TierCreated, Whitelisted } from "../../generated/templates/TokenSale/TokenSaleProposal"; import { getDaoPool } from "../entities/DaoPool"; import { getTokenSale } from "../entities/TokenSale"; diff --git a/InvestPool/package-lock.json b/InvestPool/package-lock.json index f51405f3..36edcffa 100644 --- a/InvestPool/package-lock.json +++ b/InvestPool/package-lock.json @@ -7,9 +7,9 @@ "name": "dexe", "license": "UNLICENSED", "dependencies": { - "@dlsl/graph-modules": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", + "@solarity/graph-lib": "^1.0.0-rc.3", "matchstick-as": "^0.5.0" } }, @@ -112,22 +112,6 @@ "node": ">=6.9.0" } }, - "node_modules/@dlsl/graph-modules": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", - "dependencies": { - "@graphprotocol/graph-ts": "0.29.3" - } - }, - "node_modules/@dlsl/graph-modules/node_modules/@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "dependencies": { - "assemblyscript": "0.19.10" - } - }, "node_modules/@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", @@ -544,6 +528,22 @@ "assemblyscript": "0.19.10" } }, + "node_modules/@solarity/graph-lib": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "dependencies": { + "@graphprotocol/graph-ts": "0.29.3" + } + }, + "node_modules/@solarity/graph-lib/node_modules/@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "dependencies": { + "assemblyscript": "0.19.10" + } + }, "node_modules/@types/bn.js": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", @@ -5262,24 +5262,6 @@ "regenerator-runtime": "^0.13.4" } }, - "@dlsl/graph-modules": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@dlsl/graph-modules/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", - "requires": { - "@graphprotocol/graph-ts": "0.29.3" - }, - "dependencies": { - "@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "requires": { - "assemblyscript": "0.19.10" - } - } - } - }, "@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", @@ -5527,6 +5509,24 @@ "assemblyscript": "0.19.10" } }, + "@solarity/graph-lib": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", + "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "requires": { + "@graphprotocol/graph-ts": "0.29.3" + }, + "dependencies": { + "@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "requires": { + "assemblyscript": "0.19.10" + } + } + } + }, "@types/bn.js": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", diff --git a/InvestPool/package.json b/InvestPool/package.json index 409a8374..251df99d 100644 --- a/InvestPool/package.json +++ b/InvestPool/package.json @@ -13,7 +13,7 @@ "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" }, "dependencies": { - "@dlsl/graph-modules": "^1.0.0-rc.3", + "@solarity/graph-lib": "^1.0.0-rc.3", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "^0.5.0" diff --git a/InvestPool/src/mappings/TraderPoolInvestProposal.ts b/InvestPool/src/mappings/TraderPoolInvestProposal.ts index 26d52752..2563db62 100644 --- a/InvestPool/src/mappings/TraderPoolInvestProposal.ts +++ b/InvestPool/src/mappings/TraderPoolInvestProposal.ts @@ -1,5 +1,5 @@ import { Address, BigInt, Bytes, log } from "@graphprotocol/graph-ts"; -import { upcastCopy } from "@dlsl/graph-modules"; +import { upcastCopy } from "@solarity/graph-lib"; import { ProposalCreated, ProposalWithdrawn, From 6c302f4a1ec9d118431cda91cabc74f06760092a Mon Sep 17 00:00:00 2001 From: Anton Chaika Date: Wed, 16 Aug 2023 13:35:47 +0300 Subject: [PATCH 15/44] updated solarity version --- AllInteractions/package-lock.json | 14 +++++++------- AllInteractions/package.json | 2 +- AllPools/package-lock.json | 14 +++++++------- AllPools/package.json | 2 +- AllPoolsInvestors/package-lock.json | 14 +++++++------- AllPoolsInvestors/package.json | 2 +- DaoPools/package-lock.json | 14 +++++++------- DaoPools/package.json | 2 +- InvestPool/package-lock.json | 14 +++++++------- InvestPool/package.json | 2 +- 10 files changed, 40 insertions(+), 40 deletions(-) diff --git a/AllInteractions/package-lock.json b/AllInteractions/package-lock.json index 2a6c1cd9..f85264ab 100644 --- a/AllInteractions/package-lock.json +++ b/AllInteractions/package-lock.json @@ -9,7 +9,7 @@ "dependencies": { "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", - "@solarity/graph-lib": "^1.0.0-rc.3", + "@solarity/graph-lib": "^1.0.0-rc.5", "matchstick-as": "0.5.0" } }, @@ -529,9 +529,9 @@ } }, "node_modules/@solarity/graph-lib": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "version": "1.0.0-rc.5", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", + "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", "dependencies": { "@graphprotocol/graph-ts": "0.29.3" } @@ -5510,9 +5510,9 @@ } }, "@solarity/graph-lib": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "version": "1.0.0-rc.5", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", + "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", "requires": { "@graphprotocol/graph-ts": "0.29.3" }, diff --git a/AllInteractions/package.json b/AllInteractions/package.json index 3ad5ec88..f2b2e6af 100644 --- a/AllInteractions/package.json +++ b/AllInteractions/package.json @@ -13,7 +13,7 @@ "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 kevandee/dexe-allinteractions" }, "dependencies": { - "@solarity/graph-lib": "^1.0.0-rc.3", + "@solarity/graph-lib": "^1.0.0-rc.5", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "0.5.0" diff --git a/AllPools/package-lock.json b/AllPools/package-lock.json index 81ec1120..5c8ef8bc 100644 --- a/AllPools/package-lock.json +++ b/AllPools/package-lock.json @@ -9,7 +9,7 @@ "dependencies": { "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", - "@solarity/graph-lib": "^1.0.0-rc.3", + "@solarity/graph-lib": "^1.0.0-rc.5", "matchstick-as": "0.5.0" } }, @@ -529,9 +529,9 @@ } }, "node_modules/@solarity/graph-lib": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "version": "1.0.0-rc.5", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", + "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", "dependencies": { "@graphprotocol/graph-ts": "0.29.3" } @@ -5507,9 +5507,9 @@ } }, "@solarity/graph-lib": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "version": "1.0.0-rc.5", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", + "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", "requires": { "@graphprotocol/graph-ts": "0.29.3" }, diff --git a/AllPools/package.json b/AllPools/package.json index 2b4585e8..72b2044b 100644 --- a/AllPools/package.json +++ b/AllPools/package.json @@ -13,7 +13,7 @@ "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" }, "dependencies": { - "@solarity/graph-lib": "^1.0.0-rc.3", + "@solarity/graph-lib": "^1.0.0-rc.5", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "0.5.0" diff --git a/AllPoolsInvestors/package-lock.json b/AllPoolsInvestors/package-lock.json index 36edcffa..8018ed3c 100644 --- a/AllPoolsInvestors/package-lock.json +++ b/AllPoolsInvestors/package-lock.json @@ -9,7 +9,7 @@ "dependencies": { "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", - "@solarity/graph-lib": "^1.0.0-rc.3", + "@solarity/graph-lib": "^1.0.0-rc.5", "matchstick-as": "^0.5.0" } }, @@ -529,9 +529,9 @@ } }, "node_modules/@solarity/graph-lib": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "version": "1.0.0-rc.5", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", + "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", "dependencies": { "@graphprotocol/graph-ts": "0.29.3" } @@ -5510,9 +5510,9 @@ } }, "@solarity/graph-lib": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "version": "1.0.0-rc.5", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", + "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", "requires": { "@graphprotocol/graph-ts": "0.29.3" }, diff --git a/AllPoolsInvestors/package.json b/AllPoolsInvestors/package.json index 251df99d..bb5f48e5 100644 --- a/AllPoolsInvestors/package.json +++ b/AllPoolsInvestors/package.json @@ -13,7 +13,7 @@ "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" }, "dependencies": { - "@solarity/graph-lib": "^1.0.0-rc.3", + "@solarity/graph-lib": "^1.0.0-rc.5", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "^0.5.0" diff --git a/DaoPools/package-lock.json b/DaoPools/package-lock.json index 4fc68b34..36c7e598 100644 --- a/DaoPools/package-lock.json +++ b/DaoPools/package-lock.json @@ -9,7 +9,7 @@ "dependencies": { "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", - "@solarity/graph-lib": "^1.0.0-rc.3", + "@solarity/graph-lib": "^1.0.0-rc.5", "matchstick-as": "0.5.0" } }, @@ -530,9 +530,9 @@ } }, "node_modules/@solarity/graph-lib": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "version": "1.0.0-rc.5", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", + "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", "dependencies": { "@graphprotocol/graph-ts": "0.29.3" } @@ -5538,9 +5538,9 @@ } }, "@solarity/graph-lib": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "version": "1.0.0-rc.5", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", + "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", "requires": { "@graphprotocol/graph-ts": "0.29.3" }, diff --git a/DaoPools/package.json b/DaoPools/package.json index ac3ab434..30114e73 100644 --- a/DaoPools/package.json +++ b/DaoPools/package.json @@ -13,7 +13,7 @@ "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 kevandee/dexe-daopools" }, "dependencies": { - "@solarity/graph-lib": "^1.0.0-rc.3", + "@solarity/graph-lib": "^1.0.0-rc.5", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "0.5.0" diff --git a/InvestPool/package-lock.json b/InvestPool/package-lock.json index 36edcffa..8018ed3c 100644 --- a/InvestPool/package-lock.json +++ b/InvestPool/package-lock.json @@ -9,7 +9,7 @@ "dependencies": { "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", - "@solarity/graph-lib": "^1.0.0-rc.3", + "@solarity/graph-lib": "^1.0.0-rc.5", "matchstick-as": "^0.5.0" } }, @@ -529,9 +529,9 @@ } }, "node_modules/@solarity/graph-lib": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "version": "1.0.0-rc.5", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", + "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", "dependencies": { "@graphprotocol/graph-ts": "0.29.3" } @@ -5510,9 +5510,9 @@ } }, "@solarity/graph-lib": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-modules-1.0.0-rc.3.tgz", - "integrity": "sha512-H14BqOE/R4tevD0zqM+GkH2t8syZmCVuOe4r1VimTLFmXUyBhCqOu82Dn6vyHOFq40XB7uW9DAU6VLmdDcUvfw==", + "version": "1.0.0-rc.5", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", + "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", "requires": { "@graphprotocol/graph-ts": "0.29.3" }, diff --git a/InvestPool/package.json b/InvestPool/package.json index 251df99d..bb5f48e5 100644 --- a/InvestPool/package.json +++ b/InvestPool/package.json @@ -13,7 +13,7 @@ "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" }, "dependencies": { - "@solarity/graph-lib": "^1.0.0-rc.3", + "@solarity/graph-lib": "^1.0.0-rc.5", "@graphprotocol/graph-cli": "0.32.0", "@graphprotocol/graph-ts": "0.27.0", "matchstick-as": "^0.5.0" From d8295e478bb67db0fcd54b8110b8c9bf5e60bfe6 Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Wed, 16 Aug 2023 18:38:39 +0300 Subject: [PATCH 16/44] Feature/delegated treasury (#120) * added DelegatedTreasury event, changed Voted event in DaoPools * changed Voted event in AllInteractions * removed VoterInPoolTreasury --- AllInteractions/abis/DaoPool.json | 39 +- AllInteractions/schema.graphql | 1 + .../src/entities/dao-pool/DaoPoolVote.ts | 2 + .../src/entities/global/VoteTypeEnum.ts | 12 + AllInteractions/src/mappings/DaoPool.ts | 4 +- AllInteractions/subgraph.yaml | 2 +- AllInteractions/tests/DaoPool.test.ts | 23 +- DaoPools/abis/DaoPool.json | 39 +- DaoPools/schema.graphql | 29 +- DaoPools/src/entities/DaoPool.ts | 3 + DaoPools/src/entities/ProposalVote.ts | 8 +- .../src/entities/TreasuryDelegationHistory.ts | 34 ++ DaoPools/src/entities/Voters/VoterInPool.ts | 4 + .../src/entities/Voters/VoterInProposal.ts | 3 + .../global/TreasuryDelegationTypeEnum.ts | 10 + DaoPools/src/entities/global/VoteTypeEnum.ts | 12 + DaoPools/src/mappings/DaoPool.ts | 123 ++++- DaoPools/subgraph.yaml | 4 +- DaoPools/tests/DaoPool.test.ts | 452 ++++++++++++++++-- 19 files changed, 711 insertions(+), 93 deletions(-) create mode 100644 AllInteractions/src/entities/global/VoteTypeEnum.ts create mode 100644 DaoPools/src/entities/TreasuryDelegationHistory.ts create mode 100644 DaoPools/src/entities/global/TreasuryDelegationTypeEnum.ts create mode 100644 DaoPools/src/entities/global/VoteTypeEnum.ts diff --git a/AllInteractions/abis/DaoPool.json b/AllInteractions/abis/DaoPool.json index afcc3330..bef8f5cb 100644 --- a/AllInteractions/abis/DaoPool.json +++ b/AllInteractions/abis/DaoPool.json @@ -122,14 +122,14 @@ }, { "indexed": false, - "internalType": "uint256", - "name": "personalVote", - "type": "uint256" + "internalType": "enum IGovPool.VoteType", + "name": "voteType", + "type": "uint8" }, { "indexed": false, "internalType": "uint256", - "name": "delegatedVote", + "name": "amount", "type": "uint256" }, { @@ -303,6 +303,37 @@ "name": "Delegated", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "nfts", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isDelegate", + "type": "bool" + } + ], + "name": "DelegatedTreasury", + "type": "event" + }, { "anonymous": false, "inputs": [ diff --git a/AllInteractions/schema.graphql b/AllInteractions/schema.graphql index 3e9a2608..e05e4228 100644 --- a/AllInteractions/schema.graphql +++ b/AllInteractions/schema.graphql @@ -330,6 +330,7 @@ type DaoPoolVote @entity(immutable: true) { id: Bytes! # tx hash + interactionCount pool: Bytes! + voteType: BigInt! isVoteFor: Boolean! amount: BigInt! diff --git a/AllInteractions/src/entities/dao-pool/DaoPoolVote.ts b/AllInteractions/src/entities/dao-pool/DaoPoolVote.ts index 7e130e36..cfe8da95 100644 --- a/AllInteractions/src/entities/dao-pool/DaoPoolVote.ts +++ b/AllInteractions/src/entities/dao-pool/DaoPoolVote.ts @@ -4,6 +4,7 @@ import { DaoPoolVote } from "../../../generated/schema"; export function getDaoPoolVote( hash: Bytes, pool: Address, + voteType: BigInt, amount: BigInt, count: BigInt, isVoteFor: boolean @@ -14,6 +15,7 @@ export function getDaoPoolVote( if (daoPoolVote == null) { daoPoolVote = new DaoPoolVote(id); daoPoolVote.pool = pool; + daoPoolVote.voteType = voteType; daoPoolVote.amount = amount; daoPoolVote.isVoteFor = isVoteFor; diff --git a/AllInteractions/src/entities/global/VoteTypeEnum.ts b/AllInteractions/src/entities/global/VoteTypeEnum.ts new file mode 100644 index 00000000..cdfe619b --- /dev/null +++ b/AllInteractions/src/entities/global/VoteTypeEnum.ts @@ -0,0 +1,12 @@ +import { BigInt } from "@graphprotocol/graph-ts"; + +export enum VoteType { + PERSONAL = 1, + MICROPOOL = 2, + DELEGATED = 3, + TREASURY = 4, +} + +export function getEnumBigInt(operation: VoteType): BigInt { + return BigInt.fromI32(operation as i32); +} diff --git a/AllInteractions/src/mappings/DaoPool.ts b/AllInteractions/src/mappings/DaoPool.ts index 652ddd42..7da9503c 100644 --- a/AllInteractions/src/mappings/DaoPool.ts +++ b/AllInteractions/src/mappings/DaoPool.ts @@ -10,6 +10,7 @@ import { Voted, Withdrawn, Requested, + DelegatedTreasury, } from "../../generated/templates/DaoPool/DaoPool"; import { getDaoPoolDelegate } from "../entities/dao-pool/DaoPoolDelegate"; import { getDaoPoolVest } from "../entities/dao-pool/DaoPoolVest"; @@ -103,7 +104,8 @@ export function onVoted(event: Voted): void { let voted = getDaoPoolVote( event.transaction.hash, event.address, - event.params.personalVote.plus(event.params.delegatedVote), + getEnumBigInt(event.params.voteType), + event.params.amount, transaction.interactionsCount, event.params.isVoteFor ); diff --git a/AllInteractions/subgraph.yaml b/AllInteractions/subgraph.yaml index 201560b6..9a05b007 100644 --- a/AllInteractions/subgraph.yaml +++ b/AllInteractions/subgraph.yaml @@ -184,7 +184,7 @@ templates: handler: onProposalCreated - event: Delegated(address,address,uint256,uint256[],bool) handler: onDelegated - - event: Voted(uint256,address,uint256,uint256,bool) + - event: Voted(uint256,address,uint8,uint256,bool) handler: onVoted - event: ProposalExecuted(uint256,bool,address) handler: onProposalExecuted diff --git a/AllInteractions/tests/DaoPool.test.ts b/AllInteractions/tests/DaoPool.test.ts index e8a0146b..bf994cf0 100644 --- a/AllInteractions/tests/DaoPool.test.ts +++ b/AllInteractions/tests/DaoPool.test.ts @@ -36,6 +36,7 @@ import { onOffchainResultsSaved, } from "../src/mappings/DaoPool"; import { TransactionType } from "../src/entities/global/TransactionTypeEnum"; +import { VoteType, getEnumBigInt } from "../../DaoPools/src/entities/global/VoteTypeEnum"; function createProposalCreated( proposalId: BigInt, @@ -120,8 +121,8 @@ function createRequested( function createVoted( proposalId: BigInt, sender: Address, - personalVote: BigInt, - delegatedVote: BigInt, + voteType: BigInt, + amount: BigInt, isVoteFor: boolean, contractSender: Address, block: ethereum.Block, @@ -132,8 +133,8 @@ function createVoted( event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); - event.parameters.push(new ethereum.EventParam("personalVote", ethereum.Value.fromUnsignedBigInt(personalVote))); - event.parameters.push(new ethereum.EventParam("delegatedVote", ethereum.Value.fromUnsignedBigInt(delegatedVote))); + event.parameters.push(new ethereum.EventParam("voteType", ethereum.Value.fromUnsignedBigInt(voteType))); + event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); event.parameters.push(new ethereum.EventParam("isVoteFor", ethereum.Value.fromBoolean(isVoteFor))); event.block = block; @@ -395,21 +396,17 @@ describe("DaoPool", () => { test("should handle Voted", () => { let proposalId = BigInt.fromI32(1); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let personalVote = BigInt.fromI32(1000); - let delegatedVote = BigInt.fromI32(100); + let voteType = getEnumBigInt(VoteType.PERSONAL); + let amount = BigInt.fromI32(1000); let isVoteFor = true; - let event = createVoted(proposalId, sender, personalVote, delegatedVote, isVoteFor, contractSender, block, tx); + let event = createVoted(proposalId, sender, voteType, amount, isVoteFor, contractSender, block, tx); onVoted(event); assert.fieldEquals("DaoPoolVote", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); - assert.fieldEquals( - "DaoPoolVote", - tx.hash.concatI32(0).toHexString(), - "amount", - personalVote.plus(delegatedVote).toString() - ); + assert.fieldEquals("DaoPoolVote", tx.hash.concatI32(0).toHexString(), "voteType", voteType.toString()); + assert.fieldEquals("DaoPoolVote", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); assert.fieldEquals("DaoPoolVote", tx.hash.concatI32(0).toHexString(), "isVoteFor", isVoteFor.toString()); assertTransaction( diff --git a/DaoPools/abis/DaoPool.json b/DaoPools/abis/DaoPool.json index 407b6b09..e99744f4 100644 --- a/DaoPools/abis/DaoPool.json +++ b/DaoPools/abis/DaoPool.json @@ -1,4 +1,35 @@ [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "nfts", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isDelegate", + "type": "bool" + } + ], + "name": "DelegatedTreasury", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -147,14 +178,14 @@ }, { "indexed": false, - "internalType": "uint256", - "name": "personalVote", - "type": "uint256" + "internalType": "enum IGovPool.VoteType", + "name": "voteType", + "type": "uint8" }, { "indexed": false, "internalType": "uint256", - "name": "delegatedVote", + "name": "amount", "type": "uint256" }, { diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index 001addd2..1c2ebab2 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -49,6 +49,9 @@ type DaoPool @entity { totalCurrentTokenDelegated: BigInt! totalCurrentNFTDelegated: [BigInt!]! + totalCurrentTokenDelegatedTreasury: BigInt! + totalCurrentNFTDelegatedTreasury: [BigInt!]! + totalCurrentTokenDelegatees: BigInt! totalCurrentNFTDelegatees: BigInt! @@ -156,6 +159,10 @@ type VoterInPool @entity { receivedNFTDelegation: [BigInt!]! receivedNFTDelegationCount: BigInt! + receivedTreasuryDelegation: BigInt! + receivedTreasuryNFTDelegation: [BigInt!]! + receivedTreasuryNFTDelegationCount: BigInt! + requestedTokensAmount: BigInt! requestedNft: [BigInt!]! requestedNftCount: BigInt! @@ -182,6 +189,8 @@ type VoterInPool @entity { proposals: [VoterInProposal!]! claimedDPs: [DistributionProposal!]! + + treasuryDelegationHistory: [TreasuryDelegationHistory!]! @derivedFrom(field: "to") } # @notice The entity holds information about vote @@ -200,8 +209,9 @@ type ProposalVote @entity(immutable: true) { isVoteFor: Boolean! - personalAmount: BigInt! - delegatedAmount: BigInt! + voteType: BigInt! + + amount: BigInt! voter: VoterInProposal! proposal: Proposal! @@ -232,6 +242,9 @@ type VoterInProposal @entity { totalDelegatedVoteForAmount: BigInt! totalDelegatedVoteAgainstAmount: BigInt! + totalTreasuryVoteForAmount: BigInt! + totalTreasuryVoteAgainstAmount: BigInt! + unclaimedRewardUSDFor: BigInt! unclaimedRewardUSDAgainst: BigInt! unclaimedRewardFromDelegationsUSDFor: BigInt! @@ -281,6 +294,18 @@ type DelegationHistory @entity(immutable: true) { pair: VoterInPoolPair! } +type TreasuryDelegationHistory @entity(immutable: true) { + id: Bytes! # tx hash + counter + pool: DaoPool! + timestamp: BigInt! + + to: VoterInPool! + type: BigInt! + + amount: BigInt! + nfts: [BigInt!]! +} + # @notice The entity holds historical information proposal settings # @param id forms from pool address + settingsId # @param settingsId the settings id diff --git a/DaoPools/src/entities/DaoPool.ts b/DaoPools/src/entities/DaoPool.ts index 478d916d..43fd0ea5 100644 --- a/DaoPools/src/entities/DaoPool.ts +++ b/DaoPools/src/entities/DaoPool.ts @@ -23,6 +23,9 @@ export function getDaoPool( pool.totalCurrentTokenDelegated = BigInt.zero(); pool.totalCurrentNFTDelegated = new Array(); + pool.totalCurrentTokenDelegatedTreasury = BigInt.zero(); + pool.totalCurrentNFTDelegatedTreasury = new Array(); + pool.totalCurrentTokenDelegatees = BigInt.zero(); pool.totalCurrentNFTDelegatees = BigInt.zero(); diff --git a/DaoPools/src/entities/ProposalVote.ts b/DaoPools/src/entities/ProposalVote.ts index b6f63869..20289e42 100644 --- a/DaoPools/src/entities/ProposalVote.ts +++ b/DaoPools/src/entities/ProposalVote.ts @@ -7,8 +7,8 @@ export function getProposalVote( hash: Bytes, voterInProposal: VoterInProposal, timestamp: BigInt, - personalAmount: BigInt, - delegatedAmount: BigInt, + voteType: BigInt, + amount: BigInt, isVoteFor: boolean ): ProposalVote { let counter = getInteractionCount(hash); @@ -20,8 +20,8 @@ export function getProposalVote( proposalVote.hash = hash; proposalVote.timestamp = timestamp; - proposalVote.delegatedAmount = delegatedAmount; - proposalVote.personalAmount = personalAmount; + proposalVote.voteType = voteType; + proposalVote.amount = amount; proposalVote.isVoteFor = isVoteFor; diff --git a/DaoPools/src/entities/TreasuryDelegationHistory.ts b/DaoPools/src/entities/TreasuryDelegationHistory.ts new file mode 100644 index 00000000..979eedb0 --- /dev/null +++ b/DaoPools/src/entities/TreasuryDelegationHistory.ts @@ -0,0 +1,34 @@ +import { BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { DaoPool, TreasuryDelegationHistory, Voter, VoterInPool } from "../../generated/schema"; +import { getInteractionCount } from "./global/InteractionCount"; +import { increaseCounter } from "../helpers/IncreaseCounter"; +import { TreasuryDelegationType, getEnumBigInt } from "./global/TreasuryDelegationTypeEnum"; + +export function getTreasuryDelegationHistory( + hash: Bytes, + pool: DaoPool, + timestamp: BigInt, + to: VoterInPool, + amount: BigInt, + nfts: Array, + type: TreasuryDelegationType +): TreasuryDelegationHistory { + let counter = getInteractionCount(hash); + let id = hash.concatI32(counter.count.toI32()); + let history = TreasuryDelegationHistory.load(id); + + if (history == null) { + history = new TreasuryDelegationHistory(id); + history.amount = amount; + history.to = to.id; + history.type = getEnumBigInt(type); + history.timestamp = timestamp; + history.nfts = nfts; + + history.pool = pool.id; + + increaseCounter(counter); + } + + return history; +} diff --git a/DaoPools/src/entities/Voters/VoterInPool.ts b/DaoPools/src/entities/Voters/VoterInPool.ts index e630b81d..15d73199 100644 --- a/DaoPools/src/entities/Voters/VoterInPool.ts +++ b/DaoPools/src/entities/Voters/VoterInPool.ts @@ -17,6 +17,10 @@ export function getVoterInPool(pool: DaoPool, voter: Voter, timestamp: BigInt): voterInPool.receivedNFTDelegation = new Array(); voterInPool.receivedNFTDelegationCount = BigInt.zero(); + voterInPool.receivedTreasuryDelegation = BigInt.zero(); + voterInPool.receivedTreasuryNFTDelegation = new Array(); + voterInPool.receivedTreasuryNFTDelegationCount = BigInt.zero(); + voterInPool.requestedTokensAmount = BigInt.zero(); voterInPool.requestedNft = new Array(); voterInPool.requestedNftCount = BigInt.zero(); diff --git a/DaoPools/src/entities/Voters/VoterInProposal.ts b/DaoPools/src/entities/Voters/VoterInProposal.ts index d5e9ef6e..019f974c 100644 --- a/DaoPools/src/entities/Voters/VoterInProposal.ts +++ b/DaoPools/src/entities/Voters/VoterInProposal.ts @@ -16,6 +16,9 @@ export function getVoterInProposal(proposal: Proposal, voterInPool: VoterInPool) voterInProposal.totalDelegatedVoteForAmount = BigInt.zero(); voterInProposal.totalDelegatedVoteAgainstAmount = BigInt.zero(); + voterInProposal.totalTreasuryVoteForAmount = BigInt.zero(); + voterInProposal.totalTreasuryVoteAgainstAmount = BigInt.zero(); + voterInProposal.claimedRewardUSD = BigInt.zero(); voterInProposal.claimedDpRewardUSD = BigInt.zero(); voterInProposal.unclaimedRewardUSDFor = BigInt.zero(); diff --git a/DaoPools/src/entities/global/TreasuryDelegationTypeEnum.ts b/DaoPools/src/entities/global/TreasuryDelegationTypeEnum.ts new file mode 100644 index 00000000..3d805158 --- /dev/null +++ b/DaoPools/src/entities/global/TreasuryDelegationTypeEnum.ts @@ -0,0 +1,10 @@ +import { BigInt } from "@graphprotocol/graph-ts"; + +export enum TreasuryDelegationType { + DELEGATE = 1, + UNDELEGATE = 2, +} + +export function getEnumBigInt(operation: TreasuryDelegationType): BigInt { + return BigInt.fromI32(operation as i32); +} diff --git a/DaoPools/src/entities/global/VoteTypeEnum.ts b/DaoPools/src/entities/global/VoteTypeEnum.ts new file mode 100644 index 00000000..cdfe619b --- /dev/null +++ b/DaoPools/src/entities/global/VoteTypeEnum.ts @@ -0,0 +1,12 @@ +import { BigInt } from "@graphprotocol/graph-ts"; + +export enum VoteType { + PERSONAL = 1, + MICROPOOL = 2, + DELEGATED = 3, + TREASURY = 4, +} + +export function getEnumBigInt(operation: VoteType): BigInt { + return BigInt.fromI32(operation as i32); +} diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index d1a7e65e..f026cab0 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -2,6 +2,7 @@ import { Address, BigInt, Bytes, log } from "@graphprotocol/graph-ts"; import { pushUnique, remove } from "@solarity/graph-lib"; import { Delegated, + DelegatedTreasury, Deposited, DPCreated, OffchainResultsSaved, @@ -39,6 +40,9 @@ import { getVoterInPoolPair } from "../entities/Voters/VoterInPoolPair"; import { getUSDValue } from "../helpers/PriceFeedInteractions"; import { getVoterOffchain } from "../entities/Voters/VoterOffchain"; import { DelegationType } from "../entities/global/DelegationTypeEnum"; +import { VoteType, getEnumBigInt } from "../entities/global/VoteTypeEnum"; +import { TreasuryDelegationType } from "../entities/global/TreasuryDelegationTypeEnum"; +import { getTreasuryDelegationHistory } from "../entities/TreasuryDelegationHistory"; export function onProposalCreated(event: ProposalCreated): void { let pool = getDaoPool(event.address); @@ -169,6 +173,71 @@ export function onDelegated(event: Delegated): void { from.save(); } +export function onDelegatedTreasury(event: DelegatedTreasury): void { + let to = getVoter(event.params.to); + let pool = getDaoPool(event.address); + let toVoterInPool = getVoterInPool(pool, to, event.block.timestamp); + let delegateHistory = getTreasuryDelegationHistory( + event.transaction.hash, + pool, + event.block.timestamp, + toVoterInPool, + event.params.amount, + event.params.nfts, + event.params.isDelegate ? TreasuryDelegationType.DELEGATE : TreasuryDelegationType.UNDELEGATE + ); + + if (event.params.isDelegate) { + toVoterInPool.receivedTreasuryDelegation = toVoterInPool.receivedTreasuryDelegation.plus(event.params.amount); + toVoterInPool.receivedTreasuryNFTDelegation = pushUnique( + toVoterInPool.receivedTreasuryNFTDelegation, + event.params.nfts + ); + toVoterInPool.receivedTreasuryNFTDelegationCount = BigInt.fromI32( + toVoterInPool.receivedTreasuryNFTDelegation.length + ); + + pool.totalCurrentTokenDelegatedTreasury = pool.totalCurrentTokenDelegatedTreasury.plus(event.params.amount); + pool.totalCurrentNFTDelegatedTreasury = pushUnique( + pool.totalCurrentNFTDelegatedTreasury, + event.params.nfts + ); + } else { + toVoterInPool.receivedTreasuryDelegation = toVoterInPool.receivedTreasuryDelegation.minus(event.params.amount); + toVoterInPool.receivedTreasuryNFTDelegation = remove( + toVoterInPool.receivedTreasuryNFTDelegation, + event.params.nfts + ); + toVoterInPool.receivedTreasuryNFTDelegationCount = BigInt.fromI32( + toVoterInPool.receivedTreasuryNFTDelegation.length + ); + + pool.totalCurrentTokenDelegatedTreasury = pool.totalCurrentTokenDelegatedTreasury.minus(event.params.amount); + pool.totalCurrentNFTDelegatedTreasury = remove(pool.totalCurrentNFTDelegatedTreasury, event.params.nfts); + } + + if (event.params.amount.gt(BigInt.zero())) { + if (toVoterInPool.receivedTreasuryDelegation.equals(event.params.amount) && event.params.isDelegate) { + pool.totalCurrentTokenDelegatees = pool.totalCurrentTokenDelegatees.plus(BigInt.fromI32(1)); + } else if (toVoterInPool.receivedTreasuryDelegation.equals(BigInt.zero()) && !event.params.isDelegate) { + pool.totalCurrentTokenDelegatees = pool.totalCurrentTokenDelegatees.minus(BigInt.fromI32(1)); + } + } + + if (event.params.nfts.length > 0) { + if (toVoterInPool.receivedTreasuryNFTDelegation.length == event.params.nfts.length && event.params.isDelegate) { + pool.totalCurrentNFTDelegatees = pool.totalCurrentNFTDelegatees.plus(BigInt.fromI32(1)); + } else if (toVoterInPool.receivedTreasuryNFTDelegation.length == 0 && !event.params.isDelegate) { + pool.totalCurrentNFTDelegatees = pool.totalCurrentNFTDelegatees.minus(BigInt.fromI32(1)); + } + } + + toVoterInPool.save(); + delegateHistory.save(); + pool.save(); + to.save(); +} + export function onVoted(event: Voted): void { let voter = getVoter(event.params.sender); let pool = getDaoPool(event.address); @@ -179,29 +248,49 @@ export function onVoted(event: Voted): void { event.transaction.hash, voterInProposal, event.block.timestamp, - event.params.personalVote, - event.params.delegatedVote, + getEnumBigInt(event.params.voteType), + event.params.amount, event.params.isVoteFor ); if (proposalVote.isVoteFor) { - voterInProposal.totalDelegatedVoteForAmount = voterInProposal.totalDelegatedVoteForAmount.plus( - event.params.delegatedVote - ); - voterInProposal.totalVoteForAmount = voterInProposal.totalVoteForAmount.plus(event.params.personalVote); + switch (event.params.voteType) { + case VoteType.DELEGATED: + case VoteType.MICROPOOL: + voterInProposal.totalDelegatedVoteForAmount = voterInProposal.totalDelegatedVoteForAmount.plus( + event.params.amount + ); + break; + case VoteType.PERSONAL: + voterInProposal.totalVoteForAmount = voterInProposal.totalVoteForAmount.plus(event.params.amount); + break; + case VoteType.TREASURY: + voterInProposal.totalTreasuryVoteForAmount = voterInProposal.totalTreasuryVoteForAmount.plus( + event.params.amount + ); + break; + } - proposal.currentVotesFor = proposal.currentVotesFor - .plus(event.params.personalVote) - .plus(event.params.delegatedVote); + proposal.currentVotesFor = proposal.currentVotesFor.plus(event.params.amount); } else { - voterInProposal.totalDelegatedVoteAgainstAmount = voterInProposal.totalDelegatedVoteAgainstAmount.plus( - event.params.delegatedVote - ); - voterInProposal.totalVoteAgainstAmount = voterInProposal.totalVoteAgainstAmount.plus(event.params.personalVote); + switch (event.params.voteType) { + case VoteType.MICROPOOL: + case VoteType.DELEGATED: + voterInProposal.totalDelegatedVoteAgainstAmount = voterInProposal.totalDelegatedVoteAgainstAmount.plus( + event.params.amount + ); + break; + case VoteType.PERSONAL: + voterInProposal.totalVoteAgainstAmount = voterInProposal.totalVoteAgainstAmount.plus(event.params.amount); + break; + case VoteType.TREASURY: + voterInProposal.totalTreasuryVoteAgainstAmount = voterInProposal.totalTreasuryVoteAgainstAmount.plus( + event.params.amount + ); + break; + } - proposal.currentVotesAgainst = proposal.currentVotesAgainst - .plus(event.params.personalVote) - .plus(event.params.delegatedVote); + proposal.currentVotesAgainst = proposal.currentVotesAgainst.plus(event.params.amount); } let newVoters = pushUnique(proposal.voters, [voter.id]); @@ -218,7 +307,7 @@ export function onVoted(event: Voted): void { voterInPool.proposals = pushUnique(voterInPool.proposals, [voterInProposal.id]); voterInPool.proposalsCount = BigInt.fromI32(voterInPool.proposals.length); - voter.totalVotes = voter.totalVotes.plus(event.params.personalVote).plus(event.params.delegatedVote); + voter.totalVotes = voter.totalVotes.plus(event.params.amount); proposalVote.save(); voterInProposal.save(); diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index 27078c72..de590bf7 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -72,7 +72,9 @@ templates: handler: onProposalCreated - event: Delegated(address,address,uint256,uint256[],bool) # from, to, amount, nfts, isDelegate handler: onDelegated - - event: Voted(uint256,address,uint256,uint256,bool) # id, msg.sender, personalVote, delegatedVote + - event: DelegatedTreasury(address,uint256,uint256[],bool) + handler: onDelegatedTreasury + - event: Voted(uint256,address,uint8,uint256,bool) # id, msg.sender, personalVote, delegatedVote handler: onVoted - event: DPCreated(uint256,address,address,uint256) # id, msg.sender, token, amount handler: onDPCreated diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index 0f7838f8..eb4b3afa 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -24,6 +24,7 @@ import { StakingRewardClaimed, OffchainResultsSaved, Requested, + DelegatedTreasury, } from "../generated/templates/DaoPool/DaoPool"; import { onDelegated, @@ -38,6 +39,7 @@ import { onStakingRewardClaimed, onOffchainResultsSaved, onRequested, + onDelegatedTreasury, } from "../src/mappings/DaoPool"; import { ProposalType } from "../src/entities/global/ProposalTypes"; import { @@ -48,11 +50,13 @@ import { REWARD_TYPE_VOTE_FOR, REWARD_TYPE_VOTE_FOR_DELEGATED, } from "../src/entities/global/globals"; -import { ProposalSettings } from "../generated/schema"; +import { ProposalSettings, TreasuryDelegationHistory } from "../generated/schema"; import { createSetERC20 } from "./UserKeeper.test"; import { getUserKeeperContract } from "../src/entities/UserKeeperContract"; import { onSetERC20 } from "../src/mappings/UserKeeper"; import { DelegationType } from "../src/entities/global/DelegationTypeEnum"; +import { VoteType, getEnumBigInt } from "../src/entities/global/VoteTypeEnum"; +import { TreasuryDelegationType } from "../src/entities/global/TreasuryDelegationTypeEnum"; function createProposalCreated( proposalId: BigInt, @@ -110,11 +114,35 @@ function createDelegated( return event; } +function createDelegatedTreasury( + to: Address, + amount: BigInt, + nfts: Array, + flag: boolean, + contractSender: Address, + block: ethereum.Block, + tx: ethereum.Transaction +): DelegatedTreasury { + let event = changetype(newMockEvent()); + event.parameters = new Array(); + + event.parameters.push(new ethereum.EventParam("to", ethereum.Value.fromAddress(to))); + event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); + event.parameters.push(new ethereum.EventParam("nfts", ethereum.Value.fromUnsignedBigIntArray(nfts))); + event.parameters.push(new ethereum.EventParam("isDelegate", ethereum.Value.fromBoolean(flag))); + + event.block = block; + event.transaction = tx; + event.address = contractSender; + + return event; +} + function createVoted( proposalId: BigInt, sender: Address, - personalVote: BigInt, - delegatedVote: BigInt, + voteType: BigInt, + amount: BigInt, isVoteFor: boolean, contractSender: Address, block: ethereum.Block, @@ -125,8 +153,8 @@ function createVoted( event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); - event.parameters.push(new ethereum.EventParam("personalVote", ethereum.Value.fromUnsignedBigInt(personalVote))); - event.parameters.push(new ethereum.EventParam("delegatedVote", ethereum.Value.fromUnsignedBigInt(delegatedVote))); + event.parameters.push(new ethereum.EventParam("voteType", ethereum.Value.fromUnsignedBigInt(voteType))); + event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); event.parameters.push(new ethereum.EventParam("isVoteFor", ethereum.Value.fromBoolean(isVoteFor))); event.block = block; @@ -675,33 +703,175 @@ describe("DaoPool", () => { ); }); + test("should handle DelegatedTreasury", () => { + let to = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"); + let amount = BigInt.fromI32(100).pow(18); + let nfts = [BigInt.fromI32(1), BigInt.fromI32(2)]; + + let event = createDelegatedTreasury(to, amount, nfts, true, contractSender, block, tx); + + onDelegatedTreasury(event); + + assert.fieldEquals("Voter", to.toHexString(), "id", to.toHexString()); + assert.fieldEquals("DaoPool", contractSender.toHexString(), "votersCount", "1"); + assert.fieldEquals( + "DaoPool", + contractSender.toHexString(), + "totalCurrentTokenDelegatedTreasury", + amount.toString() + ); + assert.fieldEquals( + "DaoPool", + contractSender.toHexString(), + "totalCurrentNFTDelegatedTreasury", + `[${nfts[0]}, ${nfts[1]}]` + ); + assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentTokenDelegatees", "1"); + assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentNFTDelegatees", "1"); + assert.fieldEquals( + "VoterInPool", + to.concat(contractSender).toHexString(), + "receivedTreasuryDelegation", + amount.toString() + ); + assert.fieldEquals( + "VoterInPool", + to.concat(contractSender).toHexString(), + "receivedTreasuryNFTDelegation", + `[${nfts[0]}, ${nfts[1]}]` + ); + assert.fieldEquals( + "VoterInPool", + to.concat(contractSender).toHexString(), + "receivedTreasuryNFTDelegationCount", + "2" + ); + assert.fieldEquals( + "VoterInPool", + to.concat(contractSender).toHexString(), + "joinedTimestamp", + block.timestamp.toString() + ); + + assert.fieldEquals( + "TreasuryDelegationHistory", + tx.hash.concatI32(0).toHexString(), + "pool", + contractSender.toHexString() + ); + assert.fieldEquals( + "TreasuryDelegationHistory", + tx.hash.concatI32(0).toHexString(), + "timestamp", + event.block.timestamp.toString() + ); + assert.fieldEquals( + "TreasuryDelegationHistory", + tx.hash.concatI32(0).toHexString(), + "to", + to.concat(contractSender).toHexString() + ); + assert.fieldEquals("TreasuryDelegationHistory", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); + assert.fieldEquals( + "TreasuryDelegationHistory", + tx.hash.concatI32(0).toHexString(), + "nfts", + `[${nfts[0]}, ${nfts[1]}]` + ); + assert.fieldEquals( + "TreasuryDelegationHistory", + tx.hash.concatI32(0).toHexString(), + "type", + TreasuryDelegationType.DELEGATE.toString() + ); + }); + + test("should handle UndelegatedTreasury", () => { + let to = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"); + let amount1 = BigInt.fromI32(100).pow(18); + let amount2 = BigInt.fromI32(50).pow(18); + let nfts1 = [BigInt.fromI32(1), BigInt.fromI32(2)]; + let nfts2 = [BigInt.fromI32(1)]; + + let event1 = createDelegatedTreasury(to, amount1, nfts1, true, contractSender, block, tx); + let event2 = createDelegatedTreasury(to, amount2, nfts2, false, contractSender, block, tx); + + onDelegatedTreasury(event1); + onDelegatedTreasury(event2); + + assert.fieldEquals( + "DaoPool", + contractSender.toHexString(), + "totalCurrentTokenDelegatedTreasury", + amount1.minus(amount2).toString() + ); + assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentNFTDelegatedTreasury", `[${nfts1[1]}]`); + assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentTokenDelegatees", "1"); + assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentNFTDelegatees", "1"); + assert.fieldEquals( + "VoterInPool", + to.concat(contractSender).toHexString(), + "receivedTreasuryDelegation", + amount1.minus(amount2).toString() + ); + assert.fieldEquals( + "VoterInPool", + to.concat(contractSender).toHexString(), + "receivedTreasuryNFTDelegation", + `[${nfts1[1]}]` + ); + assert.fieldEquals( + "VoterInPool", + to.concat(contractSender).toHexString(), + "receivedTreasuryNFTDelegationCount", + "1" + ); + assert.fieldEquals( + "TreasuryDelegationHistory", + tx.hash.concatI32(1).toHexString(), + "pool", + contractSender.toHexString() + ); + assert.fieldEquals( + "TreasuryDelegationHistory", + tx.hash.concatI32(1).toHexString(), + "timestamp", + event2.block.timestamp.toString() + ); + assert.fieldEquals( + "TreasuryDelegationHistory", + tx.hash.concatI32(1).toHexString(), + "to", + to.concat(contractSender).toHexString() + ); + assert.fieldEquals("TreasuryDelegationHistory", tx.hash.concatI32(1).toHexString(), "amount", amount2.toString()); + assert.fieldEquals("TreasuryDelegationHistory", tx.hash.concatI32(1).toHexString(), "nfts", `[${nfts2[0]}]`); + assert.fieldEquals( + "TreasuryDelegationHistory", + tx.hash.concatI32(1).toHexString(), + "type", + TreasuryDelegationType.UNDELEGATE.toString() + ); + }); + test("should handle voted", () => { let proposalId = BigInt.fromI32(1); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let personalVoteFor = BigInt.fromI32(1000); - let delegatedVoteFor = BigInt.fromI32(100); + let voteType = getEnumBigInt(VoteType.PERSONAL); + let amountFor = BigInt.fromI32(1000); let isVoteFor = true; - let event = createVoted( - proposalId, - sender, - personalVoteFor, - delegatedVoteFor, - isVoteFor, - contractSender, - block, - tx - ); + let event = createVoted(proposalId, sender, voteType, amountFor, isVoteFor, contractSender, block, tx); onVoted(event); assert.fieldEquals("Voter", sender.toHexString(), "totalVotedProposals", "1"); - assert.fieldEquals("Voter", sender.toHexString(), "totalVotes", personalVoteFor.plus(delegatedVoteFor).toString()); + assert.fieldEquals("Voter", sender.toHexString(), "totalVotes", amountFor.toString()); assert.fieldEquals( "Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "currentVotesFor", - personalVoteFor.plus(delegatedVoteFor).toString() + amountFor.toString() ); assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "1"); @@ -735,7 +905,7 @@ describe("DaoPool", () => { "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), "totalVoteForAmount", - personalVoteFor.toString() + amountFor.toString() ); assert.fieldEquals( "VoterInProposal", @@ -746,14 +916,66 @@ describe("DaoPool", () => { assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalDelegatedVoteForAmount", - delegatedVoteFor.toString() + "claimedRewardUSD", + BigInt.zero().toString() + ); + + let amountAgainst = BigInt.fromI32(200); + isVoteFor = false; + + const nextTx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); + + event = createVoted(proposalId, sender, voteType, amountAgainst, isVoteFor, contractSender, block, nextTx); + + onVoted(event); + + assert.fieldEquals("Voter", sender.toHexString(), "totalVotedProposals", "1"); + assert.fieldEquals("Voter", sender.toHexString(), "totalVotes", amountFor.plus(amountAgainst).toString()); + assert.fieldEquals( + "Proposal", + contractSender.concatI32(proposalId.toI32()).toHexString(), + "currentVotesAgainst", + amountAgainst.toString() ); + assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "1"); + + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "proposals", + `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + ); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); + assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalDelegatedVoteAgainstAmount", - "0" + "pool", + contractSender.toHexString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "proposal", + contractSender.concatI32(proposalId.toI32()).toHexString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "voter", + sender.concat(contractSender).toHexString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalVoteForAmount", + amountFor.toString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalVoteAgainstAmount", + amountAgainst.toString() ); assert.fieldEquals( "VoterInProposal", @@ -762,22 +984,82 @@ describe("DaoPool", () => { BigInt.zero().toString() ); - let personalVoteAgainst = BigInt.fromI32(200); - let delegatedVoteAgainst = BigInt.fromI32(50); - isVoteFor = false; + voteType = getEnumBigInt(VoteType.DELEGATED); + isVoteFor = true; - const nextTx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); + event = createVoted(proposalId, sender, voteType, amountFor, isVoteFor, contractSender, block, tx); - event = createVoted( - proposalId, - sender, - personalVoteAgainst, - delegatedVoteAgainst, - isVoteFor, - contractSender, - block, - nextTx + onVoted(event); + + assert.fieldEquals("Voter", sender.toHexString(), "totalVotedProposals", "1"); + assert.fieldEquals( + "Voter", + sender.toHexString(), + "totalVotes", + amountFor.times(BigInt.fromI32(2)).plus(amountAgainst).toString() + ); + assert.fieldEquals( + "Proposal", + contractSender.concatI32(proposalId.toI32()).toHexString(), + "currentVotesFor", + amountFor.times(BigInt.fromI32(2)).toString() + ); + assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "1"); + + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "proposals", + `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + ); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); + + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "pool", + contractSender.toHexString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "proposal", + contractSender.concatI32(proposalId.toI32()).toHexString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "voter", + sender.concat(contractSender).toHexString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalVoteForAmount", + amountFor.toString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalVoteAgainstAmount", + amountAgainst.toString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalDelegatedVoteForAmount", + amountFor.toString() ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalDelegatedVoteAgainstAmount", + "0" + ); + + voteType = getEnumBigInt(VoteType.MICROPOOL); + + event = createVoted(proposalId, sender, voteType, amountFor, isVoteFor, contractSender, block, tx); onVoted(event); @@ -786,13 +1068,13 @@ describe("DaoPool", () => { "Voter", sender.toHexString(), "totalVotes", - personalVoteFor.plus(delegatedVoteFor).plus(personalVoteAgainst).plus(delegatedVoteAgainst).toString() + amountFor.times(BigInt.fromI32(3)).plus(amountAgainst).toString() ); assert.fieldEquals( "Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), - "currentVotesAgainst", - personalVoteAgainst.plus(delegatedVoteAgainst).toString() + "currentVotesFor", + amountFor.times(BigInt.fromI32(3)).toString() ); assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "1"); @@ -826,31 +1108,109 @@ describe("DaoPool", () => { "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), "totalVoteForAmount", - personalVoteFor.toString() + amountFor.toString() ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), "totalVoteAgainstAmount", - personalVoteAgainst.toString() + amountAgainst.toString() ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), "totalDelegatedVoteForAmount", - delegatedVoteFor.toString() + amountFor.times(BigInt.fromI32(2)).toString() ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), "totalDelegatedVoteAgainstAmount", - delegatedVoteAgainst.toString() + "0" ); + + voteType = getEnumBigInt(VoteType.TREASURY); + + event = createVoted(proposalId, sender, voteType, amountFor, isVoteFor, contractSender, block, tx); + + onVoted(event); + + assert.fieldEquals("Voter", sender.toHexString(), "totalVotedProposals", "1"); + assert.fieldEquals( + "Voter", + sender.toHexString(), + "totalVotes", + amountFor.times(BigInt.fromI32(4)).plus(amountAgainst).toString() + ); + assert.fieldEquals( + "Proposal", + contractSender.concatI32(proposalId.toI32()).toHexString(), + "currentVotesFor", + amountFor.times(BigInt.fromI32(4)).toString() + ); + assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "1"); + + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "proposals", + `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + ); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); + assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "claimedRewardUSD", - BigInt.zero().toString() + "pool", + contractSender.toHexString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "proposal", + contractSender.concatI32(proposalId.toI32()).toHexString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "voter", + sender.concat(contractSender).toHexString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalVoteForAmount", + amountFor.toString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalVoteAgainstAmount", + amountAgainst.toString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalDelegatedVoteForAmount", + amountFor.times(BigInt.fromI32(2)).toString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalDelegatedVoteAgainstAmount", + "0" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalTreasuryVoteForAmount", + amountFor.toString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "totalTreasuryVoteAgainstAmount", + "0" ); }); From 40b6454c9caa23ea31d21e16a57aeb4455e5ab96 Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Wed, 16 Aug 2023 18:50:46 +0300 Subject: [PATCH 17/44] updated DaoPoolDeployed in PoolFactory abi, updated DaoPool (#122) --- AllInteractions/abis/PoolFactory.json | 6 ++++++ AllInteractions/subgraph.yaml | 2 +- AllInteractions/tests/PoolFactory.test.ts | 5 ++++- AllPools/abis/PoolFactory.json | 6 ++++++ AllPoolsInvestors/abis/PoolFactory.json | 6 ++++++ BasicPool/abis/PoolFactory.json | 6 ++++++ DaoPools/abis/PoolFactory.json | 6 ++++++ DaoPools/schema.graphql | 1 + DaoPools/src/entities/DaoPool.ts | 4 +++- DaoPools/src/mappings/PoolFactory.ts | 8 +++++++- DaoPools/subgraph.yaml | 2 +- DaoPools/tests/PoolFactory.test.ts | 5 +++++ DaoValidators/abis/PoolFactory.json | 6 ++++++ DaoValidators/subgraph.yaml | 2 +- InvestPool/abis/PoolFactory.json | 6 ++++++ 15 files changed, 65 insertions(+), 6 deletions(-) diff --git a/AllInteractions/abis/PoolFactory.json b/AllInteractions/abis/PoolFactory.json index 499c422b..f572bda1 100644 --- a/AllInteractions/abis/PoolFactory.json +++ b/AllInteractions/abis/PoolFactory.json @@ -44,6 +44,12 @@ "name": "localExpertNft", "type": "address" }, + { + "indexed": false, + "internalType": "address", + "name": "nftMultiplier", + "type": "address" + }, { "indexed": false, "internalType": "address", diff --git a/AllInteractions/subgraph.yaml b/AllInteractions/subgraph.yaml index 9a05b007..0888a484 100644 --- a/AllInteractions/subgraph.yaml +++ b/AllInteractions/subgraph.yaml @@ -22,7 +22,7 @@ dataSources: eventHandlers: - event: TraderPoolDeployed(string,string,string,address,address,address,address,uint256,string) handler: onTraderPoolDeployed - - event: DaoPoolDeployed(string,address,address,address,address,address,address,address) + - event: DaoPoolDeployed(string,address,address,address,address,address,address,address,address) handler: onDaoPoolDeployed - kind: ethereum/contract diff --git a/AllInteractions/tests/PoolFactory.test.ts b/AllInteractions/tests/PoolFactory.test.ts index 078648fd..3ca3842b 100644 --- a/AllInteractions/tests/PoolFactory.test.ts +++ b/AllInteractions/tests/PoolFactory.test.ts @@ -47,6 +47,7 @@ function createDaoPoolDeployed( settings: Address, govUserKeeper: Address, expertNft: Address, + nftMultiplier: Address, sender: Address, block: ethereum.Block, tx: ethereum.Transaction @@ -60,8 +61,8 @@ function createDaoPoolDeployed( event.parameters.push(new ethereum.EventParam("validators", ethereum.Value.fromAddress(validators))); event.parameters.push(new ethereum.EventParam("settings", ethereum.Value.fromAddress(settings))); event.parameters.push(new ethereum.EventParam("govUserKeeper", ethereum.Value.fromAddress(govUserKeeper))); - event.parameters.push(new ethereum.EventParam("govUserKeeper", ethereum.Value.fromAddress(govUserKeeper))); event.parameters.push(new ethereum.EventParam("localExpertNft", ethereum.Value.fromAddress(expertNft))); + event.parameters.push(new ethereum.EventParam("nftMultiplier", ethereum.Value.fromAddress(nftMultiplier))); event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); event.block = block; @@ -126,6 +127,7 @@ describe("PoolFactory", () => { let settings = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181649"); let govUserKeeper = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181659"); let expertNft = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181659"); + let nftMultiplier = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181659"); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181669"); let event = createDaoPoolDeployed( @@ -136,6 +138,7 @@ describe("PoolFactory", () => { settings, govUserKeeper, expertNft, + nftMultiplier, sender, block, tx diff --git a/AllPools/abis/PoolFactory.json b/AllPools/abis/PoolFactory.json index 499c422b..f572bda1 100644 --- a/AllPools/abis/PoolFactory.json +++ b/AllPools/abis/PoolFactory.json @@ -44,6 +44,12 @@ "name": "localExpertNft", "type": "address" }, + { + "indexed": false, + "internalType": "address", + "name": "nftMultiplier", + "type": "address" + }, { "indexed": false, "internalType": "address", diff --git a/AllPoolsInvestors/abis/PoolFactory.json b/AllPoolsInvestors/abis/PoolFactory.json index 499c422b..f572bda1 100644 --- a/AllPoolsInvestors/abis/PoolFactory.json +++ b/AllPoolsInvestors/abis/PoolFactory.json @@ -44,6 +44,12 @@ "name": "localExpertNft", "type": "address" }, + { + "indexed": false, + "internalType": "address", + "name": "nftMultiplier", + "type": "address" + }, { "indexed": false, "internalType": "address", diff --git a/BasicPool/abis/PoolFactory.json b/BasicPool/abis/PoolFactory.json index 499c422b..f572bda1 100644 --- a/BasicPool/abis/PoolFactory.json +++ b/BasicPool/abis/PoolFactory.json @@ -44,6 +44,12 @@ "name": "localExpertNft", "type": "address" }, + { + "indexed": false, + "internalType": "address", + "name": "nftMultiplier", + "type": "address" + }, { "indexed": false, "internalType": "address", diff --git a/DaoPools/abis/PoolFactory.json b/DaoPools/abis/PoolFactory.json index 499c422b..f572bda1 100644 --- a/DaoPools/abis/PoolFactory.json +++ b/DaoPools/abis/PoolFactory.json @@ -44,6 +44,12 @@ "name": "localExpertNft", "type": "address" }, + { + "indexed": false, + "internalType": "address", + "name": "nftMultiplier", + "type": "address" + }, { "indexed": false, "internalType": "address", diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index 1c2ebab2..ec7414ef 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -39,6 +39,7 @@ type DaoPool @entity { erc20Token: Bytes! erc721Token: Bytes! + nftMultiplier: Bytes! votersCount: BigInt! creationTime: BigInt! diff --git a/DaoPools/src/entities/DaoPool.ts b/DaoPools/src/entities/DaoPool.ts index 43fd0ea5..f6951535 100644 --- a/DaoPools/src/entities/DaoPool.ts +++ b/DaoPools/src/entities/DaoPool.ts @@ -5,7 +5,8 @@ export function getDaoPool( poolAddress: Address, name: string = "", timestamp: BigInt = BigInt.zero(), - blockNumber: BigInt = BigInt.zero() + blockNumber: BigInt = BigInt.zero(), + nftMultiplier: Bytes = Bytes.empty() ): DaoPool { let pool = DaoPool.load(poolAddress); @@ -19,6 +20,7 @@ export function getDaoPool( pool.erc20Token = Bytes.empty(); pool.erc721Token = Bytes.empty(); + pool.nftMultiplier = nftMultiplier; pool.totalCurrentTokenDelegated = BigInt.zero(); pool.totalCurrentNFTDelegated = new Array(); diff --git a/DaoPools/src/mappings/PoolFactory.ts b/DaoPools/src/mappings/PoolFactory.ts index e00bef47..4e2b2aa7 100644 --- a/DaoPools/src/mappings/PoolFactory.ts +++ b/DaoPools/src/mappings/PoolFactory.ts @@ -15,7 +15,13 @@ import { getTokenSale } from "../entities/TokenSale"; import { getUserKeeperContract } from "../entities/UserKeeperContract"; export function onDeployed(event: DaoPoolDeployed): void { - getDaoPool(event.params.govPool, event.params.name, event.block.timestamp, event.block.number).save(); + getDaoPool( + event.params.govPool, + event.params.name, + event.block.timestamp, + event.block.number, + event.params.nftMultiplier + ).save(); getDPContract(event.params.dp, event.params.govPool).save(); getSettingsContract(event.params.settings, event.params.govPool).save(); diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index de590bf7..983a42c4 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -20,7 +20,7 @@ dataSources: - name: PoolFactory file: ./abis/PoolFactory.json eventHandlers: - - event: DaoPoolDeployed(string,address,address,address,address,address,address,address) + - event: DaoPoolDeployed(string,address,address,address,address,address,address,address,address) handler: onDeployed - event: DaoTokenSaleDeployed(address,address,address) handler: onTokenSaleDeployed diff --git a/DaoPools/tests/PoolFactory.test.ts b/DaoPools/tests/PoolFactory.test.ts index 466af890..cec07121 100644 --- a/DaoPools/tests/PoolFactory.test.ts +++ b/DaoPools/tests/PoolFactory.test.ts @@ -12,6 +12,7 @@ function createDaoPoolDeployed( settings: Address, govUserKeeper: Address, expertNft: Address, + nftMultiplier: Address, sender: Address, block: ethereum.Block, tx: ethereum.Transaction @@ -26,6 +27,7 @@ function createDaoPoolDeployed( event.parameters.push(new ethereum.EventParam("settings", ethereum.Value.fromAddress(settings))); event.parameters.push(new ethereum.EventParam("govUserKeeper", ethereum.Value.fromAddress(govUserKeeper))); event.parameters.push(new ethereum.EventParam("localExpertNft", ethereum.Value.fromAddress(expertNft))); + event.parameters.push(new ethereum.EventParam("nftMultiplier", ethereum.Value.fromAddress(nftMultiplier))); event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); event.block = block; @@ -64,6 +66,7 @@ describe("PoolFactory", () => { let settings = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"); let govUserKeeper = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181673"); let expertNft = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181673"); + let nftMultiplier = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181673"); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181674"); let event = createDaoPoolDeployed( @@ -74,6 +77,7 @@ describe("PoolFactory", () => { settings, govUserKeeper, expertNft, + nftMultiplier, sender, block, tx @@ -85,6 +89,7 @@ describe("PoolFactory", () => { assert.fieldEquals("DaoPool", govPool.toHexString(), "votersCount", BigInt.zero().toString()); assert.fieldEquals("DaoPool", govPool.toHexString(), "creationTime", block.timestamp.toString()); assert.fieldEquals("DaoPool", govPool.toHexString(), "creationBlock", block.number.toString()); + assert.fieldEquals("DaoPool", govPool.toHexString(), "nftMultiplier", nftMultiplier.toHexString()); assert.fieldEquals("DPContract", dp.toHexString(), "daoPool", govPool.toHexString()); assert.fieldEquals("SettingsContract", settings.toHexString(), "daoPool", govPool.toHexString()); diff --git a/DaoValidators/abis/PoolFactory.json b/DaoValidators/abis/PoolFactory.json index 499c422b..f572bda1 100644 --- a/DaoValidators/abis/PoolFactory.json +++ b/DaoValidators/abis/PoolFactory.json @@ -44,6 +44,12 @@ "name": "localExpertNft", "type": "address" }, + { + "indexed": false, + "internalType": "address", + "name": "nftMultiplier", + "type": "address" + }, { "indexed": false, "internalType": "address", diff --git a/DaoValidators/subgraph.yaml b/DaoValidators/subgraph.yaml index d9edc3fe..32c85bd8 100644 --- a/DaoValidators/subgraph.yaml +++ b/DaoValidators/subgraph.yaml @@ -20,7 +20,7 @@ dataSources: - name: PoolFactory file: ./abis/PoolFactory.json eventHandlers: - - event: DaoPoolDeployed(string,address,address,address,address,address,address,address) + - event: DaoPoolDeployed(string,address,address,address,address,address,address,address,address) handler: onDeployed templates: diff --git a/InvestPool/abis/PoolFactory.json b/InvestPool/abis/PoolFactory.json index 499c422b..f572bda1 100644 --- a/InvestPool/abis/PoolFactory.json +++ b/InvestPool/abis/PoolFactory.json @@ -44,6 +44,12 @@ "name": "localExpertNft", "type": "address" }, + { + "indexed": false, + "internalType": "address", + "name": "nftMultiplier", + "type": "address" + }, { "indexed": false, "internalType": "address", From 6b5a6da9340cfc0236649885c01367e6d60715e4 Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Wed, 16 Aug 2023 19:06:40 +0300 Subject: [PATCH 18/44] Feature/voter globals (#121) * added globals to Voter * added global info on all daos in Voter * offchain RewardCredited fix * fixed delegators count --- DaoPools/schema.graphql | 8 +++++- DaoPools/src/entities/Voters/Voter.ts | 4 +++ DaoPools/src/mappings/DaoPool.ts | 26 +++++++++++++++-- DaoPools/tests/DaoPool.test.ts | 40 +++++++++++++++++++++------ 4 files changed, 66 insertions(+), 12 deletions(-) diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index ec7414ef..99a03713 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -84,10 +84,16 @@ type Voter @entity { id: Bytes! # voter address totalProposalsCreated: BigInt! totalClaimedUSD: BigInt! + totalUnclaimedUSD: BigInt! + totalDelegatedUSD: BigInt! + totalLockedFundsUSD: BigInt! totalVotedProposals: BigInt! totalVotes: BigInt! + delegatorsCount: BigInt! + pools: [VoterInPool!]! @derivedFrom(field: "voter") + createdProposals: [Proposal!]! @derivedFrom(field: "creator") } # @notice The entity holds information about proposal @@ -110,7 +116,7 @@ type Proposal @entity { isDP: Boolean! rewardToken: Bytes! - creator: Bytes! + creator: Voter! isFor: Boolean! executor: Bytes! diff --git a/DaoPools/src/entities/Voters/Voter.ts b/DaoPools/src/entities/Voters/Voter.ts index 7f1678cb..7afcf9b2 100644 --- a/DaoPools/src/entities/Voters/Voter.ts +++ b/DaoPools/src/entities/Voters/Voter.ts @@ -9,8 +9,12 @@ export function getVoter(voterAddress: Address): Voter { voter.totalProposalsCreated = BigInt.zero(); voter.totalClaimedUSD = BigInt.zero(); + voter.totalUnclaimedUSD = BigInt.zero(); + voter.totalDelegatedUSD = BigInt.zero(); + voter.totalLockedFundsUSD = BigInt.zero(); voter.totalVotedProposals = BigInt.zero(); voter.totalVotes = BigInt.zero(); + voter.delegatorsCount = BigInt.zero(); } return voter; diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index f026cab0..7b07d767 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -96,18 +96,23 @@ export function onDelegated(event: Delegated): void { let pair = getVoterInPoolPair(fromVoterInPool, toVoterInPool); + const usdAmount = getUSDValue(pool.erc20Token, event.params.amount); + delegateHistory.pair = pair.id; if (event.params.isDelegate) { const amountToUnrequest = pair.requestAmount.lt(event.params.amount) ? pair.requestAmount : event.params.amount; const availableAmount = event.params.amount.minus(amountToUnrequest); + from.totalDelegatedUSD = from.totalDelegatedUSD.plus(usdAmount); + toVoterInPool.receivedDelegation = toVoterInPool.receivedDelegation.plus(event.params.amount); toVoterInPool.receivedNFTDelegation = pushUnique(toVoterInPool.receivedNFTDelegation, event.params.nfts); toVoterInPool.receivedNFTDelegationCount = BigInt.fromI32(toVoterInPool.receivedNFTDelegation.length); if (pair.delegateAmount.equals(BigInt.zero()) && pair.delegateNfts.length == 0) { toVoterInPool.currentDelegatorsCount = toVoterInPool.currentDelegatorsCount.plus(BigInt.fromI32(1)); + to.delegatorsCount = to.delegatorsCount.plus(BigInt.fromI32(1)); } pair.delegateAmount = pair.delegateAmount.plus(availableAmount); @@ -122,6 +127,12 @@ export function onDelegated(event: Delegated): void { toVoterInPool.requestedNft = remove(toVoterInPool.requestedNft, event.params.nfts); toVoterInPool.requestedNftCount = BigInt.fromI32(toVoterInPool.requestedNft.length); } else { + if (usdAmount.gt(from.totalDelegatedUSD)) { + from.totalDelegatedUSD = BigInt.zero(); + } else { + from.totalDelegatedUSD = from.totalDelegatedUSD.minus(usdAmount); + } + toVoterInPool.receivedDelegation = toVoterInPool.receivedDelegation.minus(event.params.amount); toVoterInPool.receivedNFTDelegation = remove(toVoterInPool.receivedNFTDelegation, event.params.nfts); toVoterInPool.receivedNFTDelegationCount = BigInt.fromI32(toVoterInPool.receivedNFTDelegation.length); @@ -131,6 +142,7 @@ export function onDelegated(event: Delegated): void { if (pair.delegateAmount.equals(BigInt.zero()) && pair.delegateNfts.length == 0) { toVoterInPool.currentDelegatorsCount = toVoterInPool.currentDelegatorsCount.minus(BigInt.fromI32(1)); + to.delegatorsCount = to.delegatorsCount.minus(BigInt.fromI32(1)); } pool.totalCurrentTokenDelegated = pool.totalCurrentTokenDelegated.minus(event.params.amount); @@ -414,6 +426,8 @@ export function onRewardCredited(event: RewardCredited): void { voterOffchain.save(); } + voter.totalUnclaimedUSD = voter.totalUnclaimedUSD.plus(usdAmount); + recalculateAPR(voterInPool, usdAmount, event.block.timestamp); voterInPool.save(); @@ -425,10 +439,10 @@ export function onDeposited(event: Deposited): void { let pool = getDaoPool(event.address); let voter = getVoter(event.params.sender); let voterInPool = getVoterInPool(pool, voter, event.block.timestamp); + let usdAmount = getUSDValue(pool.erc20Token, event.params.amount); - voterInPool.totalLockedFundsUSD = voterInPool.totalLockedFundsUSD.plus( - getUSDValue(pool.erc20Token, event.params.amount) - ); + voter.totalLockedFundsUSD = voter.totalLockedFundsUSD.plus(usdAmount); + voterInPool.totalLockedFundsUSD = voterInPool.totalLockedFundsUSD.plus(usdAmount); voterInPool.save(); voter.save(); @@ -442,6 +456,12 @@ export function onWithdrawn(event: Withdrawn): void { let usdAmount = getUSDValue(pool.erc20Token, event.params.amount); + if (usdAmount.gt(voter.totalLockedFundsUSD)) { + voter.totalLockedFundsUSD = BigInt.zero(); + } else { + voter.totalLockedFundsUSD = voter.totalLockedFundsUSD.minus(usdAmount); + } + if (usdAmount.gt(voterInPool.totalLockedFundsUSD)) { voterInPool.totalLockedFundsUSD = BigInt.zero(); } else { diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index eb4b3afa..11aa3b83 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -41,7 +41,6 @@ import { onRequested, onDelegatedTreasury, } from "../src/mappings/DaoPool"; -import { ProposalType } from "../src/entities/global/ProposalTypes"; import { PRICE_FEED_ADDRESS, REWARD_TYPE_CREATE, @@ -50,11 +49,12 @@ import { REWARD_TYPE_VOTE_FOR, REWARD_TYPE_VOTE_FOR_DELEGATED, } from "../src/entities/global/globals"; -import { ProposalSettings, TreasuryDelegationHistory } from "../generated/schema"; +import { ProposalSettings } from "../generated/schema"; import { createSetERC20 } from "./UserKeeper.test"; import { getUserKeeperContract } from "../src/entities/UserKeeperContract"; import { onSetERC20 } from "../src/mappings/UserKeeper"; import { DelegationType } from "../src/entities/global/DelegationTypeEnum"; +import { getDaoPool } from "../src/entities/DaoPool"; import { VoteType, getEnumBigInt } from "../src/entities/global/VoteTypeEnum"; import { TreasuryDelegationType } from "../src/entities/global/TreasuryDelegationTypeEnum"; @@ -540,9 +540,13 @@ describe("DaoPool", () => { }); test("should handle Delegated", () => { + let pool = getDaoPool(contractSender); + pool.erc20Token = Bytes.fromHexString("0x86e08f7d84603aeb97cd1c89a80a9e914f181676"); + pool.save(); + let from = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); let to = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"); - let amount = BigInt.fromI32(100).pow(18); + let amount = BigInt.fromI32(1000); let nfts = [BigInt.fromI32(1), BigInt.fromI32(2)]; let event = createDelegated(from, to, amount, nfts, true, contractSender, block, tx); @@ -550,7 +554,9 @@ describe("DaoPool", () => { onDelegated(event); assert.fieldEquals("Voter", from.toHexString(), "id", from.toHexString()); + assert.fieldEquals("Voter", from.toHexString(), "totalDelegatedUSD", "200"); assert.fieldEquals("Voter", to.toHexString(), "id", to.toHexString()); + assert.fieldEquals("Voter", to.toHexString(), "delegatorsCount", "1"); assert.fieldEquals("DaoPool", contractSender.toHexString(), "votersCount", "2"); assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentTokenDelegated", amount.toString()); assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentNFTDelegated", `[${nfts[0]}, ${nfts[1]}]`); @@ -623,10 +629,14 @@ describe("DaoPool", () => { }); test("should handle Undelegated", () => { + let pool = getDaoPool(contractSender); + pool.erc20Token = Bytes.fromHexString("0x86e08f7d84603aeb97cd1c89a80a9e914f181676"); + pool.save(); + let from = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); let to = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"); - let amount1 = BigInt.fromI32(100).pow(18); - let amount2 = BigInt.fromI32(50).pow(18); + let amount1 = BigInt.fromI32(1000); + let amount2 = BigInt.fromI32(500); let nfts1 = [BigInt.fromI32(1), BigInt.fromI32(2)]; let nfts2 = [BigInt.fromI32(1)]; @@ -636,6 +646,10 @@ describe("DaoPool", () => { onDelegated(event1); onDelegated(event2); + assert.fieldEquals("Voter", from.toHexString(), "id", from.toHexString()); + assert.fieldEquals("Voter", from.toHexString(), "totalDelegatedUSD", "100"); + assert.fieldEquals("Voter", to.toHexString(), "id", to.toHexString()); + assert.fieldEquals("Voter", to.toHexString(), "delegatorsCount", "1"); assert.fieldEquals( "DaoPool", contractSender.toHexString(), @@ -1397,6 +1411,8 @@ describe("DaoPool", () => { onRewardCredited(event); + assert.fieldEquals("Voter", sender.toHexString(), "totalUnclaimedUSD", "200"); + assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), @@ -1681,6 +1697,8 @@ describe("DaoPool", () => { onRewardCredited(event); + assert.fieldEquals("Voter", sender.toHexString(), "totalUnclaimedUSD", "200"); + assert.fieldEquals("VoterOffchain", sender.concat(contractSender).toHexString(), "rewardUSD", "200"); assert.fieldEquals("VoterOffchain", sender.concat(contractSender).toHexString(), "claimedRewardUSD", "0"); }); @@ -1701,8 +1719,9 @@ describe("DaoPool", () => { onDeposited(event); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalLockedFundsUSD", "200"); + assert.fieldEquals("Voter", sender.toHexString(), "totalLockedFundsUSD", "200"); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalLockedFundsUSD", "200"); assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "APR", "0"); }); @@ -1727,8 +1746,9 @@ describe("DaoPool", () => { onWithdrawn(event2); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalLockedFundsUSD", "100"); + assert.fieldEquals("Voter", sender.toHexString(), "totalLockedFundsUSD", "100"); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalLockedFundsUSD", "100"); assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "APR", "0"); }); @@ -1823,10 +1843,14 @@ describe("DaoPool", () => { }); test("should handle Requested event", () => { + let pool = getDaoPool(contractSender); + pool.erc20Token = Bytes.fromHexString("0x86e08f7d84603aeb97cd1c89a80a9e914f181676"); + pool.save(); + let from = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); let to = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"); - let amount = BigInt.fromI32(100).pow(18); + let amount = BigInt.fromI32(1000); let nfts = [BigInt.fromI32(1)]; let delegatedEvent = createDelegated(from, to, amount, nfts, true, contractSender, block, tx); From 15515e6b2eb67487f99a8cfb4eb3890c07653eff Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Thu, 17 Aug 2023 16:59:34 +0300 Subject: [PATCH 19/44] Fix/removed trader (#123) * removed trader pools * changed schema in AllInteractions, removed unused imports, updated CI --- .github/workflows/test-graphs.yml | 2 +- AllInteractions/schema.graphql | 286 +- AllInteractions/src/entities/dao-pool/Pool.ts | 12 + .../entities/global/TransactionTypeEnum.ts | 72 +- .../src/entities/global/globals.ts | 3 - .../src/entities/insurance/InsuranceStake.ts | 15 - .../src/entities/trader-pool/Exchange.ts | 29 - .../src/entities/trader-pool/PoolCreate.ts | 17 - .../entities/trader-pool/ProposalContract.ts | 13 - .../src/entities/trader-pool/TraderPool.ts | 19 - .../src/entities/trader-pool/Vest.ts | 18 - .../InvestProposalClaimSupply.ts | 28 - .../InvestProposalConvertToDividends.ts | 28 - .../invest-proposal/InvestProposalCreate.ts | 23 - .../invest-proposal/InvestProposalEdited.ts | 18 - .../invest-proposal/InvestProposalWithdraw.ts | 23 - .../risky-proposal/ProposalVest.ts | 25 - .../risky-proposal/RiskyProposalCreate.ts | 25 - .../risky-proposal/RiskyProposalEdited.ts | 18 - .../risky-proposal/RiskyProposalExchange.ts | 29 - .../entities/transaction/GetPerformanceFee.ts | 23 - .../src/entities/transaction/OnlyPool.ts | 15 - AllInteractions/src/mappings/DaoPool.ts | 12 +- AllInteractions/src/mappings/DaoValidators.ts | 4 + AllInteractions/src/mappings/Insurance.ts | 39 - AllInteractions/src/mappings/PoolFactory.ts | 47 +- AllInteractions/src/mappings/TraderPool.ts | 204 - .../src/mappings/TraderPoolInvestProposal.ts | 208 - .../src/mappings/TraderPoolRiskyProposal.ts | 150 - AllInteractions/subgraph.yaml | 117 - AllInteractions/tests/DaoPool.test.ts | 23 +- AllInteractions/tests/DaoValidators.test.ts | 22 +- AllInteractions/tests/Insurance.test.ts | 95 - AllInteractions/tests/PoolFactory.test.ts | 80 +- AllInteractions/tests/TraderPool.test.ts | 483 - .../tests/TraderPoolInvestProposal.test.ts | 530 - .../tests/TraderPoolRiskyProposal.test.ts | 319 - AllInteractions/tests/UserRegistry.test.ts | 2 +- AllPools/.gitignore | 6 - AllPools/README.md | 0 AllPools/abis/PoolFactory.json | 1010 -- AllPools/abis/PoolRegistry.json | 735 -- AllPools/abis/PriceFeed.json | 735 -- AllPools/abis/TraderPool.json | 2433 ----- AllPools/package-lock.json | 9248 ---------------- AllPools/package.json | 21 - AllPools/schema.graphql | 218 - .../src/entities/global/InteractionCount.ts | 12 - .../src/entities/global/PositionOffset.ts | 15 - AllPools/src/entities/global/globals.ts | 14 - AllPools/src/entities/trader-pool/Exchange.ts | 40 - AllPools/src/entities/trader-pool/Investor.ts | 14 - AllPools/src/entities/trader-pool/Position.ts | 24 - .../src/entities/trader-pool/TraderPool.ts | 54 - .../trader-pool/TraderPoolPriceHistory.ts | 112 - .../trader-pool/history/ExchangeHistory.ts | 18 - .../trader-pool/history/FeeHistory.ts | 21 - AllPools/src/helpers/IncreaseCounter.ts | 7 - AllPools/src/helpers/Position.ts | 9 - AllPools/src/helpers/PriceFeedInteractions.ts | 47 - AllPools/src/mappings/PoolFactory.ts | 21 - AllPools/src/mappings/TraderPool.ts | 370 - AllPools/src/mappings/TraderPoolRegistry.ts | 108 - AllPools/subgraph.yaml | 83 - AllPools/tests/PoolFactory.test.ts | 97 - AllPools/tests/TraderPool.test.ts | 569 - AllPools/tests/TraderPoolRegistry.test.ts | 610 -- AllPools/tests/utils.ts | 73 - AllPools/tsconfig.json | 4 - AllPoolsInvestors/.gitignore | 5 - AllPoolsInvestors/README.md | 0 AllPoolsInvestors/abis/Insurance.json | 359 - AllPoolsInvestors/abis/PoolFactory.json | 1010 -- AllPoolsInvestors/abis/PriceFeed.json | 735 -- AllPoolsInvestors/abis/TraderPool.json | 2352 ----- .../abis/TraderPoolProposal.json | 717 -- AllPoolsInvestors/package-lock.json | 9251 ----------------- AllPoolsInvestors/package.json | 21 - AllPoolsInvestors/schema.graphql | 276 - .../src/entities/global/InteractionCount.ts | 12 - .../src/entities/global/PositionOffset.ts | 15 - .../entities/global/ProposalPositionOffset.ts | 19 - .../src/entities/global/globals.ts | 11 - .../src/entities/trader-pool/Investor.ts | 14 - .../trader-pool/InvestorPoolPosition.ts | 35 - .../src/entities/trader-pool/TraderPool.ts | 24 - .../src/entities/trader-pool/Vest.ts | 36 - .../trader-pool/history/InsuranceHistory.ts | 20 - .../history/InvestorAmountHistory.ts | 49 - .../entities/trader-pool/history/LpHistory.ts | 37 - .../trader-pool/history/TraderPoolHistory.ts | 21 - .../trader-pool/proposal/ProposalClaim.ts | 29 - .../trader-pool/proposal/ProposalContract.ts | 18 - .../trader-pool/proposal/ProposalPosition.ts | 37 - .../trader-pool/proposal/ProposalVest.ts | 34 - .../src/helpers/IncreaseCounter.ts | 7 - .../src/helpers/PriceFeedInteractions.ts | 47 - AllPoolsInvestors/src/mappings/Insurance.ts | 60 - AllPoolsInvestors/src/mappings/PoolFactory.ts | 29 - AllPoolsInvestors/src/mappings/TraderPool.ts | 205 - .../src/mappings/TraderPoolProposal.ts | 132 - AllPoolsInvestors/subgraph.yaml | 110 - AllPoolsInvestors/tests/Insurance.test.ts | 197 - AllPoolsInvestors/tests/PoolFactory.test.ts | 153 - AllPoolsInvestors/tests/TraderPool.test.ts | 504 - .../tests/TraderPoolProposal.test.ts | 311 - AllPoolsInvestors/tests/utils.ts | 73 - AllPoolsInvestors/tsconfig.json | 4 - BasicPool/.gitignore | 5 - BasicPool/README.md | 0 BasicPool/abis/PoolFactory.json | 1010 -- BasicPool/abis/PriceFeed.json | 735 -- BasicPool/abis/TraderPoolRiskyProposal.json | 1484 --- BasicPool/package-lock.json | 9216 ---------------- BasicPool/package.json | 20 - BasicPool/schema.graphql | 119 - .../entities/basic-pool/BasicTraderPool.ts | 13 - .../entities/basic-pool/proposal/Proposal.ts | 27 - .../basic-pool/proposal/ProposalContract.ts | 16 - .../basic-pool/proposal/ProposalExchange.ts | 35 - .../basic-pool/proposal/ProposalPosition.ts | 23 - .../history/ProposalExchangeHistory.ts | 18 - .../src/entities/global/InteractionCount.ts | 12 - .../src/entities/global/PositionOffset.ts | 15 - BasicPool/src/entities/global/globals.ts | 3 - BasicPool/src/helpers/IncreaseCounter.ts | 7 - .../src/helpers/PriceFeedInteractions.ts | 47 - BasicPool/src/mappings/PoolFactory.ts | 16 - .../src/mappings/TraderPoolRiskyProposal.ts | 115 - BasicPool/subgraph.yaml | 52 - BasicPool/tests/PoolFactory.test.ts | 82 - .../tests/TraderPoolRiskyProposal.test.ts | 314 - BasicPool/tests/utils.ts | 74 - BasicPool/tsconfig.json | 4 - .../src/entities/ExpertNft/ExpertInPool.ts | 4 +- DaoPools/src/entities/Settings/Executor.ts | 5 +- DaoPools/src/entities/TokenSale.ts | 2 +- .../src/entities/TreasuryDelegationHistory.ts | 2 +- DaoPools/tests/DaoPool.test.ts | 1 - DaoPools/tests/DistributionProposal.test.ts | 11 +- DaoPools/tests/ERC721Expert.test.ts | 2 +- DaoPools/tests/GlobalERC721Expert.test.ts | 2 +- DaoPools/tests/TokenSale.test.ts | 2 +- DaoValidators/tests/DaoValidators.test.ts | 15 +- InvestPool/.gitignore | 5 - InvestPool/README.md | 0 InvestPool/abis/PoolFactory.json | 1010 -- InvestPool/abis/PriceFeed.json | 735 -- InvestPool/abis/TraderPoolInvestProposal.json | 1241 --- InvestPool/package-lock.json | 9251 ----------------- InvestPool/package.json | 21 - InvestPool/schema.graphql | 89 - .../src/entities/global/InteractionCount.ts | 12 - InvestPool/src/entities/global/globals.ts | 4 - .../entities/invest-pool/InvestTraderPool.ts | 13 - .../entities/invest-pool/proposal/Proposal.ts | 30 - .../invest-pool/proposal/ProposalContract.ts | 16 - .../invest-pool/proposal/ProposalSupply.ts | 29 - .../invest-pool/proposal/ProposalWithdraw.ts | 27 - InvestPool/src/helpers/ArrayHelper.ts | 9 - InvestPool/src/helpers/IncreaseCounter.ts | 7 - .../src/helpers/PriceFeedInteractions.ts | 47 - InvestPool/src/mappings/PoolFactory.ts | 16 - .../src/mappings/TraderPoolInvestProposal.ts | 190 - InvestPool/subgraph.yaml | 54 - InvestPool/tests/PoolFactory.test.ts | 82 - .../tests/TraderPoolInvestProposal.test.ts | 530 - InvestPool/tests/utils.ts | 73 - InvestPool/tsconfig.json | 4 - README.md | 63 +- package.json | 6 +- 171 files changed, 109 insertions(+), 63736 deletions(-) create mode 100644 AllInteractions/src/entities/dao-pool/Pool.ts delete mode 100644 AllInteractions/src/entities/insurance/InsuranceStake.ts delete mode 100644 AllInteractions/src/entities/trader-pool/Exchange.ts delete mode 100644 AllInteractions/src/entities/trader-pool/PoolCreate.ts delete mode 100644 AllInteractions/src/entities/trader-pool/ProposalContract.ts delete mode 100644 AllInteractions/src/entities/trader-pool/TraderPool.ts delete mode 100644 AllInteractions/src/entities/trader-pool/Vest.ts delete mode 100644 AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalClaimSupply.ts delete mode 100644 AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalConvertToDividends.ts delete mode 100644 AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalCreate.ts delete mode 100644 AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalEdited.ts delete mode 100644 AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalWithdraw.ts delete mode 100644 AllInteractions/src/entities/trader-pool/risky-proposal/ProposalVest.ts delete mode 100644 AllInteractions/src/entities/trader-pool/risky-proposal/RiskyProposalCreate.ts delete mode 100644 AllInteractions/src/entities/trader-pool/risky-proposal/RiskyProposalEdited.ts delete mode 100644 AllInteractions/src/entities/trader-pool/risky-proposal/RiskyProposalExchange.ts delete mode 100644 AllInteractions/src/entities/transaction/GetPerformanceFee.ts delete mode 100644 AllInteractions/src/entities/transaction/OnlyPool.ts delete mode 100644 AllInteractions/src/mappings/Insurance.ts delete mode 100644 AllInteractions/src/mappings/TraderPool.ts delete mode 100644 AllInteractions/src/mappings/TraderPoolInvestProposal.ts delete mode 100644 AllInteractions/src/mappings/TraderPoolRiskyProposal.ts delete mode 100644 AllInteractions/tests/Insurance.test.ts delete mode 100644 AllInteractions/tests/TraderPool.test.ts delete mode 100644 AllInteractions/tests/TraderPoolInvestProposal.test.ts delete mode 100644 AllInteractions/tests/TraderPoolRiskyProposal.test.ts delete mode 100644 AllPools/.gitignore delete mode 100644 AllPools/README.md delete mode 100644 AllPools/abis/PoolFactory.json delete mode 100644 AllPools/abis/PoolRegistry.json delete mode 100644 AllPools/abis/PriceFeed.json delete mode 100644 AllPools/abis/TraderPool.json delete mode 100644 AllPools/package-lock.json delete mode 100644 AllPools/package.json delete mode 100644 AllPools/schema.graphql delete mode 100644 AllPools/src/entities/global/InteractionCount.ts delete mode 100644 AllPools/src/entities/global/PositionOffset.ts delete mode 100644 AllPools/src/entities/global/globals.ts delete mode 100644 AllPools/src/entities/trader-pool/Exchange.ts delete mode 100644 AllPools/src/entities/trader-pool/Investor.ts delete mode 100644 AllPools/src/entities/trader-pool/Position.ts delete mode 100644 AllPools/src/entities/trader-pool/TraderPool.ts delete mode 100644 AllPools/src/entities/trader-pool/TraderPoolPriceHistory.ts delete mode 100644 AllPools/src/entities/trader-pool/history/ExchangeHistory.ts delete mode 100644 AllPools/src/entities/trader-pool/history/FeeHistory.ts delete mode 100644 AllPools/src/helpers/IncreaseCounter.ts delete mode 100644 AllPools/src/helpers/Position.ts delete mode 100644 AllPools/src/helpers/PriceFeedInteractions.ts delete mode 100644 AllPools/src/mappings/PoolFactory.ts delete mode 100644 AllPools/src/mappings/TraderPool.ts delete mode 100644 AllPools/src/mappings/TraderPoolRegistry.ts delete mode 100644 AllPools/subgraph.yaml delete mode 100644 AllPools/tests/PoolFactory.test.ts delete mode 100644 AllPools/tests/TraderPool.test.ts delete mode 100644 AllPools/tests/TraderPoolRegistry.test.ts delete mode 100644 AllPools/tests/utils.ts delete mode 100644 AllPools/tsconfig.json delete mode 100644 AllPoolsInvestors/.gitignore delete mode 100644 AllPoolsInvestors/README.md delete mode 100644 AllPoolsInvestors/abis/Insurance.json delete mode 100644 AllPoolsInvestors/abis/PoolFactory.json delete mode 100644 AllPoolsInvestors/abis/PriceFeed.json delete mode 100644 AllPoolsInvestors/abis/TraderPool.json delete mode 100644 AllPoolsInvestors/abis/TraderPoolProposal.json delete mode 100644 AllPoolsInvestors/package-lock.json delete mode 100644 AllPoolsInvestors/package.json delete mode 100644 AllPoolsInvestors/schema.graphql delete mode 100644 AllPoolsInvestors/src/entities/global/InteractionCount.ts delete mode 100644 AllPoolsInvestors/src/entities/global/PositionOffset.ts delete mode 100644 AllPoolsInvestors/src/entities/global/ProposalPositionOffset.ts delete mode 100644 AllPoolsInvestors/src/entities/global/globals.ts delete mode 100644 AllPoolsInvestors/src/entities/trader-pool/Investor.ts delete mode 100644 AllPoolsInvestors/src/entities/trader-pool/InvestorPoolPosition.ts delete mode 100644 AllPoolsInvestors/src/entities/trader-pool/TraderPool.ts delete mode 100644 AllPoolsInvestors/src/entities/trader-pool/Vest.ts delete mode 100644 AllPoolsInvestors/src/entities/trader-pool/history/InsuranceHistory.ts delete mode 100644 AllPoolsInvestors/src/entities/trader-pool/history/InvestorAmountHistory.ts delete mode 100644 AllPoolsInvestors/src/entities/trader-pool/history/LpHistory.ts delete mode 100644 AllPoolsInvestors/src/entities/trader-pool/history/TraderPoolHistory.ts delete mode 100644 AllPoolsInvestors/src/entities/trader-pool/proposal/ProposalClaim.ts delete mode 100644 AllPoolsInvestors/src/entities/trader-pool/proposal/ProposalContract.ts delete mode 100644 AllPoolsInvestors/src/entities/trader-pool/proposal/ProposalPosition.ts delete mode 100644 AllPoolsInvestors/src/entities/trader-pool/proposal/ProposalVest.ts delete mode 100644 AllPoolsInvestors/src/helpers/IncreaseCounter.ts delete mode 100644 AllPoolsInvestors/src/helpers/PriceFeedInteractions.ts delete mode 100644 AllPoolsInvestors/src/mappings/Insurance.ts delete mode 100644 AllPoolsInvestors/src/mappings/PoolFactory.ts delete mode 100644 AllPoolsInvestors/src/mappings/TraderPool.ts delete mode 100644 AllPoolsInvestors/src/mappings/TraderPoolProposal.ts delete mode 100644 AllPoolsInvestors/subgraph.yaml delete mode 100644 AllPoolsInvestors/tests/Insurance.test.ts delete mode 100644 AllPoolsInvestors/tests/PoolFactory.test.ts delete mode 100644 AllPoolsInvestors/tests/TraderPool.test.ts delete mode 100644 AllPoolsInvestors/tests/TraderPoolProposal.test.ts delete mode 100644 AllPoolsInvestors/tests/utils.ts delete mode 100644 AllPoolsInvestors/tsconfig.json delete mode 100644 BasicPool/.gitignore delete mode 100644 BasicPool/README.md delete mode 100644 BasicPool/abis/PoolFactory.json delete mode 100644 BasicPool/abis/PriceFeed.json delete mode 100644 BasicPool/abis/TraderPoolRiskyProposal.json delete mode 100644 BasicPool/package-lock.json delete mode 100644 BasicPool/package.json delete mode 100644 BasicPool/schema.graphql delete mode 100644 BasicPool/src/entities/basic-pool/BasicTraderPool.ts delete mode 100644 BasicPool/src/entities/basic-pool/proposal/Proposal.ts delete mode 100644 BasicPool/src/entities/basic-pool/proposal/ProposalContract.ts delete mode 100644 BasicPool/src/entities/basic-pool/proposal/ProposalExchange.ts delete mode 100644 BasicPool/src/entities/basic-pool/proposal/ProposalPosition.ts delete mode 100644 BasicPool/src/entities/basic-pool/proposal/history/ProposalExchangeHistory.ts delete mode 100644 BasicPool/src/entities/global/InteractionCount.ts delete mode 100644 BasicPool/src/entities/global/PositionOffset.ts delete mode 100644 BasicPool/src/entities/global/globals.ts delete mode 100644 BasicPool/src/helpers/IncreaseCounter.ts delete mode 100644 BasicPool/src/helpers/PriceFeedInteractions.ts delete mode 100644 BasicPool/src/mappings/PoolFactory.ts delete mode 100644 BasicPool/src/mappings/TraderPoolRiskyProposal.ts delete mode 100644 BasicPool/subgraph.yaml delete mode 100644 BasicPool/tests/PoolFactory.test.ts delete mode 100644 BasicPool/tests/TraderPoolRiskyProposal.test.ts delete mode 100644 BasicPool/tests/utils.ts delete mode 100644 BasicPool/tsconfig.json delete mode 100644 InvestPool/.gitignore delete mode 100644 InvestPool/README.md delete mode 100644 InvestPool/abis/PoolFactory.json delete mode 100644 InvestPool/abis/PriceFeed.json delete mode 100644 InvestPool/abis/TraderPoolInvestProposal.json delete mode 100644 InvestPool/package-lock.json delete mode 100644 InvestPool/package.json delete mode 100644 InvestPool/schema.graphql delete mode 100644 InvestPool/src/entities/global/InteractionCount.ts delete mode 100644 InvestPool/src/entities/global/globals.ts delete mode 100644 InvestPool/src/entities/invest-pool/InvestTraderPool.ts delete mode 100644 InvestPool/src/entities/invest-pool/proposal/Proposal.ts delete mode 100644 InvestPool/src/entities/invest-pool/proposal/ProposalContract.ts delete mode 100644 InvestPool/src/entities/invest-pool/proposal/ProposalSupply.ts delete mode 100644 InvestPool/src/entities/invest-pool/proposal/ProposalWithdraw.ts delete mode 100644 InvestPool/src/helpers/ArrayHelper.ts delete mode 100644 InvestPool/src/helpers/IncreaseCounter.ts delete mode 100644 InvestPool/src/helpers/PriceFeedInteractions.ts delete mode 100644 InvestPool/src/mappings/PoolFactory.ts delete mode 100644 InvestPool/src/mappings/TraderPoolInvestProposal.ts delete mode 100644 InvestPool/subgraph.yaml delete mode 100644 InvestPool/tests/PoolFactory.test.ts delete mode 100644 InvestPool/tests/TraderPoolInvestProposal.test.ts delete mode 100644 InvestPool/tests/utils.ts delete mode 100644 InvestPool/tsconfig.json diff --git a/.github/workflows/test-graphs.yml b/.github/workflows/test-graphs.yml index 309ab54c..1a7ff088 100644 --- a/.github/workflows/test-graphs.yml +++ b/.github/workflows/test-graphs.yml @@ -27,4 +27,4 @@ jobs: run: npm run install-all - name: Run tests - run: npm run compile-all && npm run test-all + run: npm run codegen-all && npm run test-all diff --git a/AllInteractions/schema.graphql b/AllInteractions/schema.graphql index e05e4228..258ec690 100644 --- a/AllInteractions/schema.graphql +++ b/AllInteractions/schema.graphql @@ -1,22 +1,3 @@ -#################################### Pool <-> Proposal #################################### -# @notice The entity holds information about trader pool -# @param id forms from pool address -# @param trader the address of trader -# @param proposalContract the address of proposal contract -type Pool @entity(immutable: true) { - id: Bytes! # pool address - trader: Bytes! - proposalContract: Bytes! -} - -# @notice The entity holds information about proposal contract -# @param id forms from proposal contract address -# @param pool the address of pool -type ProposalContract @entity(immutable: true) { - id: Bytes! # proposal contract address - pool: Bytes! -} - #################################### Transaction History #################################### # @noitce The entity holds information about Transaction @@ -38,27 +19,6 @@ type Transaction @entity { interactionsCount: BigInt! - exchange: [Exchange!]! @derivedFrom(field: "transaction") - vest: [Vest!]! @derivedFrom(field: "transaction") - poolCreate: [PoolCreate!]! @derivedFrom(field: "transaction") - - proposalEdit: [ProposalEdit!]! @derivedFrom(field: "transaction") - - riskyProposalCreate: [RiskyProposalCreate!]! @derivedFrom(field: "transaction") - riskyProposalExchange: [RiskyProposalExchange!]! @derivedFrom(field: "transaction") - riskyProposalVest: [ProposalVest!]! @derivedFrom(field: "transaction") - - investProposalClaimSupply: [InvestProposalClaimOrSupply!]! @derivedFrom(field: "transaction") - investProposalCreate: [InvestProposalCreate!]! @derivedFrom(field: "transaction") - investProposalWithdraw: [InvestProposalWithdraw!]! @derivedFrom(field: "transaction") - investProposalConvertToDividends: [InvestProposalConvertToDividends!]! @derivedFrom(field: "transaction") - - insuranceStake: [InsuranceStake!]! @derivedFrom(field: "transaction") - - getPerformanceFee: [GetPerformanceFee!]! @derivedFrom(field: "transaction") - - onlyPool: [OnlyPool!]! @derivedFrom(field: "transaction") - daoPoolCreate: [DaoPoolCreate!]! @derivedFrom(field: "transaction") daoPoolDelegate: [DaoPoolDelegate!]! @derivedFrom(field: "transaction") daoPoolVote: [DaoPoolVote!]! @derivedFrom(field: "transaction") @@ -74,224 +34,12 @@ type Transaction @entity { daoValidatorProposalExecute: [DaoValidatorProposalExecute!]! @derivedFrom(field: "transaction") } -# @notice The entity holds information about exchange -# @param id forms from tx hash + interactionCount -# @param pool the address of pool -# @param fromToken the address of from token -# @param toToken the address of to token -# @param fromVolume the volume of from token -# @param toVolume the volume of to token -# @param transaction the transaction entity id -type Exchange @entity(immutable: true) { - id: Bytes! # tx hash + interactionCount - pool: Bytes! - - fromToken: Bytes! - toToken: Bytes! - - fromVolume: BigInt! - toVolume: BigInt! - - transaction: Transaction! -} - -# @notice The entity holds information about invest/divest in pool -# @param id forms from tx hash + interactionCount -# @param pool the address of pool -# @param baseAmount the amount in base token -# @param lpAmount the amount in lp token -# @param transaction the transaction entity id -type Vest @entity(immutable: true) { - id: Bytes! # tx hash + interactionCount - pool: Bytes! - baseAmount: BigInt! - lpAmount: BigInt! - - transaction: Transaction! -} - -# @notice The entity holds information about pool creation -# @param id forms from tx hash + interactionCount -# @param pool the address of pool -# @param symbol the string with pool's symbol -# @param transaction the transaction entity id -type PoolCreate @entity(immutable: true) { - id: Bytes! # tx hash + interactionCount - pool: Bytes! - symbol: String! - - transaction: Transaction! -} -# @notice The entity holds information about creation of risky proposal -# @param id forms from tx hash + interactionCount -# @param pool the address of pool -# @param proposalId the internal id of proposal -# @param token the address of token -# @param transaction the transaction entity id -type RiskyProposalCreate @entity(immutable: true) { - id: Bytes! # tx hash + interactionCount - pool: Bytes! - proposalId: BigInt! - token: Bytes! - - transaction: Transaction! -} - -# @notice The entity holds information about changes in pool -# @param id forms from tx hash + interactionCount -# @param pool the address of pool -# @param proposalId the internal id of proposal -# @param transaction the transaction entity id -type ProposalEdit @entity(immutable: true) { - id: Bytes! # tx hash + interactionCount - pool: Bytes! - proposalId: BigInt! - - transaction: Transaction! -} - -# @notice The entity holds information about invest/divest in proposal -# @param id forms from tx hash + interactionCount -# @param pool the address of pool -# @param proposalId the internal id of proposal -# @param baseAmount the amount in base token -# @param lp2Amount the amount in lp2 token -# @param transaction the transaction entity id -type ProposalVest @entity(immutable: true) { - id: Bytes! # tx hash + interactionCount - pool: Bytes! - proposalId: BigInt! - - baseAmount: BigInt! - lp2Amount: BigInt! - - transaction: Transaction! -} - -# @notice The entity holds information about exchange in risky proposal -# @param id forms from tx hash + interactionCount -# @param pool the address of pool -# @param proposalId the internal id of proposal -# @param fromToken the address of from token -# @param toToken the address of to token -# @param fromVolume the volume of from token -# @param toVolume the volume of to token -# @param transaction the transaction entity id -type RiskyProposalExchange @entity(immutable: true) { - id: Bytes! # tx hash + interactionCount - pool: Bytes! - proposalId: BigInt! - - fromToken: Bytes! - toToken: Bytes! - - fromVolume: BigInt! - toVolume: BigInt! - - transaction: Transaction! -} - -# @notice The entity holds information about creation of invest proposal -# @param id forms from tx hash + interactionCount -# @param pool the address of pool -# @param proposalId the internal id of proposal -# @param transaction the transaction entity id -type InvestProposalCreate @entity(immutable: true) { - id: Bytes! # tx hash + interactionCount - pool: Bytes! - proposalId: BigInt! - - transaction: Transaction! -} - -# @notice The entity holds information about withdraw in invest proposal -# @param id forms from tx hash + interactionCount -# @param pool the address of pool -# @param proposalId the internal id of proposal -# @param amount the amount of withdraw -# @param transaction the transaction entity id -type InvestProposalWithdraw @entity(immutable: true) { - id: Bytes! # tx hash + interactionCount - pool: Bytes! - proposalId: BigInt! - - amount: BigInt! - - transaction: Transaction! -} - -# @notice The entity holds information about claim/supply in invest proposal -# @param id forms from tx hash + interactionCount -# @param pool the address of pool -# @param proposalId the internal id of proposal -# @param tokens the tokens of claim/supply -# @param amounts the amounts of claim/supply -# @param transaction the transaction entity id -type InvestProposalClaimOrSupply @entity(immutable: true) { - id: Bytes! # tx hash + interactionCount - pool: Bytes! - proposalId: BigInt! - - tokens: [Bytes!]! - amounts: [BigInt!]! - - transaction: Transaction! -} - -# @notice The entity holds information about convertions to dividends in invest proposal -# @param id forms from tx hash + interactionCount -# @param pool the address of pool -# @param proposalId the internal id of proposal -# @param amount the new invested amount -# @param token the address of base token -# @param transaction the transaction entity id -type InvestProposalConvertToDividends @entity(immutable: true) { - id: Bytes! # tx hash + interactionCount - pool: Bytes! - proposalId: BigInt! - - amount: BigInt! - token: Bytes! - - transaction: Transaction! -} - -# @notice The entity holds information about stake/unstake in insurance -# @param id forms from tx hash + interactionCount -# @param amount the amount of stake -# @param transaction the transaction entity id -type InsuranceStake @entity(immutable: true) { - id: Bytes! # tx hash + interactionCount - amount: BigInt! - - transaction: Transaction! -} - -# @notice The entity holds information about getting performance fee -# @param id forms from tx hash + interactionCount -# @param baseAmount the amount in base token -# @param lpAmount the amount in lp token -# @param transaction the transaction entity id -type GetPerformanceFee @entity(immutable: true) { - id: Bytes! # tx hash + interactionCount - baseAmount: BigInt! - lpAmount: BigInt! - - transaction: Transaction! -} - -# @notice The entity holds information about pool address of transaction -# @param id forms from tx hash + interactionCount -# @param pool the pool address -# @param transaction the transaction entity id -type OnlyPool @entity(immutable: true) { - id: Bytes! # tx hash + interactionCount - pool: Bytes! - - transaction: Transaction! -} - #################################### DAO interactions #################################### +# @notice The entity holds information about dao pool +# @param id forms from pool address +type Pool @entity(immutable: true) { + id: Bytes! # pool address +} # @notice The entity holds information about creation of dao pool # @param id forms from tx hash + interactionCount @@ -300,7 +48,7 @@ type OnlyPool @entity(immutable: true) { # @param transaction the transaction entity id type DaoPoolCreate @entity(immutable: true) { id: Bytes! # tx hash + interactionCount - pool: Bytes! + pool: Pool! name: String! transaction: Transaction! @@ -313,7 +61,7 @@ type DaoPoolCreate @entity(immutable: true) { # @param transaction the transaction entity id type DaoPoolDelegate @entity(immutable: true) { id: Bytes! # tx hash + interactionCount - pool: Bytes! + pool: Pool! amount: BigInt! @@ -328,7 +76,7 @@ type DaoPoolDelegate @entity(immutable: true) { # @param transaction the transaction entity id type DaoPoolVote @entity(immutable: true) { id: Bytes! # tx hash + interactionCount - pool: Bytes! + pool: Pool! voteType: BigInt! isVoteFor: Boolean! @@ -344,7 +92,7 @@ type DaoPoolVote @entity(immutable: true) { # @param transaction the transaction entity id type DaoProposalCreate @entity(immutable: true) { id: Bytes! # tx hash + interactionCount - pool: Bytes! + pool: Pool! proposalId: BigInt! @@ -358,7 +106,7 @@ type DaoProposalCreate @entity(immutable: true) { # @param transaction the transaction entity id type DaoPoolExecute @entity(immutable: true) { id: Bytes! # tx hash + interactionCount - pool: Bytes! + pool: Pool! proposalId: BigInt! @@ -372,7 +120,7 @@ type DaoPoolExecute @entity(immutable: true) { # @param transaction the transaction entity id type DaoPoolRewardClaim @entity(immutable: true) { id: Bytes! # tx hash + interactionCount - pool: Bytes! + pool: Pool! proposalId: BigInt! @@ -387,7 +135,7 @@ type DaoPoolRewardClaim @entity(immutable: true) { # @param transaction the transaction entity id type DaoPoolVest @entity(immutable: true) { id: Bytes! - pool: Bytes! + pool: Pool! nfts: [BigInt!]! amount: BigInt! @@ -402,7 +150,7 @@ type DaoPoolVest @entity(immutable: true) { # @param transaction the transaction entity id type DaoPoolMovedToValidators @entity(immutable: true) { id: Bytes! - pool: Bytes! + pool: Pool! proposalId: BigInt! @@ -415,7 +163,7 @@ type DaoPoolMovedToValidators @entity(immutable: true) { # @param transaction the transaction entity id type DaoPoolOffchainResultsSaved @entity(immutable: true) { id: Bytes! - pool: Bytes! + pool: Pool! transaction: Transaction! } @@ -427,7 +175,7 @@ type DaoPoolOffchainResultsSaved @entity(immutable: true) { # @param transaction the transaction entity id type DaoValidatorProposalCreate @entity(immutable: true) { id: Bytes! - pool: Bytes! + pool: Pool! proposalId: BigInt! transaction: Transaction! @@ -442,7 +190,7 @@ type DaoValidatorProposalCreate @entity(immutable: true) { # @param transaction the transaction entity id type DaoValidatorProposalVote @entity(immutable: true) { id: Bytes! - pool: Bytes! + pool: Pool! proposalId: BigInt! isVoteFor: Boolean! @@ -458,7 +206,7 @@ type DaoValidatorProposalVote @entity(immutable: true) { # @param transaction the transaction entity id type DaoValidatorProposalExecute @entity(immutable: true) { id: Bytes! - pool: Bytes! + pool: Pool! proposalId: BigInt! transaction: Transaction! diff --git a/AllInteractions/src/entities/dao-pool/Pool.ts b/AllInteractions/src/entities/dao-pool/Pool.ts new file mode 100644 index 00000000..986fb8f2 --- /dev/null +++ b/AllInteractions/src/entities/dao-pool/Pool.ts @@ -0,0 +1,12 @@ +import { Bytes } from "@graphprotocol/graph-ts"; +import { Pool } from "../../../generated/schema"; + +export function getPool(address: Bytes): Pool { + let pool = Pool.load(address); + + if (pool == null) { + pool = new Pool(address); + } + + return pool; +} diff --git a/AllInteractions/src/entities/global/TransactionTypeEnum.ts b/AllInteractions/src/entities/global/TransactionTypeEnum.ts index e6ab65e8..e44668a7 100644 --- a/AllInteractions/src/entities/global/TransactionTypeEnum.ts +++ b/AllInteractions/src/entities/global/TransactionTypeEnum.ts @@ -1,57 +1,27 @@ import { BigInt } from "@graphprotocol/graph-ts"; export enum TransactionType { - SWAP = 1, - INVEST = 2, - DIVEST = 3, - - POOL_CREATE = 4, - POOL_EDIT = 5, - POOL_UPDATE_MANAGERS = 6, - POOL_UPDATE_INVESTORS = 7, - - UPDATED_USER_CREDENTIALS = 8, - - RISKY_PROPOSAL_CREATE = 9, - RISKY_PROPOSAL_EDIT = 10, - RISKY_PROPOSAL_INVEST = 11, - RISKY_PROPOSAL_DIVEST = 12, - RISKY_PROPOSAL_SWAP = 13, - - INVEST_PROPOSAL_CREATE = 14, - INVEST_PROPOSAL_EDIT = 15, - INVEST_PROPOSAL_INVEST = 16, - INVEST_PROPOSAL_WITHDRAW = 17, - INVEST_PROPOSAL_SUPPLY = 18, - INVEST_PROPOSAL_CLAIM = 19, - - INSURANCE_STAKE = 20, - INSURANCE_UNSTAKE = 21, - - INSURANCE_REGISTER_PROPOSAL_CLAIM = 22, - - TRADER_GET_PERFOMANCE_FEE = 23, - USER_AGREED_TO_PRIVACY_POLICY = 24, - - INVEST_PROPOSAL_CONVERT_TO_DIVIDENDS = 25, - - DAO_POOL_CREATED = 26, - DAO_POOL_PROPOSAL_CREATED = 27, - DAO_POOL_PROPOSAL_VOTED = 28, - DAO_POOL_PROPOSAL_EXECUTED = 29, - - DAO_POOL_DELEGATED = 30, - DAO_POOL_UNDELEGATED = 31, - DAO_POOL_REQUESTED = 32, - DAO_POOL_REWARD_CLAIMED = 33, - DAO_POOL_DEPOSITED = 34, - DAO_POOL_WITHDRAWN = 35, - DAO_POOL_MOVED_TO_VALIDATORS = 36, - DAO_POOL_OFFCHAIN_RESULTS_SAVED = 37, - - DAO_VALIDATORS_VOTED = 38, - DAO_VALIDATORS_PROPOSAL_CREATED = 39, - DAO_VALIDATORS_PROPOSAL_EXECUTED = 40, + UPDATED_USER_CREDENTIALS = 1, + + USER_AGREED_TO_PRIVACY_POLICY = 2, + + DAO_POOL_CREATED = 3, + DAO_POOL_PROPOSAL_CREATED = 4, + DAO_POOL_PROPOSAL_VOTED = 5, + DAO_POOL_PROPOSAL_EXECUTED = 6, + + DAO_POOL_DELEGATED = 7, + DAO_POOL_UNDELEGATED = 8, + DAO_POOL_REQUESTED = 9, + DAO_POOL_REWARD_CLAIMED = 10, + DAO_POOL_DEPOSITED = 11, + DAO_POOL_WITHDRAWN = 12, + DAO_POOL_MOVED_TO_VALIDATORS = 13, + DAO_POOL_OFFCHAIN_RESULTS_SAVED = 14, + + DAO_VALIDATORS_VOTED = 15, + DAO_VALIDATORS_PROPOSAL_CREATED = 16, + DAO_VALIDATORS_PROPOSAL_EXECUTED = 17, } export function getEnumBigInt(operation: TransactionType): BigInt { diff --git a/AllInteractions/src/entities/global/globals.ts b/AllInteractions/src/entities/global/globals.ts index 278c554c..4b21374a 100644 --- a/AllInteractions/src/entities/global/globals.ts +++ b/AllInteractions/src/entities/global/globals.ts @@ -1,4 +1 @@ -export const DAY = 86400; export const PRICE_FEED_ADDRESS = "0x56d8412b75434671FbC6ad9c6b91Ba2d5E3817c1"; -export const BASIC_POOL_NAME = "BASIC_POOL"; -export const INVEST_POOL_NAME = "INVEST_POOL"; diff --git a/AllInteractions/src/entities/insurance/InsuranceStake.ts b/AllInteractions/src/entities/insurance/InsuranceStake.ts deleted file mode 100644 index 8cf052bb..00000000 --- a/AllInteractions/src/entities/insurance/InsuranceStake.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { InsuranceStake } from "../../../generated/schema"; - -export function getInsuranceStake(hash: Bytes, amount: BigInt, count: BigInt): InsuranceStake { - let id = hash.concatI32(count.toI32()); - let insuranceStake = InsuranceStake.load(id); - - if (insuranceStake == null) { - insuranceStake = new InsuranceStake(id); - - insuranceStake.amount = amount; - } - - return insuranceStake; -} diff --git a/AllInteractions/src/entities/trader-pool/Exchange.ts b/AllInteractions/src/entities/trader-pool/Exchange.ts deleted file mode 100644 index 188399e9..00000000 --- a/AllInteractions/src/entities/trader-pool/Exchange.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { Exchange } from "../../../generated/schema"; - -export function getExchange( - hash: Bytes, - pool: Bytes, - fromToken: Bytes, - toToken: Bytes, - fromVolume: BigInt, - toVolume: BigInt, - count: BigInt -): Exchange { - let id = hash.concatI32(count.toI32()); - let exchange = Exchange.load(id); - - if (exchange == null) { - exchange = new Exchange(id); - exchange.pool = pool; - exchange.fromToken = fromToken; - exchange.toToken = toToken; - - exchange.fromVolume = fromVolume; - exchange.toVolume = toVolume; - - exchange.transaction = Bytes.empty(); - } - - return exchange; -} diff --git a/AllInteractions/src/entities/trader-pool/PoolCreate.ts b/AllInteractions/src/entities/trader-pool/PoolCreate.ts deleted file mode 100644 index 79ee091b..00000000 --- a/AllInteractions/src/entities/trader-pool/PoolCreate.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { PoolCreate } from "../../../generated/schema"; - -export function getPoolCreate(hash: Bytes, pool: Address, symbol: string, count: BigInt): PoolCreate { - let id = hash.concatI32(count.toI32()); - let poolCreate = PoolCreate.load(id); - - if (poolCreate == null) { - poolCreate = new PoolCreate(id); - poolCreate.pool = pool; - poolCreate.symbol = symbol; - - poolCreate.transaction = Bytes.empty(); - } - - return poolCreate; -} diff --git a/AllInteractions/src/entities/trader-pool/ProposalContract.ts b/AllInteractions/src/entities/trader-pool/ProposalContract.ts deleted file mode 100644 index 9cd5d50f..00000000 --- a/AllInteractions/src/entities/trader-pool/ProposalContract.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Address } from "@graphprotocol/graph-ts"; -import { ProposalContract } from "../../../generated/schema"; - -export function getProposalContract(address: Address, pool: Address = Address.zero()): ProposalContract { - let proposalContract = ProposalContract.load(address); - - if (proposalContract == null) { - proposalContract = new ProposalContract(address); - proposalContract.pool = pool; - } - - return proposalContract; -} diff --git a/AllInteractions/src/entities/trader-pool/TraderPool.ts b/AllInteractions/src/entities/trader-pool/TraderPool.ts deleted file mode 100644 index d1e45741..00000000 --- a/AllInteractions/src/entities/trader-pool/TraderPool.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Address } from "@graphprotocol/graph-ts"; -import { Pool } from "../../../generated/schema"; - -export function getTraderPool( - address: Address, - proposalAddress: Address = Address.zero(), - trader: Address = Address.zero() -): Pool { - let pool = Pool.load(address); - - if (pool == null) { - pool = new Pool(address); - - pool.proposalContract = proposalAddress; - pool.trader = trader; - } - - return pool; -} diff --git a/AllInteractions/src/entities/trader-pool/Vest.ts b/AllInteractions/src/entities/trader-pool/Vest.ts deleted file mode 100644 index d27822f9..00000000 --- a/AllInteractions/src/entities/trader-pool/Vest.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Bytes, BigInt, Address } from "@graphprotocol/graph-ts"; -import { Vest } from "../../../generated/schema"; - -export function getVest(hash: Bytes, baseAmount: BigInt, lpAmount: BigInt, pool: Address, count: BigInt): Vest { - let id = hash.concat(Bytes.fromByteArray(Bytes.fromBigInt(count))); - - let vest = Vest.load(id); - - if (vest == null) { - vest = new Vest(id); - - vest.baseAmount = baseAmount; - vest.lpAmount = lpAmount; - vest.pool = pool; - } - - return vest; -} diff --git a/AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalClaimSupply.ts b/AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalClaimSupply.ts deleted file mode 100644 index 5c70f7c1..00000000 --- a/AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalClaimSupply.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { InvestProposalClaimOrSupply } from "../../../../generated/schema"; - -export function getInvestProposalClaimOrSupply( - hash: Bytes, - pool: Bytes, - proposalId: BigInt, - tokens: Array, - amounts: Array, - count: BigInt -): InvestProposalClaimOrSupply { - let id = hash.concatI32(count.toI32()); - let claimSupply = InvestProposalClaimOrSupply.load(id); - - if (claimSupply == null) { - claimSupply = new InvestProposalClaimOrSupply(id); - - claimSupply.pool = pool; - claimSupply.proposalId = proposalId; - - claimSupply.tokens = tokens; - claimSupply.amounts = amounts; - - claimSupply.transaction = Bytes.empty(); - } - - return claimSupply; -} diff --git a/AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalConvertToDividends.ts b/AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalConvertToDividends.ts deleted file mode 100644 index 56901afd..00000000 --- a/AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalConvertToDividends.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { InvestProposalConvertToDividends } from "../../../../generated/schema"; - -export function getInvestProposalConvertToDividends( - hash: Bytes, - pool: Bytes, - proposalId: BigInt, - amount: BigInt, - token: Address, - count: BigInt -): InvestProposalConvertToDividends { - let id = hash.concatI32(count.toI32()); - let convertToDividends = InvestProposalConvertToDividends.load(id); - - if (convertToDividends == null) { - convertToDividends = new InvestProposalConvertToDividends(id); - - convertToDividends.pool = pool; - convertToDividends.proposalId = proposalId; - - convertToDividends.amount = amount; - convertToDividends.token = token; - - convertToDividends.transaction = Bytes.empty(); - } - - return convertToDividends; -} diff --git a/AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalCreate.ts b/AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalCreate.ts deleted file mode 100644 index 10394d83..00000000 --- a/AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalCreate.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { InvestProposalCreate } from "../../../../generated/schema"; - -export function getInvestProposalCreate( - hash: Bytes, - pool: Bytes, - proposalId: BigInt, - count: BigInt -): InvestProposalCreate { - let id = hash.concatI32(count.toI32()); - let proposalCreate = InvestProposalCreate.load(id); - - if (proposalCreate == null) { - proposalCreate = new InvestProposalCreate(id); - - proposalCreate.pool = pool; - proposalCreate.proposalId = proposalId; - - proposalCreate.transaction = Bytes.empty(); - } - - return proposalCreate; -} diff --git a/AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalEdited.ts b/AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalEdited.ts deleted file mode 100644 index 0bf11158..00000000 --- a/AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalEdited.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { ProposalEdit } from "../../../../generated/schema"; - -export function getInvestProposalEdited(hash: Bytes, proposalId: BigInt, pool: Bytes, count: BigInt): ProposalEdit { - let id = hash.concatI32(count.toI32()); - let edit = ProposalEdit.load(id); - - if (edit == null) { - edit = new ProposalEdit(id); - - edit.pool = pool; - edit.proposalId = proposalId; - - edit.transaction = Bytes.empty(); - } - - return edit; -} diff --git a/AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalWithdraw.ts b/AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalWithdraw.ts deleted file mode 100644 index 0d179c9f..00000000 --- a/AllInteractions/src/entities/trader-pool/invest-proposal/InvestProposalWithdraw.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { InvestProposalWithdraw } from "../../../../generated/schema"; - -export function getInvestProposalWithdraw( - hash: Bytes, - pool: Bytes, - proposalId: BigInt, - amount: BigInt, - count: BigInt -): InvestProposalWithdraw { - let id = hash.concatI32(count.toI32()); - let withdraw = InvestProposalWithdraw.load(id); - - if (withdraw == null) { - withdraw = new InvestProposalWithdraw(id); - - withdraw.pool = pool; - withdraw.proposalId = proposalId; - withdraw.amount = amount; - } - - return withdraw; -} diff --git a/AllInteractions/src/entities/trader-pool/risky-proposal/ProposalVest.ts b/AllInteractions/src/entities/trader-pool/risky-proposal/ProposalVest.ts deleted file mode 100644 index 260a258b..00000000 --- a/AllInteractions/src/entities/trader-pool/risky-proposal/ProposalVest.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { ProposalVest } from "../../../../generated/schema"; - -export function getProposalVest( - hash: Bytes, - pool: Bytes, - proposalId: BigInt, - baseAmount: BigInt, - lp2Amount: BigInt, - count: BigInt -): ProposalVest { - let id = hash.concatI32(count.toI32()); - let vest = ProposalVest.load(id); - - if (vest == null) { - vest = new ProposalVest(id); - vest.pool = pool; - vest.proposalId = proposalId; - vest.baseAmount = baseAmount; - vest.lp2Amount = lp2Amount; - vest.transaction = Bytes.empty(); - } - - return vest; -} diff --git a/AllInteractions/src/entities/trader-pool/risky-proposal/RiskyProposalCreate.ts b/AllInteractions/src/entities/trader-pool/risky-proposal/RiskyProposalCreate.ts deleted file mode 100644 index 2b323d91..00000000 --- a/AllInteractions/src/entities/trader-pool/risky-proposal/RiskyProposalCreate.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { RiskyProposalCreate } from "../../../../generated/schema"; - -export function getRiskyProposalCreate( - hash: Bytes, - pool: Bytes, - proposalId: BigInt, - token: Address, - count: BigInt -): RiskyProposalCreate { - let id = hash.concatI32(count.toI32()); - let riskyProposalCreate = RiskyProposalCreate.load(id); - - if (riskyProposalCreate == null) { - riskyProposalCreate = new RiskyProposalCreate(id); - - riskyProposalCreate.pool = pool; - riskyProposalCreate.proposalId = proposalId; - riskyProposalCreate.token = token; - - riskyProposalCreate.transaction = Bytes.empty(); - } - - return riskyProposalCreate; -} diff --git a/AllInteractions/src/entities/trader-pool/risky-proposal/RiskyProposalEdited.ts b/AllInteractions/src/entities/trader-pool/risky-proposal/RiskyProposalEdited.ts deleted file mode 100644 index 20856b94..00000000 --- a/AllInteractions/src/entities/trader-pool/risky-proposal/RiskyProposalEdited.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { ProposalEdit } from "../../../../generated/schema"; - -export function getRiskyProposalEdited(hash: Bytes, proposalId: BigInt, pool: Bytes, count: BigInt): ProposalEdit { - let id = hash.concatI32(count.toI32()); - let edit = ProposalEdit.load(id); - - if (edit == null) { - edit = new ProposalEdit(id); - - edit.pool = pool; - edit.proposalId = proposalId; - - edit.transaction = Bytes.empty(); - } - - return edit; -} diff --git a/AllInteractions/src/entities/trader-pool/risky-proposal/RiskyProposalExchange.ts b/AllInteractions/src/entities/trader-pool/risky-proposal/RiskyProposalExchange.ts deleted file mode 100644 index f81f8edb..00000000 --- a/AllInteractions/src/entities/trader-pool/risky-proposal/RiskyProposalExchange.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { RiskyProposalExchange } from "../../../../generated/schema"; - -export function getRiskyProposalExchange( - hash: Bytes, - pool: Bytes, - proposalId: BigInt, - fromToken: Address, - toToken: Address, - fromVolume: BigInt, - toVolume: BigInt, - count: BigInt -): RiskyProposalExchange { - let id = hash.concatI32(count.toI32()); - let exchange = RiskyProposalExchange.load(id); - - if (exchange == null) { - exchange = new RiskyProposalExchange(id); - - exchange.pool = pool; - exchange.proposalId = proposalId; - exchange.fromToken = fromToken; - exchange.toToken = toToken; - exchange.fromVolume = fromVolume; - exchange.toVolume = toVolume; - } - - return exchange; -} diff --git a/AllInteractions/src/entities/transaction/GetPerformanceFee.ts b/AllInteractions/src/entities/transaction/GetPerformanceFee.ts deleted file mode 100644 index 57c47053..00000000 --- a/AllInteractions/src/entities/transaction/GetPerformanceFee.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { GetPerformanceFee } from "../../../generated/schema"; - -export function getGetPerformanceFee( - hash: Bytes, - amountBase: BigInt, - amountLP: BigInt, - count: BigInt -): GetPerformanceFee { - let id = hash.concatI32(count.toI32()); - let performanceFee = GetPerformanceFee.load(id); - - if (performanceFee == null) { - performanceFee = new GetPerformanceFee(id); - - performanceFee.baseAmount = amountBase; - performanceFee.lpAmount = amountLP; - - performanceFee.transaction = Bytes.empty(); - } - - return performanceFee; -} diff --git a/AllInteractions/src/entities/transaction/OnlyPool.ts b/AllInteractions/src/entities/transaction/OnlyPool.ts deleted file mode 100644 index 4c186939..00000000 --- a/AllInteractions/src/entities/transaction/OnlyPool.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { OnlyPool } from "../../../generated/schema"; - -export function getOnlyPool(hash: Bytes, address: Address, count: BigInt): OnlyPool { - let id = hash.concatI32(count.toI32()); - let onlyPool = OnlyPool.load(id); - - if (onlyPool == null) { - onlyPool = new OnlyPool(id); - onlyPool.pool = address; - onlyPool.transaction = Bytes.empty(); - } - - return onlyPool; -} diff --git a/AllInteractions/src/mappings/DaoPool.ts b/AllInteractions/src/mappings/DaoPool.ts index 7da9503c..7c482281 100644 --- a/AllInteractions/src/mappings/DaoPool.ts +++ b/AllInteractions/src/mappings/DaoPool.ts @@ -10,7 +10,6 @@ import { Voted, Withdrawn, Requested, - DelegatedTreasury, } from "../../generated/templates/DaoPool/DaoPool"; import { getDaoPoolDelegate } from "../entities/dao-pool/DaoPoolDelegate"; import { getDaoPoolVest } from "../entities/dao-pool/DaoPoolVest"; @@ -23,8 +22,10 @@ import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTy import { getTransaction } from "../entities/transaction/Transaction"; import { getDaoPoolOffchainResult } from "../entities/dao-pool/DaoOffchainResults"; import { push } from "../helpers/ArrayHelper"; +import { getPool } from "../entities/dao-pool/Pool"; export function onProposalCreated(event: ProposalCreated): void { + getPool(event.address).save(); let transaction = getTransaction( event.transaction.hash, event.block.number, @@ -47,6 +48,7 @@ export function onProposalCreated(event: ProposalCreated): void { } export function onDelegated(event: Delegated): void { + getPool(event.address).save(); let transaction = getTransaction( event.transaction.hash, event.block.number, @@ -72,6 +74,7 @@ export function onDelegated(event: Delegated): void { } export function onRequested(event: Requested): void { + getPool(event.address).save(); let transaction = getTransaction( event.transaction.hash, event.block.number, @@ -94,6 +97,7 @@ export function onRequested(event: Requested): void { } export function onVoted(event: Voted): void { + getPool(event.address).save(); let transaction = getTransaction( event.transaction.hash, event.block.number, @@ -118,6 +122,7 @@ export function onVoted(event: Voted): void { } export function onProposalExecuted(event: ProposalExecuted): void { + getPool(event.address).save(); let transaction = getTransaction( event.transaction.hash, event.block.number, @@ -140,6 +145,7 @@ export function onProposalExecuted(event: ProposalExecuted): void { } export function onRewardClaimed(event: RewardClaimed): void { + getPool(event.address).save(); let transaction = getTransaction( event.transaction.hash, event.block.number, @@ -162,6 +168,7 @@ export function onRewardClaimed(event: RewardClaimed): void { } export function onDeposited(event: Deposited): void { + getPool(event.address).save(); let transaction = getTransaction( event.transaction.hash, event.block.number, @@ -187,6 +194,7 @@ export function onDeposited(event: Deposited): void { } export function onWithdrawn(event: Withdrawn): void { + getPool(event.address).save(); let transaction = getTransaction( event.transaction.hash, event.block.number, @@ -212,6 +220,7 @@ export function onWithdrawn(event: Withdrawn): void { } export function onMovedToValidators(event: MovedToValidators): void { + getPool(event.address).save(); let transaction = getTransaction( event.transaction.hash, event.block.number, @@ -236,6 +245,7 @@ export function onMovedToValidators(event: MovedToValidators): void { } export function onOffchainResultsSaved(event: OffchainResultsSaved): void { + getPool(event.address).save(); let transaction = getTransaction( event.transaction.hash, event.block.number, diff --git a/AllInteractions/src/mappings/DaoValidators.ts b/AllInteractions/src/mappings/DaoValidators.ts index 4a034904..f90eaaf6 100644 --- a/AllInteractions/src/mappings/DaoValidators.ts +++ b/AllInteractions/src/mappings/DaoValidators.ts @@ -10,8 +10,10 @@ import { getDaoValidatorProposalExecute } from "../entities/dao-pool/DaoValidato import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; import { getTransaction } from "../entities/transaction/Transaction"; import { push } from "../helpers/ArrayHelper"; +import { getPool } from "../entities/dao-pool/Pool"; export function onVoted(event: Voted): void { + getPool(event.address).save(); let transaction = getTransaction( event.transaction.hash, event.block.number, @@ -38,6 +40,7 @@ export function onVoted(event: Voted): void { } export function onInternalProposalCreated(event: InternalProposalCreated): void { + getPool(event.address).save(); let transaction = getTransaction( event.transaction.hash, event.block.number, @@ -62,6 +65,7 @@ export function onInternalProposalCreated(event: InternalProposalCreated): void } export function onInternalProposalExecuted(event: InternalProposalExecuted): void { + getPool(event.address).save(); let transaction = getTransaction( event.transaction.hash, event.block.number, diff --git a/AllInteractions/src/mappings/Insurance.ts b/AllInteractions/src/mappings/Insurance.ts deleted file mode 100644 index 6b28edc3..00000000 --- a/AllInteractions/src/mappings/Insurance.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; -import { pushUnique } from "@solarity/graph-lib"; -import { Deposited, Paidout, Withdrawn } from "../../generated/Insurance/Insurance"; -import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; -import { getInsuranceStake } from "../entities/insurance/InsuranceStake"; -import { getTransaction } from "../entities/transaction/Transaction"; -import { push } from "../helpers/ArrayHelper"; - -export function onDeposit(event: Deposited): void { - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.investor - ); - let stake = getInsuranceStake(event.transaction.hash, event.params.amount, transaction.interactionsCount); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = pushUnique(transaction.type, [getEnumBigInt(TransactionType.INSURANCE_STAKE)]); - stake.transaction = transaction.id; - - transaction.save(); - stake.save(); -} - -export function onWithdraw(event: Withdrawn): void { - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.investor - ); - let stake = getInsuranceStake(event.transaction.hash, event.params.amount, transaction.interactionsCount); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.INSURANCE_UNSTAKE)); - stake.transaction = transaction.id; - - transaction.save(); - stake.save(); -} diff --git a/AllInteractions/src/mappings/PoolFactory.ts b/AllInteractions/src/mappings/PoolFactory.ts index f4cc769c..fb6d82e0 100644 --- a/AllInteractions/src/mappings/PoolFactory.ts +++ b/AllInteractions/src/mappings/PoolFactory.ts @@ -1,55 +1,18 @@ import { BigInt } from "@graphprotocol/graph-ts"; -import { DaoPoolDeployed, TraderPoolDeployed } from "../../generated/PoolFactory/PoolFactory"; -import { DaoPool, DaoValidators, TraderPool, TraderPoolInvestProposal } from "../../generated/templates"; -import { TraderPoolRiskyProposal } from "../../generated/templates"; +import { DaoPoolDeployed } from "../../generated/PoolFactory/PoolFactory"; +import { DaoPool, DaoValidators } from "../../generated/templates"; import { getDaoPoolCreate } from "../entities/dao-pool/DaoPoolCreate"; -import { BASIC_POOL_NAME } from "../entities/global/globals"; import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; -import { getPoolCreate } from "../entities/trader-pool/PoolCreate"; -import { getProposalContract } from "../entities/trader-pool/ProposalContract"; -import { getTraderPool } from "../entities/trader-pool/TraderPool"; import { getTransaction } from "../entities/transaction/Transaction"; import { push } from "../helpers/ArrayHelper"; - -export function onTraderPoolDeployed(event: TraderPoolDeployed): void { - getTraderPool(event.params.at, event.params.proposalContract, event.params.trader).save(); - TraderPool.create(event.params.at); - - getProposalContract(event.params.proposalContract, event.params.at).save(); - - if (event.params.poolType == BASIC_POOL_NAME) { - TraderPoolRiskyProposal.create(event.params.proposalContract); - } else { - TraderPoolInvestProposal.create(event.params.proposalContract); - } - - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.trader, - event.params.at - ); - let create = getPoolCreate( - event.transaction.hash, - event.params.at, - event.params.symbol, - transaction.interactionsCount - ); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.POOL_CREATE)); - - create.transaction = transaction.id; - - transaction.save(); - create.save(); -} +import { getPool } from "../entities/dao-pool/Pool"; export function onDaoPoolDeployed(event: DaoPoolDeployed): void { DaoPool.create(event.params.govPool); DaoValidators.create(event.params.validators); + getPool(event.params.govPool).save(); + getPool(event.params.validators).save(); let transaction = getTransaction( event.transaction.hash, event.block.number, diff --git a/AllInteractions/src/mappings/TraderPool.ts b/AllInteractions/src/mappings/TraderPool.ts deleted file mode 100644 index 93bf089b..00000000 --- a/AllInteractions/src/mappings/TraderPool.ts +++ /dev/null @@ -1,204 +0,0 @@ -import { Bytes, BigInt, Address } from "@graphprotocol/graph-ts"; -import { Transaction } from "../../generated/schema"; -import { - CommissionClaimed, - DescriptionURLChanged, - Divested, - Exchanged, - Invested, - ModifiedAdmins, - ModifiedPrivateInvestors, - ProposalDivested, -} from "../../generated/templates/TraderPool/TraderPool"; -import { getExchange } from "../entities/trader-pool/Exchange"; -import { getTransaction } from "../entities/transaction/Transaction"; -import { getVest } from "../entities/trader-pool/Vest"; -import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; -import { getOnlyPool } from "../entities/transaction/OnlyPool"; -import { getProposalVest } from "../entities/trader-pool/risky-proposal/ProposalVest"; -import { getGetPerformanceFee } from "../entities/transaction/GetPerformanceFee"; -import { push } from "../helpers/ArrayHelper"; - -export function onExchange(event: Exchanged): void { - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.sender, - event.address - ); - let exchange = getExchange( - event.transaction.hash, - event.address, - event.params.fromToken, - event.params.toToken, - event.params.fromVolume, - event.params.toVolume, - transaction.interactionsCount - ); - - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.SWAP)); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - exchange.transaction = transaction.id; - - transaction.save(); - exchange.save(); -} - -export function onInvest(event: Invested): void { - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.user, - event.address - ); - setupVest( - transaction, - event.params.investedBase, - event.params.receivedLP, - event.transaction.hash, - getEnumBigInt(TransactionType.INVEST), - event.address, - transaction.interactionsCount - ); -} - -export function onDivest(event: Divested): void { - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.user, - event.address - ); - setupVest( - transaction, - event.params.receivedBase, - event.params.divestedLP, - event.transaction.hash, - getEnumBigInt(TransactionType.DIVEST), - event.address, - transaction.interactionsCount - ); -} - -export function onDescriptionURLChanged(event: DescriptionURLChanged): void { - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.sender, - event.address - ); - - let onlyPool = getOnlyPool(event.transaction.hash, event.address, transaction.interactionsCount); - - onlyPool.transaction = transaction.id; - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.POOL_EDIT)); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.save(); - onlyPool.save(); -} - -export function onProposalDivest(event: ProposalDivested): void { - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.user, - event.address - ); - - let proposalVest = getProposalVest( - event.transaction.hash, - event.address, - event.params.proposalId, - event.params.receivedBase, - event.params.divestedLP2, - transaction.interactionsCount - ); - proposalVest.transaction = transaction.id; - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.RISKY_PROPOSAL_DIVEST)); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - proposalVest.save(); - transaction.save(); -} - -export function onModifiedPrivateInvestors(event: ModifiedPrivateInvestors): void { - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.sender, - event.address - ); - - let onlyPool = getOnlyPool(event.transaction.hash, event.address, transaction.interactionsCount); - - onlyPool.transaction = transaction.id; - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.POOL_UPDATE_INVESTORS)); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.save(); - onlyPool.save(); -} - -export function onModifiedAdmins(event: ModifiedAdmins): void { - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.sender, - event.address - ); - - let onlyPool = getOnlyPool(event.transaction.hash, event.address, transaction.interactionsCount); - - onlyPool.transaction = transaction.id; - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.POOL_UPDATE_MANAGERS)); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.save(); - onlyPool.save(); -} - -export function onCommissionClaimed(event: CommissionClaimed): void { - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.sender, - event.address - ); - - let perfomanceFee = getGetPerformanceFee( - event.transaction.hash, - event.params.traderBaseClaimed, - event.params.traderLpClaimed, - transaction.interactionsCount - ); - - perfomanceFee.transaction = transaction.id; - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.TRADER_GET_PERFOMANCE_FEE)); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.save(); - perfomanceFee.save(); -} - -function setupVest( - transaction: Transaction, - baseAmount: BigInt, - lpAmount: BigInt, - hash: Bytes, - type: BigInt, - pool: Address, - count: BigInt -): void { - let vest = getVest(hash, baseAmount, lpAmount, pool, count); - - transaction.type = push(transaction.type, type); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - vest.transaction = transaction.id; - - transaction.save(); - vest.save(); -} diff --git a/AllInteractions/src/mappings/TraderPoolInvestProposal.ts b/AllInteractions/src/mappings/TraderPoolInvestProposal.ts deleted file mode 100644 index fed0c181..00000000 --- a/AllInteractions/src/mappings/TraderPoolInvestProposal.ts +++ /dev/null @@ -1,208 +0,0 @@ -import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { upcastCopy } from "@solarity/graph-lib"; -import { - ProposalClaimed, - ProposalConverted, - ProposalCreated, - ProposalInvested, - ProposalRestrictionsChanged, - ProposalSupplied, - ProposalWithdrawn, -} from "../../generated/templates/TraderPoolInvestProposal/TraderPoolInvestProposal"; -import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; -import { getInvestProposalClaimOrSupply } from "../entities/trader-pool/invest-proposal/InvestProposalClaimSupply"; -import { getInvestProposalConvertToDividends } from "../entities/trader-pool/invest-proposal/InvestProposalConvertToDividends"; -import { getInvestProposalCreate } from "../entities/trader-pool/invest-proposal/InvestProposalCreate"; -import { getInvestProposalEdited } from "../entities/trader-pool/invest-proposal/InvestProposalEdited"; -import { getInvestProposalWithdraw } from "../entities/trader-pool/invest-proposal/InvestProposalWithdraw"; -import { getProposalContract } from "../entities/trader-pool/ProposalContract"; -import { getProposalVest } from "../entities/trader-pool/risky-proposal/ProposalVest"; -import { getTraderPool } from "../entities/trader-pool/TraderPool"; -import { getTransaction } from "../entities/transaction/Transaction"; -import { push } from "../helpers/ArrayHelper"; - -export function onProposalCreated(event: ProposalCreated): void { - let proposalContract = getProposalContract(event.address); - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - getTraderPool(Address.fromBytes(proposalContract.pool)).trader, - proposalContract.pool - ); - let proposalCreate = getInvestProposalCreate( - event.transaction.hash, - proposalContract.pool, - event.params.proposalId, - transaction.interactionsCount - ); - - proposalCreate.transaction = transaction.id; - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.INVEST_PROPOSAL_CREATE)); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - - proposalCreate.save(); - transaction.save(); -} - -export function onProposalWithdrawn(event: ProposalWithdrawn): void { - let pool = getProposalContract(event.address).pool; - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.sender, - pool - ); - let withdraw = getInvestProposalWithdraw( - event.transaction.hash, - pool, - event.params.proposalId, - event.params.amount, - transaction.interactionsCount - ); - - withdraw.transaction = transaction.id; - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.INVEST_PROPOSAL_WITHDRAW)); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - - withdraw.save(); - transaction.save(); -} - -export function onProposalSupplied(event: ProposalSupplied): void { - let pool = getProposalContract(event.address).pool; - - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.sender, - pool - ); - - let supply = getInvestProposalClaimOrSupply( - event.transaction.hash, - pool, - event.params.proposalId, - upcastCopy(event.params.tokens), - event.params.amounts, - transaction.interactionsCount - ); - - supply.transaction = transaction.id; - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.INVEST_PROPOSAL_SUPPLY)); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - - supply.save(); - transaction.save(); -} - -export function onProposalClaimed(event: ProposalClaimed): void { - let pool = getProposalContract(event.address).pool; - - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.user, - pool - ); - let supply = getInvestProposalClaimOrSupply( - event.transaction.hash, - pool, - event.params.proposalId, - upcastCopy(event.params.tokens), - event.params.amounts, - transaction.interactionsCount - ); - - supply.transaction = transaction.id; - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.INVEST_PROPOSAL_CLAIM)); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - - supply.save(); - transaction.save(); -} - -export function onProposalRestrictionsChanged(event: ProposalRestrictionsChanged): void { - let pool = getProposalContract(event.address).pool; - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.sender, - pool - ); - - let edit = getInvestProposalEdited( - event.transaction.hash, - event.params.proposalId, - pool, - transaction.interactionsCount - ); - edit.transaction = transaction.id; - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.INVEST_PROPOSAL_EDIT)); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - - edit.save(); - transaction.save(); -} - -export function onProposalInvest(event: ProposalInvested): void { - let pool = getProposalContract(event.address).pool; - - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.user, - pool - ); - - let vest = getProposalVest( - event.transaction.hash, - pool, - event.params.proposalId, - event.params.investedBase, - event.params.receivedLP2, - transaction.interactionsCount - ); - vest.transaction = transaction.id; - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.INVEST_PROPOSAL_INVEST)); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - - vest.save(); - transaction.save(); -} - -export function onProposalConverted(event: ProposalConverted): void { - let pool = getProposalContract(event.address).pool; - - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.user, - pool - ); - - let convertToDividends = getInvestProposalConvertToDividends( - event.transaction.hash, - pool, - event.params.proposalId, - event.params.amount, - event.params.baseToken, - transaction.interactionsCount - ); - - convertToDividends.transaction = transaction.id; - transaction.type = push( - transaction.type, - getEnumBigInt(TransactionType.INVEST_PROPOSAL_CONVERT_TO_DIVIDENDS) - ); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - - convertToDividends.save(); - transaction.save(); -} diff --git a/AllInteractions/src/mappings/TraderPoolRiskyProposal.ts b/AllInteractions/src/mappings/TraderPoolRiskyProposal.ts deleted file mode 100644 index b10051d7..00000000 --- a/AllInteractions/src/mappings/TraderPoolRiskyProposal.ts +++ /dev/null @@ -1,150 +0,0 @@ -import { Address, BigInt } from "@graphprotocol/graph-ts"; -import { - ProposalCreated, - ProposalExchanged, - ProposalInvested, - ProposalDivested, - ProposalRestrictionsChanged, -} from "../../generated/templates/TraderPoolRiskyProposal/TraderPoolRiskyProposal"; -import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; -import { getProposalContract } from "../entities/trader-pool/ProposalContract"; -import { getRiskyProposalCreate } from "../entities/trader-pool/risky-proposal/RiskyProposalCreate"; -import { getRiskyProposalEdited } from "../entities/trader-pool/risky-proposal/RiskyProposalEdited"; -import { getRiskyProposalExchange } from "../entities/trader-pool/risky-proposal/RiskyProposalExchange"; -import { getProposalVest } from "../entities/trader-pool/risky-proposal/ProposalVest"; -import { getTraderPool } from "../entities/trader-pool/TraderPool"; -import { getTransaction } from "../entities/transaction/Transaction"; -import { push } from "../helpers/ArrayHelper"; - -export function onProposalCreated(event: ProposalCreated): void { - let proposalContract = getProposalContract(event.address); - - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - getTraderPool(Address.fromBytes(proposalContract.pool)).trader, - proposalContract.pool - ); - - let proposalCreate = getRiskyProposalCreate( - event.transaction.hash, - proposalContract.pool, - event.params.proposalId, - event.params.token, - transaction.interactionsCount - ); - - proposalCreate.transaction = transaction.id; - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.RISKY_PROPOSAL_CREATE)); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - - proposalCreate.save(); - transaction.save(); -} - -export function onProposalExchange(event: ProposalExchanged): void { - let pool = getProposalContract(event.address).pool; - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.sender, - pool - ); - let exchange = getRiskyProposalExchange( - event.transaction.hash, - pool, - event.params.proposalId, - event.params.fromToken, - event.params.toToken, - event.params.fromVolume, - event.params.toVolume, - transaction.interactionsCount - ); - - exchange.transaction = transaction.id; - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.RISKY_PROPOSAL_SWAP)); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - - exchange.save(); - transaction.save(); -} - -export function onProposalInvest(event: ProposalInvested): void { - let pool = getProposalContract(event.address).pool; - - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.user, - pool - ); - let vest = getProposalVest( - event.transaction.hash, - pool, - event.params.proposalId, - event.params.investedBase, - event.params.receivedLP2, - transaction.interactionsCount - ); - vest.transaction = transaction.id; - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.RISKY_PROPOSAL_INVEST)); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - - vest.save(); - transaction.save(); -} - -export function onProposalDivest(event: ProposalDivested): void { - let pool = getProposalContract(event.address).pool; - - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.user, - pool - ); - let vest = getProposalVest( - event.transaction.hash, - pool, - event.params.proposalId, - event.params.receivedBase, - event.params.divestedLP2, - transaction.interactionsCount - ); - - vest.transaction = transaction.id; - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.RISKY_PROPOSAL_DIVEST)); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - - vest.save(); - transaction.save(); -} - -export function onProposalRestrictionsChanged(event: ProposalRestrictionsChanged): void { - let pool = getProposalContract(event.address).pool; - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.sender, - pool - ); - - let edit = getRiskyProposalEdited( - event.transaction.hash, - event.params.proposalId, - pool, - transaction.interactionsCount - ); - - edit.transaction = transaction.id; - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.RISKY_PROPOSAL_EDIT)); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - - edit.save(); - transaction.save(); -} diff --git a/AllInteractions/subgraph.yaml b/AllInteractions/subgraph.yaml index 0888a484..4f05f54f 100644 --- a/AllInteractions/subgraph.yaml +++ b/AllInteractions/subgraph.yaml @@ -20,8 +20,6 @@ dataSources: - name: PoolFactory file: ./abis/PoolFactory.json eventHandlers: - - event: TraderPoolDeployed(string,string,string,address,address,address,address,uint256,string) - handler: onTraderPoolDeployed - event: DaoPoolDeployed(string,address,address,address,address,address,address,address,address) handler: onDaoPoolDeployed @@ -48,122 +46,7 @@ dataSources: - event: UpdatedProfile(address,string) handler: onUpdatedProfile - - kind: ethereum/contract - name: Insurance - network: chapel - source: - address: "0xF13120985Fa715e453B941ae386a1A3245A7198A" - abi: Insurance - startBlock: 32093342 - mapping: - kind: ethereum/events - apiVersion: 0.0.6 - language: wasm/assemblyscript - file: ./src/mappings/Insurance.ts - entities: - - Investor - abis: - - name: Insurance - file: ./abis/Insurance.json - eventHandlers: - - event: Deposited(uint256,address) - handler: onDeposit - - event: Withdrawn(uint256,address) - handler: onWithdraw - templates: - - kind: ethereum/contract - name: TraderPool - network: chapel - source: - abi: TraderPool - mapping: - kind: ethereum/events - apiVersion: 0.0.6 - language: wasm/assemblyscript - file: ./src/mappings/TraderPool.ts - entities: - - TraderPool - - Position - abis: - - name: TraderPool - file: ./abis/TraderPool.json - eventHandlers: - - event: Exchanged(address,address,address,uint256,uint256) - handler: onExchange - - event: Invested(address,uint256,uint256) - handler: onInvest - - event: Divested(address,uint256,uint256) - handler: onDivest - - event: DescriptionURLChanged(address,string) - handler: onDescriptionURLChanged - - event: ProposalDivested(uint256,address,uint256,uint256,uint256) - handler: onProposalDivest - - event: ModifiedPrivateInvestors(address,address[],bool) - handler: onModifiedPrivateInvestors - - event: ModifiedAdmins(address,address[],bool) - handler: onModifiedAdmins - - event: CommissionClaimed(address,uint256,uint256) - handler: onCommissionClaimed - - - kind: ethereum/contract - name: TraderPoolRiskyProposal - network: chapel - source: - abi: TraderPoolRiskyProposal - mapping: - kind: ethereum/events - apiVersion: 0.0.6 - language: wasm/assemblyscript - file: ./src/mappings/TraderPoolRiskyProposal.ts - entities: - - TraderPoolRiskyProposal - abis: - - name: TraderPoolRiskyProposal - file: ./abis/TraderPoolRiskyProposal.json - eventHandlers: - - event: ProposalCreated(uint256,address,(uint256,uint256,uint256)) - handler: onProposalCreated - - event: ProposalExchanged(uint256,address,address,address,uint256,uint256) - handler: onProposalExchange - - event: ProposalInvested(uint256,address,uint256,uint256,uint256) - handler: onProposalInvest - - event: ProposalDivested(uint256,address,uint256,uint256,uint256) - handler: onProposalDivest - - event: ProposalRestrictionsChanged(uint256,address) - handler: onProposalRestrictionsChanged - - - kind: ethereum/contract - name: TraderPoolInvestProposal - network: chapel - source: - abi: TraderPoolInvestProposal - mapping: - kind: ethereum/events - apiVersion: 0.0.6 - language: wasm/assemblyscript - file: ./src/mappings/TraderPoolInvestProposal.ts - entities: - - TraderPoolInvestProposal - abis: - - name: TraderPoolInvestProposal - file: ./abis/TraderPoolInvestProposal.json - eventHandlers: - - event: ProposalCreated(uint256,(uint256,uint256)) - handler: onProposalCreated - - event: ProposalWithdrawn(uint256,address,uint256) - handler: onProposalWithdrawn - - event: ProposalSupplied(uint256,address,uint256[],address[]) - handler: onProposalSupplied - - event: ProposalClaimed(uint256,address,uint256[],address[]) - handler: onProposalClaimed - - event: ProposalRestrictionsChanged(uint256,address) - handler: onProposalRestrictionsChanged - - event: ProposalInvested(uint256,address,uint256,uint256,uint256) - handler: onProposalInvest - - event: ProposalConverted(uint256,address,uint256,address) - handler: onProposalConverted - - kind: ethereum/contract name: DaoPool network: chapel diff --git a/AllInteractions/tests/DaoPool.test.ts b/AllInteractions/tests/DaoPool.test.ts index bf994cf0..5fbc7dd7 100644 --- a/AllInteractions/tests/DaoPool.test.ts +++ b/AllInteractions/tests/DaoPool.test.ts @@ -1,19 +1,9 @@ import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { - afterEach, - assert, - beforeAll, - clearStore, - describe, - logStore, - newMockEvent, - test, -} from "matchstick-as/assembly/index"; +import { afterEach, assert, clearStore, describe, newMockEvent, test } from "matchstick-as/assembly/index"; import { assertTransaction, getBlock, getNextTx, getTransaction } from "./utils"; import { Delegated, Deposited, - DPCreated, MovedToValidators, OffchainResultsSaved, ProposalCreated, @@ -302,6 +292,7 @@ describe("DaoPool", () => { onProposalCreated(event); + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); assert.fieldEquals("DaoProposalCreate", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); assert.fieldEquals("DaoProposalCreate", tx.hash.concatI32(0).toHexString(), "proposalId", proposalId.toString()); @@ -325,6 +316,7 @@ describe("DaoPool", () => { onDelegated(event0); + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); @@ -341,6 +333,7 @@ describe("DaoPool", () => { onDelegated(event1); + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); @@ -364,6 +357,7 @@ describe("DaoPool", () => { onRequested(event0); + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); @@ -404,6 +398,7 @@ describe("DaoPool", () => { onVoted(event); + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); assert.fieldEquals("DaoPoolVote", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); assert.fieldEquals("DaoPoolVote", tx.hash.concatI32(0).toHexString(), "voteType", voteType.toString()); assert.fieldEquals("DaoPoolVote", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); @@ -427,6 +422,7 @@ describe("DaoPool", () => { onProposalExecuted(event); + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); assert.fieldEquals("DaoPoolExecute", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); assert.fieldEquals("DaoPoolExecute", tx.hash.concatI32(0).toHexString(), "proposalId", proposalId.toString()); assert.fieldEquals("DaoPoolExecute", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); @@ -479,6 +475,7 @@ describe("DaoPool", () => { onRewardClaimed(event); + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); assert.fieldEquals("DaoPoolRewardClaim", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); assert.fieldEquals( "DaoPoolRewardClaim", @@ -541,6 +538,7 @@ describe("DaoPool", () => { onDeposited(event); + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); assert.fieldEquals("DaoPoolVest", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); assert.fieldEquals("DaoPoolVest", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); assert.fieldEquals("DaoPoolVest", tx.hash.concatI32(0).toHexString(), "nfts", `[${nfts[0]}, ${nfts[1]}]`); @@ -585,6 +583,7 @@ describe("DaoPool", () => { onWithdrawn(event); + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); assert.fieldEquals("DaoPoolVest", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); assert.fieldEquals("DaoPoolVest", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); assert.fieldEquals("DaoPoolVest", tx.hash.concatI32(0).toHexString(), "nfts", `[${nfts[0]}, ${nfts[1]}]`); @@ -628,6 +627,7 @@ describe("DaoPool", () => { onMovedToValidators(event); + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); assert.fieldEquals( "DaoPoolMovedToValidators", tx.hash.concatI32(0).toHexString(), @@ -687,6 +687,7 @@ describe("DaoPool", () => { onOffchainResultsSaved(event); + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); assert.fieldEquals( "DaoPoolOffchainResultsSaved", tx.hash.concatI32(0).toHexString(), diff --git a/AllInteractions/tests/DaoValidators.test.ts b/AllInteractions/tests/DaoValidators.test.ts index 4bbb8e21..69f1ece8 100644 --- a/AllInteractions/tests/DaoValidators.test.ts +++ b/AllInteractions/tests/DaoValidators.test.ts @@ -1,28 +1,13 @@ -import { Address, ethereum, BigInt, Bytes, log } from "@graphprotocol/graph-ts"; -import { - afterEach, - assert, - beforeAll, - beforeEach, - clearStore, - createMockedFunction, - describe, - logStore, - newMockEvent, - test, -} from "matchstick-as/assembly/index"; +import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { afterEach, assert, clearStore, describe, newMockEvent, test } from "matchstick-as/assembly/index"; import { onInternalProposalCreated, onInternalProposalExecuted, onVoted } from "../src/mappings/DaoValidators"; import { Voted, - ChangedValidatorsBalances, - ExternalProposalCreated, InternalProposalCreated, InternalProposalExecuted, } from "../generated/templates/DaoValidators/DaoValidators"; import { assertTransaction, getBlock, getNextTx, getTransaction } from "./utils"; -import { DaoPoolDeployed } from "../generated/PoolFactory/PoolFactory"; -import { onDaoPoolDeployed } from "../src/mappings/PoolFactory"; import { TransactionType } from "../src/entities/global/TransactionTypeEnum"; function createInternalProposalCreated( @@ -114,6 +99,7 @@ describe("DaoValidators", () => { onInternalProposalCreated(event); + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); assert.fieldEquals( "DaoValidatorProposalCreate", tx.hash.concatI32(0).toHexString(), @@ -153,6 +139,7 @@ describe("DaoValidators", () => { onInternalProposalExecuted(event); + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); assert.fieldEquals( "DaoValidatorProposalExecute", tx.hash.concatI32(1).toHexString(), @@ -235,6 +222,7 @@ describe("DaoValidators", () => { onVoted(event); + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); assert.fieldEquals( "DaoValidatorProposalVote", tx.hash.concatI32(0).toHexString(), diff --git a/AllInteractions/tests/Insurance.test.ts b/AllInteractions/tests/Insurance.test.ts deleted file mode 100644 index 1d53ddfb..00000000 --- a/AllInteractions/tests/Insurance.test.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { Deposited, Withdrawn } from "../generated/Insurance/Insurance"; -import { afterEach, assert, clearStore, describe, newMockEvent, test } from "matchstick-as/assembly/index"; -import { Address, BigInt, Bytes, ethereum } from "@graphprotocol/graph-ts"; -import { assertTransaction, getBlock, getTransaction } from "./utils"; -import { onDeposit, onWithdraw } from "../src/mappings/Insurance"; -import { TransactionType } from "../src/entities/global/TransactionTypeEnum"; - -function createDepositEvent( - amount: BigInt, - investor: Address, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): Deposited { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); - event.parameters.push(new ethereum.EventParam("investor", ethereum.Value.fromAddress(investor))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createWithdrawEvent( - amount: BigInt, - investor: Address, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): Withdrawn { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); - event.parameters.push(new ethereum.EventParam("investor", ethereum.Value.fromAddress(investor))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); -const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); - -describe("Insurance", () => { - afterEach(() => { - clearStore(); - }); - - test("should handle deposit event", () => { - let expectedAmount = BigInt.fromI32(100).pow(18); - let expectedInvestor = Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"); - let expectedSender = Address.fromString("0x86e98f7d84603AEb97cd1c89A80A9e914f181679"); - let event = createDepositEvent(expectedAmount, expectedInvestor, expectedSender, block, tx); - - onDeposit(event); - - assert.fieldEquals("InsuranceStake", tx.hash.concatI32(0).toHexString(), "amount", expectedAmount.toString()); - assert.fieldEquals("InsuranceStake", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - - assertTransaction( - tx.hash, - event.params.investor, - block, - `[${TransactionType.INSURANCE_STAKE}]`, - BigInt.fromI32(1), - Bytes.empty() - ); - }); - - test("should handle withdraw event", () => { - let expectedAmount = BigInt.fromI32(100).pow(18); - let expectedInvestor = Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"); - let expectedSender = Address.fromString("0x86e98f7d84603AEb97cd1c89A80A9e914f181679"); - let event = createWithdrawEvent(expectedAmount, expectedInvestor, expectedSender, block, tx); - - onWithdraw(event); - - assert.fieldEquals("InsuranceStake", tx.hash.concatI32(0).toHexString(), "amount", expectedAmount.toString()); - assert.fieldEquals("InsuranceStake", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - - assertTransaction( - tx.hash, - event.params.investor, - block, - `[${TransactionType.INSURANCE_UNSTAKE}]`, - BigInt.fromI32(1), - Bytes.empty() - ); - }); -}); diff --git a/AllInteractions/tests/PoolFactory.test.ts b/AllInteractions/tests/PoolFactory.test.ts index 3ca3842b..d8ac5e70 100644 --- a/AllInteractions/tests/PoolFactory.test.ts +++ b/AllInteractions/tests/PoolFactory.test.ts @@ -1,43 +1,9 @@ -import { DaoPoolDeployed, TraderPoolDeployed } from "../generated/PoolFactory/PoolFactory"; +import { DaoPoolDeployed } from "../generated/PoolFactory/PoolFactory"; import { afterEach, assert, clearStore, describe, newMockEvent, test } from "matchstick-as/assembly/index"; import { assertTransaction, getBlock, getTransaction } from "./utils"; import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { onDaoPoolDeployed, onTraderPoolDeployed } from "../src/mappings/PoolFactory"; -import { BASIC_POOL_NAME } from "../src/entities/global/globals"; +import { onDaoPoolDeployed } from "../src/mappings/PoolFactory"; import { TransactionType } from "../src/entities/global/TransactionTypeEnum"; -import { DaoPool } from "../generated/templates"; - -function createTraderPoolDeployed( - poolType: string, - symbol: string, - name: string, - at: Address, - proposalContract: Address, - trader: Address, - basicToken: Address, - commission: BigInt, - descriptionURL: string, - block: ethereum.Block, - tx: ethereum.Transaction -): TraderPoolDeployed { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("poolType", ethereum.Value.fromString(poolType))); - event.parameters.push(new ethereum.EventParam("symbol", ethereum.Value.fromString(symbol))); - event.parameters.push(new ethereum.EventParam("name", ethereum.Value.fromString(name))); - event.parameters.push(new ethereum.EventParam("at", ethereum.Value.fromAddress(at))); - event.parameters.push(new ethereum.EventParam("proposalContract", ethereum.Value.fromAddress(proposalContract))); - event.parameters.push(new ethereum.EventParam("trader", ethereum.Value.fromAddress(trader))); - event.parameters.push(new ethereum.EventParam("basicToken", ethereum.Value.fromAddress(basicToken))); - event.parameters.push(new ethereum.EventParam("commission", ethereum.Value.fromUnsignedBigInt(commission))); - event.parameters.push(new ethereum.EventParam("descriptionURL", ethereum.Value.fromString(descriptionURL))); - - event.block = block; - event.transaction = tx; - - return event; -} function createDaoPoolDeployed( name: string, @@ -79,46 +45,6 @@ describe("PoolFactory", () => { clearStore(); }); - test("should handle TraderPoolDeployed event", () => { - let expectedPoolType = BASIC_POOL_NAME; - let expectedSymbol = "BSTP"; - let expectedName = "Basic Trader Pool"; - let expectedAt = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181679"); - let expectedProposalContract = Address.fromString("0x86e98f7d84603AEb97cd1c88A80A9e914f181679"); - let expectedTrader = Address.fromString("0x86e98f7d84603AEb97cd1c89A80A9e914f181699"); - let expectedBasicTrader = Address.fromString("0x86e98f7d84603AEb97ad1c89A80A9e914f181679"); - let expectedCommission = BigInt.fromI32(300); - let expectedDescriptionURL = "URL"; - let event = createTraderPoolDeployed( - expectedPoolType, - expectedSymbol, - expectedName, - expectedAt, - expectedProposalContract, - expectedTrader, - expectedBasicTrader, - expectedCommission, - expectedDescriptionURL, - block, - tx - ); - - onTraderPoolDeployed(event); - - assert.fieldEquals("PoolCreate", tx.hash.concatI32(0).toHexString(), "pool", expectedAt.toHexString()); - assert.fieldEquals("PoolCreate", tx.hash.concatI32(0).toHexString(), "symbol", expectedSymbol); - assert.fieldEquals("PoolCreate", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - - assertTransaction( - tx.hash, - event.params.trader, - block, - `[${TransactionType.POOL_CREATE}]`, - BigInt.fromI32(1), - expectedAt - ); - }); - test("should handle DaoPoolDeployed event", () => { let name = "DAO_POOL"; let govPool = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181619"); @@ -146,6 +72,8 @@ describe("PoolFactory", () => { onDaoPoolDeployed(event); + assert.fieldEquals("Pool", govPool.toHexString(), "id", govPool.toHexString()); + assert.fieldEquals("Pool", validators.toHexString(), "id", validators.toHexString()); assert.fieldEquals("DaoPoolCreate", tx.hash.concatI32(0).toHexString(), "pool", govPool.toHexString()); assert.fieldEquals("DaoPoolCreate", tx.hash.concatI32(0).toHexString(), "name", name); diff --git a/AllInteractions/tests/TraderPool.test.ts b/AllInteractions/tests/TraderPool.test.ts deleted file mode 100644 index ee8e279b..00000000 --- a/AllInteractions/tests/TraderPool.test.ts +++ /dev/null @@ -1,483 +0,0 @@ -import { Address, BigInt, ethereum, Bytes } from "@graphprotocol/graph-ts"; -import { afterEach, assert, clearStore, describe, newMockEvent, test } from "matchstick-as"; -import { - DescriptionURLChanged, - Divested, - Exchanged, - Invested, - ModifiedAdmins, - ProposalDivested, - ModifiedPrivateInvestors, - CommissionClaimed, -} from "../generated/templates/TraderPool/TraderPool"; -import { assertTransaction, getBlock, getNextTx, getTransaction } from "./utils"; -import { - onCommissionClaimed, - onDescriptionURLChanged, - onDivest, - onExchange, - onInvest, - onModifiedAdmins, - onModifiedPrivateInvestors, - onProposalDivest, -} from "../src/mappings/TraderPool"; -import { TransactionType } from "../src/entities/global/TransactionTypeEnum"; - -function createExchangeEvent( - user: Address, - fromToken: Address, - toToken: Address, - fromVolume: BigInt, - toVolume: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): Exchanged { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("fromToken", ethereum.Value.fromAddress(fromToken))); - event.parameters.push(new ethereum.EventParam("toToken", ethereum.Value.fromAddress(toToken))); - event.parameters.push(new ethereum.EventParam("fromVolume", ethereum.Value.fromUnsignedBigInt(fromVolume))); - event.parameters.push(new ethereum.EventParam("toToken", ethereum.Value.fromUnsignedBigInt(toVolume))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createInvestedEvent( - user: Address, - investedBase: BigInt, - receivedLP: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): Invested { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("investedBase", ethereum.Value.fromUnsignedBigInt(investedBase))); - event.parameters.push(new ethereum.EventParam("receivedLP", ethereum.Value.fromUnsignedBigInt(receivedLP))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createDivestedEvent( - user: Address, - receivedBase: BigInt, - divestedLP: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): Divested { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("divestedLP", ethereum.Value.fromUnsignedBigInt(divestedLP))); - event.parameters.push(new ethereum.EventParam("receivedBase", ethereum.Value.fromUnsignedBigInt(receivedBase))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createDescriptionURLChanged( - user: Address, - descriptionURL: string, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): DescriptionURLChanged { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("descriptionURL", ethereum.Value.fromString(descriptionURL))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createProposalDivest( - proposalId: BigInt, - user: Address, - divestedLP2: BigInt, - receivedLP: BigInt, - receivedBase: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalDivested { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("divestedLP2", ethereum.Value.fromUnsignedBigInt(divestedLP2))); - event.parameters.push(new ethereum.EventParam("receivedLP", ethereum.Value.fromUnsignedBigInt(receivedLP))); - event.parameters.push(new ethereum.EventParam("receivedBase", ethereum.Value.fromUnsignedBigInt(receivedBase))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createModifiedPrivateInvestors( - user: Address, - privateInvestors: Address[], - add: boolean, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ModifiedPrivateInvestors { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("privateInvestors", ethereum.Value.fromAddressArray(privateInvestors))); - event.parameters.push(new ethereum.EventParam("add", ethereum.Value.fromBoolean(add))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createModifiedAdmins( - user: Address, - admins: Address[], - add: boolean, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ModifiedAdmins { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("admins", ethereum.Value.fromAddressArray(admins))); - event.parameters.push(new ethereum.EventParam("add", ethereum.Value.fromBoolean(add))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createCommissionClaimed( - user: Address, - traderLpClaimed: BigInt, - traderBaseClaimed: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): CommissionClaimed { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("traderLpClaimed", ethereum.Value.fromUnsignedBigInt(traderLpClaimed))); - event.parameters.push( - new ethereum.EventParam("traderLpClaimed", ethereum.Value.fromUnsignedBigInt(traderBaseClaimed)) - ); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); -const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); -const sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181679"); - -describe("TraderPool", () => { - afterEach(() => { - clearStore(); - }); - - test("should handle exchange event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let fromToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181670"); - let toToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181979"); - let fromVolume = BigInt.fromI32(100).pow(18); - let toVolume = BigInt.fromI32(10).pow(18); - - let event = createExchangeEvent(user, fromToken, toToken, fromVolume, toVolume, sender, block, tx); - - onExchange(event); - - assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); - assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString(), "fromToken", fromToken.toHexString()); - assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString(), "toToken", toToken.toHexString()); - assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString(), "fromVolume", fromVolume.toString()); - assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString(), "toVolume", toVolume.toString()); - assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - - assertTransaction(tx.hash, event.params.sender, block, `[${TransactionType.SWAP}]`, BigInt.fromI32(1), sender); - }); - - test("should handle invested event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let investedBase = BigInt.fromI32(100).pow(18); - let receivedLP = BigInt.fromI32(10).pow(18); - - let event = createInvestedEvent(user, investedBase, receivedLP, sender, block, tx); - - onInvest(event); - - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "baseAmount", investedBase.toString()); - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "lpAmount", receivedLP.toString()); - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - - assertTransaction(tx.hash, event.params.user, block, `[${TransactionType.INVEST}]`, BigInt.fromI32(1), sender); - - const nextTx = getNextTx(tx); - - user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); - investedBase = BigInt.fromI32(50).pow(18); - receivedLP = BigInt.fromI32(5).pow(18); - - event = createInvestedEvent(user, investedBase, receivedLP, sender, block, nextTx); - - onInvest(event); - - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "baseAmount", investedBase.toString()); - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "lpAmount", receivedLP.toString()); - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "transaction", nextTx.hash.toHexString()); - - assertTransaction(nextTx.hash, event.params.user, block, `[${TransactionType.INVEST}]`, BigInt.fromI32(1), sender); - }); - - test("should handle divested event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let receivedBase = BigInt.fromI32(100).pow(18); - let divestedLP = BigInt.fromI32(10).pow(18); - - let event = createDivestedEvent(user, receivedBase, divestedLP, sender, block, tx); - - onDivest(event); - - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "baseAmount", receivedBase.toString()); - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "lpAmount", divestedLP.toString()); - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - - assertTransaction(tx.hash, event.params.user, block, `[${TransactionType.DIVEST}]`, BigInt.fromI32(1), sender); - - const nextTx = getNextTx(tx); - - user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); - receivedBase = BigInt.fromI32(50).pow(18); - divestedLP = BigInt.fromI32(5).pow(18); - - event = createDivestedEvent(user, receivedBase, divestedLP, sender, block, nextTx); - - onDivest(event); - - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "baseAmount", receivedBase.toString()); - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "lpAmount", divestedLP.toString()); - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "transaction", nextTx.hash.toHexString()); - - assertTransaction(nextTx.hash, event.params.user, block, `[${TransactionType.DIVEST}]`, BigInt.fromI32(1), sender); - }); - - test("should handle DescriptionURLChanged event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let descriptionURL = "URL_1"; - - let event = createDescriptionURLChanged(user, descriptionURL, sender, block, tx); - - onDescriptionURLChanged(event); - - assert.fieldEquals("OnlyPool", tx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); - assert.fieldEquals("OnlyPool", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - - assertTransaction(tx.hash, event.params.sender, block, `[${TransactionType.POOL_EDIT}]`, BigInt.fromI32(1), sender); - - const nextTx = getNextTx(tx); - - user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); - descriptionURL = "URL_2"; - - event = createDescriptionURLChanged(user, descriptionURL, sender, block, nextTx); - - onDescriptionURLChanged(event); - - assert.fieldEquals("OnlyPool", nextTx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); - assert.fieldEquals("OnlyPool", nextTx.hash.concatI32(0).toHexString(), "transaction", nextTx.hash.toHexString()); - - assertTransaction( - nextTx.hash, - event.params.sender, - block, - `[${TransactionType.POOL_EDIT}]`, - BigInt.fromI32(1), - sender - ); - }); - - test("should handle ProposalDivested event", () => { - let proposalId = BigInt.fromI32(1); - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let baseAmount = BigInt.fromI32(100).pow(18); - let lpAmount = BigInt.fromI32(10).pow(17); - let lp2Amount = BigInt.fromI32(10).pow(18); - - let event = createProposalDivest(proposalId, user, lp2Amount, lpAmount, baseAmount, sender, block, tx); - - onProposalDivest(event); - - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "proposalId", proposalId.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "baseAmount", baseAmount.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "lp2Amount", lp2Amount.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - - assertTransaction( - tx.hash, - event.params.user, - block, - `[${TransactionType.RISKY_PROPOSAL_DIVEST}]`, - BigInt.fromI32(1), - sender - ); - }); - - test("should handle ModifiedPrivateInvestors event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let privateInvestors = [ - Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f171670"), - Address.fromString("0x86e08f7c84603AAb97cd1c89A80A9e914f181670"), - ]; - - let event = createModifiedPrivateInvestors(user, privateInvestors, true, sender, block, tx); - - onModifiedPrivateInvestors(event); - - assert.fieldEquals("OnlyPool", tx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); - assert.fieldEquals("OnlyPool", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - - assertTransaction( - tx.hash, - event.params.sender, - block, - `[${TransactionType.POOL_UPDATE_INVESTORS}]`, - BigInt.fromI32(1), - sender - ); - - const nextTx = getNextTx(tx); - user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); - - event = createModifiedPrivateInvestors(user, privateInvestors, true, sender, block, nextTx); - - onModifiedPrivateInvestors(event); - - assert.fieldEquals("OnlyPool", nextTx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); - assert.fieldEquals("OnlyPool", nextTx.hash.concatI32(0).toHexString(), "transaction", nextTx.hash.toHexString()); - - assertTransaction( - nextTx.hash, - event.params.sender, - block, - `[${TransactionType.POOL_UPDATE_INVESTORS}]`, - BigInt.fromI32(1), - sender - ); - }); - - test("should handle ModifiedAdmins event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let admins = [ - Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f171670"), - Address.fromString("0x86e08f7c84603AAb97cd1c89A80A9e914f181670"), - ]; - - let event = createModifiedAdmins(user, admins, true, sender, block, tx); - - onModifiedAdmins(event); - - assert.fieldEquals("OnlyPool", tx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); - assert.fieldEquals("OnlyPool", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - - assertTransaction( - tx.hash, - event.params.sender, - block, - `[${TransactionType.POOL_UPDATE_MANAGERS}]`, - BigInt.fromI32(1), - sender - ); - - const nextTx = getNextTx(tx); - user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); - - event = createModifiedAdmins(user, admins, true, sender, block, nextTx); - - onModifiedAdmins(event); - - assert.fieldEquals("OnlyPool", nextTx.hash.concatI32(0).toHexString(), "pool", sender.toHexString()); - assert.fieldEquals("OnlyPool", nextTx.hash.concatI32(0).toHexString(), "transaction", nextTx.hash.toHexString()); - - assertTransaction( - nextTx.hash, - event.params.sender, - block, - `[${TransactionType.POOL_UPDATE_MANAGERS}]`, - BigInt.fromI32(1), - sender - ); - }); - - test("should handle CommissionClaimed event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let traderLpClaimed = BigInt.fromI32(10).pow(18); - let traderBaseClaimed = BigInt.fromI32(100).pow(18); - - let event = createCommissionClaimed(user, traderLpClaimed, traderBaseClaimed, sender, block, tx); - - onCommissionClaimed(event); - - assert.fieldEquals( - "GetPerformanceFee", - tx.hash.concatI32(0).toHexString(), - "baseAmount", - traderBaseClaimed.toString() - ); - assert.fieldEquals("GetPerformanceFee", tx.hash.concatI32(0).toHexString(), "lpAmount", traderLpClaimed.toString()); - assert.fieldEquals("GetPerformanceFee", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - - assertTransaction( - tx.hash, - event.params.sender, - block, - `[${TransactionType.TRADER_GET_PERFOMANCE_FEE}]`, - BigInt.fromI32(1), - sender - ); - }); -}); diff --git a/AllInteractions/tests/TraderPoolInvestProposal.test.ts b/AllInteractions/tests/TraderPoolInvestProposal.test.ts deleted file mode 100644 index 7c8ed4f2..00000000 --- a/AllInteractions/tests/TraderPoolInvestProposal.test.ts +++ /dev/null @@ -1,530 +0,0 @@ -import { Address, BigInt, ethereum, Bytes } from "@graphprotocol/graph-ts"; -import { afterEach, assert, beforeEach, clearStore, describe, newMockEvent, test } from "matchstick-as"; -import { assertTransaction, getBlock, getNextTx, getTransaction } from "./utils"; -import { TransactionType } from "../src/entities/global/TransactionTypeEnum"; -import { getTraderPool } from "../src/entities/trader-pool/TraderPool"; -import { getProposalContract } from "../src/entities/trader-pool/ProposalContract"; -import { - ProposalCreated, - ProposalWithdrawn, - ProposalCreatedProposalLimitsStruct, - ProposalSupplied, - ProposalClaimed, - ProposalRestrictionsChanged, - ProposalInvested, - ProposalConverted, -} from "../generated/templates/TraderPoolInvestProposal/TraderPoolInvestProposal"; -import { - onProposalClaimed, - onProposalCreated, - onProposalRestrictionsChanged, - onProposalSupplied, - onProposalWithdrawn, - onProposalInvest, - onProposalConverted, -} from "../src/mappings/TraderPoolInvestProposal"; - -function createProposalCreated( - proposalId: BigInt, - proposalLimits: ProposalCreatedProposalLimitsStruct, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalCreated { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("proposalLimits", ethereum.Value.fromTuple(proposalLimits))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createProposalWithdrawn( - proposalId: BigInt, - user: Address, - amount: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalWithdrawn { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createProposalSupplied( - proposalId: BigInt, - user: Address, - amounts: BigInt[], - tokens: Address[], - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalSupplied { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("amounts", ethereum.Value.fromUnsignedBigIntArray(amounts))); - event.parameters.push(new ethereum.EventParam("tokens", ethereum.Value.fromAddressArray(tokens))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createProposalInvested( - proposalId: BigInt, - user: Address, - investedLP: BigInt, - investedBase: BigInt, - receivedLP2: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalInvested { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("investedLP", ethereum.Value.fromUnsignedBigInt(investedLP))); - event.parameters.push(new ethereum.EventParam("investedBase", ethereum.Value.fromUnsignedBigInt(investedBase))); - event.parameters.push(new ethereum.EventParam("receivedLP2", ethereum.Value.fromUnsignedBigInt(receivedLP2))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -function createProposalClaimed( - proposalId: BigInt, - user: Address, - amounts: BigInt[], - tokens: Address[], - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalClaimed { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("amounts", ethereum.Value.fromUnsignedBigIntArray(amounts))); - event.parameters.push(new ethereum.EventParam("tokens", ethereum.Value.fromAddressArray(tokens))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createProposalConverted( - proposalId: BigInt, - user: Address, - amount: BigInt, - baseToken: Address, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalConverted { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); - event.parameters.push(new ethereum.EventParam("baseToken", ethereum.Value.fromAddress(baseToken))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createProposalRestrictionsChanged( - proposalId: BigInt, - user: Address, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalRestrictionsChanged { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); -const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); -const sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181679"); -const proposalId = BigInt.fromI32(1); -const pool = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181670"); -const trader = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181699"); - -describe("TraderPoolInvestProposal", () => { - beforeEach(() => { - let traderPool = getTraderPool(pool, sender, trader); - traderPool.save(); - let proposal = getProposalContract(sender, pool); - proposal.save(); - }); - - afterEach(() => { - clearStore(); - }); - - test("should handle ProposalCreated event", () => { - let proposalLimits = new ProposalCreatedProposalLimitsStruct(); - - let event = createProposalCreated(proposalId, proposalLimits, sender, block, tx); - - onProposalCreated(event); - - assert.fieldEquals("InvestProposalCreate", tx.hash.concatI32(0).toHexString(), "pool", pool.toHexString()); - assert.fieldEquals("InvestProposalCreate", tx.hash.concatI32(0).toHexString(), "proposalId", proposalId.toString()); - assert.fieldEquals( - "InvestProposalCreate", - tx.hash.concatI32(0).toHexString(), - "transaction", - tx.hash.toHexString() - ); - - assertTransaction(tx.hash, trader, block, `[${TransactionType.INVEST_PROPOSAL_CREATE}]`, BigInt.fromI32(1), pool); - }); - - test("should handle ProposalWithdrawn event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let amount = BigInt.fromI32(100).pow(18); - - let event = createProposalWithdrawn(proposalId, user, amount, sender, block, tx); - - onProposalWithdrawn(event); - - assert.fieldEquals("InvestProposalWithdraw", tx.hash.concatI32(0).toHexString(), "pool", pool.toHexString()); - assert.fieldEquals( - "InvestProposalWithdraw", - tx.hash.concatI32(0).toHexString(), - "proposalId", - proposalId.toString() - ); - assert.fieldEquals("InvestProposalWithdraw", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); - assert.fieldEquals( - "InvestProposalWithdraw", - tx.hash.concatI32(0).toHexString(), - "transaction", - tx.hash.toHexString() - ); - - assertTransaction( - tx.hash, - event.params.sender, - block, - `[${TransactionType.INVEST_PROPOSAL_WITHDRAW}]`, - BigInt.fromI32(1), - pool - ); - }); - - test("should handle ProposalSupplied event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let amounts = [BigInt.fromI32(100).pow(18)]; - let tokens = [Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e014f181670")]; - - let event = createProposalSupplied(proposalId, user, amounts, tokens, sender, block, tx); - - onProposalSupplied(event); - - assert.fieldEquals("InvestProposalClaimOrSupply", tx.hash.concatI32(0).toHexString(), "pool", pool.toHexString()); - assert.fieldEquals( - "InvestProposalClaimOrSupply", - tx.hash.concatI32(0).toHexString(), - "proposalId", - proposalId.toString() - ); - assert.fieldEquals("InvestProposalClaimOrSupply", tx.hash.concatI32(0).toHexString(), "amounts", `[${amounts[0]}]`); - assert.fieldEquals( - "InvestProposalClaimOrSupply", - tx.hash.concatI32(0).toHexString(), - "tokens", - `[${tokens[0].toHexString()}]` - ); - assert.fieldEquals( - "InvestProposalClaimOrSupply", - tx.hash.concatI32(0).toHexString(), - "transaction", - tx.hash.toHexString() - ); - - assertTransaction( - tx.hash, - event.params.sender, - block, - `[${TransactionType.INVEST_PROPOSAL_SUPPLY}]`, - BigInt.fromI32(1), - pool - ); - - const nextTx = getNextTx(tx); - - user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); - - event = createProposalSupplied(proposalId, user, amounts, tokens, sender, block, nextTx); - - onProposalSupplied(event); - - assert.fieldEquals( - "InvestProposalClaimOrSupply", - nextTx.hash.concatI32(0).toHexString(), - "pool", - pool.toHexString() - ); - assert.fieldEquals( - "InvestProposalClaimOrSupply", - nextTx.hash.concatI32(0).toHexString(), - "proposalId", - proposalId.toString() - ); - assert.fieldEquals( - "InvestProposalClaimOrSupply", - nextTx.hash.concatI32(0).toHexString(), - "amounts", - `[${amounts[0]}]` - ); - assert.fieldEquals( - "InvestProposalClaimOrSupply", - tx.hash.concatI32(0).toHexString(), - "tokens", - `[${tokens[0].toHexString()}]` - ); - assert.fieldEquals( - "InvestProposalClaimOrSupply", - nextTx.hash.concatI32(0).toHexString(), - "transaction", - nextTx.hash.toHexString() - ); - - assertTransaction( - nextTx.hash, - event.params.sender, - block, - `[${TransactionType.INVEST_PROPOSAL_SUPPLY}]`, - BigInt.fromI32(1), - pool - ); - }); - - test("should handle ProposalClaimed event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let amounts = [BigInt.fromI32(100).pow(18)]; - let tokens = [Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e014f181670")]; - - let event = createProposalClaimed(proposalId, user, amounts, tokens, sender, block, tx); - - onProposalClaimed(event); - - assert.fieldEquals("InvestProposalClaimOrSupply", tx.hash.concatI32(0).toHexString(), "pool", pool.toHexString()); - assert.fieldEquals( - "InvestProposalClaimOrSupply", - tx.hash.concatI32(0).toHexString(), - "proposalId", - proposalId.toString() - ); - assert.fieldEquals("InvestProposalClaimOrSupply", tx.hash.concatI32(0).toHexString(), "amounts", `[${amounts[0]}]`); - assert.fieldEquals( - "InvestProposalClaimOrSupply", - tx.hash.concatI32(0).toHexString(), - "tokens", - `[${tokens[0].toHexString()}]` - ); - assert.fieldEquals( - "InvestProposalClaimOrSupply", - tx.hash.concatI32(0).toHexString(), - "transaction", - tx.hash.toHexString() - ); - - assertTransaction( - tx.hash, - event.params.user, - block, - `[${TransactionType.INVEST_PROPOSAL_CLAIM}]`, - BigInt.fromI32(1), - pool - ); - - const nextTx = getNextTx(tx); - - user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); - - event = createProposalClaimed(proposalId, user, amounts, tokens, sender, block, nextTx); - - onProposalClaimed(event); - - assert.fieldEquals( - "InvestProposalClaimOrSupply", - nextTx.hash.concatI32(0).toHexString(), - "pool", - pool.toHexString() - ); - assert.fieldEquals( - "InvestProposalClaimOrSupply", - nextTx.hash.concatI32(0).toHexString(), - "proposalId", - proposalId.toString() - ); - assert.fieldEquals( - "InvestProposalClaimOrSupply", - nextTx.hash.concatI32(0).toHexString(), - "amounts", - `[${amounts[0]}]` - ); - assert.fieldEquals( - "InvestProposalClaimOrSupply", - nextTx.hash.concatI32(0).toHexString(), - "tokens", - `[${tokens[0].toHexString()}]` - ); - assert.fieldEquals( - "InvestProposalClaimOrSupply", - nextTx.hash.concatI32(0).toHexString(), - "transaction", - nextTx.hash.toHexString() - ); - - assertTransaction( - nextTx.hash, - event.params.user, - block, - `[${TransactionType.INVEST_PROPOSAL_CLAIM}]`, - BigInt.fromI32(1), - pool - ); - }); - - test("should handle ProposalInvested", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let investedLP = BigInt.fromI32(10).pow(18); - let investedBase = BigInt.fromI32(100).pow(18); - let receivedLP2 = BigInt.fromI32(50).pow(17); - - let event = createProposalInvested(proposalId, user, investedLP, investedBase, receivedLP2, sender, block, tx); - - onProposalInvest(event); - - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "proposalId", proposalId.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "pool", pool.toHexString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "baseAmount", investedBase.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "lp2Amount", receivedLP2.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - - assertTransaction( - tx.hash, - event.params.user, - block, - `[${TransactionType.INVEST_PROPOSAL_INVEST}]`, - BigInt.fromI32(1), - pool - ); - }); - - test("should handle ProposalConverted", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let amount = BigInt.fromI32(10).pow(18); - let baseToken = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - - let event = createProposalConverted(proposalId, user, amount, baseToken, sender, block, tx); - - onProposalConverted(event); - - assert.fieldEquals( - "InvestProposalConvertToDividends", - tx.hash.concatI32(0).toHexString(), - "proposalId", - proposalId.toString() - ); - assert.fieldEquals( - "InvestProposalConvertToDividends", - tx.hash.concatI32(0).toHexString(), - "pool", - pool.toHexString() - ); - assert.fieldEquals( - "InvestProposalConvertToDividends", - tx.hash.concatI32(0).toHexString(), - "amount", - amount.toString() - ); - assert.fieldEquals( - "InvestProposalConvertToDividends", - tx.hash.concatI32(0).toHexString(), - "token", - baseToken.toHexString() - ); - assert.fieldEquals( - "InvestProposalConvertToDividends", - tx.hash.concatI32(0).toHexString(), - "transaction", - tx.hash.toHexString() - ); - - assertTransaction( - tx.hash, - event.params.user, - block, - `[${TransactionType.INVEST_PROPOSAL_CONVERT_TO_DIVIDENDS}]`, - BigInt.fromI32(1), - pool - ); - }); - - test("should handle ProposalRestrictionsChanged", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - - let event = createProposalRestrictionsChanged(proposalId, user, sender, block, tx); - - onProposalRestrictionsChanged(event); - - assert.fieldEquals("ProposalEdit", tx.hash.concatI32(0).toHexString(), "proposalId", proposalId.toString()); - assert.fieldEquals("ProposalEdit", tx.hash.concatI32(0).toHexString(), "pool", pool.toHexString()); - assert.fieldEquals("ProposalEdit", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - - assertTransaction( - tx.hash, - event.params.sender, - block, - `[${TransactionType.INVEST_PROPOSAL_EDIT}]`, - BigInt.fromI32(1), - pool - ); - }); -}); diff --git a/AllInteractions/tests/TraderPoolRiskyProposal.test.ts b/AllInteractions/tests/TraderPoolRiskyProposal.test.ts deleted file mode 100644 index 4989f393..00000000 --- a/AllInteractions/tests/TraderPoolRiskyProposal.test.ts +++ /dev/null @@ -1,319 +0,0 @@ -import { Address, BigInt, ethereum, Bytes } from "@graphprotocol/graph-ts"; -import { afterEach, assert, beforeEach, clearStore, describe, newMockEvent, test } from "matchstick-as"; -import { - ProposalCreated, - ProposalCreatedProposalLimitsStruct, - ProposalDivested, - ProposalExchanged, - ProposalInvested, - ProposalRestrictionsChanged, -} from "../generated/templates/TraderPoolRiskyProposal/TraderPoolRiskyProposal"; -import { assertTransaction, getBlock, getNextTx, getTransaction } from "./utils"; -import { - onProposalCreated, - onProposalDivest, - onProposalExchange, - onProposalInvest, - onProposalRestrictionsChanged, -} from "../src/mappings/TraderPoolRiskyProposal"; -import { TransactionType } from "../src/entities/global/TransactionTypeEnum"; -import { getTraderPool } from "../src/entities/trader-pool/TraderPool"; -import { getProposalContract } from "../src/entities/trader-pool/ProposalContract"; - -function createProposalCreated( - proposalId: BigInt, - token: Address, - proposalLimits: ProposalCreatedProposalLimitsStruct, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalCreated { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("token", ethereum.Value.fromAddress(token))); - event.parameters.push(new ethereum.EventParam("proposalLimits", ethereum.Value.fromTuple(proposalLimits))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createProposalExchanged( - proposalId: BigInt, - user: Address, - fromToken: Address, - toToken: Address, - fromVolume: BigInt, - toVolume: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalExchanged { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("fromToken", ethereum.Value.fromAddress(fromToken))); - event.parameters.push(new ethereum.EventParam("toToken", ethereum.Value.fromAddress(toToken))); - event.parameters.push(new ethereum.EventParam("fromVolume", ethereum.Value.fromUnsignedBigInt(fromVolume))); - event.parameters.push(new ethereum.EventParam("toVolume", ethereum.Value.fromUnsignedBigInt(toVolume))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -function createProposalInvested( - proposalId: BigInt, - user: Address, - investedLP: BigInt, - investedBase: BigInt, - receivedLP2: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalInvested { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("investedLP", ethereum.Value.fromUnsignedBigInt(investedLP))); - event.parameters.push(new ethereum.EventParam("investedBase", ethereum.Value.fromUnsignedBigInt(investedBase))); - event.parameters.push(new ethereum.EventParam("receivedLP2", ethereum.Value.fromUnsignedBigInt(receivedLP2))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -function createProposalDivested( - proposalId: BigInt, - user: Address, - receivedLP: BigInt, - receivedBase: BigInt, - divestedLP2: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalDivested { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("receivedLP2", ethereum.Value.fromUnsignedBigInt(divestedLP2))); - event.parameters.push(new ethereum.EventParam("investedLP", ethereum.Value.fromUnsignedBigInt(receivedLP))); - event.parameters.push(new ethereum.EventParam("investedBase", ethereum.Value.fromUnsignedBigInt(receivedBase))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -function createProposalRestrictionsChanged( - proposalId: BigInt, - user: Address, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalRestrictionsChanged { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); -const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); -const sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181679"); -const proposalId = BigInt.fromI32(1); -const pool = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181670"); -const trader = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181699"); - -describe("TraderPoolRiskyProposal", () => { - beforeEach(() => { - let traderPool = getTraderPool(pool, sender, trader); - traderPool.save(); - let proposal = getProposalContract(sender, pool); - proposal.save(); - }); - - afterEach(() => { - clearStore(); - }); - - test("should handle ProposalCreated event", () => { - let token = Address.fromString("0x86e08f7d84603AEb97cd1c89A85A9e914f181679"); - let proposalLimits = new ProposalCreatedProposalLimitsStruct(); - - let event = createProposalCreated(proposalId, token, proposalLimits, sender, block, tx); - - onProposalCreated(event); - - assert.fieldEquals("RiskyProposalCreate", tx.hash.concatI32(0).toHexString(), "pool", pool.toHexString()); - assert.fieldEquals("RiskyProposalCreate", tx.hash.concatI32(0).toHexString(), "proposalId", proposalId.toString()); - assert.fieldEquals("RiskyProposalCreate", tx.hash.concatI32(0).toHexString(), "token", token.toHexString()); - assert.fieldEquals("RiskyProposalCreate", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - - assertTransaction(tx.hash, trader, block, `[${TransactionType.RISKY_PROPOSAL_CREATE}]`, BigInt.fromI32(1), pool); - }); - - test("should handle ProposalExchanged event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let fromToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181670"); - let toToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181979"); - let fromVolume = BigInt.fromI32(100).pow(18); - let toVolume = BigInt.fromI32(10).pow(18); - - let event = createProposalExchanged(proposalId, user, fromToken, toToken, fromVolume, toVolume, sender, block, tx); - - onProposalExchange(event); - - assert.fieldEquals( - "RiskyProposalExchange", - tx.hash.concatI32(0).toHexString(), - "proposalId", - proposalId.toString() - ); - assert.fieldEquals("RiskyProposalExchange", tx.hash.concatI32(0).toHexString(), "pool", pool.toHexString()); - assert.fieldEquals( - "RiskyProposalExchange", - tx.hash.concatI32(0).toHexString(), - "fromToken", - fromToken.toHexString() - ); - assert.fieldEquals("RiskyProposalExchange", tx.hash.concatI32(0).toHexString(), "toToken", toToken.toHexString()); - assert.fieldEquals( - "RiskyProposalExchange", - tx.hash.concatI32(0).toHexString(), - "fromVolume", - fromVolume.toString() - ); - assert.fieldEquals("RiskyProposalExchange", tx.hash.concatI32(0).toHexString(), "toVolume", toVolume.toString()); - assert.fieldEquals( - "RiskyProposalExchange", - tx.hash.concatI32(0).toHexString(), - "transaction", - tx.hash.toHexString() - ); - - assertTransaction(tx.hash, user, block, `[${TransactionType.RISKY_PROPOSAL_SWAP}]`, BigInt.fromI32(1), pool); - }); - - test("should handle ProposalInvested event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let investedLP = BigInt.fromI32(10).pow(18); - let investedBase = BigInt.fromI32(100).pow(18); - let receivedLP2 = BigInt.fromI32(50).pow(17); - - let event = createProposalInvested(proposalId, user, investedLP, investedBase, receivedLP2, sender, block, tx); - - onProposalInvest(event); - - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "proposalId", proposalId.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "pool", pool.toHexString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "baseAmount", investedBase.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "lp2Amount", receivedLP2.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - - assertTransaction( - tx.hash, - event.params.user, - block, - `[${TransactionType.RISKY_PROPOSAL_INVEST}]`, - BigInt.fromI32(1), - pool - ); - }); - - test("should handle ProposalDivested event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let receivedLP = BigInt.fromI32(10).pow(18); - let receivedBase = BigInt.fromI32(100).pow(18); - let divestedLP2 = BigInt.fromI32(50).pow(17); - - let event = createProposalDivested(proposalId, user, receivedLP, receivedBase, divestedLP2, sender, block, tx); - - onProposalDivest(event); - - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "proposalId", proposalId.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "pool", pool.toHexString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "baseAmount", receivedBase.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "lp2Amount", divestedLP2.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - - assertTransaction( - tx.hash, - event.params.user, - block, - `[${TransactionType.RISKY_PROPOSAL_DIVEST}]`, - BigInt.fromI32(1), - pool - ); - }); - - test("should handle ProposalRestrictionsChanged event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - - let event = createProposalRestrictionsChanged(proposalId, user, sender, block, tx); - - onProposalRestrictionsChanged(event); - - assert.fieldEquals("ProposalEdit", tx.hash.concatI32(0).toHexString(), "proposalId", proposalId.toString()); - assert.fieldEquals("ProposalEdit", tx.hash.concatI32(0).toHexString(), "pool", pool.toHexString()); - assert.fieldEquals("ProposalEdit", tx.hash.concatI32(0).toHexString(), "transaction", tx.hash.toHexString()); - - assertTransaction( - tx.hash, - event.params.sender, - block, - `[${TransactionType.RISKY_PROPOSAL_EDIT}]`, - BigInt.fromI32(1), - pool - ); - - const nextTx = getNextTx(tx); - user = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); - - event = createProposalRestrictionsChanged(proposalId, user, sender, block, nextTx); - - onProposalRestrictionsChanged(event); - - assert.fieldEquals("ProposalEdit", nextTx.hash.concatI32(0).toHexString(), "proposalId", proposalId.toString()); - assert.fieldEquals("ProposalEdit", nextTx.hash.concatI32(0).toHexString(), "pool", pool.toHexString()); - assert.fieldEquals( - "ProposalEdit", - nextTx.hash.concatI32(0).toHexString(), - "transaction", - nextTx.hash.toHexString() - ); - - assertTransaction( - nextTx.hash, - event.params.sender, - block, - `[${TransactionType.RISKY_PROPOSAL_EDIT}]`, - BigInt.fromI32(1), - pool - ); - }); -}); diff --git a/AllInteractions/tests/UserRegistry.test.ts b/AllInteractions/tests/UserRegistry.test.ts index 9f968fc4..5c7627f4 100644 --- a/AllInteractions/tests/UserRegistry.test.ts +++ b/AllInteractions/tests/UserRegistry.test.ts @@ -1,5 +1,5 @@ import { Address, BigInt, Bytes, ethereum } from "@graphprotocol/graph-ts"; -import { assert, describe, newMockEvent, test } from "matchstick-as"; +import { describe, newMockEvent, test } from "matchstick-as"; import { Agreed, UpdatedProfile } from "../generated/UserRegistry/UserRegistry"; import { assertTransaction, getBlock, getNextTx, getTransaction } from "./utils"; import { onAgreed, onUpdatedProfile } from "../src/mappings/UserRegistry"; diff --git a/AllPools/.gitignore b/AllPools/.gitignore deleted file mode 100644 index 0793100e..00000000 --- a/AllPools/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -node_modules -generated/* -build -tests/.bin -tests/.latest.json -tests/.docker \ No newline at end of file diff --git a/AllPools/README.md b/AllPools/README.md deleted file mode 100644 index e69de29b..00000000 diff --git a/AllPools/abis/PoolFactory.json b/AllPools/abis/PoolFactory.json deleted file mode 100644 index f572bda1..00000000 --- a/AllPools/abis/PoolFactory.json +++ /dev/null @@ -1,1010 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "address", - "name": "govPool", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "dp", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "validators", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "settings", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "govUserKeeper", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "localExpertNft", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nftMultiplier", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "DaoPoolDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "govPool", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "tokenSale", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "DaoTokenSaleDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "poolType", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "address", - "name": "at", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "proposalContract", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "basicToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "commission", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "descriptionURL", - "type": "string" - } - ], - "name": "TraderPoolDeployed", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.TraderPoolDeployParameters", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployBasicPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "components": [ - { - "internalType": "bool", - "name": "earlyCompletion", - "type": "bool" - }, - { - "internalType": "bool", - "name": "delegatedVotingAllowed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "validatorsVote", - "type": "bool" - }, - { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "durationValidators", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "quorumValidators", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "minVotesForVoting", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minVotesForCreating", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" - }, - { - "components": [ - { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", - "type": "uint256" - } - ], - "internalType": "struct IGovSettings.RewardsInfo", - "name": "rewardsInfo", - "type": "tuple" - }, - { - "internalType": "string", - "name": "executorDescription", - "type": "string" - } - ], - "internalType": "struct IGovSettings.ProposalSettings[]", - "name": "proposalSettings", - "type": "tuple[]" - }, - { - "internalType": "address[]", - "name": "additionalProposalExecutors", - "type": "address[]" - } - ], - "internalType": "struct IPoolFactory.SettingsDeployParams", - "name": "settingsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" - } - ], - "internalType": "struct IGovValidators.ProposalSettings", - "name": "proposalSettings", - "type": "tuple" - }, - { - "internalType": "address[]", - "name": "validators", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "balances", - "type": "uint256[]" - } - ], - "internalType": "struct IPoolFactory.ValidatorsDeployParams", - "name": "validatorsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "nftAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalPowerInTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nftsTotalSupply", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.UserKeeperDeployParams", - "name": "userKeeperParams", - "type": "tuple" - }, - { - "internalType": "address", - "name": "nftMultiplierAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" - }, - { - "internalType": "address", - "name": "verifier", - "type": "address" - }, - { - "internalType": "bool", - "name": "onlyBABHolders", - "type": "bool" - }, - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "internalType": "struct IPoolFactory.GovPoolDeployParams", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployGovPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "components": [ - { - "internalType": "bool", - "name": "earlyCompletion", - "type": "bool" - }, - { - "internalType": "bool", - "name": "delegatedVotingAllowed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "validatorsVote", - "type": "bool" - }, - { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "durationValidators", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "quorumValidators", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "minVotesForVoting", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minVotesForCreating", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" - }, - { - "components": [ - { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", - "type": "uint256" - } - ], - "internalType": "struct IGovSettings.RewardsInfo", - "name": "rewardsInfo", - "type": "tuple" - }, - { - "internalType": "string", - "name": "executorDescription", - "type": "string" - } - ], - "internalType": "struct IGovSettings.ProposalSettings[]", - "name": "proposalSettings", - "type": "tuple[]" - }, - { - "internalType": "address[]", - "name": "additionalProposalExecutors", - "type": "address[]" - } - ], - "internalType": "struct IPoolFactory.SettingsDeployParams", - "name": "settingsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" - } - ], - "internalType": "struct IGovValidators.ProposalSettings", - "name": "proposalSettings", - "type": "tuple" - }, - { - "internalType": "address[]", - "name": "validators", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "balances", - "type": "uint256[]" - } - ], - "internalType": "struct IPoolFactory.ValidatorsDeployParams", - "name": "validatorsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "nftAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalPowerInTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nftsTotalSupply", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.UserKeeperDeployParams", - "name": "userKeeperParams", - "type": "tuple" - }, - { - "internalType": "address", - "name": "nftMultiplierAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" - }, - { - "internalType": "address", - "name": "verifier", - "type": "address" - }, - { - "internalType": "bool", - "name": "onlyBABHolders", - "type": "bool" - }, - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "internalType": "struct IPoolFactory.GovPoolDeployParams", - "name": "parameters", - "type": "tuple" - }, - { - "components": [ - { - "components": [ - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "internalType": "struct ITokenSaleProposal.TierMetadata", - "name": "metadata", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "totalTokenProvided", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "saleStartTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "saleEndTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "claimLockDuration", - "type": "uint64" - }, - { - "internalType": "address", - "name": "saleTokenAddress", - "type": "address" - }, - { - "internalType": "address[]", - "name": "purchaseTokenAddresses", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "exchangeRates", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "minAllocationPerUser", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxAllocationPerUser", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "vestingPercentage", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "vestingDuration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "cliffPeriod", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "unlockStep", - "type": "uint64" - } - ], - "internalType": "struct ITokenSaleProposal.VestingSettings", - "name": "vestingSettings", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "enum ITokenSaleProposal.ParticipationType", - "name": "participationType", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct ITokenSaleProposal.ParticipationDetails", - "name": "participationDetails", - "type": "tuple" - } - ], - "internalType": "struct ITokenSaleProposal.TierInitParams[]", - "name": "tiersParams", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "tierId", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" - }, - { - "internalType": "string", - "name": "uri", - "type": "string" - } - ], - "internalType": "struct ITokenSaleProposal.WhitelistingRequest[]", - "name": "whitelistParams", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "saleAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "cap", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintedTotal", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "internalType": "struct IERC20Sale.ConstructorParams", - "name": "tokenParams", - "type": "tuple" - } - ], - "internalType": "struct IPoolFactory.GovTokenSaleProposalDeployParams", - "name": "tokenSaleParameters", - "type": "tuple" - } - ], - "name": "deployGovPoolWithTokenSale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.TraderPoolDeployParameters", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployInvestPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "internalType": "string", - "name": "poolName", - "type": "string" - } - ], - "name": "predictGovAddresses", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/AllPools/abis/PoolRegistry.json b/AllPools/abis/PoolRegistry.json deleted file mode 100644 index e5f28102..00000000 --- a/AllPools/abis/PoolRegistry.json +++ /dev/null @@ -1,735 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "BASIC_POOL_NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DISTRIBUTION_PROPOSAL_NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "GOV_POOL_NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "INVEST_POOL_NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "INVEST_PROPOSAL_NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "RISKY_PROPOSAL_NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SETTINGS_NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TOKEN_SALE_PROPOSAL_NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "USER_KEEPER_NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "VALIDATORS_NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "__OwnablePoolContractsRegistry_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "address", - "name": "poolAddress", - "type": "address" - } - ], - "name": "addProxyPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "address", - "name": "poolAddress", - "type": "address" - } - ], - "name": "associateUserWithPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "name": "countAssociatedPools", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "name": "countPools", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "name": "getImplementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "name": "getProxyBeacon", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "injectDependenciesToExistingPools", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "potentialPool", - "type": "address" - } - ], - "name": "isBasicPool", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "potentialPool", - "type": "address" - } - ], - "name": "isGovPool", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "potentialPool", - "type": "address" - } - ], - "name": "isInvestPool", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "potentialPool", - "type": "address" - } - ], - "name": "isTraderPool", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "listAssociatedPools", - "outputs": [ - { - "internalType": "address[]", - "name": "pools", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "listPools", - "outputs": [ - { - "internalType": "address[]", - "name": "pools", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "listTraderPoolsWithInfo", - "outputs": [ - { - "internalType": "address[]", - "name": "pools", - "type": "address[]" - }, - { - "components": [ - { - "internalType": "string", - "name": "ticker", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderBABTId", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.PoolParameters", - "name": "parameters", - "type": "tuple" - }, - { - "internalType": "address[]", - "name": "openPositions", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "baseAndPositionBalances", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "totalBlacklistedPositions", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalInvestors", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalPoolUSD", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalPoolBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpSupply", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpLockedInProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderUSD", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderLPBalance", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.PoolInfo[]", - "name": "poolInfos", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "totalPoolUSDWithProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderLeverageUSDTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "freeLeverageUSD", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "freeLeverageBase", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.LeverageInfo[]", - "name": "leverageInfos", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string[]", - "name": "names", - "type": "string[]" - }, - { - "internalType": "address[]", - "name": "newImplementations", - "type": "address[]" - } - ], - "name": "setNewImplementations", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/AllPools/abis/PriceFeed.json b/AllPools/abis/PriceFeed.json deleted file mode 100644 index 2c479f04..00000000 --- a/AllPools/abis/PriceFeed.json +++ /dev/null @@ -1,735 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "__PriceFeed_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "pathTokens", - "type": "address[]" - } - ], - "name": "addPathTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "minAmountOut", - "type": "uint256" - } - ], - "name": "exchangeFromExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "maxAmountIn", - "type": "uint256" - } - ], - "name": "exchangeToExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getExtendedPriceIn", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getExtendedPriceOut", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getNormalizedExtendedPriceIn", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getNormalizedExtendedPriceOut", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - } - ], - "name": "getNormalizedPriceIn", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - } - ], - "name": "getNormalizedPriceInDEXE", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - } - ], - "name": "getNormalizedPriceInUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - } - ], - "name": "getNormalizedPriceOut", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - } - ], - "name": "getNormalizedPriceOutDEXE", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - } - ], - "name": "getNormalizedPriceOutUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPathTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "pool", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "getSavedPaths", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "isSupportedPathToken", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "minAmountOut", - "type": "uint256" - } - ], - "name": "normalizedExchangeFromExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "maxAmountIn", - "type": "uint256" - } - ], - "name": "normalizedExchangeToExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "pathTokens", - "type": "address[]" - } - ], - "name": "removePathTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalPathTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "uniswapFactory", - "outputs": [ - { - "internalType": "contract IUniswapV2Factory", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "uniswapV2Router", - "outputs": [ - { - "internalType": "contract IUniswapV2Router02", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/AllPools/abis/TraderPool.json b/AllPools/abis/TraderPool.json deleted file mode 100644 index d89d8e14..00000000 --- a/AllPools/abis/TraderPool.json +++ /dev/null @@ -1,2433 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "fromToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "toToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fromVolume", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toVolume", - "type": "uint256" - } - ], - "name": "ActivePortfolioExchanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "fromToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "toToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fromVolume", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toVolume", - "type": "uint256" - } - ], - "name": "Exchanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "position", - "type": "address" - } - ], - "name": "PositionOpened", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "divestedLP2", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedBase", - "type": "uint256" - } - ], - "name": "ProposalDivested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP2", - "type": "uint256" - } - ], - "name": "ProposalInvested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "ProposalJoined", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "ProposalLeft", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "ProposalRestrictionsChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "TransferBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TransferSingle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "value", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "parentPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - } - ], - "internalType": "struct ITraderPoolProposal.ParentTraderPoolInfo", - "name": "parentTraderPoolInfo", - "type": "tuple" - } - ], - "name": "__TraderPoolProposal_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "accounts", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - } - ], - "name": "balanceOfBatch", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "exists", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBaseToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInvestedBaseInUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "investedBaseUSD", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getTotalActiveInvestments", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "investedBase", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalsTotalNum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeBatchTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "totalLPBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalLockedLP", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "uri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "descriptionURL", - "type": "string" - } - ], - "name": "DescriptionURLChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "admins", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "ModifiedAdmins", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "privateInvestors", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "ModifiedPrivateInvestors", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "fromToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "toToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fromVolume", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toVolume", - "type": "uint256" - } - ], - "name": "Exchanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "position", - "type": "address" - } - ], - "name": "PositionClosed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "position", - "type": "address" - } - ], - "name": "PositionOpened", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "traderLpClaimed", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "traderBaseClaimed", - "type": "uint256" - } - ], - "name": "CommissionClaimed", - "type": "event" - }, - { - "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": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "divestedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedBase", - "type": "uint256" - } - ], - "name": "Divested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP", - "type": "uint256" - } - ], - "name": "Invested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "Joined", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "Left", - "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": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderBABTId", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.PoolParameters", - "name": "poolParameters", - "type": "tuple" - } - ], - "name": "__TraderPool_init", - "outputs": [], - "stateMutability": "nonpayable", - "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": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "canRemovePrivateInvestor", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - } - ], - "name": "changePoolParameters", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "coreProperties", - "outputs": [ - { - "internalType": "contract ICoreProperties", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "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": [], - "name": "dexeToken", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amountLP", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "minBaseOut", - "type": "uint256[]" - } - ], - "name": "divest", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountBound", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "enum ITraderPool.ExchangeType", - "name": "exType", - "type": "uint8" - } - ], - "name": "exchange", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountLP", - "type": "uint256" - } - ], - "name": "getDivestAmountsAndCommissions", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpAmount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "positions", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "givenAmounts", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "receivedAmounts", - "type": "uint256[]" - } - ], - "internalType": "struct ITraderPool.Receptions", - "name": "receptions", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "traderBaseCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderLPCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderUSDCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeBaseCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeLPCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeUSDCommission", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.Commissions", - "name": "commissions", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "enum ITraderPool.ExchangeType", - "name": "exType", - "type": "uint8" - } - ], - "name": "getExchangeAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "name": "getInvestInitialTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "lpAmount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amountInBaseToInvest", - "type": "uint256" - } - ], - "name": "getInvestTokens", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpAmount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "positions", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "givenAmounts", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "receivedAmounts", - "type": "uint256[]" - } - ], - "internalType": "struct ITraderPool.Receptions", - "name": "receptions", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getLeverageInfo", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "totalPoolUSDWithProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderLeverageUSDTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "freeLeverageUSD", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "freeLeverageBase", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.LeverageInfo", - "name": "leverageInfo", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getNextCommissionEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPoolInfo", - "outputs": [ - { - "components": [ - { - "internalType": "string", - "name": "ticker", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderBABTId", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.PoolParameters", - "name": "parameters", - "type": "tuple" - }, - { - "internalType": "address[]", - "name": "openPositions", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "baseAndPositionBalances", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "totalBlacklistedPositions", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalInvestors", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalPoolUSD", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalPoolBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpSupply", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpLockedInProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderUSD", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderLPBalance", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.PoolInfo", - "name": "poolInfo", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "offsetLimits", - "type": "uint256[]" - } - ], - "name": "getReinvestCommissions", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "traderBaseCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderLPCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderUSDCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeBaseCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeLPCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeUSDCommission", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.Commissions", - "name": "commissions", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTraderBABTId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "getUsersInfo", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "commissionUnlockTimestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "poolLPBalance", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "poolUSDShare", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "poolBaseShare", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "owedBaseCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "owedLPCommission", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.UserInfo[]", - "name": "usersInfo", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "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": [ - { - "internalType": "uint256", - "name": "amountInBaseToInvest", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "minPositionsOut", - "type": "uint256[]" - } - ], - "name": "invest", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "minLPOut", - "type": "uint256" - } - ], - "name": "investInitial", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "investorsInfo", - "outputs": [ - { - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "commissionUnlockEpoch", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "who", - "type": "address" - } - ], - "name": "isBABTHolder", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "who", - "type": "address" - } - ], - "name": "isPrivateInvestor", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "who", - "type": "address" - } - ], - "name": "isTrader", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "who", - "type": "address" - } - ], - "name": "isTraderAdmin", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "latestInvestBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "admins", - "type": "address[]" - }, - { - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "modifyAdmins", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "privateInvestors", - "type": "address[]" - }, - { - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "modifyPrivateInvestors", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "openPositions", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalPoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "offsetLimits", - "type": "uint256[]" - } - ], - "name": "reinvestCommission", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "setLatestInvestBlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalEmission", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalInvestors", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "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": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "lpAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - } - ], - "name": "updateFrom", - "outputs": [ - { - "internalType": "uint256", - "name": "baseTransfer", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "lpAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - } - ], - "name": "updateTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/AllPools/package-lock.json b/AllPools/package-lock.json deleted file mode 100644 index 5c8ef8bc..00000000 --- a/AllPools/package-lock.json +++ /dev/null @@ -1,9248 +0,0 @@ -{ - "name": "dexe", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "dexe", - "license": "UNLICENSED", - "dependencies": { - "@graphprotocol/graph-cli": "0.32.0", - "@graphprotocol/graph-ts": "0.27.0", - "@solarity/graph-lib": "^1.0.0-rc.5", - "matchstick-as": "0.5.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", - "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "dependencies": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "node_modules/@ethersproject/abstract-provider": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.3", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/web": "^5.6.1" - } - }, - "node_modules/@ethersproject/abstract-signer": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0" - } - }, - "node_modules/@ethersproject/address": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/rlp": "^5.6.1" - } - }, - "node_modules/@ethersproject/base64": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1" - } - }, - "node_modules/@ethersproject/bignumber": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "bn.js": "^5.2.1" - } - }, - "node_modules/@ethersproject/bignumber/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/@ethersproject/bytes": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/constants": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.2" - } - }, - "node_modules/@ethersproject/hash": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "node_modules/@ethersproject/keccak256": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "js-sha3": "0.8.0" - } - }, - "node_modules/@ethersproject/logger": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ] - }, - "node_modules/@ethersproject/networks": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/properties": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/rlp": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/signing-key": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/signing-key/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/@ethersproject/strings": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/transactions": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/rlp": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2" - } - }, - "node_modules/@ethersproject/web": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/base64": "^5.6.1", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "node_modules/@graphprotocol/graph-cli": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.32.0.tgz", - "integrity": "sha512-40Kii/Ttype5aNCaQn81AP7utyE6JKB5bI9QtYd6WoaS3oACICqdPA89+5UB1s9t6yXiFbWojK3e7JUokPdYfA==", - "dependencies": { - "assemblyscript": "0.19.10", - "binary-install-raw": "0.0.13", - "chalk": "3.0.0", - "chokidar": "3.5.1", - "debug": "4.3.1", - "docker-compose": "0.23.4", - "dockerode": "2.5.8", - "fs-extra": "9.0.0", - "glob": "7.1.6", - "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", - "graphql": "15.5.0", - "immutable": "3.8.2", - "ipfs-http-client": "34.0.0", - "jayson": "3.6.6", - "js-yaml": "3.13.1", - "node-fetch": "2.6.0", - "pkginfo": "0.4.1", - "prettier": "1.19.1", - "request": "2.88.2", - "semver": "7.3.5", - "sync-request": "6.1.0", - "tmp-promise": "3.0.2", - "web3-eth-abi": "1.7.0", - "which": "2.0.2", - "yaml": "1.9.2" - }, - "bin": { - "graph": "bin/graph" - } - }, - "node_modules/@graphprotocol/graph-ts": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz", - "integrity": "sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w==", - "dependencies": { - "assemblyscript": "0.19.10" - } - }, - "node_modules/@solarity/graph-lib": { - "version": "1.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", - "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", - "dependencies": { - "@graphprotocol/graph-ts": "0.29.3" - } - }, - "node_modules/@solarity/graph-lib/node_modules/@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "dependencies": { - "assemblyscript": "0.19.10" - } - }, - "node_modules/@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/lodash": { - "version": "4.14.182", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz", - "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==" - }, - "node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "node_modules/@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "node_modules/@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/ws": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", - "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "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" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/apisauce": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", - "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", - "dependencies": { - "axios": "^0.21.2", - "ramda": "^0.25.0" - } - }, - "node_modules/app-module-path": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", - "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==" - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "node_modules/asmcrypto.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", - "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" - }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", - "dependencies": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" - }, - "bin": { - "asc": "bin/asc", - "asinit": "bin/asinit" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dependencies": { - "follow-redirects": "^1.14.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/bignumber.js": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", - "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==", - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/binary-install-raw": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/binary-install-raw/-/binary-install-raw-0.0.13.tgz", - "integrity": "sha512-v7ms6N/H7iciuk6QInon3/n2mu7oRX+6knJ9xFPsJ3rQePgAqcR3CRTwUheFd8SLbiq4LL7Z4G/44L9zscdt9A==", - "dependencies": { - "axios": "^0.21.1", - "rimraf": "^3.0.2", - "tar": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==", - "bin": { - "wasm-opt": "bin/wasm-opt" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/borc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", - "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", - "dependencies": { - "bignumber.js": "^9.0.0", - "buffer": "^5.5.0", - "commander": "^2.15.0", - "ieee754": "^1.1.13", - "iso-url": "~0.4.7", - "json-text-sequence": "~0.1.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/borc/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "dependencies": { - "base-x": "^3.0.2" - } - }, - "node_modules/bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "dependencies": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "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" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/cids/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", - "dependencies": { - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "colors": "^1.1.2" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "node_modules/docker-compose": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", - "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/docker-modem": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.9.tgz", - "integrity": "sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw==", - "dependencies": { - "debug": "^3.2.6", - "JSONStream": "1.3.2", - "readable-stream": "~1.0.26-4", - "split-ca": "^1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/docker-modem/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/docker-modem/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "node_modules/docker-modem/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "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" - } - }, - "node_modules/docker-modem/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - }, - "node_modules/dockerode": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.8.tgz", - "integrity": "sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==", - "dependencies": { - "concat-stream": "~1.6.2", - "docker-modem": "^1.0.8", - "tar-fs": "~1.16.3" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", - "dependencies": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "hasInstallScript": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "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" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enquirer": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", - "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", - "dependencies": { - "ansi-colors": "^3.2.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "node_modules/es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", - "dependencies": { - "es6-promise": "^4.0.3" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "dependencies": { - "js-sha3": "^0.8.0" - } - }, - "node_modules/ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dependencies": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "node_modules/ethereum-cryptography/node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "hasInstallScript": true, - "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "dependencies": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ethereumjs-util/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", - "dependencies": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ethjs-unit/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": "^8.12.0 || >=9.7.0" - } - }, - "node_modules/explain-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", - "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==", - "engines": { - "node": "> 0.1.90" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" - }, - "node_modules/follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fs-jetpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", - "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", - "dependencies": { - "minimatch": "^3.0.2", - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fs-jetpack/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-stream/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/gluegun": { - "version": "4.3.1", - "resolved": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", - "integrity": "sha512-3jBd19vlnUxr5qwwTLSof3VTQH8YI7CKP5ABo7cmG7f0lq/GvN15QEPh4Uar14UVEfEdoEQSlTHhFaQ1nETMjg==", - "license": "MIT", - "dependencies": { - "apisauce": "^1.0.1", - "app-module-path": "^2.2.0", - "cli-table3": "~0.5.0", - "colors": "1.3.3", - "cosmiconfig": "6.0.0", - "cross-spawn": "^7.0.0", - "ejs": "^2.6.1", - "enquirer": "2.3.4", - "execa": "^3.0.0", - "fs-jetpack": "^2.2.2", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "lodash.lowercase": "^4.3.0", - "lodash.lowerfirst": "^4.3.1", - "lodash.pad": "^4.5.1", - "lodash.padend": "^4.6.1", - "lodash.padstart": "^4.6.1", - "lodash.repeat": "^4.1.0", - "lodash.snakecase": "^4.1.1", - "lodash.startcase": "^4.4.0", - "lodash.trim": "^4.5.1", - "lodash.trimend": "^4.5.1", - "lodash.trimstart": "^4.5.1", - "lodash.uppercase": "^4.3.0", - "lodash.upperfirst": "^4.3.1", - "ora": "^4.0.0", - "pluralize": "^8.0.0", - "ramdasauce": "^2.1.0", - "semver": "^7.0.0", - "which": "^2.0.0", - "yargs-parser": "^16.1.0" - }, - "bin": { - "gluegun": "bin/gluegun" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "node_modules/graphql": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", - "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/hash-base/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "dependencies": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "dependencies": { - "@types/node": "^10.0.3" - } - }, - "node_modules/http-response-object/node_modules/@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" - }, - "node_modules/ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ipfs-block": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", - "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", - "dependencies": { - "cids": "~0.7.0", - "class-is": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipfs-http-client": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", - "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", - "dependencies": { - "abort-controller": "^3.0.0", - "async": "^2.6.1", - "bignumber.js": "^9.0.0", - "bl": "^3.0.0", - "bs58": "^4.0.1", - "buffer": "^5.4.2", - "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^2.0.0", - "explain-error": "^1.0.4", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.1", - "ipfs-utils": "~0.0.3", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.3", - "ipld-raw": "^4.0.0", - "is-ipfs": "~0.6.1", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "iso-stream-http": "~0.1.2", - "iso-url": "~0.4.6", - "iterable-ndjson": "^1.1.0", - "just-kebab-case": "^1.1.0", - "just-map-keys": "^1.1.0", - "kind-of": "^6.0.2", - "ky": "^0.11.2", - "ky-universal": "^0.2.2", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.6", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", - "once": "^1.4.0", - "peer-id": "~0.12.3", - "peer-info": "~0.15.1", - "promise-nodeify": "^3.0.1", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "pull-to-stream": "~0.1.1", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.1.1", - "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.1", - "through2": "^3.0.1" - }, - "engines": { - "node": ">=8.3.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipfs-http-client/node_modules/bl": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", - "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", - "dependencies": { - "readable-stream": "^3.0.1" - } - }, - "node_modules/ipfs-http-client/node_modules/concat-stream": { - "version": "2.0.0", - "resolved": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", - "integrity": "sha512-GBrsRGcg6w3ac6B49frS/FGwdeuWMognaZIGxLfZ93vP2z3bIhaI/Bgn3rrS49lI7lrFznULlNUjWYP4soqgvw==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^3.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/ipfs-http-client/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/ipfs-http-client/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/ipfs-http-client/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ipfs-http-client/node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ipfs-http-client/node_modules/tar-stream/node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/ipfs-http-client/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/ipfs-utils": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", - "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", - "dependencies": { - "buffer": "^5.2.1", - "is-buffer": "^2.0.3", - "is-electron": "^2.2.0", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "kind-of": "^6.0.2", - "readable-stream": "^3.4.0" - } - }, - "node_modules/ipfs-utils/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ipld-dag-cbor": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", - "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", - "deprecated": "This module has been superseded by @ipld/dag-cbor and multiformats", - "dependencies": { - "borc": "^2.1.2", - "buffer": "^5.5.0", - "cids": "~0.8.0", - "is-circular": "^1.0.2", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-pb": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", - "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", - "deprecated": "This module has been superseded by @ipld/dag-pb and multiformats", - "dependencies": { - "cids": "~0.7.0", - "class-is": "^1.1.0", - "multicodec": "~0.5.1", - "multihashing-async": "~0.7.0", - "protons": "^1.0.1", - "stable": "~0.1.8" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-pb/node_modules/err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" - }, - "node_modules/ipld-dag-pb/node_modules/multihashing-async": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", - "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "buffer": "^5.2.1", - "err-code": "^1.1.2", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js-revisited": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-raw": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", - "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "cids": "~0.7.0", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - } - }, - "node_modules/ipld-raw/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" - }, - "node_modules/is-electron": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", - "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==" - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "engines": { - "node": ">=4" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "dependencies": { - "ip-regex": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-ipfs": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", - "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", - "dependencies": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "dependencies": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" - }, - "node_modules/is-pull-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", - "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/iso-random-stream": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", - "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", - "dependencies": { - "buffer": "^6.0.3", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/iso-random-stream/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/iso-random-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/iso-stream-http": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", - "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/iso-stream-http/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/iso-url": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", - "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==", - "engines": { - "node": ">=10" - } - }, - "node_modules/isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "peerDependencies": { - "ws": "*" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "node_modules/iterable-ndjson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", - "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", - "dependencies": { - "string_decoder": "^1.2.0" - } - }, - "node_modules/iterable-ndjson/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/iterable-ndjson/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/jayson": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", - "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", - "dependencies": { - "@types/connect": "^3.4.33", - "@types/express-serve-static-core": "^4.17.9", - "@types/lodash": "^4.14.159", - "@types/node": "^12.12.54", - "@types/ws": "^7.4.4", - "commander": "^2.20.3", - "delay": "^5.0.0", - "es6-promisify": "^5.0.0", - "eyes": "^0.1.8", - "isomorphic-ws": "^4.0.1", - "json-stringify-safe": "^5.0.1", - "JSONStream": "^1.3.5", - "lodash": "^4.17.20", - "uuid": "^8.3.2", - "ws": "^7.4.5" - }, - "bin": { - "jayson": "bin/jayson.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jayson/node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - }, - "node_modules/json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", - "dependencies": { - "delimit-stream": "0.1.0" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonfile/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/JSONStream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", - "integrity": "sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA==", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/just-kebab-case": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", - "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" - }, - "node_modules/just-map-keys": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", - "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" - }, - "node_modules/keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "hasInstallScript": true, - "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/keccak/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/keypair": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", - "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ky": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", - "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ky-universal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", - "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", - "dependencies": { - "abort-controller": "^3.0.0", - "node-fetch": "^2.3.0" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "ky": ">=0.10.0" - } - }, - "node_modules/libp2p-crypto": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", - "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", - "dependencies": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "^0.10.0", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.10.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/libp2p-crypto-secp256k1": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", - "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", - "deprecated": "Included in libp2p-crypto, use it instead. https://github.com/libp2p/js-libp2p-crypto", - "dependencies": { - "async": "^2.6.2", - "bs58": "^4.0.1", - "multihashing-async": "~0.6.0", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.2" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/libp2p-crypto-secp256k1/node_modules/multihashing-async": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", - "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/libp2p-crypto/node_modules/multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "node_modules/lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==" - }, - "node_modules/lodash.lowercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.lowercase/-/lodash.lowercase-4.3.0.tgz", - "integrity": "sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA==" - }, - "node_modules/lodash.lowerfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.lowerfirst/-/lodash.lowerfirst-4.3.1.tgz", - "integrity": "sha512-UUKX7VhP1/JL54NXg2aq/E1Sfnjjes8fNYTNkPU8ZmsaVeBvPHKdbNaN79Re5XRL01u6wbq3j0cbYZj71Fcu5w==" - }, - "node_modules/lodash.pad": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", - "integrity": "sha512-mvUHifnLqM+03YNzeTBS1/Gr6JRFjd3rRx88FHWUvamVaT9k2O/kXha3yBSOwB9/DTQrSTLJNHvLBBt2FdX7Mg==" - }, - "node_modules/lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==" - }, - "node_modules/lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha512-sW73O6S8+Tg66eY56DBk85aQzzUJDtpoXFBgELMd5P/SotAguo+1kYO6RuYgXxA4HJH3LFTFPASX6ET6bjfriw==" - }, - "node_modules/lodash.repeat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", - "integrity": "sha512-eWsgQW89IewS95ZOcr15HHCX6FVDxq3f2PNUIng3fyzsPev9imFQxIYdFZ6crl8L56UR6ZlGDLcEb3RZsCSSqw==" - }, - "node_modules/lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" - }, - "node_modules/lodash.startcase": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==" - }, - "node_modules/lodash.trim": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trim/-/lodash.trim-4.5.1.tgz", - "integrity": "sha512-nJAlRl/K+eiOehWKDzoBVrSMhK0K3A3YQsUNXHQa5yIrKBAhsZgSu3KoAFoFT+mEgiyBHddZ0pRk1ITpIp90Wg==" - }, - "node_modules/lodash.trimend": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimend/-/lodash.trimend-4.5.1.tgz", - "integrity": "sha512-lsD+k73XztDsMBKPKvzHXRKFNMohTjoTKIIo4ADLn5dA65LZ1BqlAvSXhR2rPEC3BgAUQnzMnorqDtqn2z4IHA==" - }, - "node_modules/lodash.trimstart": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz", - "integrity": "sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ==" - }, - "node_modules/lodash.uppercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.uppercase/-/lodash.uppercase-4.3.0.tgz", - "integrity": "sha512-+Nbnxkj7s8K5U8z6KnEYPGUOGp3woZbB7Ecs7v3LkkjLQSm2kP9SKIILitN1ktn2mB/tmM9oSlku06I+/lH7QA==" - }, - "node_modules/lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==" - }, - "node_modules/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dependencies": { - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "node_modules/looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mafmt": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", - "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", - "dependencies": { - "multiaddr": "^7.3.0" - } - }, - "node_modules/mafmt/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/mafmt/node_modules/cids/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/mafmt/node_modules/multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "dependencies": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/mafmt/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/mafmt/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/mafmt/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/mafmt/node_modules/multihashes/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/matchstick-as": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.0.tgz", - "integrity": "sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg==", - "dependencies": { - "@graphprotocol/graph-ts": "^0.27.0", - "assemblyscript": "^0.19.20", - "wabt": "1.0.24" - } - }, - "node_modules/matchstick-as/node_modules/assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "dependencies": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - }, - "bin": { - "asc": "bin/asc", - "asinit": "bin/asinit" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } - }, - "node_modules/matchstick-as/node_modules/binaryen": { - "version": "102.0.0-nightly.20211028", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", - "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==", - "bin": { - "wasm-opt": "bin/wasm-opt" - } - }, - "node_modules/matchstick-as/node_modules/long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "node_modules/minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/multiaddr": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", - "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", - "dependencies": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "hi-base32": "~0.5.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - } - }, - "node_modules/multiaddr/node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/multiaddr/node_modules/is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", - "dependencies": { - "ip-regex": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "varint": "^5.0.0" - } - }, - "node_modules/multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "dependencies": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/multihashes/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multihashing-async": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", - "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "buffer": "^5.4.3", - "err-code": "^2.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^1.0.1", - "murmurhash3js-revisited": "^3.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/multihashing-async/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/multihashing-async/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/murmurhash3js-revisited": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", - "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "node_modules/nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" - }, - "node_modules/ndjson": { - "version": "1.5.0", - "resolved": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", - "integrity": "sha512-4HWirDBroNYRKoq+8A7y0uvXlO0dF4p7URRRdqvPSgGjQFVpxpE4uasORXNxeRBMHQnXbTnUBVLXXagwKFH6AQ==", - "license": "BSD-3-Clause", - "dependencies": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^3.1.0", - "through2": "^3.0.0" - }, - "bin": { - "ndjson": "cli.js" - } - }, - "node_modules/node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node_modules/node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", - "dependencies": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", - "dependencies": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/number-to-bn/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "engines": { - "node": "*" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", - "dependencies": { - "wordwrap": "~0.0.2" - } - }, - "node_modules/ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", - "dependencies": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/peer-id": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", - "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", - "dependencies": { - "async": "^2.6.3", - "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.1", - "multihashes": "~0.4.15" - }, - "bin": { - "peer-id": "src/bin.js" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/peer-info": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", - "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", - "deprecated": "No longer supported for js-libp2p0.28.0 or later", - "dependencies": { - "mafmt": "^6.0.2", - "multiaddr": "^6.0.3", - "peer-id": "~0.12.2", - "unique-by": "^1.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/peer-info/node_modules/mafmt": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", - "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", - "dependencies": { - "multiaddr": "^6.1.0" - } - }, - "node_modules/pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "dependencies": { - "asn1.js": "^5.0.1" - }, - "bin": { - "pem-jwk": "bin/pem-jwk.js" - }, - "engines": { - "node": ">=5.10.0" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", - "dependencies": { - "is-promise": "~1" - } - }, - "node_modules/promise-nodeify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", - "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==", - "engines": { - "node": ">=6", - "npm": ">=1.3.7" - } - }, - "node_modules/promisify-es6": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", - "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==", - "deprecated": "Unmaintained" - }, - "node_modules/protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "node_modules/protons": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", - "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", - "deprecated": "This module is no longer maintained", - "dependencies": { - "buffer": "^5.5.0", - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" - } - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "node_modules/pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "node_modules/pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "node_modules/pull-to-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", - "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", - "dependencies": { - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pull-to-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" - }, - "node_modules/ramdasauce": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", - "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", - "dependencies": { - "ramda": "^0.24.1" - } - }, - "node_modules/ramdasauce/node_modules/ramda": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", - "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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" - } - }, - "node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request/node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "dependencies": { - "bn.js": "^5.2.0" - }, - "bin": { - "rlp": "bin/rlp" - } - }, - "node_modules/rlp/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", - "dependencies": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" - } - }, - "node_modules/rsa-pem-to-jwk/node_modules/object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", - "dependencies": { - "optimist": "~0.3.5" - }, - "bin": { - "rsa-unpack": "bin/cmd.js" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "node_modules/secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", - "dependencies": { - "varint": "~5.0.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/split-ca": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", - "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" - }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/split2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sshpk/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" - }, - "node_modules/stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", - "dependencies": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" - } - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", - "dependencies": { - "is-hex-prefixed": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "dependencies": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "dependencies": { - "get-port": "^3.1.0" - } - }, - "node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/tar-fs": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", - "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", - "dependencies": { - "chownr": "^1.0.1", - "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" - } - }, - "node_modules/tar-fs/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/tar-fs/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "dependencies": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/then-request/node_modules/@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - }, - "node_modules/then-request/node_modules/promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "dependencies": { - "asap": "~2.0.6" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, - "node_modules/through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } - }, - "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/tmp-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", - "dependencies": { - "tmp": "^0.2.0" - } - }, - "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "node_modules/unique-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", - "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==", - "engines": { - "node": ">= 0.10.x" - } - }, - "node_modules/universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/ursa-optional": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", - "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.14.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/verror/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - }, - "node_modules/wabt": { - "version": "1.0.24", - "resolved": "https://registry.npmjs.org/wabt/-/wabt-1.0.24.tgz", - "integrity": "sha512-8l7sIOd3i5GWfTWciPL0+ff/FK/deVK2Q6FN+MPz4vfUcD78i2M/49XJTwF6aml91uIiuXJEsLKWMB2cw/mtKg==", - "bin": { - "wasm-decompile": "bin/wasm-decompile", - "wasm-interp": "bin/wasm-interp", - "wasm-objdump": "bin/wasm-objdump", - "wasm-opcodecnt": "bin/wasm-opcodecnt", - "wasm-strip": "bin/wasm-strip", - "wasm-validate": "bin/wasm-validate", - "wasm2c": "bin/wasm2c", - "wasm2wat": "bin/wasm2wat", - "wat2wasm": "bin/wat2wasm" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/web3-eth-abi": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", - "integrity": "sha512-heqR0bWxgCJwjWIhq2sGyNj9bwun5+Xox/LdZKe+WMyTSy0cXDXEAgv3XKNkXC4JqdDt/ZlbTEx4TWak4TRMSg==", - "dependencies": { - "@ethersproject/abi": "5.0.7", - "web3-utils": "1.7.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-utils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.0.tgz", - "integrity": "sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w==", - "dependencies": { - "bn.js": "^4.11.9", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/ws": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz", - "integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "dependencies": { - "@babel/runtime": "^7.9.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", - "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "requires": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", - "requires": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.3", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/web": "^5.6.1" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", - "requires": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0" - } - }, - "@ethersproject/address": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", - "requires": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/rlp": "^5.6.1" - } - }, - "@ethersproject/base64": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", - "requires": { - "@ethersproject/bytes": "^5.6.1" - } - }, - "@ethersproject/bignumber": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "bn.js": "^5.2.1" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "@ethersproject/bytes": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/constants": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", - "requires": { - "@ethersproject/bignumber": "^5.6.2" - } - }, - "@ethersproject/hash": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", - "requires": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "js-sha3": "0.8.0" - } - }, - "@ethersproject/logger": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==" - }, - "@ethersproject/networks": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/properties": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/rlp": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/signing-key": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "@ethersproject/strings": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/transactions": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", - "requires": { - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/rlp": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2" - } - }, - "@ethersproject/web": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", - "requires": { - "@ethersproject/base64": "^5.6.1", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "@graphprotocol/graph-cli": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.32.0.tgz", - "integrity": "sha512-40Kii/Ttype5aNCaQn81AP7utyE6JKB5bI9QtYd6WoaS3oACICqdPA89+5UB1s9t6yXiFbWojK3e7JUokPdYfA==", - "requires": { - "assemblyscript": "0.19.10", - "binary-install-raw": "0.0.13", - "chalk": "3.0.0", - "chokidar": "3.5.1", - "debug": "4.3.1", - "docker-compose": "0.23.4", - "dockerode": "2.5.8", - "fs-extra": "9.0.0", - "glob": "7.1.6", - "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", - "graphql": "15.5.0", - "immutable": "3.8.2", - "ipfs-http-client": "34.0.0", - "jayson": "3.6.6", - "js-yaml": "3.13.1", - "node-fetch": "2.6.0", - "pkginfo": "0.4.1", - "prettier": "1.19.1", - "request": "2.88.2", - "semver": "7.3.5", - "sync-request": "6.1.0", - "tmp-promise": "3.0.2", - "web3-eth-abi": "1.7.0", - "which": "2.0.2", - "yaml": "1.9.2" - } - }, - "@graphprotocol/graph-ts": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz", - "integrity": "sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w==", - "requires": { - "assemblyscript": "0.19.10" - } - }, - "@solarity/graph-lib": { - "version": "1.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", - "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", - "requires": { - "@graphprotocol/graph-ts": "0.29.3" - }, - "dependencies": { - "@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "requires": { - "assemblyscript": "0.19.10" - } - } - } - }, - "@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "requires": { - "@types/node": "*" - } - }, - "@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "requires": { - "@types/node": "*" - } - }, - "@types/lodash": { - "version": "4.14.182", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz", - "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==" - }, - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "requires": { - "@types/node": "*" - } - }, - "@types/ws": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", - "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", - "requires": { - "@types/node": "*" - } - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "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": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" - }, - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "apisauce": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", - "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", - "requires": { - "axios": "^0.21.2", - "ramda": "^0.25.0" - } - }, - "app-module-path": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", - "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "asmcrypto.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", - "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", - "requires": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" - }, - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "requires": { - "lodash": "^4.17.14" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "requires": { - "follow-redirects": "^1.14.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "requires": { - "tweetnacl": "^0.14.3" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } - } - }, - "bignumber.js": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", - "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "binary-install-raw": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/binary-install-raw/-/binary-install-raw-0.0.13.tgz", - "integrity": "sha512-v7ms6N/H7iciuk6QInon3/n2mu7oRX+6knJ9xFPsJ3rQePgAqcR3CRTwUheFd8SLbiq4LL7Z4G/44L9zscdt9A==", - "requires": { - "axios": "^0.21.1", - "rimraf": "^3.0.2", - "tar": "^6.1.0" - } - }, - "binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==" - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "borc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", - "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", - "requires": { - "bignumber.js": "^9.0.0", - "buffer": "^5.5.0", - "commander": "^2.15.0", - "ieee754": "^1.1.13", - "iso-url": "~0.4.7", - "json-text-sequence": "~0.1.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "requires": { - "base-x": "^3.0.2" - } - }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.3.1", - "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" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "requires": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" - }, - "cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", - "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", - "requires": { - "clone": "^1.0.2" - } - }, - "delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "docker-compose": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", - "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==" - }, - "docker-modem": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.9.tgz", - "integrity": "sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw==", - "requires": { - "debug": "^3.2.6", - "JSONStream": "1.3.2", - "readable-stream": "~1.0.26-4", - "split-ca": "^1.0.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - } - } - }, - "dockerode": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.8.tgz", - "integrity": "sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==", - "requires": { - "concat-stream": "~1.6.2", - "docker-modem": "^1.0.8", - "tar-fs": "~1.16.3" - } - }, - "drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", - "requires": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "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" - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "enquirer": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", - "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", - "requires": { - "ansi-colors": "^3.2.1" - } - }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", - "requires": { - "es6-promise": "^4.0.3" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "requires": { - "js-sha3": "^0.8.0" - } - }, - "ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - }, - "dependencies": { - "secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "requires": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - } - } - }, - "ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "requires": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", - "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - } - } - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "explain-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", - "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" - }, - "eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" - }, - "follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "fs-jetpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", - "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", - "requires": { - "minimatch": "^3.0.2", - "rimraf": "^2.6.3" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - }, - "dependencies": { - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "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-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "gluegun": { - "version": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", - "integrity": "sha512-3jBd19vlnUxr5qwwTLSof3VTQH8YI7CKP5ABo7cmG7f0lq/GvN15QEPh4Uar14UVEfEdoEQSlTHhFaQ1nETMjg==", - "from": "gluegun@git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", - "requires": { - "apisauce": "^1.0.1", - "app-module-path": "^2.2.0", - "cli-table3": "~0.5.0", - "colors": "1.3.3", - "cosmiconfig": "6.0.0", - "cross-spawn": "^7.0.0", - "ejs": "^2.6.1", - "enquirer": "2.3.4", - "execa": "^3.0.0", - "fs-jetpack": "^2.2.2", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "lodash.lowercase": "^4.3.0", - "lodash.lowerfirst": "^4.3.1", - "lodash.pad": "^4.5.1", - "lodash.padend": "^4.6.1", - "lodash.padstart": "^4.6.1", - "lodash.repeat": "^4.1.0", - "lodash.snakecase": "^4.1.1", - "lodash.startcase": "^4.4.0", - "lodash.trim": "^4.5.1", - "lodash.trimend": "^4.5.1", - "lodash.trimstart": "^4.5.1", - "lodash.uppercase": "^4.3.0", - "lodash.upperfirst": "^4.3.1", - "ora": "^4.0.0", - "pluralize": "^8.0.0", - "ramdasauce": "^2.1.0", - "semver": "^7.0.0", - "which": "^2.0.0", - "yargs-parser": "^16.1.0" - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "graphql": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", - "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==" - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" - }, - "ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" - }, - "ipfs-block": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", - "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", - "requires": { - "cids": "~0.7.0", - "class-is": "^1.1.0" - } - }, - "ipfs-http-client": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", - "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", - "requires": { - "abort-controller": "^3.0.0", - "async": "^2.6.1", - "bignumber.js": "^9.0.0", - "bl": "^3.0.0", - "bs58": "^4.0.1", - "buffer": "^5.4.2", - "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^2.0.0", - "explain-error": "^1.0.4", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.1", - "ipfs-utils": "~0.0.3", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.3", - "ipld-raw": "^4.0.0", - "is-ipfs": "~0.6.1", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "iso-stream-http": "~0.1.2", - "iso-url": "~0.4.6", - "iterable-ndjson": "^1.1.0", - "just-kebab-case": "^1.1.0", - "just-map-keys": "^1.1.0", - "kind-of": "^6.0.2", - "ky": "^0.11.2", - "ky-universal": "^0.2.2", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.6", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", - "once": "^1.4.0", - "peer-id": "~0.12.3", - "peer-info": "~0.15.1", - "promise-nodeify": "^3.0.1", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "pull-to-stream": "~0.1.1", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.1.1", - "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.1", - "through2": "^3.0.1" - }, - "dependencies": { - "bl": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", - "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", - "requires": { - "readable-stream": "^3.0.1" - } - }, - "concat-stream": { - "version": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", - "integrity": "sha512-GBrsRGcg6w3ac6B49frS/FGwdeuWMognaZIGxLfZ93vP2z3bIhaI/Bgn3rrS49lI7lrFznULlNUjWYP4soqgvw==", - "from": "concat-stream@github:hugomrdias/concat-stream#feat/smaller", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^3.0.2" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - } - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - } - } - }, - "ipfs-utils": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", - "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", - "requires": { - "buffer": "^5.2.1", - "is-buffer": "^2.0.3", - "is-electron": "^2.2.0", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "kind-of": "^6.0.2", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "ipld-dag-cbor": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", - "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", - "requires": { - "borc": "^2.1.2", - "buffer": "^5.5.0", - "cids": "~0.8.0", - "is-circular": "^1.0.2", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - } - }, - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - } - } - } - }, - "ipld-dag-pb": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", - "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", - "requires": { - "cids": "~0.7.0", - "class-is": "^1.1.0", - "multicodec": "~0.5.1", - "multihashing-async": "~0.7.0", - "protons": "^1.0.1", - "stable": "~0.1.8" - }, - "dependencies": { - "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" - }, - "multihashing-async": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", - "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", - "requires": { - "blakejs": "^1.1.0", - "buffer": "^5.2.1", - "err-code": "^1.1.2", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js-revisited": "^3.0.0" - } - } - } - }, - "ipld-raw": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", - "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", - "requires": { - "cids": "~0.7.0", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, - "is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" - }, - "is-electron": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", - "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==" - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" - }, - "is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "requires": { - "ip-regex": "^4.0.0" - } - }, - "is-ipfs": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", - "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", - "requires": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - }, - "dependencies": { - "multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "requires": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - } - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" - }, - "is-pull-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", - "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "iso-random-stream": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", - "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", - "requires": { - "buffer": "^6.0.3", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "iso-stream-http": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", - "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "iso-url": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", - "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==" - }, - "isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "requires": {} - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "iterable-ndjson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", - "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", - "requires": { - "string_decoder": "^1.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - }, - "jayson": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", - "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", - "requires": { - "@types/connect": "^3.4.33", - "@types/express-serve-static-core": "^4.17.9", - "@types/lodash": "^4.14.159", - "@types/node": "^12.12.54", - "@types/ws": "^7.4.4", - "commander": "^2.20.3", - "delay": "^5.0.0", - "es6-promisify": "^5.0.0", - "eyes": "^0.1.8", - "isomorphic-ws": "^4.0.1", - "json-stringify-safe": "^5.0.1", - "JSONStream": "^1.3.5", - "lodash": "^4.17.20", - "uuid": "^8.3.2", - "ws": "^7.4.5" - }, - "dependencies": { - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - } - } - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - }, - "json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", - "requires": { - "delimit-stream": "0.1.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - }, - "dependencies": { - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } - } - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==" - }, - "JSONStream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", - "integrity": "sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA==", - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "just-kebab-case": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", - "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" - }, - "just-map-keys": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", - "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" - }, - "keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "keypair": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", - "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "ky": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", - "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==" - }, - "ky-universal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", - "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", - "requires": { - "abort-controller": "^3.0.0", - "node-fetch": "^2.3.0" - } - }, - "libp2p-crypto": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", - "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", - "requires": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "^0.10.0", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.10.0" - }, - "dependencies": { - "multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", - "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - } - } - } - }, - "libp2p-crypto-secp256k1": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", - "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", - "requires": { - "async": "^2.6.2", - "bs58": "^4.0.1", - "multihashing-async": "~0.6.0", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.2" - }, - "dependencies": { - "multihashing-async": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", - "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", - "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - } - } - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==" - }, - "lodash.lowercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.lowercase/-/lodash.lowercase-4.3.0.tgz", - "integrity": "sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA==" - }, - "lodash.lowerfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.lowerfirst/-/lodash.lowerfirst-4.3.1.tgz", - "integrity": "sha512-UUKX7VhP1/JL54NXg2aq/E1Sfnjjes8fNYTNkPU8ZmsaVeBvPHKdbNaN79Re5XRL01u6wbq3j0cbYZj71Fcu5w==" - }, - "lodash.pad": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", - "integrity": "sha512-mvUHifnLqM+03YNzeTBS1/Gr6JRFjd3rRx88FHWUvamVaT9k2O/kXha3yBSOwB9/DTQrSTLJNHvLBBt2FdX7Mg==" - }, - "lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==" - }, - "lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha512-sW73O6S8+Tg66eY56DBk85aQzzUJDtpoXFBgELMd5P/SotAguo+1kYO6RuYgXxA4HJH3LFTFPASX6ET6bjfriw==" - }, - "lodash.repeat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", - "integrity": "sha512-eWsgQW89IewS95ZOcr15HHCX6FVDxq3f2PNUIng3fyzsPev9imFQxIYdFZ6crl8L56UR6ZlGDLcEb3RZsCSSqw==" - }, - "lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" - }, - "lodash.startcase": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==" - }, - "lodash.trim": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trim/-/lodash.trim-4.5.1.tgz", - "integrity": "sha512-nJAlRl/K+eiOehWKDzoBVrSMhK0K3A3YQsUNXHQa5yIrKBAhsZgSu3KoAFoFT+mEgiyBHddZ0pRk1ITpIp90Wg==" - }, - "lodash.trimend": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimend/-/lodash.trimend-4.5.1.tgz", - "integrity": "sha512-lsD+k73XztDsMBKPKvzHXRKFNMohTjoTKIIo4ADLn5dA65LZ1BqlAvSXhR2rPEC3BgAUQnzMnorqDtqn2z4IHA==" - }, - "lodash.trimstart": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz", - "integrity": "sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ==" - }, - "lodash.uppercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.uppercase/-/lodash.uppercase-4.3.0.tgz", - "integrity": "sha512-+Nbnxkj7s8K5U8z6KnEYPGUOGp3woZbB7Ecs7v3LkkjLQSm2kP9SKIILitN1ktn2mB/tmM9oSlku06I+/lH7QA==" - }, - "lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==" - }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "requires": { - "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "mafmt": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", - "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", - "requires": { - "multiaddr": "^7.3.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "requires": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - } - } - }, - "matchstick-as": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.0.tgz", - "integrity": "sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg==", - "requires": { - "@graphprotocol/graph-ts": "^0.27.0", - "assemblyscript": "^0.19.20", - "wabt": "1.0.24" - }, - "dependencies": { - "assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "requires": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - } - }, - "binaryen": { - "version": "102.0.0-nightly.20211028", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", - "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==" - }, - "long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - } - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "requires": { - "yallist": "^4.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multiaddr": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", - "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", - "requires": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "hi-base32": "~0.5.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - }, - "dependencies": { - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==" - }, - "is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", - "requires": { - "ip-regex": "^2.0.0" - } - } - } - }, - "multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "requires": { - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "requires": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multihashing-async": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", - "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", - "requires": { - "blakejs": "^1.1.0", - "buffer": "^5.4.3", - "err-code": "^2.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^1.0.1", - "murmurhash3js-revisited": "^3.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - } - } - } - }, - "murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==" - }, - "murmurhash3js-revisited": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", - "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" - }, - "ndjson": { - "version": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", - "integrity": "sha512-4HWirDBroNYRKoq+8A7y0uvXlO0dF4p7URRRdqvPSgGjQFVpxpE4uasORXNxeRBMHQnXbTnUBVLXXagwKFH6AQ==", - "from": "ndjson@github:hugomrdias/ndjson#feat/readable-stream3", - "requires": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^3.1.0", - "through2": "^3.0.0" - } - }, - "node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" - }, - "node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==" - }, - "nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", - "requires": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", - "requires": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - } - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", - "requires": { - "wordwrap": "~0.0.2" - } - }, - "ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", - "requires": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "peer-id": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", - "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", - "requires": { - "async": "^2.6.3", - "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.1", - "multihashes": "~0.4.15" - } - }, - "peer-info": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", - "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", - "requires": { - "mafmt": "^6.0.2", - "multiaddr": "^6.0.3", - "peer-id": "~0.12.2", - "unique-by": "^1.0.0" - }, - "dependencies": { - "mafmt": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", - "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", - "requires": { - "multiaddr": "^6.1.0" - } - } - } - }, - "pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "requires": { - "asn1.js": "^5.0.1" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==" - }, - "pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==" - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", - "requires": { - "is-promise": "~1" - } - }, - "promise-nodeify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", - "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==" - }, - "promisify-es6": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", - "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==" - }, - "protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "protons": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", - "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", - "requires": { - "buffer": "^5.5.0", - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" - } - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "pull-to-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", - "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", - "requires": { - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" - }, - "ramdasauce": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", - "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", - "requires": { - "ramda": "^0.24.1" - }, - "dependencies": { - "ramda": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", - "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" - } - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "requires": { - "bn.js": "^5.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", - "requires": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" - }, - "dependencies": { - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==" - } - } - }, - "rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", - "requires": { - "optimist": "~0.3.5" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", - "requires": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", - "requires": { - "varint": "~5.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "split-ca": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", - "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" - }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "requires": { - "readable-stream": "^3.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", - "requires": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "requires": { - "get-port": "^3.1.0" - } - }, - "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - } - }, - "tar-fs": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", - "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", - "requires": { - "chownr": "^1.0.1", - "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" - }, - "dependencies": { - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - } - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - }, - "then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - }, - "promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "requires": { - "asap": "~2.0.6" - } - } - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, - "through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "requires": { - "rimraf": "^3.0.0" - } - }, - "tmp-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", - "requires": { - "tmp": "^0.2.0" - } - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "unique-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", - "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==" - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "ursa-optional": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", - "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", - "requires": { - "bindings": "^1.5.0", - "nan": "^2.14.2" - } - }, - "utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - } - } - }, - "wabt": { - "version": "1.0.24", - "resolved": "https://registry.npmjs.org/wabt/-/wabt-1.0.24.tgz", - "integrity": "sha512-8l7sIOd3i5GWfTWciPL0+ff/FK/deVK2Q6FN+MPz4vfUcD78i2M/49XJTwF6aml91uIiuXJEsLKWMB2cw/mtKg==" - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "requires": { - "defaults": "^1.0.3" - } - }, - "web3-eth-abi": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", - "integrity": "sha512-heqR0bWxgCJwjWIhq2sGyNj9bwun5+Xox/LdZKe+WMyTSy0cXDXEAgv3XKNkXC4JqdDt/ZlbTEx4TWak4TRMSg==", - "requires": { - "@ethersproject/abi": "5.0.7", - "web3-utils": "1.7.0" - } - }, - "web3-utils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.0.tgz", - "integrity": "sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w==", - "requires": { - "bn.js": "^4.11.9", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "ws": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz", - "integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==", - "requires": {} - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "requires": { - "@babel/runtime": "^7.9.2" - } - }, - "yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } -} diff --git a/AllPools/package.json b/AllPools/package.json deleted file mode 100644 index 72b2044b..00000000 --- a/AllPools/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "dexe", - "license": "UNLICENSED", - "scripts": { - "compile": "graph codegen && graph build", - "codegen": "graph codegen", - "build": "graph build", - "test": "graph test", - "coverage": "graph test -c", - "deploy": "graph deploy --node https://api.thegraph.com/deploy/ volodymyrzolotukhin/dexe", - "create-local": "graph create --node http://localhost:8020/ volodymyrzolotukhin/dexe", - "remove-local": "graph remove --node http://localhost:8020/ volodymyrzolotukhin/dexe", - "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" - }, - "dependencies": { - "@solarity/graph-lib": "^1.0.0-rc.5", - "@graphprotocol/graph-cli": "0.32.0", - "@graphprotocol/graph-ts": "0.27.0", - "matchstick-as": "0.5.0" - } -} diff --git a/AllPools/schema.graphql b/AllPools/schema.graphql deleted file mode 100644 index c2d52dea..00000000 --- a/AllPools/schema.graphql +++ /dev/null @@ -1,218 +0,0 @@ -# @notice The etity holds information about current position offset. Uses to avoid collisions in position id -# @param id forms from pool address + position token address -# @param offset the current position index offset -type PositionOffset @entity { - id: ID! # trader pool address + position token address - offset: BigInt! -} - -####################################### TraderPool ####################################### - -# @notice The entity that holds informations about pool -# @param id the pool address -# @param type the string with type of pool -# @param baseToken the address of base token -# @param ticker the symbol of pool's token -# @param name the name of pool's token -# @param descriptionURL the description url address from contract -# @param creationTime the timestamp of creating pool -# @param creationBlock the block number of creating pool -# @param maxLoss the maximum loss among all positions -# @param commission the commission of pool -# @param trader the address of trader -# @param admins the array of admin's addresses -# @param totalTrades the total number of trades -# @param totalClosedPositions the total number of closed positions -# @param averageTrades the average trades per day -# @param averagePositionTime the average live time of all positions -# @param investors the array with Investor entities -# @param investorsCount the number of investors -# @param privateInvestors the array with private investor -# @param privateInvestorsCount the number of private investors -# @param orderSize the average order size -# @param priceHistoryCount the number of priceHistories -type TraderPool @entity { - id: ID! # pool address - type: String! - baseToken: Bytes! - ticker: String! - name: String! - descriptionURL: String! - creationTime: BigInt! - creationBlock: BigInt! - maxLoss: BigInt! - commission: BigInt! - - trader: Bytes! - admins: [Bytes!]! - - totalTrades: BigInt! - totalClosedPositions: BigInt! - - averageTrades: BigInt! - averagePositionTime: BigInt! - - investors: [Investor!]! - investorsCount: BigInt! - - privateInvestors: [Investor!]! - privateInvestorsCount: BigInt! - - orderSize: BigInt! - - positions: [Position!]! @derivedFrom(field: "traderPool") - - priceHistory: [TraderPoolPriceHistory!]! @derivedFrom(field: "pool") - priceHistoryCount: BigInt! - - exchanges: [ExchangeHistory!]! @derivedFrom(field: "traderPool") -} - -# @notice The entity holds historical information about price of pool. Uses for store info every 100 blocks. -# @param id forms from pool address + block number -# @param timestamp the block timestamp -# @param block the block number -# @param usdTVL the total pool usd price from contract -# @param supply the total lp emission of pool from contract -# @param pool the id of pool, type is string for reverse lookup -# @param baseTVL the total pool base from contract -# @param absPNLUSD the absolute PNL for all time in USD -# @param percPNLUSD the PNL at percents with 0.01% error margin in USD, precision = 10**4 -# @param absPNLBase the absolute PNL for all time in BASE TOKEN, decimals = 10**18 -# @param percPNLBase the PNL at percents with 0.01% error margin in BASE TOKEN, precision = 10**4 -# @param traderUSD the trader amount in usd -# @param traderBase the thrader amount in base token -# @param APY the current pool APY -# @param isLast the boolean flag, if true - this entity the last for current pool -# @param aggregationType formed from binary codes of aggregation types -# @param firstPrice the first price of pool in USD -type TraderPoolPriceHistory @entity { - id: ID! - timestamp: BigInt! - block: BigInt! - usdTVL: BigInt! - supply: BigInt! - pool: TraderPool! - baseTVL: BigInt! - absPNLUSD: BigInt! - percPNLUSD: BigInt! - absPNLBase: BigInt! - percPNLBase: BigInt! - traderUSD: BigInt! - traderBase: BigInt! - APY: BigInt! - isLast: Boolean! - aggregationType: BigInt! - firstPrice: BigInt! -} - -# @notice The entity holds information about position in pool -# @param id forms from pool address + position token address + position offset from PositionOffset entity -# @param positionToken the address of position token -# @param closed the state of position, true when closed -# @param totalBaseOpenVolume the total open volume of position in base token -# @param totalBaseCloseVolume the total close volume of position in base token -# @param totalPositionOpenVolume the total open volume of position in position token -# @param totalPositionCloseVolume the total close volume of position in position token -# @param totalUSDOpenVolume the total open volume of position in usd -# @param totalUSDCloseVolume the total close volume of position in usd -# @param startTimestamp the timestamp of position's creation time -# @param liveTime the time in millis the position was open for if the position is closed. -# @param traderPool the id of traderPool (address) for reverse lookup -type Position @entity { - id: ID! # trader pool address + position token address + position offset - positionToken: Bytes! - closed: Boolean! - - totalBaseOpenVolume: BigInt! - totalBaseCloseVolume: BigInt! - totalPositionOpenVolume: BigInt! - totalPositionCloseVolume: BigInt! - totalUSDOpenVolume: BigInt! - totalUSDCloseVolume: BigInt! - - startTimestamp: BigInt! - liveTime: BigInt! - - traderPool: TraderPool! - - exchanges: [Exchange!]! @derivedFrom(field: "position") -} - -# @notice The entity holds information about exchange in pool's position -# @param id forms from transaction hash + interactionCount + suffix, _0 - single exchange, _1 - first in pair, _2 - second in pair -# @param hash the transaction hash -# @param timestamp the block timestamp -# @param fromToken the address of in token -# @param toToken the address of out token -# @param fromVolume the volume of in token -# @param toVolume the volume of out token -# @param usdVolume the volume of exchange in usd -# @param position the id of pool's -# @param opening the boolean flag, if true exchange opening position, else - closing -# @param day the history id (pool address + timestamp / 86400), for reverse lookup -type Exchange @entity(immutable: true) { - id: ID! # tx hash + interactionCount + suffix - hash: Bytes! # tx hash - timestamp: BigInt! - fromToken: Bytes! - toToken: Bytes! - - fromVolume: BigInt! - toVolume: BigInt! - - usdVolume: BigInt! - - position: Position! - opening: Boolean! - - day: ExchangeHistory! -} - -# @notice The entity holds historical information about exchanges in pool -# @param id forms from pool address + day -# @param traderPool the traderPool id (address), for reverse lookup -# @param day the timestamp / 86400 -type ExchangeHistory @entity(immutable: true) { - id: ID! # pool address + timestamp / 86400 - traderPool: TraderPool! - day: BigInt! - - exchanges: [Exchange!]! @derivedFrom(field: "day") -} - -# @notice The entity holds information about Investor -# @param id the investor address -# @param activePools the array with pools with investor's invests -# @param allPools the array with pools where the investor has ever invested -type Investor @entity { - id: Bytes! # investor address - activePools: [TraderPool!]! - allPools: [TraderPool!]! -} - -# @notice The entity holds historical information about fee -# @param id forms from pool address + day -# @param traderPool the id of trader pool entity -# @param PNL the pnl between fee payouts -# @param day the timestamp / 86400 -# @param fundProfit the profit between fee payouts -# @param perfomanceFee the pefomance fee -# @param prevHistory the id of previous history entity -type FeeHistory @entity { - id: ID! # pool address + timestamp / 86400 - traderPool: TraderPool! - PNL: BigInt! - day: BigInt! - fundProfit: BigInt! - perfomanceFee: BigInt! - prevHistory: FeeHistory! -} - -# @notice The entity counts interactions in single tx -# @param id forms from tx hash -# @param count the counter of interactions in single tx -type InteractionCount @entity { - id: Bytes! - count: BigInt! -} diff --git a/AllPools/src/entities/global/InteractionCount.ts b/AllPools/src/entities/global/InteractionCount.ts deleted file mode 100644 index 493d7a08..00000000 --- a/AllPools/src/entities/global/InteractionCount.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { InteractionCount } from "../../../generated/schema"; - -export function getInteractionCount(hash: Bytes): InteractionCount { - let counter = InteractionCount.load(hash); - - if (counter == null) { - counter = new InteractionCount(hash); - counter.count = BigInt.zero(); - } - return counter; -} diff --git a/AllPools/src/entities/global/PositionOffset.ts b/AllPools/src/entities/global/PositionOffset.ts deleted file mode 100644 index b8b1590d..00000000 --- a/AllPools/src/entities/global/PositionOffset.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Address, BigInt } from "@graphprotocol/graph-ts"; -import { PositionOffset } from "../../../generated/schema"; - -export function getPositionOffset(poolId: string, token: Address): PositionOffset { - let id = poolId + token.toHexString(); - let positionOffset = PositionOffset.load(id); - - if (positionOffset == null) { - positionOffset = new PositionOffset(id); - - positionOffset.offset = BigInt.zero(); - } - - return positionOffset; -} diff --git a/AllPools/src/entities/global/globals.ts b/AllPools/src/entities/global/globals.ts deleted file mode 100644 index 570a9bf1..00000000 --- a/AllPools/src/entities/global/globals.ts +++ /dev/null @@ -1,14 +0,0 @@ -export const DAY = 86400; -export const BLOCK_PER_YEAR = 10512000; -export const CHECK_PER_BLOCK = 100; -export const BASIC_POOL_NAME = "BASIC_POOL"; -export const INVEST_POOL_NAME = "INVEST_POOL"; -export const POOL_OFFSET = 40; -export const POOL_REGISTRY_ADDRESS = "0x531025865c4e911EC6047Fff905925CeF957b1A2"; -export const PRICE_FEED_ADDRESS = "0x56d8412b75434671FbC6ad9c6b91Ba2d5E3817c1"; -export const DECIMAL = 1000000000000000000; // 10**18 -export const PERCENTAGE_DENOMINATOR = 100000000000000; // 10**14 -export const PERCENTAGE_100 = 1000000000000000000000000000; -export const REVERSED_PLATFORM_COMMISSION = 7; -export const PERCENTAGE_NUMERATOR = 10000; -export const MAX_SEARCH_DEPTH = 100; diff --git a/AllPools/src/entities/trader-pool/Exchange.ts b/AllPools/src/entities/trader-pool/Exchange.ts deleted file mode 100644 index 1c7d6ecc..00000000 --- a/AllPools/src/entities/trader-pool/Exchange.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { BigInt, Address, Bytes } from "@graphprotocol/graph-ts"; -import { Exchange, TraderPool } from "../../../generated/schema"; -import { increaseCounter } from "../../helpers/IncreaseCounter"; -import { getInteractionCount } from "../global/InteractionCount"; - -export function getExchange( - txHash: Bytes, - position: string, - fromToken: Address = Address.zero(), - toToken: Address = Address.zero(), - fromVolume: BigInt = BigInt.zero(), - toVolume: BigInt = BigInt.zero(), - usdVolume: BigInt = BigInt.zero(), - opening: boolean = false, - suffix: string = "_0", - timestamp: BigInt = BigInt.zero() -): Exchange { - let counter = getInteractionCount(txHash); - - let id = txHash.concatI32(counter.count.toI32()).toHexString() + suffix; - let trade = Exchange.load(id); - - if (trade == null) { - trade = new Exchange(id); - trade.hash = txHash; - trade.position = position; - trade.fromToken = fromToken; - trade.toToken = toToken; - trade.fromVolume = fromVolume; - trade.toVolume = toVolume; - trade.usdVolume = usdVolume; - trade.opening = opening; - trade.day = ""; - trade.timestamp = timestamp; - - increaseCounter(counter); - } - - return trade; -} diff --git a/AllPools/src/entities/trader-pool/Investor.ts b/AllPools/src/entities/trader-pool/Investor.ts deleted file mode 100644 index d91b9a2d..00000000 --- a/AllPools/src/entities/trader-pool/Investor.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Address, BigInt } from "@graphprotocol/graph-ts"; -import { Investor } from "../../../generated/schema"; - -export function getInvestor(id: Address): Investor { - let investor = Investor.load(id); - - if (investor == null) { - investor = new Investor(id); - investor.activePools = new Array(); - investor.allPools = new Array(); - } - - return investor; -} diff --git a/AllPools/src/entities/trader-pool/Position.ts b/AllPools/src/entities/trader-pool/Position.ts deleted file mode 100644 index 27d070fb..00000000 --- a/AllPools/src/entities/trader-pool/Position.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Address, BigInt } from "@graphprotocol/graph-ts"; -import { Position } from "../../../generated/schema"; - -export function getPosition(id: string, traderPool: string = "", positionToken: Address = Address.zero()): Position { - let position = Position.load(id); - - if (position == null) { - position = new Position(id); - - position.positionToken = positionToken; - position.totalBaseOpenVolume = BigInt.zero(); - position.totalBaseCloseVolume = BigInt.zero(); - position.totalPositionOpenVolume = BigInt.zero(); - position.totalPositionCloseVolume = BigInt.zero(); - position.traderPool = traderPool; - position.closed = false; - position.liveTime = BigInt.zero(); - position.startTimestamp = BigInt.zero(); - position.totalUSDOpenVolume = BigInt.zero(); - position.totalUSDCloseVolume = BigInt.zero(); - } - - return position; -} diff --git a/AllPools/src/entities/trader-pool/TraderPool.ts b/AllPools/src/entities/trader-pool/TraderPool.ts deleted file mode 100644 index 1ac1b361..00000000 --- a/AllPools/src/entities/trader-pool/TraderPool.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { pushUnique } from "@solarity/graph-lib"; -import { TraderPool } from "../../../generated/schema"; - -export function getTraderPool( - poolAddress: Address, - type: string = "", - basicTokenAddress: Address = Address.zero(), - ticker: string = "", - name: string = "", - descriptionURL: string = "", - creationTime: BigInt = BigInt.zero(), - block: BigInt = BigInt.zero(), - trader: Address = Address.zero(), - commission: BigInt = BigInt.zero() -): TraderPool { - let traderPool = TraderPool.load(poolAddress.toHexString()); - - if (traderPool == null) { - traderPool = new TraderPool(poolAddress.toHexString()); - traderPool.type = type; - traderPool.baseToken = basicTokenAddress; - traderPool.ticker = ticker; - traderPool.name = name; - traderPool.creationTime = creationTime; - traderPool.creationBlock = block; - traderPool.descriptionURL = descriptionURL; - - traderPool.maxLoss = BigInt.zero(); - - traderPool.totalTrades = BigInt.zero(); - traderPool.totalClosedPositions = BigInt.zero(); - - traderPool.averageTrades = BigInt.zero(); - traderPool.averagePositionTime = BigInt.zero(); - - traderPool.investors = new Array(); - traderPool.investorsCount = BigInt.zero(); - - traderPool.privateInvestors = new Array(); - traderPool.privateInvestorsCount = BigInt.zero(); - - traderPool.priceHistoryCount = BigInt.zero(); - - traderPool.admins = pushUnique(new Array(), [trader]); - traderPool.trader = trader; - - traderPool.commission = commission; - - traderPool.orderSize = BigInt.zero(); - } - - return traderPool; -} diff --git a/AllPools/src/entities/trader-pool/TraderPoolPriceHistory.ts b/AllPools/src/entities/trader-pool/TraderPoolPriceHistory.ts deleted file mode 100644 index 6fad3624..00000000 --- a/AllPools/src/entities/trader-pool/TraderPoolPriceHistory.ts +++ /dev/null @@ -1,112 +0,0 @@ -import { Address, BigInt } from "@graphprotocol/graph-ts"; -import { TraderPool, TraderPoolPriceHistory } from "../../../generated/schema"; -import { findPrevHistory } from "@solarity/graph-lib"; -import { BLOCK_PER_YEAR, CHECK_PER_BLOCK, DECIMAL, PERCENTAGE_DENOMINATOR } from "../global/globals"; -import { getTraderPool } from "./TraderPool"; -import { PERCENTAGE_NUMERATOR } from "../global/globals"; - -export function getTraderPoolPriceHistory( - pool: TraderPool, - blockNumber: BigInt, - timestamp: BigInt = BigInt.zero(), - usdTVL: BigInt = BigInt.zero(), - poolBase: BigInt = BigInt.zero(), - supply: BigInt = BigInt.zero(), - traderUSD: BigInt = BigInt.zero(), - traderBase: BigInt = BigInt.zero(), - aggregationType: BigInt = BigInt.zero() -): TraderPoolPriceHistory { - let id = pool.id + blockNumber.toString(); - let history = TraderPoolPriceHistory.load(id); - if (history == null) { - let currentPriceBase = supply.equals(BigInt.zero()) - ? BigInt.fromU64(DECIMAL) - : poolBase.times(BigInt.fromU64(DECIMAL)).div(supply); - - let currentPriceUSD = supply.equals(BigInt.zero()) - ? BigInt.fromU64(DECIMAL) - : usdTVL.times(BigInt.fromU64(DECIMAL)).div(supply); - - history = new TraderPoolPriceHistory(id); - history.pool = pool.id; - history.usdTVL = usdTVL; - history.supply = supply; - history.timestamp = timestamp; - history.block = blockNumber; - history.baseTVL = poolBase; - - history.traderUSD = traderUSD; - history.traderBase = traderBase; - - history.absPNLBase = currentPriceBase.minus(BigInt.fromU64(DECIMAL)).times(supply).div(BigInt.fromU64(DECIMAL)); - history.percPNLBase = currentPriceBase.minus(BigInt.fromU64(DECIMAL)).div(BigInt.fromU64(PERCENTAGE_DENOMINATOR)); - - history.firstPrice = BigInt.zero(); - - if ( - blockNumber.equals(roundCheckUp(pool.creationBlock)) || - (history.firstPrice.isZero() && currentPriceUSD.notEqual(BigInt.zero())) - ) { - history.firstPrice = currentPriceUSD; - } else { - let prevHistory = getPrevPriceHistory(history); - if (prevHistory != null) { - history.firstPrice = prevHistory.firstPrice; - } - } - - history.absPNLUSD = currentPriceUSD.minus(history.firstPrice).times(supply).div(BigInt.fromU64(DECIMAL)); - history.percPNLUSD = BigInt.zero(); - if (history.firstPrice.notEqual(BigInt.zero())) { - history.percPNLUSD = currentPriceUSD - .times(BigInt.fromU64(DECIMAL)) - .div(history.firstPrice) - .minus(BigInt.fromU64(DECIMAL)) - .times(BigInt.fromU64(100)) - .div(BigInt.fromU64(PERCENTAGE_DENOMINATOR)); - } - - history.isLast = true; - - history.aggregationType = aggregationType; - - let prevBlock = roundCheckUp( - BigInt.fromI64(max(blockNumber.minus(BigInt.fromU64(BLOCK_PER_YEAR)).toI64(), pool.creationBlock.toI64())) - ); - - history.APY = history.percPNLUSD; - - if (prevBlock.notEqual(roundCheckUp(pool.creationBlock))) { - let lastYearHistory = findPrevHistory( - TraderPoolPriceHistory.load, - pool.id, - prevBlock, - BigInt.fromI32(CHECK_PER_BLOCK), - pool.creationBlock.toI32() - ); - - if (lastYearHistory != null) { - history.APY = history.percPNLUSD.minus(lastYearHistory.percPNLUSD); - } - } - } - return history; -} - -export function roundCheckUp(block: BigInt): BigInt { - let mod = block.mod(BigInt.fromU64(CHECK_PER_BLOCK)); - return block.plus(BigInt.fromU64(CHECK_PER_BLOCK).minus(mod)); -} - -export function getPrevPriceHistory(currentPH: TraderPoolPriceHistory): TraderPoolPriceHistory | null { - let pool = getTraderPool(Address.fromString(currentPH.pool)); - let prevHistory = findPrevHistory( - TraderPoolPriceHistory.load, - currentPH.pool, - currentPH.block, - BigInt.fromI32(CHECK_PER_BLOCK), - pool.creationBlock.toI32() - ); - - return prevHistory; -} diff --git a/AllPools/src/entities/trader-pool/history/ExchangeHistory.ts b/AllPools/src/entities/trader-pool/history/ExchangeHistory.ts deleted file mode 100644 index f6bb9ee1..00000000 --- a/AllPools/src/entities/trader-pool/history/ExchangeHistory.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; -import { ExchangeHistory } from "../../../../generated/schema"; -import { DAY } from "../../global/globals"; - -export function getExchangeHistory(timestamp: BigInt, traderPool: string): ExchangeHistory { - let day = timestamp.div(BigInt.fromU32(DAY)); - let id = traderPool + day.toString(); - let history = ExchangeHistory.load(id); - - if (history == null) { - history = new ExchangeHistory(id); - - history.traderPool = traderPool; - history.day = day; - } - - return history; -} diff --git a/AllPools/src/entities/trader-pool/history/FeeHistory.ts b/AllPools/src/entities/trader-pool/history/FeeHistory.ts deleted file mode 100644 index 0f24aca5..00000000 --- a/AllPools/src/entities/trader-pool/history/FeeHistory.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; -import { FeeHistory, TraderPool } from "../../../../generated/schema"; -import { DAY } from "../../global/globals"; - -export function getFeeHistory(pool: TraderPool, timestamp: BigInt): FeeHistory { - let day = timestamp.div(BigInt.fromI32(DAY)); - let id = pool.id + day.toString(); - let history = FeeHistory.load(id); - - if (history == null) { - history = new FeeHistory(id); - history.traderPool = pool.id; - history.PNL = BigInt.zero(); - history.fundProfit = BigInt.zero(); - history.perfomanceFee = BigInt.zero(); - history.day = day; - history.prevHistory = ""; - } - - return history; -} diff --git a/AllPools/src/helpers/IncreaseCounter.ts b/AllPools/src/helpers/IncreaseCounter.ts deleted file mode 100644 index 40aabc0c..00000000 --- a/AllPools/src/helpers/IncreaseCounter.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; -import { InteractionCount } from "../../generated/schema"; - -export function increaseCounter(counter: InteractionCount): void { - counter.count = counter.count.plus(BigInt.fromI32(1)); - counter.save(); -} diff --git a/AllPools/src/helpers/Position.ts b/AllPools/src/helpers/Position.ts deleted file mode 100644 index 58a4f757..00000000 --- a/AllPools/src/helpers/Position.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Address } from "@graphprotocol/graph-ts"; -import { getPositionOffset } from "../entities/global/PositionOffset"; - -export function getPositionId(poolId: string, token: Address): string { - let positionOffset = getPositionOffset(poolId, token); - let positionId = positionOffset.id + positionOffset.offset.toString(); - - return positionId; -} diff --git a/AllPools/src/helpers/PriceFeedInteractions.ts b/AllPools/src/helpers/PriceFeedInteractions.ts deleted file mode 100644 index 55601e31..00000000 --- a/AllPools/src/helpers/PriceFeedInteractions.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { Address, BigInt, Bytes, log } from "@graphprotocol/graph-ts"; -import { PriceFeed } from "../../generated/templates/TraderPool/PriceFeed"; -import { PRICE_FEED_ADDRESS } from "../entities/global/globals"; - -export function getUSDValue(token: Bytes, amount: BigInt): BigInt { - let pfPrototype = PriceFeed.bind(Address.fromString(PRICE_FEED_ADDRESS)); - - let resp = pfPrototype.try_getNormalizedPriceOutUSD(Address.fromString(token.toHexString()), amount); - if (resp.reverted) { - log.warning("try_getNormalizedPriceOutUSD reverted. FromToken: {}, Amount:{}", [ - token.toHexString(), - amount.toString(), - ]); - return BigInt.zero(); - } else { - if (resp.value.value1.length == 0) { - log.warning("try_getNormalizedPriceOutUSD returned 0 length path. FromToken: {}, Amount:{}", [ - token.toHexString(), - amount.toString(), - ]); - } - return resp.value.value0; - } -} - -export function getTokenValue(fromToken: Bytes, toToken: Bytes, amount: BigInt): BigInt { - let pfPrototype = PriceFeed.bind(Address.fromString(PRICE_FEED_ADDRESS)); - - let resp = pfPrototype.try_getNormalizedPriceOut(Address.fromBytes(fromToken), Address.fromBytes(toToken), amount); - if (resp.reverted) { - log.warning("try_getNormalizedPriceOut reverted. FromToken: {}, ToToken: {}, Amount:{}", [ - fromToken.toHexString(), - toToken.toHexString(), - amount.toString(), - ]); - return BigInt.zero(); - } else { - if (resp.value.value1.length == 0) { - log.warning("try_getNormalizedPriceOut returned 0 length path. FromToken: {}, ToToken: {}, Amount:{}", [ - fromToken.toHexString(), - toToken.toHexString(), - amount.toString(), - ]); - } - return resp.value.value0; - } -} diff --git a/AllPools/src/mappings/PoolFactory.ts b/AllPools/src/mappings/PoolFactory.ts deleted file mode 100644 index 6ce78b20..00000000 --- a/AllPools/src/mappings/PoolFactory.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { TraderPoolDeployed } from "../../generated/PoolFactory/PoolFactory"; -import { getTraderPool } from "../entities/trader-pool/TraderPool"; -import { TraderPool } from "../../generated/templates"; - -export function onDeployed(event: TraderPoolDeployed): void { - let pool = getTraderPool( - event.params.at, - event.params.poolType, - event.params.basicToken, - event.params.symbol, - event.params.name, - event.params.descriptionURL, - event.block.timestamp, - event.block.number, - event.params.trader, - event.params.commission - ); - pool.save(); - - TraderPool.create(event.params.at); -} diff --git a/AllPools/src/mappings/TraderPool.ts b/AllPools/src/mappings/TraderPool.ts deleted file mode 100644 index 39d84560..00000000 --- a/AllPools/src/mappings/TraderPool.ts +++ /dev/null @@ -1,370 +0,0 @@ -import { - Exchanged, - PositionClosed, - Joined, - Left, - DescriptionURLChanged, - ModifiedAdmins, - ModifiedPrivateInvestors, - ActivePortfolioExchanged, - CommissionClaimed, -} from "../../generated/templates/TraderPool/TraderPool"; -import { getTraderPool } from "../entities/trader-pool/TraderPool"; -import { getPositionOffset } from "../entities/global/PositionOffset"; -import { getPosition } from "../entities/trader-pool/Position"; -import { Address, BigInt, Bytes, log } from "@graphprotocol/graph-ts"; -import { pushUnique, remove, upcastCopy, findPrevHistory } from "@solarity/graph-lib"; -import { getPositionId } from "../helpers/Position"; -import { - DAY, - DECIMAL, - REVERSED_PLATFORM_COMMISSION, - PERCENTAGE_100, - PRICE_FEED_ADDRESS, - PERCENTAGE_DENOMINATOR, - PERCENTAGE_NUMERATOR, - MAX_SEARCH_DEPTH, -} from "../entities/global/globals"; -import { PriceFeed } from "../../generated/templates/TraderPool/PriceFeed"; -import { Exchange, FeeHistory, Position, TraderPool, TraderPoolPriceHistory } from "../../generated/schema"; -import { getInvestor } from "../entities/trader-pool/Investor"; -import { getExchange } from "../entities/trader-pool/Exchange"; -import { getExchangeHistory } from "../entities/trader-pool/history/ExchangeHistory"; -import { getFeeHistory } from "../entities/trader-pool/history/FeeHistory"; -import { roundCheckUp } from "../entities/trader-pool/TraderPoolPriceHistory"; -import { getTokenValue, getUSDValue } from "../helpers/PriceFeedInteractions"; - -export function onExchange(event: Exchanged): void { - let pool = getTraderPool(event.address); - - let position1: Position; - let position2: Position; - - let fromBaseVolume = event.params.fromVolume; - let toBaseVolume = event.params.toVolume; - - let usdVolume = BigInt.zero(); - - let baseTokenAddress = Address.fromBytes(pool.baseToken); - - if (event.params.toToken != pool.baseToken) { - // adding funds to the position - - position1 = getPosition(getPositionId(pool.id, event.params.toToken), pool.id, event.params.toToken); - position1.totalPositionOpenVolume = position1.totalPositionOpenVolume.plus(event.params.toVolume); - - if (event.params.fromToken != pool.baseToken) { - fromBaseVolume = getTokenValue(event.params.fromToken, baseTokenAddress, event.params.fromVolume); - } - - usdVolume = getUSDValue(baseTokenAddress, fromBaseVolume); - - position1.totalBaseOpenVolume = position1.totalBaseOpenVolume.plus(fromBaseVolume); - } - - if (event.params.fromToken != pool.baseToken) { - // withdrawing funds from the position - - position2 = getPosition(getPositionId(pool.id, event.params.fromToken), pool.id, event.params.fromToken); - position2.totalPositionCloseVolume = position2.totalPositionCloseVolume.plus(event.params.fromVolume); - - if (event.params.toToken != pool.baseToken) { - toBaseVolume = getTokenValue(event.params.toToken, baseTokenAddress, event.params.toVolume); - } - - usdVolume = getUSDValue(baseTokenAddress, toBaseVolume); - - position2.totalBaseCloseVolume = position2.totalBaseCloseVolume.plus(toBaseVolume); - } - - if (position1 == null && position2 == null) { - return; // catch any random error - } - - if (position2 == null) { - // pos1 - exchangeSetup(pool, position1, event, fromBaseVolume, usdVolume, true, "_0"); - } else if (position1 == null) { - // pos2 - exchangeSetup(pool, position2, event, toBaseVolume, usdVolume, false, "_0"); - } else { - // pos1 && pos2 - exchangeSetup(pool, position1, event, fromBaseVolume, usdVolume, true, "_1"); - exchangeSetup(pool, position2, event, toBaseVolume, usdVolume, false, "_2"); - } - - let days = event.block.timestamp.minus(pool.creationTime).div(BigInt.fromI32(DAY)); - pool.averageTrades = pool.totalTrades.div(days.equals(BigInt.zero()) ? BigInt.fromI32(1) : days); - - pool.save(); -} - -export function onClose(event: PositionClosed): void { - let basicPool = getTraderPool(event.address); - let positionOffset = getPositionOffset(basicPool.id, event.params.position); - let position = getPosition(getPositionId(basicPool.id, event.params.position), basicPool.id, event.params.position); - - position.closed = true; - positionOffset.offset = positionOffset.offset.plus(BigInt.fromI32(1)); - - position.liveTime = event.block.timestamp.minus(position.startTimestamp); - - basicPool.averagePositionTime = basicPool.averagePositionTime - .times(basicPool.totalClosedPositions) - .plus(position.liveTime) - .div(basicPool.totalClosedPositions.plus(BigInt.fromI32(1))); - basicPool.totalClosedPositions = basicPool.totalClosedPositions.plus(BigInt.fromI32(1)); - - let loss = position.totalBaseOpenVolume.minus(position.totalBaseOpenVolume); - if (loss > basicPool.maxLoss) { - basicPool.maxLoss = loss; - } - - basicPool.save(); - position.save(); - positionOffset.save(); -} - -export function onJoined(event: Joined): void { - let pool = getTraderPool(event.address); - - let investor = getInvestor(event.params.user); - pool.investors = pushUnique(pool.investors, [investor.id]); - pool.investorsCount = pool.investorsCount.plus(BigInt.fromI32(1)); - - investor.activePools = pushUnique(investor.activePools, [pool.id]); - investor.allPools = pushUnique(investor.allPools, [pool.id]); - - investor.save(); - pool.save(); -} - -export function onLeft(event: Left): void { - let pool = getTraderPool(event.address); - - let investor = getInvestor(event.params.user); - pool.investors = remove(pool.investors, [investor.id]); - pool.investorsCount = pool.investorsCount.minus(BigInt.fromI32(1)); - - investor.activePools = remove(investor.activePools, [pool.id]); - - investor.save(); - pool.save(); -} - -export function onDescriptionURLChanged(event: DescriptionURLChanged): void { - let pool = getTraderPool(event.address); - pool.descriptionURL = event.params.descriptionURL; - pool.save(); -} - -export function onModifiedAdmins(event: ModifiedAdmins): void { - let pool = getTraderPool(event.address); - - let admins = upcastCopy(event.params.admins); - - if (event.params.add) { - pool.admins = pushUnique(pool.admins, admins); - } else { - pool.admins = remove(pool.admins, admins); - } - - pool.admins = pushUnique(pool.admins, [pool.trader]); - pool.save(); -} - -export function onModifiedPrivateInvestors(event: ModifiedPrivateInvestors): void { - let pool = getTraderPool(event.address); - let upcastedArray = upcastCopy(event.params.privateInvestors); - if (event.params.add) { - pool.privateInvestors = pushUnique(pool.privateInvestors, upcastedArray); - } else { - pool.privateInvestors = remove(pool.privateInvestors, upcastedArray); - } - pool.save(); -} - -export function onTraderCommissionMinted(event: CommissionClaimed): void { - let pool = getTraderPool(event.address); - let history = getFeeHistory(pool, event.block.timestamp); - let priceHistory = findPrevHistory( - TraderPoolPriceHistory.load, - pool.id, - roundCheckUp(event.block.number), - BigInt.fromI32(MAX_SEARCH_DEPTH), - 100 - ); - let currentPNL = priceHistory == null ? BigInt.zero() : priceHistory.percPNLUSD; - let currentLpCost = priceHistory == null ? BigInt.fromI32(1) : priceHistory.usdTVL.div(priceHistory.supply); - let prevHistory: FeeHistory | null; - - if (history.prevHistory == "") { - prevHistory = findPrevHistory( - FeeHistory.load, - event.address.toHexString(), - history.day, - BigInt.fromI32(MAX_SEARCH_DEPTH), - 1 - ); - history.prevHistory = prevHistory == null ? "" : prevHistory.id; - history.PNL = currentPNL; - } else { - prevHistory = FeeHistory.load(history.prevHistory); - history.PNL = currentPNL.minus(prevHistory == null ? BigInt.zero() : prevHistory.PNL); - } - - let lpCommission = event.params.traderLpClaimed - .times(BigInt.fromU64(DECIMAL)) - .div(BigInt.fromI32(REVERSED_PLATFORM_COMMISSION).times(BigInt.fromU64(DECIMAL).div(BigInt.fromI32(10)))); - history.perfomanceFee = lpCommission.times(currentLpCost); - history.fundProfit = history.perfomanceFee - .times(BigInt.fromU64(PERCENTAGE_100).minus(pool.commission)) - .div(pool.commission); - - history.save(); -} -export function onActivePortfolioExchanged(event: ActivePortfolioExchanged): void { - let pool = getTraderPool(event.address); - - let position1: Position; - let position2: Position; - - let fromBaseVolume = event.params.fromVolume; - let toBaseVolume = event.params.toVolume; - - let usdVolume = BigInt.zero(); - - let baseTokenAddress = Address.fromBytes(pool.baseToken); - - if (event.params.toToken != pool.baseToken) { - // adding funds to the position - - position1 = getPosition(getPositionId(pool.id, event.params.toToken), pool.id, event.params.toToken); - position1.totalPositionOpenVolume = position1.totalPositionOpenVolume.plus(event.params.toVolume); - - if (event.params.fromToken != pool.baseToken) { - fromBaseVolume = getTokenValue(event.params.fromToken, baseTokenAddress, event.params.fromVolume); - } - - usdVolume = getUSDValue(baseTokenAddress, fromBaseVolume); - - position1.totalBaseOpenVolume = position1.totalBaseOpenVolume.plus(fromBaseVolume); - } - - if (event.params.fromToken != pool.baseToken) { - // withdrawing funds from the position - - position2 = getPosition(getPositionId(pool.id, event.params.fromToken), pool.id, event.params.fromToken); - position2.totalPositionCloseVolume = position2.totalPositionCloseVolume.plus(event.params.fromVolume); - - if (event.params.toToken != pool.baseToken) { - toBaseVolume = getTokenValue(event.params.toToken, baseTokenAddress, event.params.toVolume); - } - - usdVolume = getUSDValue(baseTokenAddress, toBaseVolume); - - position2.totalBaseCloseVolume = position2.totalBaseCloseVolume.plus(toBaseVolume); - } - - if (position1 == null && position2 == null) { - return; // catch any random error - } - - if (position2 == null) { - // pos1 - position1.totalUSDOpenVolume = position1.totalUSDOpenVolume.plus(usdVolume); - - position1.save(); - } else if (position1 == null) { - // pos2 - position2.totalUSDCloseVolume = position2.totalUSDCloseVolume.plus(usdVolume); - - position2.save(); - } else { - // pos1 && pos2 - position1.totalUSDOpenVolume = position1.totalUSDOpenVolume.plus(usdVolume); - position2.totalUSDCloseVolume = position2.totalUSDCloseVolume.plus(usdVolume); - - position1.save(); - position2.save(); - } -} - -function exchangeSetup( - pool: TraderPool, - position: Position, - event: Exchanged, - volume: BigInt, - usdVolume: BigInt, - flag: boolean, - suffix: string -): void { - if (position.startTimestamp.equals(BigInt.zero())) { - position.startTimestamp = event.block.timestamp; - } - - let trade: Exchange; - if (flag) { - trade = getExchange( - event.transaction.hash, - position.id, - Address.fromBytes(pool.baseToken), - event.params.toToken, - volume, - event.params.toVolume, - usdVolume, - flag, // true - suffix, - event.block.timestamp - ); - position.totalUSDOpenVolume = usdVolume; - } else { - trade = getExchange( - event.transaction.hash, - position.id, - event.params.fromToken, - Address.fromString(pool.baseToken.toHexString()), - event.params.fromVolume, - volume, - usdVolume, - flag, // false - suffix, - event.block.timestamp - ); - position.totalUSDCloseVolume = usdVolume; - } - - if (suffix == "_0" || suffix == "_1") { - recalculateOrderSize(volume, pool, event.block.number); - } - - let history = getExchangeHistory(event.block.timestamp, pool.id); - trade.day = history.id; - history.save(); - trade.save(); - - pool.totalTrades = pool.totalTrades.plus(BigInt.fromI32(1)); - - position.save(); -} - -function recalculateOrderSize(baseVolume: BigInt, pool: TraderPool, block: BigInt): void { - let lastHistory = findPrevHistory( - TraderPoolPriceHistory.load, - pool.id, - block, - BigInt.fromI32(MAX_SEARCH_DEPTH), - 100 - ); - let currentPercentage: BigInt; - if (lastHistory == null || lastHistory.baseTVL.equals(BigInt.zero())) { - currentPercentage = BigInt.zero(); - } else { - currentPercentage = baseVolume.times(BigInt.fromU64(PERCENTAGE_NUMERATOR)).div(lastHistory.baseTVL); - } - - pool.orderSize = pool.totalTrades - .times(pool.orderSize) - .plus(currentPercentage) - .div(pool.totalTrades.plus(BigInt.fromI32(1))); -} diff --git a/AllPools/src/mappings/TraderPoolRegistry.ts b/AllPools/src/mappings/TraderPoolRegistry.ts deleted file mode 100644 index 3d4ac278..00000000 --- a/AllPools/src/mappings/TraderPoolRegistry.ts +++ /dev/null @@ -1,108 +0,0 @@ -import { Address, BigInt, ethereum, log } from "@graphprotocol/graph-ts"; -import { getTraderPool } from "../entities/trader-pool/TraderPool"; -import { getPrevPriceHistory, getTraderPoolPriceHistory } from "../entities/trader-pool/TraderPoolPriceHistory"; -import { PoolRegistry } from "../../generated/PoolRegistry/PoolRegistry"; -import { - BASIC_POOL_NAME, - CHECK_PER_BLOCK, - POOL_OFFSET, - POOL_REGISTRY_ADDRESS, - INVEST_POOL_NAME, -} from "../entities/global/globals"; - -const BLOCK_PER_5MIN = BigInt.fromI32(CHECK_PER_BLOCK); - -const BLOCK_INTERVALS = [ - BLOCK_PER_5MIN.times(BigInt.fromI32(3)), // 15 min - BLOCK_PER_5MIN.times(BigInt.fromI32(6)), // 30 min - BLOCK_PER_5MIN.times(BigInt.fromI32(12)), // 1 h - BLOCK_PER_5MIN.times(BigInt.fromI32(24)), // 2 h - BLOCK_PER_5MIN.times(BigInt.fromI32(48)), // 4 h - BLOCK_PER_5MIN.times(BigInt.fromI32(144)), // 12 h - BLOCK_PER_5MIN.times(BigInt.fromI32(288)), // 24 h - BLOCK_PER_5MIN.times(BigInt.fromI32(288)).times(BigInt.fromI32(30)), // 1 m -]; - -const CODES = [ - 0b00000001, // = 1 => 15 min - 0b00000010, // = 2 => 30 min - 0b00000100, // = 4 => 1 h - 0b00001000, // = 8 => 2 h - 0b00010000, // = 16 => 4 h - 0b00100000, // = 32 => 12 h - 0b01000000, // = 64 => 24 h - 0b10000000, // = 128 => 1 m -]; - -function updatePools(block: ethereum.Block, type: string): void { - let tprPrototype = PoolRegistry.bind(Address.fromString(POOL_REGISTRY_ADDRESS)); - let poolCount = tprPrototype.try_countPools(type); - - if (poolCount.reverted) { - log.warning("try_countPools is reverted for type {}, in block {}", [type, block.number.toString()]); - return; - } - - let iters = Math.ceil(F64.parseFloat(poolCount.value.toI64().toString()) / POOL_OFFSET); - - for (let i = 0; i < iters; i++) { - let poolInfo = tprPrototype.try_listTraderPoolsWithInfo( - type, - BigInt.fromI32(POOL_OFFSET * i), - BigInt.fromI32(POOL_OFFSET) - ); - - if (!poolInfo.reverted) { - for (let j = 0; j < poolInfo.value.value0.length; j++) { - let aggregationType = 0; - let traderPool = getTraderPool(poolInfo.value.value0[j]); - let creationBlock = traderPool.creationBlock.plus( - block.number.minus(traderPool.creationBlock).mod(BLOCK_PER_5MIN) - ); - - for (let k = 0; k < BLOCK_INTERVALS.length; k++) { - if (block.number.minus(creationBlock).mod(BLOCK_INTERVALS[k]).equals(BigInt.zero())) { - aggregationType += CODES[k]; - } - } - - let history = getTraderPoolPriceHistory( - traderPool, - block.number, - block.timestamp, - poolInfo.value.value1[j].totalPoolUSD, - poolInfo.value.value1[j].totalPoolBase, - poolInfo.value.value1[j].lpSupply, - poolInfo.value.value1[j].traderUSD, - poolInfo.value.value1[j].traderBase, - BigInt.fromI32(aggregationType) - ); - - history.save(); - - let prevHistory = getPrevPriceHistory(history); - if (prevHistory != null) { - prevHistory.isLast = false; - prevHistory.save(); - } - - traderPool.priceHistoryCount = traderPool.priceHistoryCount.plus(BigInt.fromI32(1)); - traderPool.save(); - } - } else { - log.warning("try_listPoolsWithInfo is reverted for type {}, interval ({} ; {}), in block {}", [ - type, - BigInt.fromI32(POOL_OFFSET * i).toString(), - POOL_OFFSET.toString(), - block.number.toString(), - ]); - } - } -} - -export function handleBlock(block: ethereum.Block): void { - if (block.number.mod(BigInt.fromU64(CHECK_PER_BLOCK)).equals(BigInt.zero())) { - updatePools(block, BASIC_POOL_NAME); - updatePools(block, INVEST_POOL_NAME); - } -} diff --git a/AllPools/subgraph.yaml b/AllPools/subgraph.yaml deleted file mode 100644 index 927f489c..00000000 --- a/AllPools/subgraph.yaml +++ /dev/null @@ -1,83 +0,0 @@ -specVersion: 0.0.4 -schema: - file: ./schema.graphql -dataSources: - - kind: ethereum/contract - name: PoolFactory - network: chapel - source: - address: "0x11d12802D7b5281addE998E81e7a3db97B133d07" - abi: PoolFactory - startBlock: 32093342 - mapping: - kind: ethereum/events - apiVersion: 0.0.6 - language: wasm/assemblyscript - file: ./src/mappings/PoolFactory.ts - entities: - - PoolFactory - abis: - - name: PoolFactory - file: ./abis/PoolFactory.json - eventHandlers: - - event: TraderPoolDeployed(string,string,string,address,address,address,address,uint256,string) - handler: onDeployed - - - kind: ethereum/contract - name: PoolRegistry - network: chapel - source: - address: "0xA7EF8Ba57199833a839F922b002F93732E1194bd" - abi: PoolRegistry - startBlock: 32093342 - mapping: - kind: ethereum/events - apiVersion: 0.0.6 - language: wasm/assemblyscript - file: ./src/mappings/TraderPoolRegistry.ts - entities: - - Investor - abis: - - name: PoolRegistry - file: ./abis/PoolRegistry.json - blockHandlers: - - handler: handleBlock - -templates: - - kind: ethereum/contract - name: TraderPool - network: chapel - source: - abi: TraderPool - mapping: - kind: ethereum/events - apiVersion: 0.0.6 - language: wasm/assemblyscript - file: ./src/mappings/TraderPool.ts - entities: - - TraderPool - - Position - abis: - - name: TraderPool - file: ./abis/TraderPool.json - - name: PriceFeed - file: ./abis/PriceFeed.json - eventHandlers: - - event: Exchanged(address,address,address,uint256,uint256) - handler: onExchange - - event: Joined(address) - handler: onJoined - - event: Left(address) - handler: onLeft - - event: DescriptionURLChanged(address,string) - handler: onDescriptionURLChanged - - event: ModifiedAdmins(address,address[],bool) - handler: onModifiedAdmins - - event: PositionClosed(address) - handler: onClose - - event: ModifiedPrivateInvestors(address,address[],bool) - handler: onModifiedPrivateInvestors - - event: CommissionClaimed(address,uint256,uint256) - handler: onTraderCommissionMinted - - event: ActivePortfolioExchanged(address,address,uint256,uint256) - handler: onActivePortfolioExchanged diff --git a/AllPools/tests/PoolFactory.test.ts b/AllPools/tests/PoolFactory.test.ts deleted file mode 100644 index 77892c38..00000000 --- a/AllPools/tests/PoolFactory.test.ts +++ /dev/null @@ -1,97 +0,0 @@ -import { TraderPoolDeployed } from "../generated/PoolFactory/PoolFactory"; -import { afterEach, assert, clearStore, describe, newMockEvent, test } from "matchstick-as/assembly/index"; -import { getBlock, getTransaction } from "./utils"; -import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { onDeployed } from "../src/mappings/PoolFactory"; -import { BASIC_POOL_NAME } from "../src/entities/global/globals"; - -function createTraderPoolDeployed( - poolType: string, - symbol: string, - name: string, - at: Address, - proposalContract: Address, - trader: Address, - basicToken: Address, - commission: BigInt, - descriptionURL: string, - block: ethereum.Block, - tx: ethereum.Transaction -): TraderPoolDeployed { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("poolType", ethereum.Value.fromString(poolType))); - event.parameters.push(new ethereum.EventParam("symbol", ethereum.Value.fromString(symbol))); - event.parameters.push(new ethereum.EventParam("name", ethereum.Value.fromString(name))); - event.parameters.push(new ethereum.EventParam("at", ethereum.Value.fromAddress(at))); - event.parameters.push(new ethereum.EventParam("proposalContract", ethereum.Value.fromAddress(proposalContract))); - event.parameters.push(new ethereum.EventParam("trader", ethereum.Value.fromAddress(trader))); - event.parameters.push(new ethereum.EventParam("basicToken", ethereum.Value.fromAddress(basicToken))); - event.parameters.push(new ethereum.EventParam("commission", ethereum.Value.fromUnsignedBigInt(commission))); - event.parameters.push(new ethereum.EventParam("descriptionURL", ethereum.Value.fromString(descriptionURL))); - - event.block = block; - event.transaction = tx; - - return event; -} - -const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); -const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); - -describe("PoolFactory", () => { - afterEach(() => { - clearStore(); - }); - - test("should handle TraderPoolDeployed event", () => { - let expectedPoolType = BASIC_POOL_NAME; - let expectedSymbol = "BSTP"; - let expectedName = "Basic Trader Pool"; - let expectedAt = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181679"); - let expectedProposalContract = Address.fromString("0x86e98f7d84603AEb97cd1c88A80A9e914f181679"); - let expectedTrader = Address.fromString("0x86e98f7d84603AEb97cd1c89A80A9e914f181699"); - let expectedBasicToken = Address.fromString("0x86e98f7d84603AEb97ad1c89A80A9e914f181679"); - let expectedCommission = BigInt.fromI32(300); - let expectedDescriptionURL = "URL"; - let event = createTraderPoolDeployed( - expectedPoolType, - expectedSymbol, - expectedName, - expectedAt, - expectedProposalContract, - expectedTrader, - expectedBasicToken, - expectedCommission, - expectedDescriptionURL, - block, - tx - ); - - onDeployed(event); - - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "id", expectedAt.toHexString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "type", BASIC_POOL_NAME); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "baseToken", expectedBasicToken.toHexString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "ticker", expectedSymbol); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "name", expectedName); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "descriptionURL", expectedDescriptionURL); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "creationTime", block.timestamp.toString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "creationBlock", block.number.toString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "maxLoss", BigInt.zero().toString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "commission", expectedCommission.toString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "trader", expectedTrader.toHexString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "admins", "[" + expectedTrader.toHexString() + "]"); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "totalTrades", BigInt.zero().toString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "totalClosedPositions", BigInt.zero().toString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "averageTrades", BigInt.zero().toString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "averagePositionTime", BigInt.zero().toString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "investors", "[]"); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "investorsCount", BigInt.zero().toString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "privateInvestors", "[]"); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "privateInvestorsCount", BigInt.zero().toString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "orderSize", BigInt.zero().toString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "priceHistoryCount", BigInt.zero().toString()); - }); -}); diff --git a/AllPools/tests/TraderPool.test.ts b/AllPools/tests/TraderPool.test.ts deleted file mode 100644 index d4844dd9..00000000 --- a/AllPools/tests/TraderPool.test.ts +++ /dev/null @@ -1,569 +0,0 @@ -import { Address, BigInt, Bytes, ethereum } from "@graphprotocol/graph-ts"; -import { - afterEach, - beforeAll, - assert, - clearStore, - describe, - newMockEvent, - test, - createMockedFunction, -} from "matchstick-as"; -import { - DescriptionURLChanged, - Joined, - Left, - ModifiedAdmins, - ModifiedPrivateInvestors, - PositionClosed, - Exchanged, - CommissionClaimed, - ActivePortfolioExchanged, -} from "../generated/templates/TraderPool/TraderPool"; -import { getBlock, getNextBlock, getNextTx, getTransaction } from "./utils"; -import { - onClose, - onDescriptionURLChanged, - onExchange, - onJoined, - onLeft, - onModifiedAdmins, - onModifiedPrivateInvestors, - onTraderCommissionMinted, - onActivePortfolioExchanged, -} from "../src/mappings/TraderPool"; -import { getTraderPool } from "../src/entities/trader-pool/TraderPool"; -import { - DAY, - DECIMAL, - PERCENTAGE_100, - PRICE_FEED_ADDRESS, - REVERSED_PLATFORM_COMMISSION, -} from "../src/entities/global/globals"; - -function createExchanged( - user: Address, - fromToken: Address, - toToken: Address, - fromVolume: BigInt, - toVolume: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): Exchanged { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("fromToken", ethereum.Value.fromAddress(fromToken))); - event.parameters.push(new ethereum.EventParam("toToken", ethereum.Value.fromAddress(toToken))); - event.parameters.push(new ethereum.EventParam("fromVolume", ethereum.Value.fromUnsignedBigInt(fromVolume))); - event.parameters.push(new ethereum.EventParam("toToken", ethereum.Value.fromUnsignedBigInt(toVolume))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createClosed( - position: Address, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): PositionClosed { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("position", ethereum.Value.fromAddress(position))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createJoined(investor: Address, sender: Address, block: ethereum.Block, tx: ethereum.Transaction): Joined { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("investor", ethereum.Value.fromAddress(investor))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -function createLeft(investor: Address, sender: Address, block: ethereum.Block, tx: ethereum.Transaction): Left { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("investor", ethereum.Value.fromAddress(investor))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -function createDescriptionURLChanged( - user: Address, - descriptionURL: string, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): DescriptionURLChanged { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("descriptionURL", ethereum.Value.fromString(descriptionURL))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -function createModifiedAdmins( - user: Address, - admins: Address[], - add: boolean, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ModifiedAdmins { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("admins", ethereum.Value.fromAddressArray(admins))); - event.parameters.push(new ethereum.EventParam("add", ethereum.Value.fromBoolean(add))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -function createModifiedPrivateInvestors( - user: Address, - privateInvestors: Address[], - add: boolean, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ModifiedPrivateInvestors { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("privateInvestors", ethereum.Value.fromAddressArray(privateInvestors))); - event.parameters.push(new ethereum.EventParam("add", ethereum.Value.fromBoolean(add))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -function createCommissionClaimed( - user: Address, - traderBaseClaimed: BigInt, - traderLpClaimed: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): CommissionClaimed { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - event.parameters.push( - new ethereum.EventParam("traderBaseClaimed", ethereum.Value.fromUnsignedBigInt(traderBaseClaimed)) - ); - event.parameters.push(new ethereum.EventParam("traderLpClaimed", ethereum.Value.fromUnsignedBigInt(traderLpClaimed))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -function createActivePortfolioExchanged( - fromToken: Address, - toToken: Address, - fromVolume: BigInt, - toVolume: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ActivePortfolioExchanged { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("fromToken", ethereum.Value.fromAddress(fromToken))); - event.parameters.push(new ethereum.EventParam("toToken", ethereum.Value.fromAddress(toToken))); - event.parameters.push(new ethereum.EventParam("fromVolume", ethereum.Value.fromUnsignedBigInt(fromVolume))); - event.parameters.push(new ethereum.EventParam("toVolume", ethereum.Value.fromUnsignedBigInt(toVolume))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -const sender = Address.fromString("0x86e98f7d84603AEb97cd1c89A80A9e914f181679"); -const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); -const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); -const baseToken = Address.fromString("0x86e98f7d84603AEb97cd1c89A80A9e914f181675"); -const expectedUSD = BigInt.fromI32(10).pow(18); - -describe("TraderPool", () => { - beforeAll(() => { - createMockedFunction( - Address.fromString(PRICE_FEED_ADDRESS), - "getNormalizedPriceOutUSD", - "getNormalizedPriceOutUSD(address,uint256):(uint256,address[])" - ) - .withArgs([ - ethereum.Value.fromAddress(Address.fromString("0x86e98f7d84603aeb97cd1c89a80a9e914f181675")), - ethereum.Value.fromUnsignedBigInt(expectedUSD), - ]) - .returns([ethereum.Value.fromUnsignedBigInt(expectedUSD), ethereum.Value.fromAddressArray([sender, sender])]); - }); - - afterEach(() => { - clearStore(); - }); - - test("should handle Joined", () => { - let expectedInvestor = Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"); - let event = createJoined(expectedInvestor, sender, block, tx); - - onJoined(event); - - assert.fieldEquals("Investor", expectedInvestor.toHexString(), "activePools", `[${sender.toHexString()}]`); - assert.fieldEquals("Investor", expectedInvestor.toHexString(), "allPools", `[${sender.toHexString()}]`); - assert.fieldEquals("TraderPool", sender.toHexString(), "investors", `[${expectedInvestor.toHexString()}]`); - assert.fieldEquals("TraderPool", sender.toHexString(), "investorsCount", BigInt.fromI32(1).toString()); - }); - - test("should handle Left", () => { - let expectedInvestor1 = Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"); - let expectedInvestor2 = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); - let eventJoined = createJoined(expectedInvestor1, sender, block, tx); - - onJoined(eventJoined); - - eventJoined = createJoined(expectedInvestor2, sender, block, tx); - - onJoined(eventJoined); - - let eventLeft = createLeft(expectedInvestor1, sender, block, tx); - - onLeft(eventLeft); - - assert.fieldEquals("Investor", expectedInvestor1.toHexString(), "activePools", "[]"); - assert.fieldEquals("Investor", expectedInvestor1.toHexString(), "allPools", `[${sender.toHexString()}]`); - assert.fieldEquals("TraderPool", sender.toHexString(), "investors", `[${expectedInvestor2.toHexString()}]`); - assert.fieldEquals("TraderPool", sender.toHexString(), "investorsCount", BigInt.fromI32(1).toString()); - - eventLeft = createLeft(expectedInvestor2, sender, block, tx); - - onLeft(eventLeft); - - assert.fieldEquals("Investor", expectedInvestor2.toHexString(), "activePools", "[]"); - assert.fieldEquals("Investor", expectedInvestor2.toHexString(), "allPools", `[${sender.toHexString()}]`); - assert.fieldEquals("TraderPool", sender.toHexString(), "investors", `[]`); - assert.fieldEquals("TraderPool", sender.toHexString(), "investorsCount", BigInt.zero().toString()); - }); - - test("should handle DescriptionURLChanged", () => { - let expectedInvestor = Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"); - let expectedUrl = "URL_1"; - - let event = createDescriptionURLChanged(expectedInvestor, expectedUrl, sender, block, tx); - - onDescriptionURLChanged(event); - - assert.fieldEquals("TraderPool", sender.toHexString(), "descriptionURL", expectedUrl); - - expectedInvestor = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); - expectedUrl = "URL_2"; - - event = createDescriptionURLChanged(expectedInvestor, expectedUrl, sender, block, tx); - - onDescriptionURLChanged(event); - - assert.fieldEquals("TraderPool", sender.toHexString(), "descriptionURL", expectedUrl); - }); - - test("should handle ModifiedAdmins", () => { - let expectedUser = Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"); - let expectedAdmins = [ - Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"), - Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"), - ]; - let add = true; - - let event = createModifiedAdmins(expectedUser, expectedAdmins, add, sender, block, tx); - - onModifiedAdmins(event); - - assert.fieldEquals( - "TraderPool", - sender.toHexString(), - "admins", - `[${getTraderPool( - sender - ).trader.toHexString()}, ${expectedAdmins[0].toHexString()}, ${expectedAdmins[1].toHexString()}]` - ); - - add = false; - expectedAdmins = [Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE")]; - - event = createModifiedAdmins(expectedUser, expectedAdmins, add, sender, block, tx); - - onModifiedAdmins(event); - - assert.fieldEquals( - "TraderPool", - sender.toHexString(), - "admins", - `[${getTraderPool(sender).trader.toHexString()}, ${Address.fromString( - "0x76e98f7d84603AEb97cd1c89A80A9e914f181679" - ).toHexString()}]` - ); - }); - - test("should handle ModifiedPrivateInvestors", () => { - let expectedUser = Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"); - let expectedPrivateInvestors = [ - Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"), - Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"), - ]; - let add = true; - - let event = createModifiedPrivateInvestors(expectedUser, expectedPrivateInvestors, add, sender, block, tx); - - onModifiedPrivateInvestors(event); - - assert.fieldEquals( - "TraderPool", - sender.toHexString(), - "privateInvestors", - `[${expectedPrivateInvestors[0].toHexString()}, ${expectedPrivateInvestors[1].toHexString()}]` - ); - - add = false; - expectedPrivateInvestors = [Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE")]; - - event = createModifiedPrivateInvestors(expectedUser, expectedPrivateInvestors, add, sender, block, tx); - - onModifiedPrivateInvestors(event); - - assert.fieldEquals( - "TraderPool", - sender.toHexString(), - "privateInvestors", - `[${Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679").toHexString()}]` - ); - }); - - test("should handle Exchange event", () => { - getTraderPool( - sender, - "BASIC_TRADER_POOL", - baseToken, - "Ticker", - "name", - "url", - block.timestamp, - block.number, - Address.zero(), - BigInt.fromI32(30) - ).save(); - - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let fromToken = baseToken; - let toToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181979"); - let fromVolume = BigInt.fromI32(10).pow(18); - let toVolume = BigInt.fromI32(10).pow(19); - - let event = createExchanged(user, fromToken, toToken, fromVolume, toVolume, sender, block, tx); - - onExchange(event); - - assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString() + "_0", "hash", tx.hash.toHexString()); - assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString() + "_0", "timestamp", block.timestamp.toString()); - assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString() + "_0", "fromToken", fromToken.toHexString()); - assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString() + "_0", "toToken", toToken.toHexString()); - assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString() + "_0", "fromVolume", fromVolume.toString()); - assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString() + "_0", "toVolume", toVolume.toString()); - assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString() + "_0", "usdVolume", expectedUSD.toString()); - assert.fieldEquals( - "Exchange", - tx.hash.concatI32(0).toHexString() + "_0", - "position", - sender.toHexString() + toToken.toHexString() + "0" - ); - assert.fieldEquals("Exchange", tx.hash.concatI32(0).toHexString() + "_0", "opening", "true"); - - const day = block.timestamp.div(BigInt.fromI32(86400)); - const exchangeHistoryId = sender.toHexString() + day.toString(); - - assert.fieldEquals("ExchangeHistory", exchangeHistoryId, "traderPool", sender.toHexString()); - assert.fieldEquals("ExchangeHistory", exchangeHistoryId, "day", day.toString()); - - assert.fieldEquals( - "Position", - sender.toHexString() + toToken.toHexString() + "0", - "totalPositionOpenVolume", - toVolume.toString() - ); - assert.fieldEquals( - "Position", - sender.toHexString() + toToken.toHexString() + "0", - "totalBaseOpenVolume", - fromVolume.toString() - ); - assert.fieldEquals("InteractionCount", tx.hash.toHexString(), "count", "1"); - - assert.fieldEquals("TraderPool", sender.toHexString(), "totalTrades", "1"); - assert.fieldEquals("TraderPool", sender.toHexString(), "averageTrades", "1"); - }); - - test("should handle PositionClosed event", () => { - getTraderPool( - sender, - "BASIC_TRADER_POOL", - baseToken, - "tiker", - "name", - "url", - block.timestamp, - block.number, - Address.zero(), - BigInt.fromI32(30) - ).save(); - - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let fromToken = baseToken; - let toToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181979"); - let fromVolume = BigInt.fromI32(10).pow(18); - let toVolume = BigInt.fromI32(10).pow(19); - - let exchangeEvent = createExchanged(user, fromToken, toToken, fromVolume, toVolume, sender, block, tx); - - onExchange(exchangeEvent); - - let nextBlock = getNextBlock(block); - let nextTx = getNextTx(tx); - - let event = createClosed(toToken, sender, nextBlock, nextTx); - - onClose(event); - - assert.fieldEquals("Position", sender.toHexString() + toToken.toHexString() + "0", "closed", "true"); - assert.fieldEquals("Position", sender.toHexString() + toToken.toHexString() + "0", "liveTime", "1"); - - assert.fieldEquals("TraderPool", sender.toHexString(), "averagePositionTime", "1"); - assert.fieldEquals("TraderPool", sender.toHexString(), "totalClosedPositions", "1"); - assert.fieldEquals("TraderPool", sender.toHexString(), "maxLoss", "0"); - }); - - test("should handle CommissionClaimed event", () => { - const commission = BigInt.fromI32(30); - getTraderPool( - sender, - "BASIC_TRADER_POOL", - baseToken, - "tiker", - "name", - "url", - block.timestamp, - block.number, - Address.zero(), - commission - ).save(); - - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let traderBaseClaimed = BigInt.fromI32(10); - let traderLpClaimed = BigInt.fromI32(20); - - let event = createCommissionClaimed(user, traderBaseClaimed, traderLpClaimed, sender, block, tx); - - onTraderCommissionMinted(event); - - const historyId = sender.toHexString() + block.timestamp.div(BigInt.fromI32(DAY)).toString(); - - let lpCommission = event.params.traderLpClaimed - .times(BigInt.fromU64(DECIMAL)) - .div(BigInt.fromI32(REVERSED_PLATFORM_COMMISSION).times(BigInt.fromU64(DECIMAL).div(BigInt.fromI32(10)))); - - const perfomanceFee = lpCommission.times(BigInt.fromI32(1)); - const fundProfit = perfomanceFee.times(BigInt.fromU64(PERCENTAGE_100).minus(commission)).div(commission); - - assert.fieldEquals("FeeHistory", historyId, "traderPool", sender.toHexString()); - assert.fieldEquals("FeeHistory", historyId, "PNL", "0"); - assert.fieldEquals("FeeHistory", historyId, "fundProfit", fundProfit.toString()); - assert.fieldEquals("FeeHistory", historyId, "perfomanceFee", perfomanceFee.toString()); - assert.fieldEquals("FeeHistory", historyId, "day", block.timestamp.div(BigInt.fromI32(86400)).toString()); - assert.fieldEquals("FeeHistory", historyId, "prevHistory", ""); - }); - - test("should handle ActivePortfolioExchanged event", () => { - getTraderPool( - sender, - "BASIC_TRADER_POOL", - baseToken, - "Ticker", - "name", - "url", - block.timestamp, - block.number, - Address.zero(), - BigInt.fromI32(30) - ).save(); - - let fromToken = baseToken; - let toToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181979"); - let fromVolume = BigInt.fromI32(10).pow(18); - let toVolume = BigInt.fromI32(10).pow(19); - - let event = createActivePortfolioExchanged(fromToken, toToken, fromVolume, toVolume, sender, block, tx); - - onActivePortfolioExchanged(event); - - assert.fieldEquals( - "Position", - sender.toHexString() + toToken.toHexString() + "0", - "totalPositionOpenVolume", - toVolume.toString() - ); - assert.fieldEquals( - "Position", - sender.toHexString() + toToken.toHexString() + "0", - "totalBaseOpenVolume", - fromVolume.toString() - ); - - assert.fieldEquals( - "Position", - sender.toHexString() + toToken.toHexString() + "0", - "totalUSDOpenVolume", - fromVolume.toString() - ); - }); -}); diff --git a/AllPools/tests/TraderPoolRegistry.test.ts b/AllPools/tests/TraderPoolRegistry.test.ts deleted file mode 100644 index 8ee174e3..00000000 --- a/AllPools/tests/TraderPoolRegistry.test.ts +++ /dev/null @@ -1,610 +0,0 @@ -import { Address, BigInt, Bytes, ethereum } from "@graphprotocol/graph-ts"; -import { - afterEach, - assert, - beforeAll, - beforeEach, - clearStore, - createMockedFunction, - describe, - logStore, - test, -} from "matchstick-as"; -import { getBlock, getNextBlock, getTransaction } from "./utils"; -import { getTraderPool } from "../src/entities/trader-pool/TraderPool"; -import { handleBlock } from "../src/mappings/TraderPoolRegistry"; -import { - BASIC_POOL_NAME, - CHECK_PER_BLOCK, - INVEST_POOL_NAME, - POOL_REGISTRY_ADDRESS, -} from "../src/entities/global/globals"; - -const pools = [ - Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"), - Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181670"), -]; -const basicTokens = [ - Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181671"), - Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181672"), -]; -let block = getBlock(BigInt.zero(), BigInt.zero()); - -let returnData = [ - ethereum.Value.fromAddressArray(pools), - ethereum.Value.fromTupleArray([getPoolInfoTuple(), getPoolInfoTuple()]), - ethereum.Value.fromTupleArray([getLeverageInfo(), getLeverageInfo()]), -]; - -describe("TraderPoolRegistry", () => { - beforeEach(() => { - for (let i = 0; i < pools.length; i++) { - getTraderPool( - pools[i], - BASIC_POOL_NAME, - basicTokens[i], - "TICKER", - "NAME", - "URL", - BigInt.fromI32(1), - BigInt.fromI32(1), - Address.fromString("0x86e98f7d84603AEb97cd1c89A80A9e914f181679"), - BigInt.fromI32(30) - ).save(); - } - - createMockedFunction(Address.fromString(POOL_REGISTRY_ADDRESS), "countPools", "countPools(string):(uint256)") - .withArgs([ethereum.Value.fromString(BASIC_POOL_NAME)]) - .returns([ethereum.Value.fromI32(2)]); - createMockedFunction(Address.fromString(POOL_REGISTRY_ADDRESS), "countPools", "countPools(string):(uint256)") - .withArgs([ethereum.Value.fromString(INVEST_POOL_NAME)]) - .returns([ethereum.Value.fromI32(0)]); - - createMockedFunction( - Address.fromString(POOL_REGISTRY_ADDRESS), - "listTraderPoolsWithInfo", - "listTraderPoolsWithInfo(string,uint256,uint256):(address[],(string,string,(string,address,bool,uint8,bool,uint256,address,uint256,uint8,uint256,uint256),address[],uint256[],uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)[],(uint256,uint256,uint256,uint256)[])" - ) - .withArgs([ - ethereum.Value.fromString(BASIC_POOL_NAME), - ethereum.Value.fromUnsignedBigInt(BigInt.zero()), - ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(40)), - ]) - .returns(returnData); - createMockedFunction( - Address.fromString(POOL_REGISTRY_ADDRESS), - "listTraderPoolsWithInfo", - "listTraderPoolsWithInfo(string,uint256,uint256):(address[],(string,string,(string,address,bool,uint8,bool,uint256,address,uint256,uint8,uint256,uint256),address[],uint256[],uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)[],(uint256,uint256,uint256,uint256)[])" - ) - .withArgs([ - ethereum.Value.fromString(INVEST_POOL_NAME), - ethereum.Value.fromUnsignedBigInt(BigInt.zero()), - ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(40)), - ]) - .returns(returnData); - }); - - afterEach(() => { - clearStore(); - }); - - describe("block handler", () => { - test("should handle block 100", () => { - for (let i = 1; i <= 100; i++) { - block = getBlock(BigInt.fromI32(i), BigInt.fromI32(i * 1000)); - handleBlock(block); - } - - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "timestamp", "100000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "100", - "usdTVL", - BigInt.fromI32(10).pow(19).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "100", - "supply", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "100", - "baseTVL", - BigInt.fromI32(10).pow(17).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "absPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "percPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "percPNLBase", "-9000"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "absPNLBase", "-900000000000000000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "100", - "traderUSD", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "100", - "traderBase", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "APY", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "isLast", "true"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "aggregationType", "255"); - - assert.fieldEquals("TraderPoolPriceHistory", pools[1].toHexString() + "100", "timestamp", "100000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[1].toHexString() + "100", - "usdTVL", - BigInt.fromI32(10).pow(19).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[1].toHexString() + "100", - "supply", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[1].toHexString() + "100", - "baseTVL", - BigInt.fromI32(10).pow(17).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[1].toHexString() + "100", "absPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[1].toHexString() + "100", "percPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[1].toHexString() + "100", "percPNLBase", "-9000"); - assert.fieldEquals("TraderPoolPriceHistory", pools[1].toHexString() + "100", "absPNLBase", "-900000000000000000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[1].toHexString() + "100", - "traderUSD", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[1].toHexString() + "100", - "traderBase", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[1].toHexString() + "100", "APY", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[1].toHexString() + "100", "isLast", "true"); - assert.fieldEquals("TraderPoolPriceHistory", pools[1].toHexString() + "100", "aggregationType", "255"); - }); - - test("should handle day block range", () => { - for (let i = 1; i <= 288; i++) { - block = getBlock(BigInt.fromU64(i * 100), BigInt.fromU64(i * 1000)); - handleBlock(block); - } - - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "timestamp", "1000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "100", - "usdTVL", - BigInt.fromI32(10).pow(19).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "100", - "supply", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "100", - "baseTVL", - BigInt.fromI32(10).pow(17).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "absPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "percPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "percPNLBase", "-9000"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "absPNLBase", "-900000000000000000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "100", - "traderUSD", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "100", - "traderBase", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "APY", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "isLast", "false"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "100", "aggregationType", "255"); - - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "200", "timestamp", "2000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "200", - "usdTVL", - BigInt.fromI32(10).pow(19).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "200", - "supply", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "200", - "baseTVL", - BigInt.fromI32(10).pow(17).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "200", "absPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "200", "percPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "200", "percPNLBase", "-9000"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "200", "absPNLBase", "-900000000000000000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "200", - "traderUSD", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "200", - "traderBase", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "200", "APY", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "200", "isLast", "false"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "200", "aggregationType", "0"); - - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "700", "timestamp", "7000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "700", - "usdTVL", - BigInt.fromI32(10).pow(19).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "700", - "supply", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "700", - "baseTVL", - BigInt.fromI32(10).pow(17).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "700", "absPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "700", "percPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "700", "percPNLBase", "-9000"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "700", "absPNLBase", "-900000000000000000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "700", - "traderUSD", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "700", - "traderBase", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "700", "APY", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "700", "isLast", "false"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "700", "aggregationType", "3"); - - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "1300", "aggregationType", "7"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "2500", "aggregationType", "15"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "4900", "aggregationType", "31"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "14500", "aggregationType", "63"); - - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "28800", "timestamp", "288000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "28800", - "usdTVL", - BigInt.fromI32(10).pow(19).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "28800", - "supply", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "28800", - "baseTVL", - BigInt.fromI32(10).pow(17).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "28800", "absPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "28800", "percPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "28800", "percPNLBase", "-9000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "28800", - "absPNLBase", - "-900000000000000000" - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "28800", - "traderUSD", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "28800", - "traderBase", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "28800", "APY", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "28800", "isLast", "true"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "28800", "aggregationType", "0"); - }); - - test("should handle every 200th block in range 1000", () => { - block = getBlock(BigInt.fromU64(200), BigInt.fromU64(2 * 1000)); - handleBlock(block); - block = getBlock(BigInt.fromU64(400), BigInt.fromU64(4 * 1000)); - handleBlock(block); - block = getBlock(BigInt.fromU64(600), BigInt.fromU64(6 * 1000)); - handleBlock(block); - block = getBlock(BigInt.fromU64(800), BigInt.fromU64(8 * 1000)); - handleBlock(block); - block = getBlock(BigInt.fromU64(1000), BigInt.fromU64(10 * 1000)); - handleBlock(block); - - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "200", "timestamp", "2000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "200", - "usdTVL", - BigInt.fromI32(10).pow(19).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "200", - "supply", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "200", - "baseTVL", - BigInt.fromI32(10).pow(17).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "200", "absPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "200", "percPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "200", "percPNLBase", "-9000"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "200", "absPNLBase", "-900000000000000000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "200", - "traderUSD", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "200", - "traderBase", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "200", "APY", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "200", "isLast", "false"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "200", "aggregationType", "0"); - - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "400", "timestamp", "4000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "400", - "usdTVL", - BigInt.fromI32(10).pow(19).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "400", - "supply", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "400", - "baseTVL", - BigInt.fromI32(10).pow(17).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "400", "absPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "400", "percPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "400", "percPNLBase", "-9000"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "400", "absPNLBase", "-900000000000000000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "400", - "traderUSD", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "400", - "traderBase", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "400", "APY", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "400", "isLast", "false"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "400", "aggregationType", "1"); - - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "600", "timestamp", "6000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "600", - "usdTVL", - BigInt.fromI32(10).pow(19).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "600", - "supply", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "600", - "baseTVL", - BigInt.fromI32(10).pow(17).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "600", "absPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "600", "percPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "600", "percPNLBase", "-9000"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "600", "absPNLBase", "-900000000000000000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "600", - "traderUSD", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "600", - "traderBase", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "600", "APY", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "600", "isLast", "false"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "600", "aggregationType", "0"); - - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "800", "timestamp", "8000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "800", - "usdTVL", - BigInt.fromI32(10).pow(19).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "800", - "supply", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "800", - "baseTVL", - BigInt.fromI32(10).pow(17).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "800", "absPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "800", "percPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "800", "percPNLBase", "-9000"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "800", "absPNLBase", "-900000000000000000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "800", - "traderUSD", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "800", - "traderBase", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "800", "APY", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "800", "isLast", "false"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "800", "aggregationType", "0"); - - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "1000", "timestamp", "10000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "1000", - "usdTVL", - BigInt.fromI32(10).pow(19).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "1000", - "supply", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "1000", - "baseTVL", - BigInt.fromI32(10).pow(17).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "1000", "absPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "1000", "percPNLUSD", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "1000", "percPNLBase", "-9000"); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "1000", - "absPNLBase", - "-900000000000000000" - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "1000", - "traderUSD", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals( - "TraderPoolPriceHistory", - pools[0].toHexString() + "1000", - "traderBase", - BigInt.fromI32(10).pow(18).toString() - ); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "1000", "APY", "0"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "1000", "isLast", "true"); - assert.fieldEquals("TraderPoolPriceHistory", pools[0].toHexString() + "1000", "aggregationType", "1"); - }); - }); -}); - -function getPoolInfoTuple(): ethereum.Tuple { - let poolInfoTuple = new ethereum.Tuple(14); - poolInfoTuple[0] = ethereum.Value.fromString("Ticker"); - poolInfoTuple[1] = ethereum.Value.fromString("Name"); - poolInfoTuple[2] = ethereum.Value.fromTuple(getPoolParametersTuple()); - poolInfoTuple[3] = ethereum.Value.fromAddressArray([Address.zero()]); - poolInfoTuple[4] = ethereum.Value.fromUnsignedBigIntArray([BigInt.zero()]); - poolInfoTuple[5] = ethereum.Value.fromUnsignedBigInt(BigInt.zero()); - poolInfoTuple[6] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(2)); - poolInfoTuple[7] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(10).pow(19)); - poolInfoTuple[8] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(10).pow(17)); - poolInfoTuple[9] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(10).pow(18)); - poolInfoTuple[10] = ethereum.Value.fromUnsignedBigInt(BigInt.zero()); - poolInfoTuple[11] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(10).pow(18)); - poolInfoTuple[12] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(10).pow(18)); - poolInfoTuple[13] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(10).pow(18)); - - return poolInfoTuple; -} - -function getPoolParametersTuple(): ethereum.Tuple { - let poolParametersTuple = new ethereum.Tuple(9); - poolParametersTuple[0] = ethereum.Value.fromString("URL"); - poolParametersTuple[1] = ethereum.Value.fromAddress(Address.fromString("0x86e98f7d84603AEb97cd1c89A80A9e914f181679")); - poolParametersTuple[2] = ethereum.Value.fromBoolean(false); - poolParametersTuple[3] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(18)); - poolParametersTuple[4] = ethereum.Value.fromBoolean(false); - poolParametersTuple[5] = ethereum.Value.fromUnsignedBigInt(BigInt.zero()); - poolParametersTuple[6] = ethereum.Value.fromAddress(basicTokens[0]); - poolParametersTuple[7] = ethereum.Value.fromUnsignedBigInt(BigInt.zero()); - poolParametersTuple[8] = ethereum.Value.fromUnsignedBigInt(BigInt.zero()); - poolParametersTuple[9] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(18)); - poolParametersTuple[10] = ethereum.Value.fromUnsignedBigInt(BigInt.zero()); - - return poolParametersTuple; -} - -function getLeverageInfo(): ethereum.Tuple { - let leverageInfoTuple = new ethereum.Tuple(4); - leverageInfoTuple[0] = ethereum.Value.fromUnsignedBigInt(BigInt.zero()); - leverageInfoTuple[1] = ethereum.Value.fromUnsignedBigInt(BigInt.zero()); - leverageInfoTuple[2] = ethereum.Value.fromUnsignedBigInt(BigInt.zero()); - leverageInfoTuple[3] = ethereum.Value.fromUnsignedBigInt(BigInt.zero()); - - return leverageInfoTuple; -} diff --git a/AllPools/tests/utils.ts b/AllPools/tests/utils.ts deleted file mode 100644 index 91208ad4..00000000 --- a/AllPools/tests/utils.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { Address, BigInt, Bytes, ethereum } from "@graphprotocol/graph-ts"; - -export function getBlock(number: BigInt, timestamp: BigInt): ethereum.Block { - return new ethereum.Block( - Bytes.empty(), - Bytes.empty(), - Bytes.empty(), - Address.zero(), - Bytes.empty(), - Bytes.empty(), - Bytes.empty(), - number, - BigInt.zero(), - BigInt.zero(), - timestamp, - BigInt.zero(), - BigInt.zero(), - BigInt.zero(), - BigInt.zero() - ); -} - -export function getTransaction(hash: Bytes): ethereum.Transaction { - return new ethereum.Transaction( - hash, - BigInt.zero(), - Address.zero(), - Address.zero(), - BigInt.zero(), - BigInt.zero(), - BigInt.zero(), - Bytes.empty(), - BigInt.zero() - ); -} - -export function getNextBlock(prevBlock: ethereum.Block): ethereum.Block { - return new ethereum.Block( - nextHash(prevBlock.hash), - prevBlock.hash, - prevBlock.unclesHash, - prevBlock.author, - prevBlock.stateRoot, - prevBlock.transactionsRoot, - prevBlock.receiptsRoot, - prevBlock.number.plus(BigInt.fromI32(1)), - prevBlock.gasUsed, - prevBlock.gasLimit, - prevBlock.timestamp.plus(BigInt.fromI32(1)), - prevBlock.difficulty, - prevBlock.totalDifficulty, - prevBlock.size, - prevBlock.baseFeePerGas - ); -} - -export function getNextTx(prevTx: ethereum.Transaction): ethereum.Transaction { - return new ethereum.Transaction( - nextHash(prevTx.hash), - prevTx.index, - prevTx.from, - prevTx.to, - prevTx.value, - prevTx.gasLimit, - prevTx.gasPrice, - prevTx.input, - prevTx.nonce.plus(BigInt.fromI32(1)) - ); -} - -function nextHash(prevHash: Bytes): Bytes { - return Bytes.fromI32(prevHash.toI32() + 1); -} diff --git a/AllPools/tsconfig.json b/AllPools/tsconfig.json deleted file mode 100644 index 564fc4e6..00000000 --- a/AllPools/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@graphprotocol/graph-ts/types/tsconfig.base.json", - "include": ["src", "src/entities/ProposalExchangeHistory.ts"] -} diff --git a/AllPoolsInvestors/.gitignore b/AllPoolsInvestors/.gitignore deleted file mode 100644 index 19572bb5..00000000 --- a/AllPoolsInvestors/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -node_modules -generated/* -build -.latest.json -.bin \ No newline at end of file diff --git a/AllPoolsInvestors/README.md b/AllPoolsInvestors/README.md deleted file mode 100644 index e69de29b..00000000 diff --git a/AllPoolsInvestors/abis/Insurance.json b/AllPoolsInvestors/abis/Insurance.json deleted file mode 100644 index eaac44c0..00000000 --- a/AllPoolsInvestors/abis/Insurance.json +++ /dev/null @@ -1,359 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "Deposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "insurancePayout", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "userStakePayout", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "Paidout", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "Withdrawn", - "type": "event" - }, - { - "inputs": [], - "name": "__Insurance_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "name": "acceptClaim", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "acceptedClaimsCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "deposit", - "type": "uint256" - } - ], - "name": "buyInsurance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getInsurance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxTreasuryPayout", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "deposit", - "type": "uint256" - } - ], - "name": "getReceivedInsurance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "listAcceptedClaims", - "outputs": [ - { - "internalType": "string[]", - "name": "urls", - "type": "string[]" - }, - { - "components": [ - { - "internalType": "address[]", - "name": "claimers", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "internalType": "struct IInsurance.AcceptedClaims[]", - "name": "info", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "userInfos", - "outputs": [ - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastDepositTimestamp", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amountToWithdraw", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/AllPoolsInvestors/abis/PoolFactory.json b/AllPoolsInvestors/abis/PoolFactory.json deleted file mode 100644 index f572bda1..00000000 --- a/AllPoolsInvestors/abis/PoolFactory.json +++ /dev/null @@ -1,1010 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "address", - "name": "govPool", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "dp", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "validators", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "settings", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "govUserKeeper", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "localExpertNft", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nftMultiplier", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "DaoPoolDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "govPool", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "tokenSale", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "DaoTokenSaleDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "poolType", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "address", - "name": "at", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "proposalContract", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "basicToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "commission", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "descriptionURL", - "type": "string" - } - ], - "name": "TraderPoolDeployed", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.TraderPoolDeployParameters", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployBasicPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "components": [ - { - "internalType": "bool", - "name": "earlyCompletion", - "type": "bool" - }, - { - "internalType": "bool", - "name": "delegatedVotingAllowed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "validatorsVote", - "type": "bool" - }, - { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "durationValidators", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "quorumValidators", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "minVotesForVoting", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minVotesForCreating", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" - }, - { - "components": [ - { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", - "type": "uint256" - } - ], - "internalType": "struct IGovSettings.RewardsInfo", - "name": "rewardsInfo", - "type": "tuple" - }, - { - "internalType": "string", - "name": "executorDescription", - "type": "string" - } - ], - "internalType": "struct IGovSettings.ProposalSettings[]", - "name": "proposalSettings", - "type": "tuple[]" - }, - { - "internalType": "address[]", - "name": "additionalProposalExecutors", - "type": "address[]" - } - ], - "internalType": "struct IPoolFactory.SettingsDeployParams", - "name": "settingsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" - } - ], - "internalType": "struct IGovValidators.ProposalSettings", - "name": "proposalSettings", - "type": "tuple" - }, - { - "internalType": "address[]", - "name": "validators", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "balances", - "type": "uint256[]" - } - ], - "internalType": "struct IPoolFactory.ValidatorsDeployParams", - "name": "validatorsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "nftAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalPowerInTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nftsTotalSupply", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.UserKeeperDeployParams", - "name": "userKeeperParams", - "type": "tuple" - }, - { - "internalType": "address", - "name": "nftMultiplierAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" - }, - { - "internalType": "address", - "name": "verifier", - "type": "address" - }, - { - "internalType": "bool", - "name": "onlyBABHolders", - "type": "bool" - }, - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "internalType": "struct IPoolFactory.GovPoolDeployParams", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployGovPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "components": [ - { - "internalType": "bool", - "name": "earlyCompletion", - "type": "bool" - }, - { - "internalType": "bool", - "name": "delegatedVotingAllowed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "validatorsVote", - "type": "bool" - }, - { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "durationValidators", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "quorumValidators", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "minVotesForVoting", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minVotesForCreating", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" - }, - { - "components": [ - { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", - "type": "uint256" - } - ], - "internalType": "struct IGovSettings.RewardsInfo", - "name": "rewardsInfo", - "type": "tuple" - }, - { - "internalType": "string", - "name": "executorDescription", - "type": "string" - } - ], - "internalType": "struct IGovSettings.ProposalSettings[]", - "name": "proposalSettings", - "type": "tuple[]" - }, - { - "internalType": "address[]", - "name": "additionalProposalExecutors", - "type": "address[]" - } - ], - "internalType": "struct IPoolFactory.SettingsDeployParams", - "name": "settingsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" - } - ], - "internalType": "struct IGovValidators.ProposalSettings", - "name": "proposalSettings", - "type": "tuple" - }, - { - "internalType": "address[]", - "name": "validators", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "balances", - "type": "uint256[]" - } - ], - "internalType": "struct IPoolFactory.ValidatorsDeployParams", - "name": "validatorsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "nftAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalPowerInTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nftsTotalSupply", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.UserKeeperDeployParams", - "name": "userKeeperParams", - "type": "tuple" - }, - { - "internalType": "address", - "name": "nftMultiplierAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" - }, - { - "internalType": "address", - "name": "verifier", - "type": "address" - }, - { - "internalType": "bool", - "name": "onlyBABHolders", - "type": "bool" - }, - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "internalType": "struct IPoolFactory.GovPoolDeployParams", - "name": "parameters", - "type": "tuple" - }, - { - "components": [ - { - "components": [ - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "internalType": "struct ITokenSaleProposal.TierMetadata", - "name": "metadata", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "totalTokenProvided", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "saleStartTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "saleEndTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "claimLockDuration", - "type": "uint64" - }, - { - "internalType": "address", - "name": "saleTokenAddress", - "type": "address" - }, - { - "internalType": "address[]", - "name": "purchaseTokenAddresses", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "exchangeRates", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "minAllocationPerUser", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxAllocationPerUser", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "vestingPercentage", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "vestingDuration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "cliffPeriod", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "unlockStep", - "type": "uint64" - } - ], - "internalType": "struct ITokenSaleProposal.VestingSettings", - "name": "vestingSettings", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "enum ITokenSaleProposal.ParticipationType", - "name": "participationType", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct ITokenSaleProposal.ParticipationDetails", - "name": "participationDetails", - "type": "tuple" - } - ], - "internalType": "struct ITokenSaleProposal.TierInitParams[]", - "name": "tiersParams", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "tierId", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" - }, - { - "internalType": "string", - "name": "uri", - "type": "string" - } - ], - "internalType": "struct ITokenSaleProposal.WhitelistingRequest[]", - "name": "whitelistParams", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "saleAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "cap", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintedTotal", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "internalType": "struct IERC20Sale.ConstructorParams", - "name": "tokenParams", - "type": "tuple" - } - ], - "internalType": "struct IPoolFactory.GovTokenSaleProposalDeployParams", - "name": "tokenSaleParameters", - "type": "tuple" - } - ], - "name": "deployGovPoolWithTokenSale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.TraderPoolDeployParameters", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployInvestPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "internalType": "string", - "name": "poolName", - "type": "string" - } - ], - "name": "predictGovAddresses", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/AllPoolsInvestors/abis/PriceFeed.json b/AllPoolsInvestors/abis/PriceFeed.json deleted file mode 100644 index 2c479f04..00000000 --- a/AllPoolsInvestors/abis/PriceFeed.json +++ /dev/null @@ -1,735 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "__PriceFeed_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "pathTokens", - "type": "address[]" - } - ], - "name": "addPathTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "minAmountOut", - "type": "uint256" - } - ], - "name": "exchangeFromExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "maxAmountIn", - "type": "uint256" - } - ], - "name": "exchangeToExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getExtendedPriceIn", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getExtendedPriceOut", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getNormalizedExtendedPriceIn", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getNormalizedExtendedPriceOut", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - } - ], - "name": "getNormalizedPriceIn", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - } - ], - "name": "getNormalizedPriceInDEXE", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - } - ], - "name": "getNormalizedPriceInUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - } - ], - "name": "getNormalizedPriceOut", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - } - ], - "name": "getNormalizedPriceOutDEXE", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - } - ], - "name": "getNormalizedPriceOutUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPathTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "pool", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "getSavedPaths", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "isSupportedPathToken", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "minAmountOut", - "type": "uint256" - } - ], - "name": "normalizedExchangeFromExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "maxAmountIn", - "type": "uint256" - } - ], - "name": "normalizedExchangeToExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "pathTokens", - "type": "address[]" - } - ], - "name": "removePathTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalPathTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "uniswapFactory", - "outputs": [ - { - "internalType": "contract IUniswapV2Factory", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "uniswapV2Router", - "outputs": [ - { - "internalType": "contract IUniswapV2Router02", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/AllPoolsInvestors/abis/TraderPool.json b/AllPoolsInvestors/abis/TraderPool.json deleted file mode 100644 index 89519c3b..00000000 --- a/AllPoolsInvestors/abis/TraderPool.json +++ /dev/null @@ -1,2352 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "divestedLP2", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedBase", - "type": "uint256" - } - ], - "name": "ProposalDivested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP2", - "type": "uint256" - } - ], - "name": "ProposalInvested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "ProposalJoined", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "ProposalLeft", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "ProposalRestrictionsChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "TransferBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TransferSingle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "value", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "parentPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - } - ], - "internalType": "struct ITraderPoolProposal.ParentTraderPoolInfo", - "name": "parentTraderPoolInfo", - "type": "tuple" - } - ], - "name": "__TraderPoolProposal_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "accounts", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - } - ], - "name": "balanceOfBatch", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "exists", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBaseToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInvestedBaseInUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "investedBaseUSD", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getTotalActiveInvestments", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "investedBase", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalsTotalNum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeBatchTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "totalLPBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalLockedLP", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "uri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "descriptionURL", - "type": "string" - } - ], - "name": "DescriptionURLChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "admins", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "ModifiedAdmins", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "privateInvestors", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "ModifiedPrivateInvestors", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "fromToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "toToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fromVolume", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toVolume", - "type": "uint256" - } - ], - "name": "Exchanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "position", - "type": "address" - } - ], - "name": "PositionClosed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "position", - "type": "address" - } - ], - "name": "PositionOpened", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "traderLpClaimed", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "traderBaseClaimed", - "type": "uint256" - } - ], - "name": "CommissionClaimed", - "type": "event" - }, - { - "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": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "divestedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedBase", - "type": "uint256" - } - ], - "name": "Divested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP", - "type": "uint256" - } - ], - "name": "Invested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "Joined", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "Left", - "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": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderBABTId", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.PoolParameters", - "name": "poolParameters", - "type": "tuple" - } - ], - "name": "__TraderPool_init", - "outputs": [], - "stateMutability": "nonpayable", - "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": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "canRemovePrivateInvestor", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - } - ], - "name": "changePoolParameters", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "coreProperties", - "outputs": [ - { - "internalType": "contract ICoreProperties", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "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": [], - "name": "dexeToken", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amountLP", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "minBaseOut", - "type": "uint256[]" - } - ], - "name": "divest", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountBound", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "enum ITraderPool.ExchangeType", - "name": "exType", - "type": "uint8" - } - ], - "name": "exchange", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountLP", - "type": "uint256" - } - ], - "name": "getDivestAmountsAndCommissions", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpAmount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "positions", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "givenAmounts", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "receivedAmounts", - "type": "uint256[]" - } - ], - "internalType": "struct ITraderPool.Receptions", - "name": "receptions", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "traderBaseCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderLPCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderUSDCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeBaseCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeLPCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeUSDCommission", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.Commissions", - "name": "commissions", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "enum ITraderPool.ExchangeType", - "name": "exType", - "type": "uint8" - } - ], - "name": "getExchangeAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "name": "getInvestInitialTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "lpAmount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amountInBaseToInvest", - "type": "uint256" - } - ], - "name": "getInvestTokens", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpAmount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "positions", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "givenAmounts", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "receivedAmounts", - "type": "uint256[]" - } - ], - "internalType": "struct ITraderPool.Receptions", - "name": "receptions", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getLeverageInfo", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "totalPoolUSDWithProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderLeverageUSDTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "freeLeverageUSD", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "freeLeverageBase", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.LeverageInfo", - "name": "leverageInfo", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getNextCommissionEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPoolInfo", - "outputs": [ - { - "components": [ - { - "internalType": "string", - "name": "ticker", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderBABTId", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.PoolParameters", - "name": "parameters", - "type": "tuple" - }, - { - "internalType": "address[]", - "name": "openPositions", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "baseAndPositionBalances", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "totalBlacklistedPositions", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalInvestors", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalPoolUSD", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalPoolBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpSupply", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpLockedInProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderUSD", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderLPBalance", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.PoolInfo", - "name": "poolInfo", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "offsetLimits", - "type": "uint256[]" - } - ], - "name": "getReinvestCommissions", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "traderBaseCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderLPCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderUSDCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeBaseCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeLPCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeUSDCommission", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.Commissions", - "name": "commissions", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTraderBABTId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "getUsersInfo", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "commissionUnlockTimestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "poolLPBalance", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "poolUSDShare", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "poolBaseShare", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "owedBaseCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "owedLPCommission", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.UserInfo[]", - "name": "usersInfo", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "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": [ - { - "internalType": "uint256", - "name": "amountInBaseToInvest", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "minPositionsOut", - "type": "uint256[]" - } - ], - "name": "invest", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "minLPOut", - "type": "uint256" - } - ], - "name": "investInitial", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "investorsInfo", - "outputs": [ - { - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "commissionUnlockEpoch", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "who", - "type": "address" - } - ], - "name": "isBABTHolder", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "who", - "type": "address" - } - ], - "name": "isPrivateInvestor", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "who", - "type": "address" - } - ], - "name": "isTrader", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "who", - "type": "address" - } - ], - "name": "isTraderAdmin", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "latestInvestBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "admins", - "type": "address[]" - }, - { - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "modifyAdmins", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "privateInvestors", - "type": "address[]" - }, - { - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "modifyPrivateInvestors", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "openPositions", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalPoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "offsetLimits", - "type": "uint256[]" - } - ], - "name": "reinvestCommission", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "setLatestInvestBlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalEmission", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalInvestors", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "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": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "lpAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - } - ], - "name": "updateFrom", - "outputs": [ - { - "internalType": "uint256", - "name": "baseTransfer", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "lpAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - } - ], - "name": "updateTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/AllPoolsInvestors/abis/TraderPoolProposal.json b/AllPoolsInvestors/abis/TraderPoolProposal.json deleted file mode 100644 index bdacb516..00000000 --- a/AllPoolsInvestors/abis/TraderPoolProposal.json +++ /dev/null @@ -1,717 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - } - ], - "name": "ProposalClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "divestedLP2", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedBase", - "type": "uint256" - } - ], - "name": "ProposalDivested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP2", - "type": "uint256" - } - ], - "name": "ProposalInvested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "ProposalJoined", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "ProposalLeft", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "ProposalRestrictionsChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "TransferBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TransferSingle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "value", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "parentPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - } - ], - "internalType": "struct ITraderPoolProposal.ParentTraderPoolInfo", - "name": "parentTraderPoolInfo", - "type": "tuple" - } - ], - "name": "__TraderPoolProposal_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "accounts", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - } - ], - "name": "balanceOfBatch", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "exists", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBaseToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInvestedBaseInUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "investedBaseUSD", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getTotalActiveInvestments", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "investedBase", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalsTotalNum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeBatchTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "totalLPBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalLockedLP", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "uri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/AllPoolsInvestors/package-lock.json b/AllPoolsInvestors/package-lock.json deleted file mode 100644 index 8018ed3c..00000000 --- a/AllPoolsInvestors/package-lock.json +++ /dev/null @@ -1,9251 +0,0 @@ -{ - "name": "dexe", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "dexe", - "license": "UNLICENSED", - "dependencies": { - "@graphprotocol/graph-cli": "0.32.0", - "@graphprotocol/graph-ts": "0.27.0", - "@solarity/graph-lib": "^1.0.0-rc.5", - "matchstick-as": "^0.5.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", - "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "dependencies": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "node_modules/@ethersproject/abstract-provider": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.3", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/web": "^5.6.1" - } - }, - "node_modules/@ethersproject/abstract-signer": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0" - } - }, - "node_modules/@ethersproject/address": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/rlp": "^5.6.1" - } - }, - "node_modules/@ethersproject/base64": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1" - } - }, - "node_modules/@ethersproject/bignumber": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "bn.js": "^5.2.1" - } - }, - "node_modules/@ethersproject/bignumber/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/@ethersproject/bytes": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/constants": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.2" - } - }, - "node_modules/@ethersproject/hash": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "node_modules/@ethersproject/keccak256": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "js-sha3": "0.8.0" - } - }, - "node_modules/@ethersproject/logger": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ] - }, - "node_modules/@ethersproject/networks": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/properties": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/rlp": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/signing-key": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/signing-key/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/@ethersproject/strings": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/transactions": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/rlp": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2" - } - }, - "node_modules/@ethersproject/web": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/base64": "^5.6.1", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "node_modules/@graphprotocol/graph-cli": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.32.0.tgz", - "integrity": "sha512-40Kii/Ttype5aNCaQn81AP7utyE6JKB5bI9QtYd6WoaS3oACICqdPA89+5UB1s9t6yXiFbWojK3e7JUokPdYfA==", - "dependencies": { - "assemblyscript": "0.19.10", - "binary-install-raw": "0.0.13", - "chalk": "3.0.0", - "chokidar": "3.5.1", - "debug": "4.3.1", - "docker-compose": "0.23.4", - "dockerode": "2.5.8", - "fs-extra": "9.0.0", - "glob": "7.1.6", - "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", - "graphql": "15.5.0", - "immutable": "3.8.2", - "ipfs-http-client": "34.0.0", - "jayson": "3.6.6", - "js-yaml": "3.13.1", - "node-fetch": "2.6.0", - "pkginfo": "0.4.1", - "prettier": "1.19.1", - "request": "2.88.2", - "semver": "7.3.5", - "sync-request": "6.1.0", - "tmp-promise": "3.0.2", - "web3-eth-abi": "1.7.0", - "which": "2.0.2", - "yaml": "1.9.2" - }, - "bin": { - "graph": "bin/graph" - } - }, - "node_modules/@graphprotocol/graph-ts": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz", - "integrity": "sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w==", - "dependencies": { - "assemblyscript": "0.19.10" - } - }, - "node_modules/@solarity/graph-lib": { - "version": "1.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", - "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", - "dependencies": { - "@graphprotocol/graph-ts": "0.29.3" - } - }, - "node_modules/@solarity/graph-lib/node_modules/@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "dependencies": { - "assemblyscript": "0.19.10" - } - }, - "node_modules/@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/lodash": { - "version": "4.14.182", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz", - "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==" - }, - "node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "node_modules/@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "node_modules/@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/ws": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", - "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "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" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/apisauce": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", - "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", - "dependencies": { - "axios": "^0.21.2", - "ramda": "^0.25.0" - } - }, - "node_modules/app-module-path": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", - "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==" - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "node_modules/asmcrypto.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", - "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" - }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", - "dependencies": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" - }, - "bin": { - "asc": "bin/asc", - "asinit": "bin/asinit" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dependencies": { - "follow-redirects": "^1.14.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/bignumber.js": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", - "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==", - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/binary-install-raw": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/binary-install-raw/-/binary-install-raw-0.0.13.tgz", - "integrity": "sha512-v7ms6N/H7iciuk6QInon3/n2mu7oRX+6knJ9xFPsJ3rQePgAqcR3CRTwUheFd8SLbiq4LL7Z4G/44L9zscdt9A==", - "dependencies": { - "axios": "^0.21.1", - "rimraf": "^3.0.2", - "tar": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==", - "bin": { - "wasm-opt": "bin/wasm-opt" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/borc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", - "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", - "dependencies": { - "bignumber.js": "^9.0.0", - "buffer": "^5.5.0", - "commander": "^2.15.0", - "ieee754": "^1.1.13", - "iso-url": "~0.4.7", - "json-text-sequence": "~0.1.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/borc/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "dependencies": { - "base-x": "^3.0.2" - } - }, - "node_modules/bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "dependencies": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "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" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/cids/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", - "dependencies": { - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "colors": "^1.1.2" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "node_modules/docker-compose": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", - "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/docker-modem": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.9.tgz", - "integrity": "sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw==", - "dependencies": { - "debug": "^3.2.6", - "JSONStream": "1.3.2", - "readable-stream": "~1.0.26-4", - "split-ca": "^1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/docker-modem/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/docker-modem/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "node_modules/docker-modem/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "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" - } - }, - "node_modules/docker-modem/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - }, - "node_modules/dockerode": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.8.tgz", - "integrity": "sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==", - "dependencies": { - "concat-stream": "~1.6.2", - "docker-modem": "^1.0.8", - "tar-fs": "~1.16.3" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", - "dependencies": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "hasInstallScript": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "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" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enquirer": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", - "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", - "dependencies": { - "ansi-colors": "^3.2.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "node_modules/es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", - "dependencies": { - "es6-promise": "^4.0.3" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "dependencies": { - "js-sha3": "^0.8.0" - } - }, - "node_modules/ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dependencies": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "node_modules/ethereum-cryptography/node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "hasInstallScript": true, - "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "dependencies": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ethereumjs-util/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", - "dependencies": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ethjs-unit/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": "^8.12.0 || >=9.7.0" - } - }, - "node_modules/explain-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", - "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==", - "engines": { - "node": "> 0.1.90" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" - }, - "node_modules/follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fs-jetpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", - "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", - "dependencies": { - "minimatch": "^3.0.2", - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fs-jetpack/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-stream/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/gluegun": { - "version": "4.3.1", - "resolved": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", - "integrity": "sha512-BPKWUsKoAC+NeFXSNySObftw6lgKipegbbUuaKy6cPXm8z8bkHO3kbn6OVXwoJMkbCJubaFZJj9SGsevNfnJrg==", - "license": "MIT", - "dependencies": { - "apisauce": "^1.0.1", - "app-module-path": "^2.2.0", - "cli-table3": "~0.5.0", - "colors": "1.3.3", - "cosmiconfig": "6.0.0", - "cross-spawn": "^7.0.0", - "ejs": "^2.6.1", - "enquirer": "2.3.4", - "execa": "^3.0.0", - "fs-jetpack": "^2.2.2", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "lodash.lowercase": "^4.3.0", - "lodash.lowerfirst": "^4.3.1", - "lodash.pad": "^4.5.1", - "lodash.padend": "^4.6.1", - "lodash.padstart": "^4.6.1", - "lodash.repeat": "^4.1.0", - "lodash.snakecase": "^4.1.1", - "lodash.startcase": "^4.4.0", - "lodash.trim": "^4.5.1", - "lodash.trimend": "^4.5.1", - "lodash.trimstart": "^4.5.1", - "lodash.uppercase": "^4.3.0", - "lodash.upperfirst": "^4.3.1", - "ora": "^4.0.0", - "pluralize": "^8.0.0", - "ramdasauce": "^2.1.0", - "semver": "^7.0.0", - "which": "^2.0.0", - "yargs-parser": "^16.1.0" - }, - "bin": { - "gluegun": "bin/gluegun" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "node_modules/graphql": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", - "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/hash-base/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "dependencies": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "dependencies": { - "@types/node": "^10.0.3" - } - }, - "node_modules/http-response-object/node_modules/@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" - }, - "node_modules/ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ipfs-block": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", - "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", - "dependencies": { - "cids": "~0.7.0", - "class-is": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipfs-http-client": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", - "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", - "dependencies": { - "abort-controller": "^3.0.0", - "async": "^2.6.1", - "bignumber.js": "^9.0.0", - "bl": "^3.0.0", - "bs58": "^4.0.1", - "buffer": "^5.4.2", - "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^2.0.0", - "explain-error": "^1.0.4", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.1", - "ipfs-utils": "~0.0.3", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.3", - "ipld-raw": "^4.0.0", - "is-ipfs": "~0.6.1", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "iso-stream-http": "~0.1.2", - "iso-url": "~0.4.6", - "iterable-ndjson": "^1.1.0", - "just-kebab-case": "^1.1.0", - "just-map-keys": "^1.1.0", - "kind-of": "^6.0.2", - "ky": "^0.11.2", - "ky-universal": "^0.2.2", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.6", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", - "once": "^1.4.0", - "peer-id": "~0.12.3", - "peer-info": "~0.15.1", - "promise-nodeify": "^3.0.1", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "pull-to-stream": "~0.1.1", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.1.1", - "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.1", - "through2": "^3.0.1" - }, - "engines": { - "node": ">=8.3.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipfs-http-client/node_modules/bl": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", - "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", - "dependencies": { - "readable-stream": "^3.0.1" - } - }, - "node_modules/ipfs-http-client/node_modules/concat-stream": { - "version": "2.0.0", - "resolved": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", - "integrity": "sha512-GBrsRGcg6w3ac6B49frS/FGwdeuWMognaZIGxLfZ93vP2z3bIhaI/Bgn3rrS49lI7lrFznULlNUjWYP4soqgvw==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^3.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/ipfs-http-client/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/ipfs-http-client/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/ipfs-http-client/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ipfs-http-client/node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ipfs-http-client/node_modules/tar-stream/node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/ipfs-http-client/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/ipfs-utils": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", - "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", - "dependencies": { - "buffer": "^5.2.1", - "is-buffer": "^2.0.3", - "is-electron": "^2.2.0", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "kind-of": "^6.0.2", - "readable-stream": "^3.4.0" - } - }, - "node_modules/ipfs-utils/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ipld-dag-cbor": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", - "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", - "deprecated": "This module has been superseded by @ipld/dag-cbor and multiformats", - "dependencies": { - "borc": "^2.1.2", - "buffer": "^5.5.0", - "cids": "~0.8.0", - "is-circular": "^1.0.2", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-pb": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", - "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", - "deprecated": "This module has been superseded by @ipld/dag-pb and multiformats", - "dependencies": { - "cids": "~0.7.0", - "class-is": "^1.1.0", - "multicodec": "~0.5.1", - "multihashing-async": "~0.7.0", - "protons": "^1.0.1", - "stable": "~0.1.8" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-pb/node_modules/err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" - }, - "node_modules/ipld-dag-pb/node_modules/multihashing-async": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", - "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "buffer": "^5.2.1", - "err-code": "^1.1.2", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js-revisited": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-raw": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", - "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "cids": "~0.7.0", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - } - }, - "node_modules/ipld-raw/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" - }, - "node_modules/is-electron": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", - "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==" - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "engines": { - "node": ">=4" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "dependencies": { - "ip-regex": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-ipfs": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", - "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", - "dependencies": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", - "dependencies": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" - }, - "node_modules/is-pull-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", - "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/iso-random-stream": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", - "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", - "dependencies": { - "buffer": "^6.0.3", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/iso-random-stream/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/iso-random-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/iso-stream-http": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", - "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/iso-stream-http/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/iso-url": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", - "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==", - "engines": { - "node": ">=10" - } - }, - "node_modules/isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "peerDependencies": { - "ws": "*" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "node_modules/iterable-ndjson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", - "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", - "dependencies": { - "string_decoder": "^1.2.0" - } - }, - "node_modules/iterable-ndjson/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/iterable-ndjson/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/jayson": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", - "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", - "dependencies": { - "@types/connect": "^3.4.33", - "@types/express-serve-static-core": "^4.17.9", - "@types/lodash": "^4.14.159", - "@types/node": "^12.12.54", - "@types/ws": "^7.4.4", - "commander": "^2.20.3", - "delay": "^5.0.0", - "es6-promisify": "^5.0.0", - "eyes": "^0.1.8", - "isomorphic-ws": "^4.0.1", - "json-stringify-safe": "^5.0.1", - "JSONStream": "^1.3.5", - "lodash": "^4.17.20", - "uuid": "^8.3.2", - "ws": "^7.4.5" - }, - "bin": { - "jayson": "bin/jayson.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jayson/node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - }, - "node_modules/json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", - "dependencies": { - "delimit-stream": "0.1.0" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonfile/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/JSONStream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", - "integrity": "sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA==", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/just-kebab-case": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", - "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" - }, - "node_modules/just-map-keys": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", - "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" - }, - "node_modules/keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "hasInstallScript": true, - "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/keccak/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/keypair": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", - "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ky": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", - "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ky-universal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", - "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", - "dependencies": { - "abort-controller": "^3.0.0", - "node-fetch": "^2.3.0" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "ky": ">=0.10.0" - } - }, - "node_modules/libp2p-crypto": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", - "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", - "dependencies": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "^0.10.0", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.10.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/libp2p-crypto-secp256k1": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", - "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", - "deprecated": "Included in libp2p-crypto, use it instead. https://github.com/libp2p/js-libp2p-crypto", - "dependencies": { - "async": "^2.6.2", - "bs58": "^4.0.1", - "multihashing-async": "~0.6.0", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.2" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/libp2p-crypto-secp256k1/node_modules/multihashing-async": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", - "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/libp2p-crypto/node_modules/multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "node_modules/lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==" - }, - "node_modules/lodash.lowercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.lowercase/-/lodash.lowercase-4.3.0.tgz", - "integrity": "sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA==" - }, - "node_modules/lodash.lowerfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.lowerfirst/-/lodash.lowerfirst-4.3.1.tgz", - "integrity": "sha512-UUKX7VhP1/JL54NXg2aq/E1Sfnjjes8fNYTNkPU8ZmsaVeBvPHKdbNaN79Re5XRL01u6wbq3j0cbYZj71Fcu5w==" - }, - "node_modules/lodash.pad": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", - "integrity": "sha512-mvUHifnLqM+03YNzeTBS1/Gr6JRFjd3rRx88FHWUvamVaT9k2O/kXha3yBSOwB9/DTQrSTLJNHvLBBt2FdX7Mg==" - }, - "node_modules/lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==" - }, - "node_modules/lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha512-sW73O6S8+Tg66eY56DBk85aQzzUJDtpoXFBgELMd5P/SotAguo+1kYO6RuYgXxA4HJH3LFTFPASX6ET6bjfriw==" - }, - "node_modules/lodash.repeat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", - "integrity": "sha512-eWsgQW89IewS95ZOcr15HHCX6FVDxq3f2PNUIng3fyzsPev9imFQxIYdFZ6crl8L56UR6ZlGDLcEb3RZsCSSqw==" - }, - "node_modules/lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" - }, - "node_modules/lodash.startcase": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==" - }, - "node_modules/lodash.trim": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trim/-/lodash.trim-4.5.1.tgz", - "integrity": "sha512-nJAlRl/K+eiOehWKDzoBVrSMhK0K3A3YQsUNXHQa5yIrKBAhsZgSu3KoAFoFT+mEgiyBHddZ0pRk1ITpIp90Wg==" - }, - "node_modules/lodash.trimend": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimend/-/lodash.trimend-4.5.1.tgz", - "integrity": "sha512-lsD+k73XztDsMBKPKvzHXRKFNMohTjoTKIIo4ADLn5dA65LZ1BqlAvSXhR2rPEC3BgAUQnzMnorqDtqn2z4IHA==" - }, - "node_modules/lodash.trimstart": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz", - "integrity": "sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ==" - }, - "node_modules/lodash.uppercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.uppercase/-/lodash.uppercase-4.3.0.tgz", - "integrity": "sha512-+Nbnxkj7s8K5U8z6KnEYPGUOGp3woZbB7Ecs7v3LkkjLQSm2kP9SKIILitN1ktn2mB/tmM9oSlku06I+/lH7QA==" - }, - "node_modules/lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==" - }, - "node_modules/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dependencies": { - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "node_modules/looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mafmt": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", - "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", - "dependencies": { - "multiaddr": "^7.3.0" - } - }, - "node_modules/mafmt/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/mafmt/node_modules/cids/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/mafmt/node_modules/multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", - "dependencies": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/mafmt/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/mafmt/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/mafmt/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/mafmt/node_modules/multihashes/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/matchstick-as": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.0.tgz", - "integrity": "sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg==", - "dependencies": { - "@graphprotocol/graph-ts": "^0.27.0", - "assemblyscript": "^0.19.20", - "wabt": "1.0.24" - } - }, - "node_modules/matchstick-as/node_modules/assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "dependencies": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - }, - "bin": { - "asc": "bin/asc", - "asinit": "bin/asinit" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } - }, - "node_modules/matchstick-as/node_modules/binaryen": { - "version": "102.0.0-nightly.20211028", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", - "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==", - "bin": { - "wasm-opt": "bin/wasm-opt" - } - }, - "node_modules/matchstick-as/node_modules/long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "node_modules/minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/multiaddr": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", - "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", - "dependencies": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "hi-base32": "~0.5.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - } - }, - "node_modules/multiaddr/node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/multiaddr/node_modules/is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", - "dependencies": { - "ip-regex": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "varint": "^5.0.0" - } - }, - "node_modules/multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "dependencies": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/multihashes/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multihashing-async": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", - "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "buffer": "^5.4.3", - "err-code": "^2.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^1.0.1", - "murmurhash3js-revisited": "^3.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/multihashing-async/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/multihashing-async/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/murmurhash3js-revisited": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", - "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "node_modules/nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" - }, - "node_modules/ndjson": { - "version": "1.5.0", - "resolved": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", - "integrity": "sha512-4HWirDBroNYRKoq+8A7y0uvXlO0dF4p7URRRdqvPSgGjQFVpxpE4uasORXNxeRBMHQnXbTnUBVLXXagwKFH6AQ==", - "license": "BSD-3-Clause", - "dependencies": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^3.1.0", - "through2": "^3.0.0" - }, - "bin": { - "ndjson": "cli.js" - } - }, - "node_modules/node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node_modules/node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", - "dependencies": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", - "dependencies": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/number-to-bn/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "engines": { - "node": "*" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", - "dependencies": { - "wordwrap": "~0.0.2" - } - }, - "node_modules/ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", - "dependencies": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/peer-id": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", - "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", - "dependencies": { - "async": "^2.6.3", - "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.1", - "multihashes": "~0.4.15" - }, - "bin": { - "peer-id": "src/bin.js" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/peer-info": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", - "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", - "deprecated": "No longer supported for js-libp2p0.28.0 or later", - "dependencies": { - "mafmt": "^6.0.2", - "multiaddr": "^6.0.3", - "peer-id": "~0.12.2", - "unique-by": "^1.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/peer-info/node_modules/mafmt": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", - "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", - "dependencies": { - "multiaddr": "^6.1.0" - } - }, - "node_modules/pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "dependencies": { - "asn1.js": "^5.0.1" - }, - "bin": { - "pem-jwk": "bin/pem-jwk.js" - }, - "engines": { - "node": ">=5.10.0" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", - "dependencies": { - "is-promise": "~1" - } - }, - "node_modules/promise-nodeify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", - "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==", - "engines": { - "node": ">=6", - "npm": ">=1.3.7" - } - }, - "node_modules/promisify-es6": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", - "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==", - "deprecated": "Unmaintained" - }, - "node_modules/protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "node_modules/protons": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", - "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", - "deprecated": "This module is no longer maintained", - "dependencies": { - "buffer": "^5.5.0", - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" - } - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "node_modules/pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "node_modules/pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "node_modules/pull-to-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", - "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", - "dependencies": { - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pull-to-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" - }, - "node_modules/ramdasauce": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", - "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", - "dependencies": { - "ramda": "^0.24.1" - } - }, - "node_modules/ramdasauce/node_modules/ramda": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", - "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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" - } - }, - "node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request/node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "dependencies": { - "bn.js": "^5.2.0" - }, - "bin": { - "rlp": "bin/rlp" - } - }, - "node_modules/rlp/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", - "dependencies": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" - } - }, - "node_modules/rsa-pem-to-jwk/node_modules/object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", - "dependencies": { - "optimist": "~0.3.5" - }, - "bin": { - "rsa-unpack": "bin/cmd.js" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "node_modules/secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", - "dependencies": { - "varint": "~5.0.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/split-ca": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", - "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" - }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/split2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sshpk/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" - }, - "node_modules/stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", - "dependencies": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" - } - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", - "dependencies": { - "is-hex-prefixed": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "dependencies": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "dependencies": { - "get-port": "^3.1.0" - } - }, - "node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/tar-fs": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", - "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", - "dependencies": { - "chownr": "^1.0.1", - "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" - } - }, - "node_modules/tar-fs/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/tar-fs/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "dependencies": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/then-request/node_modules/@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - }, - "node_modules/then-request/node_modules/promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "dependencies": { - "asap": "~2.0.6" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, - "node_modules/through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } - }, - "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/tmp-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", - "dependencies": { - "tmp": "^0.2.0" - } - }, - "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "node_modules/unique-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", - "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==", - "engines": { - "node": ">= 0.10.x" - } - }, - "node_modules/universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/ursa-optional": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", - "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.14.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/verror/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - }, - "node_modules/wabt": { - "version": "1.0.24", - "resolved": "https://registry.npmjs.org/wabt/-/wabt-1.0.24.tgz", - "integrity": "sha512-8l7sIOd3i5GWfTWciPL0+ff/FK/deVK2Q6FN+MPz4vfUcD78i2M/49XJTwF6aml91uIiuXJEsLKWMB2cw/mtKg==", - "bin": { - "wasm-decompile": "bin/wasm-decompile", - "wasm-interp": "bin/wasm-interp", - "wasm-objdump": "bin/wasm-objdump", - "wasm-opcodecnt": "bin/wasm-opcodecnt", - "wasm-strip": "bin/wasm-strip", - "wasm-validate": "bin/wasm-validate", - "wasm2c": "bin/wasm2c", - "wasm2wat": "bin/wasm2wat", - "wat2wasm": "bin/wat2wasm" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/web3-eth-abi": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", - "integrity": "sha512-heqR0bWxgCJwjWIhq2sGyNj9bwun5+Xox/LdZKe+WMyTSy0cXDXEAgv3XKNkXC4JqdDt/ZlbTEx4TWak4TRMSg==", - "dependencies": { - "@ethersproject/abi": "5.0.7", - "web3-utils": "1.7.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-utils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.0.tgz", - "integrity": "sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w==", - "dependencies": { - "bn.js": "^4.11.9", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/ws": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz", - "integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "dependencies": { - "@babel/runtime": "^7.9.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", - "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "requires": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", - "requires": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.3", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/web": "^5.6.1" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", - "requires": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0" - } - }, - "@ethersproject/address": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", - "requires": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/rlp": "^5.6.1" - } - }, - "@ethersproject/base64": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", - "requires": { - "@ethersproject/bytes": "^5.6.1" - } - }, - "@ethersproject/bignumber": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "bn.js": "^5.2.1" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "@ethersproject/bytes": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/constants": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", - "requires": { - "@ethersproject/bignumber": "^5.6.2" - } - }, - "@ethersproject/hash": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", - "requires": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "js-sha3": "0.8.0" - } - }, - "@ethersproject/logger": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==" - }, - "@ethersproject/networks": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/properties": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/rlp": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/signing-key": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "@ethersproject/strings": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/transactions": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", - "requires": { - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/rlp": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2" - } - }, - "@ethersproject/web": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", - "requires": { - "@ethersproject/base64": "^5.6.1", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "@graphprotocol/graph-cli": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.32.0.tgz", - "integrity": "sha512-40Kii/Ttype5aNCaQn81AP7utyE6JKB5bI9QtYd6WoaS3oACICqdPA89+5UB1s9t6yXiFbWojK3e7JUokPdYfA==", - "requires": { - "assemblyscript": "0.19.10", - "binary-install-raw": "0.0.13", - "chalk": "3.0.0", - "chokidar": "3.5.1", - "debug": "4.3.1", - "docker-compose": "0.23.4", - "dockerode": "2.5.8", - "fs-extra": "9.0.0", - "glob": "7.1.6", - "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", - "graphql": "15.5.0", - "immutable": "3.8.2", - "ipfs-http-client": "34.0.0", - "jayson": "3.6.6", - "js-yaml": "3.13.1", - "node-fetch": "2.6.0", - "pkginfo": "0.4.1", - "prettier": "1.19.1", - "request": "2.88.2", - "semver": "7.3.5", - "sync-request": "6.1.0", - "tmp-promise": "3.0.2", - "web3-eth-abi": "1.7.0", - "which": "2.0.2", - "yaml": "1.9.2" - } - }, - "@graphprotocol/graph-ts": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz", - "integrity": "sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w==", - "requires": { - "assemblyscript": "0.19.10" - } - }, - "@solarity/graph-lib": { - "version": "1.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", - "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", - "requires": { - "@graphprotocol/graph-ts": "0.29.3" - }, - "dependencies": { - "@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "requires": { - "assemblyscript": "0.19.10" - } - } - } - }, - "@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "requires": { - "@types/node": "*" - } - }, - "@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "requires": { - "@types/node": "*" - } - }, - "@types/lodash": { - "version": "4.14.182", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz", - "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==" - }, - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "requires": { - "@types/node": "*" - } - }, - "@types/ws": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", - "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", - "requires": { - "@types/node": "*" - } - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "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": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" - }, - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "apisauce": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", - "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", - "requires": { - "axios": "^0.21.2", - "ramda": "^0.25.0" - } - }, - "app-module-path": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", - "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "asmcrypto.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", - "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", - "requires": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" - }, - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "requires": { - "lodash": "^4.17.14" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "requires": { - "follow-redirects": "^1.14.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "requires": { - "tweetnacl": "^0.14.3" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } - } - }, - "bignumber.js": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", - "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "binary-install-raw": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/binary-install-raw/-/binary-install-raw-0.0.13.tgz", - "integrity": "sha512-v7ms6N/H7iciuk6QInon3/n2mu7oRX+6knJ9xFPsJ3rQePgAqcR3CRTwUheFd8SLbiq4LL7Z4G/44L9zscdt9A==", - "requires": { - "axios": "^0.21.1", - "rimraf": "^3.0.2", - "tar": "^6.1.0" - } - }, - "binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==" - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "borc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", - "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", - "requires": { - "bignumber.js": "^9.0.0", - "buffer": "^5.5.0", - "commander": "^2.15.0", - "ieee754": "^1.1.13", - "iso-url": "~0.4.7", - "json-text-sequence": "~0.1.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "requires": { - "base-x": "^3.0.2" - } - }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.3.1", - "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" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "requires": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" - }, - "cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", - "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", - "requires": { - "clone": "^1.0.2" - } - }, - "delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "docker-compose": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", - "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==" - }, - "docker-modem": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.9.tgz", - "integrity": "sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw==", - "requires": { - "debug": "^3.2.6", - "JSONStream": "1.3.2", - "readable-stream": "~1.0.26-4", - "split-ca": "^1.0.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - } - } - }, - "dockerode": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.8.tgz", - "integrity": "sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==", - "requires": { - "concat-stream": "~1.6.2", - "docker-modem": "^1.0.8", - "tar-fs": "~1.16.3" - } - }, - "drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", - "requires": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "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" - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "enquirer": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", - "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", - "requires": { - "ansi-colors": "^3.2.1" - } - }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", - "requires": { - "es6-promise": "^4.0.3" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "requires": { - "js-sha3": "^0.8.0" - } - }, - "ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - }, - "dependencies": { - "secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "requires": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - } - } - }, - "ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "requires": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", - "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - } - } - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "explain-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", - "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" - }, - "eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" - }, - "follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "fs-jetpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", - "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", - "requires": { - "minimatch": "^3.0.2", - "rimraf": "^2.6.3" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - }, - "dependencies": { - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "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-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "gluegun": { - "version": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", - "integrity": "sha512-BPKWUsKoAC+NeFXSNySObftw6lgKipegbbUuaKy6cPXm8z8bkHO3kbn6OVXwoJMkbCJubaFZJj9SGsevNfnJrg==", - "from": "gluegun@git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", - "requires": { - "apisauce": "^1.0.1", - "app-module-path": "^2.2.0", - "cli-table3": "~0.5.0", - "colors": "1.3.3", - "cosmiconfig": "6.0.0", - "cross-spawn": "^7.0.0", - "ejs": "^2.6.1", - "enquirer": "2.3.4", - "execa": "^3.0.0", - "fs-jetpack": "^2.2.2", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "lodash.lowercase": "^4.3.0", - "lodash.lowerfirst": "^4.3.1", - "lodash.pad": "^4.5.1", - "lodash.padend": "^4.6.1", - "lodash.padstart": "^4.6.1", - "lodash.repeat": "^4.1.0", - "lodash.snakecase": "^4.1.1", - "lodash.startcase": "^4.4.0", - "lodash.trim": "^4.5.1", - "lodash.trimend": "^4.5.1", - "lodash.trimstart": "^4.5.1", - "lodash.uppercase": "^4.3.0", - "lodash.upperfirst": "^4.3.1", - "ora": "^4.0.0", - "pluralize": "^8.0.0", - "ramdasauce": "^2.1.0", - "semver": "^7.0.0", - "which": "^2.0.0", - "yargs-parser": "^16.1.0" - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "graphql": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", - "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==" - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" - }, - "ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" - }, - "ipfs-block": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", - "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", - "requires": { - "cids": "~0.7.0", - "class-is": "^1.1.0" - } - }, - "ipfs-http-client": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", - "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", - "requires": { - "abort-controller": "^3.0.0", - "async": "^2.6.1", - "bignumber.js": "^9.0.0", - "bl": "^3.0.0", - "bs58": "^4.0.1", - "buffer": "^5.4.2", - "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^2.0.0", - "explain-error": "^1.0.4", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.1", - "ipfs-utils": "~0.0.3", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.3", - "ipld-raw": "^4.0.0", - "is-ipfs": "~0.6.1", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "iso-stream-http": "~0.1.2", - "iso-url": "~0.4.6", - "iterable-ndjson": "^1.1.0", - "just-kebab-case": "^1.1.0", - "just-map-keys": "^1.1.0", - "kind-of": "^6.0.2", - "ky": "^0.11.2", - "ky-universal": "^0.2.2", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.6", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", - "once": "^1.4.0", - "peer-id": "~0.12.3", - "peer-info": "~0.15.1", - "promise-nodeify": "^3.0.1", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "pull-to-stream": "~0.1.1", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.1.1", - "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.1", - "through2": "^3.0.1" - }, - "dependencies": { - "bl": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", - "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", - "requires": { - "readable-stream": "^3.0.1" - } - }, - "concat-stream": { - "version": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", - "integrity": "sha512-GBrsRGcg6w3ac6B49frS/FGwdeuWMognaZIGxLfZ93vP2z3bIhaI/Bgn3rrS49lI7lrFznULlNUjWYP4soqgvw==", - "from": "concat-stream@github:hugomrdias/concat-stream#feat/smaller", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^3.0.2" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - } - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - } - } - }, - "ipfs-utils": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", - "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", - "requires": { - "buffer": "^5.2.1", - "is-buffer": "^2.0.3", - "is-electron": "^2.2.0", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "kind-of": "^6.0.2", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "ipld-dag-cbor": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", - "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", - "requires": { - "borc": "^2.1.2", - "buffer": "^5.5.0", - "cids": "~0.8.0", - "is-circular": "^1.0.2", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - } - }, - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - } - } - } - }, - "ipld-dag-pb": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", - "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", - "requires": { - "cids": "~0.7.0", - "class-is": "^1.1.0", - "multicodec": "~0.5.1", - "multihashing-async": "~0.7.0", - "protons": "^1.0.1", - "stable": "~0.1.8" - }, - "dependencies": { - "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" - }, - "multihashing-async": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", - "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", - "requires": { - "blakejs": "^1.1.0", - "buffer": "^5.2.1", - "err-code": "^1.1.2", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js-revisited": "^3.0.0" - } - } - } - }, - "ipld-raw": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", - "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", - "requires": { - "cids": "~0.7.0", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, - "is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" - }, - "is-electron": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", - "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==" - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" - }, - "is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "requires": { - "ip-regex": "^4.0.0" - } - }, - "is-ipfs": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", - "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", - "requires": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - }, - "dependencies": { - "multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "requires": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - } - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" - }, - "is-pull-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", - "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "iso-random-stream": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", - "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", - "requires": { - "buffer": "^6.0.3", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "iso-stream-http": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", - "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "iso-url": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", - "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==" - }, - "isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "requires": {} - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "iterable-ndjson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", - "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", - "requires": { - "string_decoder": "^1.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - }, - "jayson": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", - "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", - "requires": { - "@types/connect": "^3.4.33", - "@types/express-serve-static-core": "^4.17.9", - "@types/lodash": "^4.14.159", - "@types/node": "^12.12.54", - "@types/ws": "^7.4.4", - "commander": "^2.20.3", - "delay": "^5.0.0", - "es6-promisify": "^5.0.0", - "eyes": "^0.1.8", - "isomorphic-ws": "^4.0.1", - "json-stringify-safe": "^5.0.1", - "JSONStream": "^1.3.5", - "lodash": "^4.17.20", - "uuid": "^8.3.2", - "ws": "^7.4.5" - }, - "dependencies": { - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - } - } - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - }, - "json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", - "requires": { - "delimit-stream": "0.1.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - }, - "dependencies": { - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } - } - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==" - }, - "JSONStream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", - "integrity": "sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA==", - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "just-kebab-case": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", - "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" - }, - "just-map-keys": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", - "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" - }, - "keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "keypair": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", - "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "ky": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", - "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==" - }, - "ky-universal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", - "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", - "requires": { - "abort-controller": "^3.0.0", - "node-fetch": "^2.3.0" - } - }, - "libp2p-crypto": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", - "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", - "requires": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "^0.10.0", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.10.0" - }, - "dependencies": { - "multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", - "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - } - } - } - }, - "libp2p-crypto-secp256k1": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", - "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", - "requires": { - "async": "^2.6.2", - "bs58": "^4.0.1", - "multihashing-async": "~0.6.0", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.2" - }, - "dependencies": { - "multihashing-async": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", - "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", - "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - } - } - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==" - }, - "lodash.lowercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.lowercase/-/lodash.lowercase-4.3.0.tgz", - "integrity": "sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA==" - }, - "lodash.lowerfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.lowerfirst/-/lodash.lowerfirst-4.3.1.tgz", - "integrity": "sha512-UUKX7VhP1/JL54NXg2aq/E1Sfnjjes8fNYTNkPU8ZmsaVeBvPHKdbNaN79Re5XRL01u6wbq3j0cbYZj71Fcu5w==" - }, - "lodash.pad": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", - "integrity": "sha512-mvUHifnLqM+03YNzeTBS1/Gr6JRFjd3rRx88FHWUvamVaT9k2O/kXha3yBSOwB9/DTQrSTLJNHvLBBt2FdX7Mg==" - }, - "lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==" - }, - "lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha512-sW73O6S8+Tg66eY56DBk85aQzzUJDtpoXFBgELMd5P/SotAguo+1kYO6RuYgXxA4HJH3LFTFPASX6ET6bjfriw==" - }, - "lodash.repeat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", - "integrity": "sha512-eWsgQW89IewS95ZOcr15HHCX6FVDxq3f2PNUIng3fyzsPev9imFQxIYdFZ6crl8L56UR6ZlGDLcEb3RZsCSSqw==" - }, - "lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" - }, - "lodash.startcase": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==" - }, - "lodash.trim": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trim/-/lodash.trim-4.5.1.tgz", - "integrity": "sha512-nJAlRl/K+eiOehWKDzoBVrSMhK0K3A3YQsUNXHQa5yIrKBAhsZgSu3KoAFoFT+mEgiyBHddZ0pRk1ITpIp90Wg==" - }, - "lodash.trimend": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimend/-/lodash.trimend-4.5.1.tgz", - "integrity": "sha512-lsD+k73XztDsMBKPKvzHXRKFNMohTjoTKIIo4ADLn5dA65LZ1BqlAvSXhR2rPEC3BgAUQnzMnorqDtqn2z4IHA==" - }, - "lodash.trimstart": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz", - "integrity": "sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ==" - }, - "lodash.uppercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.uppercase/-/lodash.uppercase-4.3.0.tgz", - "integrity": "sha512-+Nbnxkj7s8K5U8z6KnEYPGUOGp3woZbB7Ecs7v3LkkjLQSm2kP9SKIILitN1ktn2mB/tmM9oSlku06I+/lH7QA==" - }, - "lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==" - }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "requires": { - "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "mafmt": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", - "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", - "requires": { - "multiaddr": "^7.3.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "requires": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - } - } - }, - "matchstick-as": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.0.tgz", - "integrity": "sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg==", - "requires": { - "@graphprotocol/graph-ts": "^0.27.0", - "assemblyscript": "^0.19.20", - "wabt": "1.0.24" - }, - "dependencies": { - "assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "requires": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - } - }, - "binaryen": { - "version": "102.0.0-nightly.20211028", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", - "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==" - }, - "long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - } - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "requires": { - "yallist": "^4.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multiaddr": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", - "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", - "requires": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "hi-base32": "~0.5.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - }, - "dependencies": { - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==" - }, - "is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", - "requires": { - "ip-regex": "^2.0.0" - } - } - } - }, - "multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "requires": { - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "requires": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multihashing-async": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", - "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", - "requires": { - "blakejs": "^1.1.0", - "buffer": "^5.4.3", - "err-code": "^2.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^1.0.1", - "murmurhash3js-revisited": "^3.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - } - } - } - }, - "murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==" - }, - "murmurhash3js-revisited": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", - "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" - }, - "ndjson": { - "version": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", - "integrity": "sha512-4HWirDBroNYRKoq+8A7y0uvXlO0dF4p7URRRdqvPSgGjQFVpxpE4uasORXNxeRBMHQnXbTnUBVLXXagwKFH6AQ==", - "from": "ndjson@github:hugomrdias/ndjson#feat/readable-stream3", - "requires": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^3.1.0", - "through2": "^3.0.0" - } - }, - "node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" - }, - "node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==" - }, - "nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", - "requires": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", - "requires": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - } - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", - "requires": { - "wordwrap": "~0.0.2" - } - }, - "ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", - "requires": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "peer-id": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", - "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", - "requires": { - "async": "^2.6.3", - "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.1", - "multihashes": "~0.4.15" - } - }, - "peer-info": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", - "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", - "requires": { - "mafmt": "^6.0.2", - "multiaddr": "^6.0.3", - "peer-id": "~0.12.2", - "unique-by": "^1.0.0" - }, - "dependencies": { - "mafmt": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", - "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", - "requires": { - "multiaddr": "^6.1.0" - } - } - } - }, - "pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "requires": { - "asn1.js": "^5.0.1" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==" - }, - "pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==" - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", - "requires": { - "is-promise": "~1" - } - }, - "promise-nodeify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", - "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==" - }, - "promisify-es6": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", - "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==" - }, - "protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "protons": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", - "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", - "requires": { - "buffer": "^5.5.0", - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" - } - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "pull-to-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", - "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", - "requires": { - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" - }, - "ramdasauce": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", - "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", - "requires": { - "ramda": "^0.24.1" - }, - "dependencies": { - "ramda": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", - "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" - } - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "requires": { - "bn.js": "^5.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", - "requires": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" - }, - "dependencies": { - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==" - } - } - }, - "rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", - "requires": { - "optimist": "~0.3.5" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", - "requires": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", - "requires": { - "varint": "~5.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "split-ca": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", - "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" - }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "requires": { - "readable-stream": "^3.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", - "requires": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "requires": { - "get-port": "^3.1.0" - } - }, - "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - } - }, - "tar-fs": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", - "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", - "requires": { - "chownr": "^1.0.1", - "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" - }, - "dependencies": { - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - } - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - }, - "then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - }, - "promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "requires": { - "asap": "~2.0.6" - } - } - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, - "through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "requires": { - "rimraf": "^3.0.0" - } - }, - "tmp-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", - "requires": { - "tmp": "^0.2.0" - } - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "unique-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", - "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==" - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "ursa-optional": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", - "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", - "requires": { - "bindings": "^1.5.0", - "nan": "^2.14.2" - } - }, - "utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - } - } - }, - "wabt": { - "version": "1.0.24", - "resolved": "https://registry.npmjs.org/wabt/-/wabt-1.0.24.tgz", - "integrity": "sha512-8l7sIOd3i5GWfTWciPL0+ff/FK/deVK2Q6FN+MPz4vfUcD78i2M/49XJTwF6aml91uIiuXJEsLKWMB2cw/mtKg==" - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "requires": { - "defaults": "^1.0.3" - } - }, - "web3-eth-abi": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", - "integrity": "sha512-heqR0bWxgCJwjWIhq2sGyNj9bwun5+Xox/LdZKe+WMyTSy0cXDXEAgv3XKNkXC4JqdDt/ZlbTEx4TWak4TRMSg==", - "requires": { - "@ethersproject/abi": "5.0.7", - "web3-utils": "1.7.0" - } - }, - "web3-utils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.0.tgz", - "integrity": "sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w==", - "requires": { - "bn.js": "^4.11.9", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "ws": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz", - "integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==", - "requires": {} - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "requires": { - "@babel/runtime": "^7.9.2" - } - }, - "yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } -} diff --git a/AllPoolsInvestors/package.json b/AllPoolsInvestors/package.json deleted file mode 100644 index bb5f48e5..00000000 --- a/AllPoolsInvestors/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "dexe", - "license": "UNLICENSED", - "scripts": { - "compile": "graph codegen && graph build", - "codegen": "graph codegen", - "build": "graph build", - "test": "graph test", - "coverage": "graph test -c", - "deploy": "graph deploy --node https://api.thegraph.com/deploy/ volodymyrzolotukhin/dexe", - "create-local": "graph create --node http://localhost:8020/ volodymyrzolotukhin/dexe", - "remove-local": "graph remove --node http://localhost:8020/ volodymyrzolotukhin/dexe", - "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" - }, - "dependencies": { - "@solarity/graph-lib": "^1.0.0-rc.5", - "@graphprotocol/graph-cli": "0.32.0", - "@graphprotocol/graph-ts": "0.27.0", - "matchstick-as": "^0.5.0" - } -} diff --git a/AllPoolsInvestors/schema.graphql b/AllPoolsInvestors/schema.graphql deleted file mode 100644 index 5b166ff3..00000000 --- a/AllPoolsInvestors/schema.graphql +++ /dev/null @@ -1,276 +0,0 @@ -# @notice The entity that holds informations about pool -# @param id the pool address -# @param type the string with type of pool -# @param token the address of base token -# @param investors the array with Investor entities -# @param investorsCount the number of investors -# @param privateInvestors the array with Investor entities -# @param privateInvestorsCount the number of private investors -type TraderPool @entity { - id: Bytes! # pool address - proposalContract: Bytes! - type: String! - token: Bytes! - - investors: [Investor!]! - investorsCount: BigInt! - - privateInvestors: [Investor!]! - privateInvestorsCount: BigInt! -} - -# @notice The entity holds information about Investor -# @param id the investor address -# @param activePools the array with pools with investor's invests -# @param allPools the array with pools where the investor has ever invested -type Investor @entity { - id: Bytes! # investor address - activePools: [TraderPool!]! - allPools: [TraderPool!]! - - insuranceHistory: [InsuranceHistory!]! @derivedFrom(field: "investor") -} - -# @notice The entity holds historical information about investor's amount -# @param id forms from investor address and day -# @param totalUSDInvestVolume the total invest volume in usd -# @param totalUSDDivestVolume the total divest volume in usd -# @param totalNativeInvestVolume the total invest volume in native -# @param totalNativeDivestVolume the total divest volume in native -# @param totalBTCInvestVolume the total invest volume in BTC -# @param totalBTCDivestVolume the total divest volume in BTC -# @param investor the investor entity id -# @param day the timestamp / 86400 -# @param prevHistory the InvestorAmountHistory entity id -type InvestorAmountHistory @entity { - id: ID! # investor + day - totalUSDInvestVolume: BigInt! - totalUSDDivestVolume: BigInt! - totalNativeInvestVolume: BigInt! - totalNativeDivestVolume: BigInt! - totalBTCInvestVolume: BigInt! - totalBTCDivestVolume: BigInt! - - investor: Investor! - day: BigInt! - prevHistory: InvestorAmountHistory! -} - -# @notice The entity holds historical information about investor's insurance -# @param id the investor address + day -# @param stake the staked amount -# @param claimedAmount the total amount of claims -# @param investor the investor entity id -# @param day the timestamp / 86400 -# @param prevHistory the id of previous history -type InsuranceHistory @entity { - id: ID! # investor address + timestamp / 86400 - stake: BigInt! - claimedAmount: BigInt! - - investor: Investor! - day: BigInt! - prevHistory: InsuranceHistory! -} - -# @notice The entity holds historical information about investor's lp balance -# @param id the InvestorPoolPosition entity id + day -# @param currentLpAmount the current lp balance of investor -# @param investorPoolPosition the InvestorPoolPosition entity id -# @param day the timestamp / 86400 -# @param prevHistory the id of previous history -type LpHistory @entity { - id: ID! - currentLpAmount: BigInt! - - investorPoolPosition: InvestorPoolPosition! - day: BigInt! - prevHistory: LpHistory! -} - -# @notice The entity holds historical information about pool -# @param id the pool address + day -# @param investors the array of current investors -# @param investorsCount the current number of investors -# @param privateInvestors the array of current private investors -# @param privateInvestorsCount the current number of private investors -# @param pool the trader pool address -# @param day the timestamp / 86400 -type TraderPoolHistory @entity { - id: ID! # pool address + timestamp / 86400 - investors: [Bytes!]! - investorsCount: BigInt! - privateInvestors: [Bytes!]! - privateInvestorsCount: BigInt! - pool: TraderPool! - day: BigInt! -} - -# @notice The entity holds information about investor's invests and divests in pool -# @param id forms from investor addres + pool address -# @param pool the trader pool entity id -# @param investor the investor entity id -# @param isClosed the bool flag, if true => position closed -# @param totalBaseInvestVolume the total volume of investor's invests to pool in base token -# @param totalBaseDivestVolume the total volume of investor's divests from pool in base token -# @param totalLPInvestVolume the total volume of investor's invests to pool in lp token -# @param totalLPDivestVolume the total volume of investor's divests from pool in lp token -# @param totalUSDInvestVolume the total volume of investor's invests to pool in usd token -# @param totalUSDDivestVolume the total volume of investor's divests from pool in usd token -# @param totalNativeInvestVolume the total volume of investor's invests to pool in native -# @param totalNativeDivestVolume the total volume of investor's divests from pool in native -# @param totalBTCInvestVolume the total volume of investor's invests to pool in btc token -# @param totalBTCDivestVolume the total volume of investor's divests from pool in btc token -type InvestorPoolPosition @entity { - id: ID! # investor address + pool address + position offset - pool: TraderPool! - investor: Investor! - isClosed: Boolean! - - totalBaseInvestVolume: BigInt! - totalBaseDivestVolume: BigInt! - totalLPInvestVolume: BigInt! - totalLPDivestVolume: BigInt! - totalUSDInvestVolume: BigInt! - totalUSDDivestVolume: BigInt! - totalNativeInvestVolume: BigInt! - totalNativeDivestVolume: BigInt! - totalBTCInvestVolume: BigInt! - totalBTCDivestVolume: BigInt! - - vest: [Vest!]! @derivedFrom(field: "investorPoolPosition") - lpHistory: [LpHistory!]! @derivedFrom(field: "investorPoolPosition") -} - -# @notice The entity holds information about invest and divest operations -# @param id forms from tx hash + interactionCounter -# @param hash the tx hash -# @param isInvest the bool flag, if true => invest -# @param timestamp the timestamp of tx -# @param investorPosition the id of investorPosition entity -# @param volumeBase the volume of operation in base -# @param volumeLP the volume of operaion in lp token -# @param volumeUSD the volume of operaion in USD -# @param volumeNative the volume of operaion in ETH -# @param volumeBTC the volume of operaion in BTC -type Vest @entity(immutable: true) { - id: Bytes! # tx hash + interactionCounter - hash: Bytes! - isInvest: Boolean! - timestamp: BigInt! - investorPoolPosition: InvestorPoolPosition! - - volumeBase: BigInt! - volumeLP: BigInt! - volumeUSD: BigInt! - volumeNative: BigInt! - volumeBTC: BigInt! -} - -# @notice The entity holds information about investor position offset in pool -# @param id forms from investor address + pool address -# @param offset the investor position offset in pool -type InvestorPoolPositionOffset @entity { - id: Bytes! # investor address + pool address - offset: BigInt! -} - -####################################### Proposal ####################################### - -# @notice The entity holds information about proposal contract -# @param id forms from proposal contract address -# @param traderPool the trader pool entity -# @param proposalType the string with type of proposal -type ProposalContract @entity(immutable: true) { - id: Bytes! # proposal contract address - traderPool: TraderPool! - proposalType: String! -} - -# @notice The entity holds information about proposal position offset -# @param id froms from proposal address + investor address -# @param offset the investor position offset in proposal -type ProposalPositionOffset @entity { - id: ID! # proposal address + investor address - offset: BigInt! -} - -# @notice The entity holds information about investor position in proposal -# @param id proposal address + investor address + proposal index + "_" + position proposal offset -# @param isClosed the boolean flag, if true -> position closed -# @param totalBaseOpenVolume the total open volume of proposal in base token -# @param totalBaseCloseVolume the total close volume of proposal in base token -# @param totalLPOpenVolume the total open volume of proposal in lp token -# @param totalLPCloseVolume the total close volume of proposal in lp token -# @param totalLP2OpenVolume the total open volume of proposal in lp2 token -# @param totalLP2CloseVolume the total close volume of proposal in lp2 token -# @param totalUSDOpenVolume the total open volume of proposal in usd -# @param totalUSDCloseVolume the total close volume of proposal in usd -# @param proposalContract the proposalContract entity -type ProposalPosition @entity { - id: ID! # proposal address + investor address + proposal index + "_" + position proposal offset - isClosed: Boolean! - proposalId: BigInt! - - totalBaseOpenVolume: BigInt! - totalBaseCloseVolume: BigInt! - totalLPOpenVolume: BigInt! - totalLPCloseVolume: BigInt! - totalLP2OpenVolume: BigInt! - totalLP2CloseVolume: BigInt! - totalUSDOpenVolume: BigInt! - totalUSDCloseVolume: BigInt! - - proposalContract: ProposalContract! - investor: Investor! - vests: [ProposalVest!]! @derivedFrom(field: "proposal") - claims: [ProposalClaim!]! @derivedFrom(field: "proposal") -} - -# @notice The entity holds information about invest/divest in proposal -# @param id forms from tx hash + interactionCounter -# @param hash the tx hash -# @param isInvest the booleand flag, if true -> invest -# @param timestamp the timestamp of tx -# @param baseVolume the volume of vest in base token -# @param lpVolume the volume of vest in lp token -# @param lp2Volume the volume of vest in lp2 token -# @param usdVolume the volume of vest in usdVolume token -# @param proposal the proposal entity -type ProposalVest @entity(immutable: true) { - id: Bytes! # tx hash + interactionCounter - hash: Bytes! - isInvest: Boolean! - timestamp: BigInt! - - baseVolume: BigInt! - lpVolume: BigInt! - lp2Volume: BigInt! - usdVolume: BigInt! - - proposal: ProposalPosition! -} - -# @notice The entity holds information about claim in proposal -# @param id forms from tx hash + interactionCounter -# @param hash the tx hash -# @param timestamp the timestamp of tx -# @param dividendsTokens the array of claimed tokens -# @param amountDividendsTokens the array of claimed amounts -# @param proposal the proposal entity -type ProposalClaim @entity(immutable: true) { - id: Bytes! # tx hash + interactionCounter - hash: Bytes! - timestamp: BigInt! - dividendsTokens: [Bytes!]! - amountDividendsTokens: [BigInt!]! - proposal: ProposalPosition! -} - -# @notice The entity counts interactions in single tx -# @param id forms from tx hash -# @param count the counter of interactions in single tx -type InteractionCount @entity { - id: Bytes! - count: BigInt! -} diff --git a/AllPoolsInvestors/src/entities/global/InteractionCount.ts b/AllPoolsInvestors/src/entities/global/InteractionCount.ts deleted file mode 100644 index 493d7a08..00000000 --- a/AllPoolsInvestors/src/entities/global/InteractionCount.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { InteractionCount } from "../../../generated/schema"; - -export function getInteractionCount(hash: Bytes): InteractionCount { - let counter = InteractionCount.load(hash); - - if (counter == null) { - counter = new InteractionCount(hash); - counter.count = BigInt.zero(); - } - return counter; -} diff --git a/AllPoolsInvestors/src/entities/global/PositionOffset.ts b/AllPoolsInvestors/src/entities/global/PositionOffset.ts deleted file mode 100644 index ad8979b5..00000000 --- a/AllPoolsInvestors/src/entities/global/PositionOffset.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Address, BigInt } from "@graphprotocol/graph-ts"; -import { Investor, InvestorPoolPositionOffset, TraderPool } from "../../../generated/schema"; - -export function getPositionOffset(pool: TraderPool, investor: Investor): InvestorPoolPositionOffset { - let id = pool.id.concat(investor.id); - let positionOffset = InvestorPoolPositionOffset.load(id); - - if (positionOffset == null) { - positionOffset = new InvestorPoolPositionOffset(id); - - positionOffset.offset = BigInt.zero(); - } - - return positionOffset; -} diff --git a/AllPoolsInvestors/src/entities/global/ProposalPositionOffset.ts b/AllPoolsInvestors/src/entities/global/ProposalPositionOffset.ts deleted file mode 100644 index a0558986..00000000 --- a/AllPoolsInvestors/src/entities/global/ProposalPositionOffset.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; -import { Investor, ProposalPositionOffset, TraderPool } from "../../../generated/schema"; - -export function getProposalPositionOffset( - pool: TraderPool, - investor: Investor, - proposalId: BigInt -): ProposalPositionOffset { - let id = pool.id.toHexString() + investor.id.toHexString() + proposalId.toString(); - let positionOffset = ProposalPositionOffset.load(id); - - if (positionOffset == null) { - positionOffset = new ProposalPositionOffset(id); - - positionOffset.offset = BigInt.zero(); - } - - return positionOffset; -} diff --git a/AllPoolsInvestors/src/entities/global/globals.ts b/AllPoolsInvestors/src/entities/global/globals.ts deleted file mode 100644 index 7a20ad3e..00000000 --- a/AllPoolsInvestors/src/entities/global/globals.ts +++ /dev/null @@ -1,11 +0,0 @@ -export const DAY = 86400; -export const BASIC_POOL_NAME = "BASIC_POOL"; -export const INVEST_POOL_NAME = "INVEST_POOL"; -export const RISKY_PROPOSAL_NAME = "RISKY_PROPOSAL"; -export const INVEST_PROPOSAL_NAME = "INVEST_PROPOSAL"; -export const PRICE_FEED_ADDRESS = "0x56d8412b75434671FbC6ad9c6b91Ba2d5E3817c1"; - -export const WETH_ADDRESS = "0x8BaBbB98678facC7342735486C851ABD7A0d17Ca"; -export const WBTC_ADDRESS = "0xae13d989dac2f0debff460ac112a837c89baa7cd"; // WBNB - -export const MAX_SEARCH_DEPTH = 100; diff --git a/AllPoolsInvestors/src/entities/trader-pool/Investor.ts b/AllPoolsInvestors/src/entities/trader-pool/Investor.ts deleted file mode 100644 index d91b9a2d..00000000 --- a/AllPoolsInvestors/src/entities/trader-pool/Investor.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Address, BigInt } from "@graphprotocol/graph-ts"; -import { Investor } from "../../../generated/schema"; - -export function getInvestor(id: Address): Investor { - let investor = Investor.load(id); - - if (investor == null) { - investor = new Investor(id); - investor.activePools = new Array(); - investor.allPools = new Array(); - } - - return investor; -} diff --git a/AllPoolsInvestors/src/entities/trader-pool/InvestorPoolPosition.ts b/AllPoolsInvestors/src/entities/trader-pool/InvestorPoolPosition.ts deleted file mode 100644 index 3a53efda..00000000 --- a/AllPoolsInvestors/src/entities/trader-pool/InvestorPoolPosition.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Address, BigInt } from "@graphprotocol/graph-ts"; -import { Investor, InvestorPoolPosition, InvestorPoolPositionOffset, TraderPool } from "../../../generated/schema"; - -export function getInvestorPoolPosition( - investor: Investor, - traderPool: TraderPool, - positionOffset: InvestorPoolPositionOffset -): InvestorPoolPosition { - let id = investor.id.toHexString() + traderPool.id.toHexString() + positionOffset.offset.toString(); - let investorInfo = InvestorPoolPosition.load(id); - - if (investorInfo == null) { - investorInfo = new InvestorPoolPosition(id); - investorInfo.investor = investor.id; - investorInfo.pool = traderPool.id; - investorInfo.isClosed = false; - - investorInfo.totalBaseInvestVolume = BigInt.zero(); - investorInfo.totalBaseDivestVolume = BigInt.zero(); - - investorInfo.totalLPInvestVolume = BigInt.zero(); - investorInfo.totalLPDivestVolume = BigInt.zero(); - - investorInfo.totalUSDInvestVolume = BigInt.zero(); - investorInfo.totalUSDDivestVolume = BigInt.zero(); - - investorInfo.totalNativeInvestVolume = BigInt.zero(); - investorInfo.totalNativeDivestVolume = BigInt.zero(); - - investorInfo.totalBTCInvestVolume = BigInt.zero(); - investorInfo.totalBTCDivestVolume = BigInt.zero(); - } - - return investorInfo; -} diff --git a/AllPoolsInvestors/src/entities/trader-pool/TraderPool.ts b/AllPoolsInvestors/src/entities/trader-pool/TraderPool.ts deleted file mode 100644 index 4951c307..00000000 --- a/AllPoolsInvestors/src/entities/trader-pool/TraderPool.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { TraderPool } from "../../../generated/schema"; - -export function getTraderPool( - poolAddress: Address, - proposalContract: Address = Address.zero(), - type: string = "", - baseToken: Address = Address.zero() -): TraderPool { - let traderPool = TraderPool.load(poolAddress); - - if (traderPool == null) { - traderPool = new TraderPool(poolAddress); - traderPool.proposalContract = proposalContract; - traderPool.type = type; - traderPool.token = baseToken; - traderPool.investors = new Array(); - traderPool.investorsCount = BigInt.zero(); - traderPool.privateInvestors = new Array(); - traderPool.privateInvestorsCount = BigInt.zero(); - } - - return traderPool; -} diff --git a/AllPoolsInvestors/src/entities/trader-pool/Vest.ts b/AllPoolsInvestors/src/entities/trader-pool/Vest.ts deleted file mode 100644 index 08759f83..00000000 --- a/AllPoolsInvestors/src/entities/trader-pool/Vest.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { InvestorPoolPosition, Vest } from "../../../generated/schema"; -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { getInteractionCount } from "../global/InteractionCount"; -import { increaseCounter } from "../../helpers/IncreaseCounter"; - -export function getVest( - hash: Bytes, - investorPoolPosition: InvestorPoolPosition, - isInvest: boolean = false, - volumeBase: BigInt = BigInt.zero(), - volumeLP: BigInt = BigInt.zero(), - volumeUSD: BigInt = BigInt.zero(), - volumeNative: BigInt = BigInt.zero(), - volumeBTC: BigInt = BigInt.zero(), - timestamp: BigInt = BigInt.zero() -): Vest { - let counter = getInteractionCount(hash); - let vest = Vest.load(hash.concatI32(counter.count.toI32())); - - if (vest == null) { - vest = new Vest(hash.concatI32(counter.count.toI32())); - vest.hash = hash; - vest.investorPoolPosition = investorPoolPosition.id; - vest.isInvest = isInvest; - vest.volumeBase = volumeBase; - vest.volumeLP = volumeLP; - vest.volumeUSD = volumeUSD; - vest.volumeNative = volumeNative; - vest.volumeBTC = volumeBTC; - vest.timestamp = timestamp; - - increaseCounter(counter); - } - - return vest; -} diff --git a/AllPoolsInvestors/src/entities/trader-pool/history/InsuranceHistory.ts b/AllPoolsInvestors/src/entities/trader-pool/history/InsuranceHistory.ts deleted file mode 100644 index d5c52435..00000000 --- a/AllPoolsInvestors/src/entities/trader-pool/history/InsuranceHistory.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; -import { InsuranceHistory, Investor } from "../../../../generated/schema"; -import { DAY } from "../../global/globals"; - -export function getInsuranceHistory(investor: Investor, timestamp: BigInt): InsuranceHistory { - let day = timestamp.div(BigInt.fromI32(DAY)); - let id = investor.id.toHexString() + day.toString(); - let history = InsuranceHistory.load(id); - - if (history == null) { - history = new InsuranceHistory(id); - history.stake = BigInt.zero(); - history.claimedAmount = BigInt.zero(); - history.investor = investor.id; - history.day = day; - history.prevHistory = ""; - } - - return history; -} diff --git a/AllPoolsInvestors/src/entities/trader-pool/history/InvestorAmountHistory.ts b/AllPoolsInvestors/src/entities/trader-pool/history/InvestorAmountHistory.ts deleted file mode 100644 index e413a9be..00000000 --- a/AllPoolsInvestors/src/entities/trader-pool/history/InvestorAmountHistory.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { DAY, MAX_SEARCH_DEPTH } from "../../global/globals"; -import { Investor, InvestorAmountHistory } from "../../../../generated/schema"; -import { findPrevHistory } from "@solarity/graph-lib"; - -export function getInvestorAmountHistory(investor: Investor, timestamp: BigInt): InvestorAmountHistory { - let day = timestamp.div(BigInt.fromI32(DAY)); - let id = investor.id.toHexString() + day.toString(); - let history = InvestorAmountHistory.load(id); - - if (history == null) { - history = new InvestorAmountHistory(id); - - history.totalUSDInvestVolume = BigInt.zero(); - history.totalUSDDivestVolume = BigInt.zero(); - history.totalNativeInvestVolume = BigInt.zero(); - history.totalNativeDivestVolume = BigInt.zero(); - history.totalBTCInvestVolume = BigInt.zero(); - history.totalBTCDivestVolume = BigInt.zero(); - - history.investor = investor.id; - history.prevHistory = ""; - history.day = day; - } - - return history; -} - -export function injectPrevInvestorAmountHistory(history: InvestorAmountHistory, investor: Investor): void { - if (history.prevHistory == "") { - let prevHistory = findPrevHistory( - InvestorAmountHistory.load, - investor.id.toHexString(), - history.day, - BigInt.fromI32(MAX_SEARCH_DEPTH), - 1 - ); - if (prevHistory != null) { - history.prevHistory = prevHistory.id; - - history.totalUSDInvestVolume = prevHistory.totalUSDInvestVolume; - history.totalUSDDivestVolume = prevHistory.totalUSDDivestVolume; - history.totalNativeInvestVolume = prevHistory.totalNativeInvestVolume; - history.totalNativeDivestVolume = prevHistory.totalNativeDivestVolume; - history.totalBTCInvestVolume = prevHistory.totalBTCInvestVolume; - history.totalBTCDivestVolume = prevHistory.totalBTCDivestVolume; - } - } -} diff --git a/AllPoolsInvestors/src/entities/trader-pool/history/LpHistory.ts b/AllPoolsInvestors/src/entities/trader-pool/history/LpHistory.ts deleted file mode 100644 index 07576bb7..00000000 --- a/AllPoolsInvestors/src/entities/trader-pool/history/LpHistory.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { InvestorPoolPosition, LpHistory } from "../../../../generated/schema"; -import { DAY, MAX_SEARCH_DEPTH } from "../../global/globals"; -import { findPrevHistory } from "@solarity/graph-lib"; - -export function getLpHistory(investorPoolPosition: InvestorPoolPosition, timestamp: BigInt): LpHistory { - let day = timestamp.div(BigInt.fromI32(DAY)); - let id = investorPoolPosition.id.toString() + day.toString(); - let history = LpHistory.load(id); - - if (history == null) { - history = new LpHistory(id); - history.currentLpAmount = BigInt.zero(); - - history.investorPoolPosition = investorPoolPosition.id; - history.prevHistory = ""; - history.day = day; - } - - return history; -} - -export function injectPrevLPHistory(history: LpHistory, investorPoolPosition: InvestorPoolPosition): void { - if (history.prevHistory == "") { - let prevHistory = findPrevHistory( - LpHistory.load, - investorPoolPosition.id, - history.day, - BigInt.fromI32(MAX_SEARCH_DEPTH), - 1 - ); - if (prevHistory != null) { - history.prevHistory = prevHistory.id; - history.currentLpAmount = prevHistory.currentLpAmount; - } - } -} diff --git a/AllPoolsInvestors/src/entities/trader-pool/history/TraderPoolHistory.ts b/AllPoolsInvestors/src/entities/trader-pool/history/TraderPoolHistory.ts deleted file mode 100644 index e06d1aa3..00000000 --- a/AllPoolsInvestors/src/entities/trader-pool/history/TraderPoolHistory.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; -import { TraderPool, TraderPoolHistory } from "../../../../generated/schema"; -import { DAY } from "../../global/globals"; - -export function getTraderPoolHistory(pool: TraderPool, timestamp: BigInt): TraderPoolHistory { - let day = timestamp.div(BigInt.fromI32(DAY)); - let id = pool.id.toHexString() + day.toString(); - let history = TraderPoolHistory.load(id); - - if (history == null) { - history = new TraderPoolHistory(id); - history.pool = pool.id; - history.investors = pool.investors; - history.investorsCount = pool.investorsCount; - history.privateInvestors = pool.privateInvestors; - history.privateInvestorsCount = pool.privateInvestorsCount; - history.day = day; - } - - return history; -} diff --git a/AllPoolsInvestors/src/entities/trader-pool/proposal/ProposalClaim.ts b/AllPoolsInvestors/src/entities/trader-pool/proposal/ProposalClaim.ts deleted file mode 100644 index 81242df8..00000000 --- a/AllPoolsInvestors/src/entities/trader-pool/proposal/ProposalClaim.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { ProposalClaim, ProposalPosition } from "../../../../generated/schema"; -import { increaseCounter } from "../../../helpers/IncreaseCounter"; -import { getInteractionCount } from "../../global/InteractionCount"; - -export function getProposalClaim( - hash: Bytes, - proposal: ProposalPosition, - dividendsTokens: Array = new Array(), - amountDividendsTokens: Array = new Array(), - timestamp: BigInt = BigInt.zero() -): ProposalClaim { - let counter = getInteractionCount(hash); - let id = hash.concatI32(counter.count.toI32()); - let claim = ProposalClaim.load(id); - - if (claim == null) { - claim = new ProposalClaim(id); - claim.hash = hash; - claim.timestamp = timestamp; - claim.proposal = proposal.id; - claim.dividendsTokens = dividendsTokens; - claim.amountDividendsTokens = amountDividendsTokens; - - increaseCounter(counter); - } - - return claim; -} diff --git a/AllPoolsInvestors/src/entities/trader-pool/proposal/ProposalContract.ts b/AllPoolsInvestors/src/entities/trader-pool/proposal/ProposalContract.ts deleted file mode 100644 index a9266945..00000000 --- a/AllPoolsInvestors/src/entities/trader-pool/proposal/ProposalContract.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Address } from "@graphprotocol/graph-ts"; -import { ProposalContract } from "../../../../generated/schema"; - -export function getProposalContract( - contractAddress: Address, - traderPoolAddress: Address = Address.zero(), - proposalType: string = "" -): ProposalContract { - let contract = ProposalContract.load(contractAddress); - - if (contract == null) { - contract = new ProposalContract(contractAddress); - contract.traderPool = traderPoolAddress; - contract.proposalType = proposalType; - } - - return contract; -} diff --git a/AllPoolsInvestors/src/entities/trader-pool/proposal/ProposalPosition.ts b/AllPoolsInvestors/src/entities/trader-pool/proposal/ProposalPosition.ts deleted file mode 100644 index e90705e3..00000000 --- a/AllPoolsInvestors/src/entities/trader-pool/proposal/ProposalPosition.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { ProposalPosition, ProposalContract, ProposalPositionOffset, Investor } from "../../../../generated/schema"; - -export function getProposalPosition( - index: BigInt, - proposalContract: ProposalContract, - investor: Investor, - proposalPositionOffset: ProposalPositionOffset -): ProposalPosition { - let id = - proposalContract.id.toHexString() + - investor.id.toHexString() + - index.toString() + - "_" + - proposalPositionOffset.offset.toString(); - let proposal = ProposalPosition.load(id); - - if (proposal == null) { - proposal = new ProposalPosition(id); - - proposal.proposalContract = proposalContract.id; - proposal.investor = investor.id; - proposal.proposalId = index; - proposal.totalBaseOpenVolume = BigInt.zero(); - proposal.totalBaseCloseVolume = BigInt.zero(); - proposal.totalUSDOpenVolume = BigInt.zero(); - proposal.totalUSDCloseVolume = BigInt.zero(); - proposal.totalLPOpenVolume = BigInt.zero(); - proposal.totalLPCloseVolume = BigInt.zero(); - proposal.totalLP2OpenVolume = BigInt.zero(); - proposal.totalLP2CloseVolume = BigInt.zero(); - - proposal.isClosed = false; - } - - return proposal; -} diff --git a/AllPoolsInvestors/src/entities/trader-pool/proposal/ProposalVest.ts b/AllPoolsInvestors/src/entities/trader-pool/proposal/ProposalVest.ts deleted file mode 100644 index b041c002..00000000 --- a/AllPoolsInvestors/src/entities/trader-pool/proposal/ProposalVest.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { ProposalPosition, ProposalVest } from "../../../../generated/schema"; -import { increaseCounter } from "../../../helpers/IncreaseCounter"; -import { getInteractionCount } from "../../global/InteractionCount"; - -export function getProposalVest( - hash: Bytes, - proposal: ProposalPosition, - isInvest: boolean = false, - volumeBase: BigInt = BigInt.zero(), - volumeLP: BigInt = BigInt.zero(), - volumeLP2: BigInt = BigInt.zero(), - volumeUSD: BigInt = BigInt.zero(), - timestamp: BigInt = BigInt.zero() -): ProposalVest { - let counter = getInteractionCount(hash); - let vest = ProposalVest.load(hash.concatI32(counter.count.toI32())); - - if (vest == null) { - vest = new ProposalVest(hash.concatI32(counter.count.toI32())); - vest.hash = hash; - vest.isInvest = isInvest; - vest.baseVolume = volumeBase; - vest.lpVolume = volumeLP; - vest.lp2Volume = volumeLP2; - vest.usdVolume = volumeUSD; - vest.timestamp = timestamp; - vest.proposal = proposal.id; - - increaseCounter(counter); - } - - return vest; -} diff --git a/AllPoolsInvestors/src/helpers/IncreaseCounter.ts b/AllPoolsInvestors/src/helpers/IncreaseCounter.ts deleted file mode 100644 index 40aabc0c..00000000 --- a/AllPoolsInvestors/src/helpers/IncreaseCounter.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; -import { InteractionCount } from "../../generated/schema"; - -export function increaseCounter(counter: InteractionCount): void { - counter.count = counter.count.plus(BigInt.fromI32(1)); - counter.save(); -} diff --git a/AllPoolsInvestors/src/helpers/PriceFeedInteractions.ts b/AllPoolsInvestors/src/helpers/PriceFeedInteractions.ts deleted file mode 100644 index 55601e31..00000000 --- a/AllPoolsInvestors/src/helpers/PriceFeedInteractions.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { Address, BigInt, Bytes, log } from "@graphprotocol/graph-ts"; -import { PriceFeed } from "../../generated/templates/TraderPool/PriceFeed"; -import { PRICE_FEED_ADDRESS } from "../entities/global/globals"; - -export function getUSDValue(token: Bytes, amount: BigInt): BigInt { - let pfPrototype = PriceFeed.bind(Address.fromString(PRICE_FEED_ADDRESS)); - - let resp = pfPrototype.try_getNormalizedPriceOutUSD(Address.fromString(token.toHexString()), amount); - if (resp.reverted) { - log.warning("try_getNormalizedPriceOutUSD reverted. FromToken: {}, Amount:{}", [ - token.toHexString(), - amount.toString(), - ]); - return BigInt.zero(); - } else { - if (resp.value.value1.length == 0) { - log.warning("try_getNormalizedPriceOutUSD returned 0 length path. FromToken: {}, Amount:{}", [ - token.toHexString(), - amount.toString(), - ]); - } - return resp.value.value0; - } -} - -export function getTokenValue(fromToken: Bytes, toToken: Bytes, amount: BigInt): BigInt { - let pfPrototype = PriceFeed.bind(Address.fromString(PRICE_FEED_ADDRESS)); - - let resp = pfPrototype.try_getNormalizedPriceOut(Address.fromBytes(fromToken), Address.fromBytes(toToken), amount); - if (resp.reverted) { - log.warning("try_getNormalizedPriceOut reverted. FromToken: {}, ToToken: {}, Amount:{}", [ - fromToken.toHexString(), - toToken.toHexString(), - amount.toString(), - ]); - return BigInt.zero(); - } else { - if (resp.value.value1.length == 0) { - log.warning("try_getNormalizedPriceOut returned 0 length path. FromToken: {}, ToToken: {}, Amount:{}", [ - fromToken.toHexString(), - toToken.toHexString(), - amount.toString(), - ]); - } - return resp.value.value0; - } -} diff --git a/AllPoolsInvestors/src/mappings/Insurance.ts b/AllPoolsInvestors/src/mappings/Insurance.ts deleted file mode 100644 index c61f9639..00000000 --- a/AllPoolsInvestors/src/mappings/Insurance.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; -import { Deposited, Paidout, Withdrawn } from "../../generated/Insurance/Insurance"; -import { InsuranceHistory, Investor } from "../../generated/schema"; -import { getInsuranceHistory } from "../entities/trader-pool/history/InsuranceHistory"; -import { getInvestor } from "../entities/trader-pool/Investor"; -import { findPrevHistory } from "@solarity/graph-lib"; -import { MAX_SEARCH_DEPTH } from "../entities/global/globals"; - -export function onDeposit(event: Deposited): void { - let investor = getInvestor(event.params.investor); - let history = getInsuranceHistory(investor, event.block.timestamp); - - injectPrevHistory(history, investor); - - history.stake = history.stake.plus(event.params.amount); - investor.save(); - history.save(); -} - -export function onWithdraw(event: Withdrawn): void { - let investor = getInvestor(event.params.investor); - let history = getInsuranceHistory(investor, event.block.timestamp); - - injectPrevHistory(history, investor); - - history.stake = history.stake.minus(event.params.amount); - investor.save(); - history.save(); -} - -export function onPayout(event: Paidout): void { - let investor = getInvestor(event.params.investor); - let history = getInsuranceHistory(investor, event.block.timestamp); - - injectPrevHistory(history, investor); - - history.claimedAmount = history.claimedAmount.plus(event.params.insurancePayout); - history.stake = history.stake.minus(event.params.userStakePayout); - - investor.save(); - history.save(); -} - -function injectPrevHistory(history: InsuranceHistory, investor: Investor): void { - let prevHistory: InsuranceHistory | null; - if (history.prevHistory == "") { - prevHistory = findPrevHistory( - InsuranceHistory.load, - investor.id.toHexString(), - history.day, - BigInt.fromI32(MAX_SEARCH_DEPTH), - 1 - ); - if (prevHistory != null) { - history.prevHistory = prevHistory.id; - history.claimedAmount = prevHistory.claimedAmount; - history.stake = prevHistory.stake; - } - } -} diff --git a/AllPoolsInvestors/src/mappings/PoolFactory.ts b/AllPoolsInvestors/src/mappings/PoolFactory.ts deleted file mode 100644 index 1a39e7f4..00000000 --- a/AllPoolsInvestors/src/mappings/PoolFactory.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { TraderPoolDeployed } from "../../generated/PoolFactory/PoolFactory"; -import { getTraderPool } from "../entities/trader-pool/TraderPool"; -import { Proposal, TraderPool } from "../../generated/templates"; -import { - BASIC_POOL_NAME, - INVEST_POOL_NAME, - INVEST_PROPOSAL_NAME, - RISKY_PROPOSAL_NAME, -} from "../entities/global/globals"; -import { getProposalContract } from "../entities/trader-pool/proposal/ProposalContract"; - -export function onDeployed(event: TraderPoolDeployed): void { - let pool = getTraderPool( - event.params.at, - event.params.proposalContract, - event.params.poolType, - event.params.basicToken - ); - pool.save(); - - if (event.params.poolType == BASIC_POOL_NAME) { - getProposalContract(event.params.proposalContract, event.params.at, RISKY_PROPOSAL_NAME).save(); - } else if (event.params.poolType == INVEST_POOL_NAME) { - getProposalContract(event.params.proposalContract, event.params.at, INVEST_PROPOSAL_NAME).save(); - } - - TraderPool.create(event.params.at); - Proposal.create(event.params.proposalContract); -} diff --git a/AllPoolsInvestors/src/mappings/TraderPool.ts b/AllPoolsInvestors/src/mappings/TraderPool.ts deleted file mode 100644 index 815ec0f6..00000000 --- a/AllPoolsInvestors/src/mappings/TraderPool.ts +++ /dev/null @@ -1,205 +0,0 @@ -import { - Divested, - Invested, - Joined, - Left, - ModifiedPrivateInvestors, - ProposalDivested, -} from "../../generated/templates/TraderPool/TraderPool"; -import { getTraderPool } from "../entities/trader-pool/TraderPool"; -import { Address, BigInt, Bytes, ethereum, log } from "@graphprotocol/graph-ts"; -import { pushUnique, remove, upcastCopy } from "@solarity/graph-lib"; -import { getInvestor } from "../entities/trader-pool/Investor"; -import { getTraderPoolHistory } from "../entities/trader-pool/history/TraderPoolHistory"; -import { getInvestorPoolPosition } from "../entities/trader-pool/InvestorPoolPosition"; -import { getVest } from "../entities/trader-pool/Vest"; -import { getPositionOffset } from "../entities/global/PositionOffset"; -import { WBTC_ADDRESS, WETH_ADDRESS } from "../entities/global/globals"; -import { getProposalContract } from "../entities/trader-pool/proposal/ProposalContract"; -import { getProposalPosition } from "../entities/trader-pool/proposal/ProposalPosition"; -import { getProposalVest } from "../entities/trader-pool/proposal/ProposalVest"; -import { getProposalPositionOffset } from "../entities/global/ProposalPositionOffset"; -import { getLpHistory, injectPrevLPHistory } from "../entities/trader-pool/history/LpHistory"; -import { getTokenValue, getUSDValue } from "../helpers/PriceFeedInteractions"; -import { - getInvestorAmountHistory, - injectPrevInvestorAmountHistory, -} from "../entities/trader-pool/history/InvestorAmountHistory"; - -export function onJoined(event: Joined): void { - let pool = getTraderPool(event.address); - let history = getTraderPoolHistory(pool, event.block.timestamp); - - let investor = getInvestor(event.params.user); - pool.investors = pushUnique(pool.investors, [investor.id]); - pool.investorsCount = pool.investorsCount.plus(BigInt.fromI32(1)); - - history.investors = pushUnique(history.investors, [investor.id]); - history.investorsCount = history.investorsCount.plus(BigInt.fromI32(1)); - - investor.activePools = pushUnique(investor.activePools, [pool.id]); - investor.allPools = pushUnique(investor.allPools, [pool.id]); - - let positionOffset = getPositionOffset(pool, investor); - let investorPoolPosition = getInvestorPoolPosition(investor, pool, positionOffset); - - positionOffset.save(); - investorPoolPosition.save(); - investor.save(); - pool.save(); - history.save(); -} - -export function onLeft(event: Left): void { - let pool = getTraderPool(event.address); - let history = getTraderPoolHistory(pool, event.block.timestamp); - - let investor = getInvestor(event.params.user); - pool.investors = remove(pool.investors, [investor.id]); - pool.investorsCount = pool.investorsCount.minus(BigInt.fromI32(1)); - - history.investors = remove(history.investors, [investor.id]); - history.investorsCount = history.investorsCount.minus(BigInt.fromI32(1)); - - investor.activePools = remove(investor.activePools, [pool.id]); - - let positionOffset = getPositionOffset(pool, investor); - let investorPoolPosition = getInvestorPoolPosition(investor, pool, positionOffset); - - positionOffset.offset = positionOffset.offset.plus(BigInt.fromI32(1)); - investorPoolPosition.isClosed = true; - - positionOffset.save(); - investorPoolPosition.save(); - - investor.save(); - pool.save(); - history.save(); -} - -export function onModifiedPrivateInvestors(event: ModifiedPrivateInvestors): void { - let pool = getTraderPool(event.address); - let history = getTraderPoolHistory(pool, event.block.timestamp); - - let upcastedArray = upcastCopy(event.params.privateInvestors); - - if (event.params.add) { - pool.privateInvestors = pushUnique(pool.privateInvestors, upcastedArray); - pool.privateInvestorsCount = pool.privateInvestorsCount.plus(BigInt.fromI32(event.params.privateInvestors.length)); - - history.privateInvestors = pushUnique(history.privateInvestors, upcastedArray); - history.privateInvestorsCount = history.privateInvestorsCount.plus( - BigInt.fromI32(event.params.privateInvestors.length) - ); - } else { - pool.privateInvestors = remove(pool.privateInvestors, upcastedArray); - pool.privateInvestorsCount = pool.privateInvestorsCount.minus(BigInt.fromI32(event.params.privateInvestors.length)); - - history.privateInvestors = remove(history.privateInvestors, upcastedArray); - history.privateInvestorsCount = history.privateInvestorsCount.minus( - BigInt.fromI32(event.params.privateInvestors.length) - ); - } - pool.save(); - history.save(); -} - -export function onInvest(event: Invested): void { - setupVest(event.params.investedBase, event.params.receivedLP, event.params.user, true, event); -} - -export function onDivest(event: Divested): void { - setupVest(event.params.receivedBase, event.params.divestedLP, event.params.user, false, event); -} - -export function onProposalDivest(event: ProposalDivested): void { - let pool = getTraderPool(event.address); - let proposalContract = getProposalContract(Address.fromBytes(pool.proposalContract)); - let investor = getInvestor(event.params.user); - let proposalOffset = getProposalPositionOffset(pool, investor, event.params.proposalId); - let proposal = getProposalPosition(event.params.proposalId, proposalContract, investor, proposalOffset); - - let usdValue = getUSDValue(pool.token, event.params.receivedBase); - let divest = getProposalVest( - event.transaction.hash, - proposal, - false, - event.params.receivedBase, - event.params.receivedLP, - event.params.divestedLP2, - usdValue, - event.block.timestamp - ); - - proposal.totalBaseCloseVolume = proposal.totalBaseCloseVolume.plus(event.params.receivedBase); - proposal.totalLPCloseVolume = proposal.totalLPCloseVolume.plus(event.params.receivedLP); - proposal.totalLP2CloseVolume = proposal.totalLP2CloseVolume.plus(event.params.divestedLP2); - proposal.totalUSDCloseVolume = proposal.totalUSDCloseVolume.plus(usdValue); - - pool.save(); - investor.save(); - proposalOffset.save(); - proposal.save(); - divest.save(); -} - -function setupVest(vestInBase: BigInt, vestLp: BigInt, user: Address, isInvest: boolean, event: ethereum.Event): void { - let investor = getInvestor(user); - let pool = getTraderPool(event.address); - let positionOffset = getPositionOffset(pool, investor); - let investorPoolPosition = getInvestorPoolPosition(investor, pool, positionOffset); - let usdValue = getUSDValue(pool.token, vestInBase); - let bnbValue = getTokenValue(pool.token, Address.fromString(WETH_ADDRESS), vestInBase); - let btcValue = getTokenValue(pool.token, Address.fromString(WBTC_ADDRESS), vestInBase); - let vest = getVest( - event.transaction.hash, - investorPoolPosition, - isInvest, - vestInBase, - vestLp, - usdValue, - bnbValue, - btcValue, - event.block.timestamp - ); - - let lpHistory = getLpHistory(investorPoolPosition, event.block.timestamp); - injectPrevLPHistory(lpHistory, investorPoolPosition); - - let investorAmountHistory = getInvestorAmountHistory(investor, event.block.timestamp); - injectPrevInvestorAmountHistory(investorAmountHistory, investor); - - if (isInvest) { - investorPoolPosition.totalBaseInvestVolume = investorPoolPosition.totalBaseInvestVolume.plus(vestInBase); - investorPoolPosition.totalLPInvestVolume = investorPoolPosition.totalLPInvestVolume.plus(vestLp); - investorPoolPosition.totalUSDInvestVolume = investorPoolPosition.totalUSDInvestVolume.plus(usdValue); - investorPoolPosition.totalNativeInvestVolume = investorPoolPosition.totalNativeInvestVolume.plus(bnbValue); - investorPoolPosition.totalBTCInvestVolume = investorPoolPosition.totalBTCInvestVolume.plus(btcValue); - - lpHistory.currentLpAmount = lpHistory.currentLpAmount.plus(vestLp); - - investorAmountHistory.totalUSDInvestVolume = investorAmountHistory.totalUSDInvestVolume.plus(usdValue); - investorAmountHistory.totalNativeInvestVolume = investorAmountHistory.totalNativeInvestVolume.plus(bnbValue); - investorAmountHistory.totalBTCInvestVolume = investorAmountHistory.totalBTCInvestVolume.plus(btcValue); - } else { - investorPoolPosition.totalBaseDivestVolume = investorPoolPosition.totalBaseDivestVolume.plus(vestInBase); - investorPoolPosition.totalLPDivestVolume = investorPoolPosition.totalLPDivestVolume.plus(vestLp); - investorPoolPosition.totalUSDDivestVolume = investorPoolPosition.totalUSDDivestVolume.plus(usdValue); - investorPoolPosition.totalNativeDivestVolume = investorPoolPosition.totalNativeDivestVolume.plus(bnbValue); - investorPoolPosition.totalBTCDivestVolume = investorPoolPosition.totalBTCDivestVolume.plus(btcValue); - - lpHistory.currentLpAmount = lpHistory.currentLpAmount.minus(vestLp); - - investorAmountHistory.totalUSDDivestVolume = investorAmountHistory.totalUSDDivestVolume.plus(usdValue); - investorAmountHistory.totalNativeDivestVolume = investorAmountHistory.totalNativeDivestVolume.plus(bnbValue); - investorAmountHistory.totalBTCDivestVolume = investorAmountHistory.totalBTCDivestVolume.plus(btcValue); - } - - lpHistory.save(); - investorAmountHistory.save(); - investor.save(); - pool.save(); - positionOffset.save(); - investorPoolPosition.save(); - vest.save(); -} diff --git a/AllPoolsInvestors/src/mappings/TraderPoolProposal.ts b/AllPoolsInvestors/src/mappings/TraderPoolProposal.ts deleted file mode 100644 index 3463aed0..00000000 --- a/AllPoolsInvestors/src/mappings/TraderPoolProposal.ts +++ /dev/null @@ -1,132 +0,0 @@ -import { - ProposalClaimed, - ProposalDivested, - ProposalInvested, - ProposalJoined, - ProposalLeft, -} from "../../generated/templates/Proposal/Proposal"; -import { getProposalPosition } from "../entities/trader-pool/proposal/ProposalPosition"; -import { getProposalVest } from "../entities/trader-pool/proposal/ProposalVest"; -import { getProposalContract } from "../entities/trader-pool/proposal/ProposalContract"; -import { getTraderPool } from "../entities/trader-pool/TraderPool"; -import { Address, Bytes, BigInt, log } from "@graphprotocol/graph-ts"; -import { upcastCopy } from "@solarity/graph-lib"; -import { PriceFeed } from "../../generated/templates/TraderPool/PriceFeed"; -import { PRICE_FEED_ADDRESS } from "../entities/global/globals"; -import { getInvestor } from "../entities/trader-pool/Investor"; -import { getProposalPositionOffset } from "../entities/global/ProposalPositionOffset"; -import { getProposalClaim } from "../entities/trader-pool/proposal/ProposalClaim"; -import { getUSDValue } from "../helpers/PriceFeedInteractions"; - -export function onProposalInvest(event: ProposalInvested): void { - let proposalContract = getProposalContract(event.address); - let investor = getInvestor(event.params.user); - let pool = getTraderPool(Address.fromBytes(proposalContract.traderPool)); - let proposalOffset = getProposalPositionOffset(pool, investor, event.params.proposalId); - let proposal = getProposalPosition(event.params.proposalId, proposalContract, investor, proposalOffset); - - let usdValue = getUSDValue(pool.token, event.params.investedBase); - let invest = getProposalVest( - event.transaction.hash, - proposal, - true, - event.params.investedBase, - event.params.investedLP, - event.params.receivedLP2, - usdValue, - event.block.timestamp - ); - - proposal.totalBaseOpenVolume = proposal.totalBaseOpenVolume.plus(event.params.investedBase); - proposal.totalLPOpenVolume = proposal.totalLPOpenVolume.plus(event.params.investedLP); - proposal.totalLP2OpenVolume = proposal.totalLP2OpenVolume.plus(event.params.receivedLP2); - proposal.totalUSDOpenVolume = proposal.totalUSDOpenVolume.plus(usdValue); - - proposalOffset.save(); - investor.save(); - proposal.save(); - invest.save(); -} - -export function onProposalDivest(event: ProposalDivested): void { - let proposalContract = getProposalContract(event.address); - let investor = getInvestor(event.params.user); - let pool = getTraderPool(Address.fromBytes(proposalContract.traderPool)); - let proposalOffset = getProposalPositionOffset(pool, investor, event.params.proposalId); - let proposal = getProposalPosition(event.params.proposalId, proposalContract, investor, proposalOffset); - - let usdValue = getUSDValue( - getTraderPool(Address.fromBytes(proposalContract.traderPool)).token, - event.params.receivedBase - ); - let divest = getProposalVest( - event.transaction.hash, - proposal, - false, - event.params.receivedBase, - event.params.receivedLP, - event.params.divestedLP2, - usdValue, - event.block.timestamp - ); - - proposal.totalBaseCloseVolume = proposal.totalBaseCloseVolume.plus(event.params.receivedBase); - proposal.totalLPCloseVolume = proposal.totalLPCloseVolume.plus(event.params.receivedLP); - proposal.totalLP2CloseVolume = proposal.totalLP2CloseVolume.plus(event.params.divestedLP2); - proposal.totalUSDCloseVolume = proposal.totalUSDCloseVolume.plus(usdValue); - - proposalOffset.save(); - investor.save(); - proposal.save(); - divest.save(); -} - -export function onProposalJoined(event: ProposalJoined): void { - let proposalContract = getProposalContract(event.address); - let investor = getInvestor(event.params.investor); - let pool = getTraderPool(Address.fromBytes(proposalContract.traderPool)); - let proposalOffset = getProposalPositionOffset(pool, investor, event.params.proposalId); - let proposal = getProposalPosition(event.params.proposalId, proposalContract, investor, proposalOffset); - - investor.save(); - pool.save(); - proposalOffset.save(); - proposal.save(); -} - -export function onProposalClaimed(event: ProposalClaimed): void { - let proposalContract = getProposalContract(event.address); - let investor = getInvestor(event.params.user); - let pool = getTraderPool(Address.fromBytes(proposalContract.traderPool)); - let proposalOffset = getProposalPositionOffset(pool, investor, event.params.proposalId); - let proposal = getProposalPosition(event.params.proposalId, proposalContract, investor, proposalOffset); - let claim = getProposalClaim( - event.transaction.hash, - proposal, - upcastCopy(event.params.tokens), - event.params.amounts, - event.block.timestamp - ); - - claim.save(); - investor.save(); - pool.save(); - proposalOffset.save(); - proposal.save(); -} - -export function onProposalLeft(event: ProposalLeft): void { - let proposalContract = getProposalContract(event.address); - let investor = getInvestor(event.params.investor); - let pool = getTraderPool(Address.fromBytes(proposalContract.traderPool)); - let proposalOffset = getProposalPositionOffset(pool, investor, event.params.proposalId); - let proposal = getProposalPosition(event.params.proposalId, proposalContract, investor, proposalOffset); - - proposal.isClosed = true; - proposalOffset.offset = proposalOffset.offset.plus(BigInt.fromI32(1)); - - investor.save(); - pool.save(); - proposal.save(); - proposalOffset.save(); -} diff --git a/AllPoolsInvestors/subgraph.yaml b/AllPoolsInvestors/subgraph.yaml deleted file mode 100644 index ab96e087..00000000 --- a/AllPoolsInvestors/subgraph.yaml +++ /dev/null @@ -1,110 +0,0 @@ -specVersion: 0.0.4 -schema: - file: ./schema.graphql -dataSources: - - kind: ethereum/contract - name: PoolFactory - network: chapel - source: - address: "0x11d12802D7b5281addE998E81e7a3db97B133d07" - abi: PoolFactory - startBlock: 32093342 - mapping: - kind: ethereum/events - apiVersion: 0.0.6 - language: wasm/assemblyscript - file: ./src/mappings/PoolFactory.ts - entities: - - PoolFactory - abis: - - name: PoolFactory - file: ./abis/PoolFactory.json - eventHandlers: - - event: TraderPoolDeployed(string,string,string,address,address,address,address,uint256,string) - handler: onDeployed - - - kind: ethereum/contract - name: Insurance - network: chapel - source: - address: "0xF13120985Fa715e453B941ae386a1A3245A7198A" - abi: Insurance - startBlock: 32093342 - mapping: - kind: ethereum/events - apiVersion: 0.0.6 - language: wasm/assemblyscript - file: ./src/mappings/Insurance.ts - entities: - - Investor - abis: - - name: Insurance - file: ./abis/Insurance.json - eventHandlers: - - event: Deposited(uint256,address) - handler: onDeposit - - event: Withdrawn(uint256,address) - handler: onWithdraw - - event: Paidout(uint256,uint256,address) - handler: onPayout - -templates: - - kind: ethereum/contract - name: TraderPool - network: chapel - source: - abi: TraderPool - mapping: - kind: ethereum/events - apiVersion: 0.0.6 - language: wasm/assemblyscript - file: ./src/mappings/TraderPool.ts - entities: - - TraderPool - abis: - - name: TraderPool - file: ./abis/TraderPool.json - - name: PriceFeed - file: ./abis/PriceFeed.json - eventHandlers: - - event: Joined(address) - handler: onJoined - - event: Left(address) - handler: onLeft - - event: ModifiedPrivateInvestors(address,address[],bool) - handler: onModifiedPrivateInvestors - - event: Invested(address,uint256,uint256) - handler: onInvest - - event: Divested(address,uint256,uint256) - handler: onDivest - - event: ProposalDivested(uint256,address,uint256,uint256,uint256) - handler: onProposalDivest - - - kind: ethereum/contract - name: Proposal - network: chapel - source: - abi: Proposal - mapping: - kind: ethereum/events - apiVersion: 0.0.6 - language: wasm/assemblyscript - file: ./src/mappings/TraderPoolProposal.ts - entities: - - ProposalContract - abis: - - name: Proposal - file: ./abis/TraderPoolProposal.json - - name: PriceFeed - file: ./abis/PriceFeed.json - eventHandlers: - - event: ProposalInvested(uint256,address,uint256,uint256,uint256) - handler: onProposalInvest - - event: ProposalDivested(uint256,address,uint256,uint256,uint256) - handler: onProposalDivest - - event: ProposalJoined(uint256,address) - handler: onProposalJoined - - event: ProposalLeft(uint256,address) - handler: onProposalLeft - - event: ProposalClaimed(uint256,address,uint256[],address[]) - handler: onProposalClaimed diff --git a/AllPoolsInvestors/tests/Insurance.test.ts b/AllPoolsInvestors/tests/Insurance.test.ts deleted file mode 100644 index ff85bfc5..00000000 --- a/AllPoolsInvestors/tests/Insurance.test.ts +++ /dev/null @@ -1,197 +0,0 @@ -import { Deposited, Withdrawn, Paidout } from "../generated/Insurance/Insurance"; -import { afterEach, assert, clearStore, describe, newMockEvent, test } from "matchstick-as/assembly/index"; -import { Address, BigInt, Bytes, ethereum } from "@graphprotocol/graph-ts"; -import { getBlock, getTransaction } from "./utils"; -import { onDeposit, onPayout, onWithdraw } from "../src/mappings/Insurance"; - -function createDepositEvent( - amount: BigInt, - investor: Address, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): Deposited { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); - event.parameters.push(new ethereum.EventParam("investor", ethereum.Value.fromAddress(investor))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createWithdrawEvent( - amount: BigInt, - investor: Address, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): Withdrawn { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); - event.parameters.push(new ethereum.EventParam("investor", ethereum.Value.fromAddress(investor))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} -function createPaidout( - payout: BigInt, - userStakePayout: BigInt, - user: Address, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): Paidout { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("payout", ethereum.Value.fromUnsignedBigInt(payout))); - event.parameters.push(new ethereum.EventParam("userStakePayout", ethereum.Value.fromUnsignedBigInt(userStakePayout))); - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); -const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); - -describe("Insurance", () => { - afterEach(() => { - clearStore(); - }); - test("should handle deposit event", () => { - let expectedAmount = BigInt.fromI32(100).pow(18); - let expectedInvestor = Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"); - let expectedSender = Address.fromString("0x86e98f7d84603AEb97cd1c89A80A9e914f181679"); - let event = createDepositEvent(expectedAmount, expectedInvestor, expectedSender, block, tx); - - onDeposit(event); - - assert.fieldEquals( - "InsuranceHistory", - event.params.investor.toHexString() + "0", - "investor", - event.params.investor.toHexString() - ); - assert.fieldEquals( - "InsuranceHistory", - event.params.investor.toHexString() + "0", - "stake", - expectedAmount.toString() - ); - assert.fieldEquals("InsuranceHistory", event.params.investor.toHexString() + "0", "claimedAmount", "0"); - assert.fieldEquals("InsuranceHistory", event.params.investor.toHexString() + "0", "day", "0"); - }); - - test("should handle withdraw event", () => { - let depositedAmount = BigInt.fromI32(100).pow(18); - let withdrawedAmount = BigInt.fromI32(100).pow(18).div(BigInt.fromI32(2)); - let expectedInvestor = Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"); - let expectedSender = Address.fromString("0x86e98f7d84603AEb97cd1c89A80A9e914f181679"); - - let depositEvent = createDepositEvent(depositedAmount, expectedInvestor, expectedSender, block, tx); - let withdrawEvent = createWithdrawEvent(withdrawedAmount, expectedInvestor, expectedSender, block, tx); - - onDeposit(depositEvent); - - onWithdraw(withdrawEvent); - - assert.fieldEquals( - "InsuranceHistory", - withdrawEvent.params.investor.toHexString() + "0", - "stake", - depositedAmount.minus(withdrawedAmount).toString() - ); - assert.fieldEquals( - "InsuranceHistory", - withdrawEvent.params.investor.toHexString() + "0", - "investor", - withdrawEvent.params.investor.toHexString() - ); - assert.fieldEquals("InsuranceHistory", withdrawEvent.params.investor.toHexString() + "0", "claimedAmount", "0"); - assert.fieldEquals("InsuranceHistory", withdrawEvent.params.investor.toHexString() + "0", "day", "0"); - - withdrawEvent = createWithdrawEvent(withdrawedAmount, expectedInvestor, expectedSender, block, tx); - onWithdraw(withdrawEvent); - - assert.fieldEquals("InsuranceHistory", withdrawEvent.params.investor.toHexString() + "0", "stake", "0"); - assert.fieldEquals( - "InsuranceHistory", - withdrawEvent.params.investor.toHexString() + "0", - "investor", - withdrawEvent.params.investor.toHexString() - ); - assert.fieldEquals("InsuranceHistory", withdrawEvent.params.investor.toHexString() + "0", "claimedAmount", "0"); - assert.fieldEquals("InsuranceHistory", withdrawEvent.params.investor.toHexString() + "0", "day", "0"); - }); - - test("should handle paidout event", () => { - let expectedAmount = BigInt.fromI32(10).pow(19); - let expectedInvestor = Address.fromString("0x76e98f7d84603AEb97cd1c89A80A9e914f181679"); - let expectedSender = Address.fromString("0x86e98f7d84603AEb97cd1c89A80A9e914f181679"); - - let depositEvent = createDepositEvent(expectedAmount, expectedInvestor, expectedSender, block, tx); - - onDeposit(depositEvent); - - let payout = BigInt.fromI32(10).pow(18); - let stakePayout = BigInt.fromI32(5).times(BigInt.fromI32(10).pow(18)); - - let event = createPaidout(payout, stakePayout, expectedInvestor, expectedSender, block, tx); - - onPayout(event); - - assert.fieldEquals( - "InsuranceHistory", - event.params.investor.toHexString() + "0", - "investor", - event.params.investor.toHexString() - ); - assert.fieldEquals("InsuranceHistory", event.params.investor.toHexString() + "0", "stake", stakePayout.toString()); - assert.fieldEquals( - "InsuranceHistory", - event.params.investor.toHexString() + "0", - "claimedAmount", - payout.toString() - ); - assert.fieldEquals( - "InsuranceHistory", - event.params.investor.toHexString() + "0", - "day", - block.timestamp.div(BigInt.fromI32(86400)).toString() - ); - - onPayout(event); - - assert.fieldEquals( - "InsuranceHistory", - event.params.investor.toHexString() + "0", - "investor", - event.params.investor.toHexString() - ); - assert.fieldEquals("InsuranceHistory", event.params.investor.toHexString() + "0", "stake", "0"); - assert.fieldEquals( - "InsuranceHistory", - event.params.investor.toHexString() + "0", - "claimedAmount", - payout.times(BigInt.fromI32(2)).toString() - ); - assert.fieldEquals( - "InsuranceHistory", - event.params.investor.toHexString() + "0", - "day", - block.timestamp.div(BigInt.fromI32(86400)).toString() - ); - }); -}); diff --git a/AllPoolsInvestors/tests/PoolFactory.test.ts b/AllPoolsInvestors/tests/PoolFactory.test.ts deleted file mode 100644 index 651563f8..00000000 --- a/AllPoolsInvestors/tests/PoolFactory.test.ts +++ /dev/null @@ -1,153 +0,0 @@ -import { TraderPoolDeployed } from "../generated/PoolFactory/PoolFactory"; -import { afterEach, assert, clearStore, describe, newMockEvent, test } from "matchstick-as/assembly/index"; -import { getBlock, getTransaction } from "./utils"; -import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { onDeployed } from "../src/mappings/PoolFactory"; -import { BASIC_POOL_NAME, RISKY_PROPOSAL_NAME } from "../src/entities/global/globals"; - -function createTraderPoolDeployed( - poolType: string, - symbol: string, - name: string, - at: Address, - proposalContract: Address, - trader: Address, - basicToken: Address, - commission: BigInt, - descriptionURL: string, - block: ethereum.Block, - tx: ethereum.Transaction -): TraderPoolDeployed { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("poolType", ethereum.Value.fromString(poolType))); - event.parameters.push(new ethereum.EventParam("symbol", ethereum.Value.fromString(symbol))); - event.parameters.push(new ethereum.EventParam("name", ethereum.Value.fromString(name))); - event.parameters.push(new ethereum.EventParam("at", ethereum.Value.fromAddress(at))); - event.parameters.push(new ethereum.EventParam("proposalContract", ethereum.Value.fromAddress(proposalContract))); - event.parameters.push(new ethereum.EventParam("trader", ethereum.Value.fromAddress(trader))); - event.parameters.push(new ethereum.EventParam("basicToken", ethereum.Value.fromAddress(basicToken))); - event.parameters.push(new ethereum.EventParam("commission", ethereum.Value.fromUnsignedBigInt(commission))); - event.parameters.push(new ethereum.EventParam("descriptionURL", ethereum.Value.fromString(descriptionURL))); - - event.block = block; - event.transaction = tx; - - return event; -} - -const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); -const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); - -describe("PoolFactory", () => { - afterEach(() => { - clearStore(); - }); - - test("should handle TraderPoolDeployed event", () => { - let expectedPoolType = BASIC_POOL_NAME; - let expectedSymbol = "BSTP"; - let expectedName = "Basic Trader Pool"; - let expectedAt = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181679"); - let expectedProposalContract = Address.fromString("0x86e98f7d84603AEb97cd1c88A80A9e914f181679"); - let expectedTrader = Address.fromString("0x86e98f7d84603AEb97cd1c89A80A9e914f181699"); - let expectedBasicToken = Address.fromString("0x86e98f7d84603AEb97ad1c89A80A9e914f181679"); - let expectedCommission = BigInt.fromI32(300); - let expectedDescriptionURL = "URL"; - let event = createTraderPoolDeployed( - expectedPoolType, - expectedSymbol, - expectedName, - expectedAt, - expectedProposalContract, - expectedTrader, - expectedBasicToken, - expectedCommission, - expectedDescriptionURL, - block, - tx - ); - - onDeployed(event); - - assert.fieldEquals( - "TraderPool", - expectedAt.toHexString(), - "proposalContract", - expectedProposalContract.toHexString() - ); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "type", expectedPoolType); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "token", expectedBasicToken.toHexString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "investors", "[]"); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "investorsCount", BigInt.zero().toString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "privateInvestors", "[]"); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "investorsCount", BigInt.zero().toString()); - assert.fieldEquals( - "TraderPool", - expectedAt.toHexString(), - "proposalContract", - expectedProposalContract.toHexString() - ); - - assert.fieldEquals( - "ProposalContract", - expectedProposalContract.toHexString(), - "traderPool", - expectedAt.toHexString() - ); - assert.fieldEquals("ProposalContract", expectedProposalContract.toHexString(), "proposalType", RISKY_PROPOSAL_NAME); - assert.fieldEquals( - "ProposalContract", - expectedProposalContract.toHexString(), - "traderPool", - expectedAt.toHexString() - ); - - expectedAt = Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"); - expectedProposalContract = Address.fromString("0x065049652b9d7C9fE9dD582970dB63a058788688"); - - event = createTraderPoolDeployed( - expectedPoolType, - expectedSymbol, - expectedName, - expectedAt, - expectedProposalContract, - expectedTrader, - expectedBasicToken, - expectedCommission, - expectedDescriptionURL, - block, - tx - ); - - onDeployed(event); - - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "type", expectedPoolType); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "token", expectedBasicToken.toHexString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "investors", "[]"); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "investorsCount", BigInt.zero().toString()); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "privateInvestors", "[]"); - assert.fieldEquals("TraderPool", expectedAt.toHexString(), "investorsCount", BigInt.zero().toString()); - assert.fieldEquals( - "TraderPool", - expectedAt.toHexString(), - "proposalContract", - expectedProposalContract.toHexString() - ); - - assert.fieldEquals( - "ProposalContract", - expectedProposalContract.toHexString(), - "traderPool", - expectedAt.toHexString() - ); - assert.fieldEquals("ProposalContract", expectedProposalContract.toHexString(), "proposalType", RISKY_PROPOSAL_NAME); - assert.fieldEquals( - "ProposalContract", - expectedProposalContract.toHexString(), - "traderPool", - expectedAt.toHexString() - ); - }); -}); diff --git a/AllPoolsInvestors/tests/TraderPool.test.ts b/AllPoolsInvestors/tests/TraderPool.test.ts deleted file mode 100644 index 1c365124..00000000 --- a/AllPoolsInvestors/tests/TraderPool.test.ts +++ /dev/null @@ -1,504 +0,0 @@ -import { Address, BigInt, ethereum, Bytes } from "@graphprotocol/graph-ts"; -import { - afterEach, - assert, - beforeAll, - clearStore, - createMockedFunction, - describe, - logStore, - newMockEvent, - test, -} from "matchstick-as"; -import { - DescriptionURLChanged, - Divested, - Exchanged, - Invested, - ModifiedAdmins, - ProposalDivested, - ModifiedPrivateInvestors, - CommissionClaimed, - Joined, - Left, -} from "../generated/templates/TraderPool/TraderPool"; -import { getBlock, getNextTx, getTransaction } from "./utils"; -import { - onDivest, - onInvest, - onJoined, - onLeft, - onModifiedPrivateInvestors, - onProposalDivest, -} from "../src/mappings/TraderPool"; -import { PRICE_FEED_ADDRESS } from "../src/entities/global/globals"; - -function createInvestedEvent( - user: Address, - investedBase: BigInt, - receivedLP: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): Invested { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("investedBase", ethereum.Value.fromUnsignedBigInt(investedBase))); - event.parameters.push(new ethereum.EventParam("receivedLP", ethereum.Value.fromUnsignedBigInt(receivedLP))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createDivestedEvent( - user: Address, - receivedBase: BigInt, - divestedLP: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): Divested { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("divestedLP", ethereum.Value.fromUnsignedBigInt(divestedLP))); - event.parameters.push(new ethereum.EventParam("receivedBase", ethereum.Value.fromUnsignedBigInt(receivedBase))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createProposalDivest( - proposalId: BigInt, - user: Address, - divestedLP2: BigInt, - receivedLP: BigInt, - receivedBase: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalDivested { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("divestedLP2", ethereum.Value.fromUnsignedBigInt(divestedLP2))); - event.parameters.push(new ethereum.EventParam("receivedLP", ethereum.Value.fromUnsignedBigInt(receivedLP))); - event.parameters.push(new ethereum.EventParam("receivedBase", ethereum.Value.fromUnsignedBigInt(receivedBase))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createModifiedPrivateInvestors( - user: Address, - privateInvestors: Address[], - add: boolean, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ModifiedPrivateInvestors { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("privateInvestors", ethereum.Value.fromAddressArray(privateInvestors))); - event.parameters.push(new ethereum.EventParam("add", ethereum.Value.fromBoolean(add))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createJoinedEvent( - investor: Address, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): Joined { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("investor", ethereum.Value.fromAddress(investor))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createLeftEvent(investor: Address, sender: Address, block: ethereum.Block, tx: ethereum.Transaction): Left { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("investor", ethereum.Value.fromAddress(investor))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); -const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); -const sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181679"); -const expectedUSD = BigInt.fromI32(100).pow(18); -const expectedNative = BigInt.fromI32(1000).pow(18); -const expectedBTC = BigInt.fromI32(10000).pow(18); - -describe("TraderPool", () => { - beforeAll(() => { - createMockedFunction( - Address.fromString(PRICE_FEED_ADDRESS), - "getNormalizedPriceOutUSD", - "getNormalizedPriceOutUSD(address,uint256):(uint256,address[])" - ) - .withArgs([ - ethereum.Value.fromAddress(Address.fromString("0x0000000000000000000000000000000000000000")), - ethereum.Value.fromUnsignedBigInt(expectedUSD), - ]) - .returns([ethereum.Value.fromUnsignedBigInt(expectedUSD), ethereum.Value.fromAddressArray([sender, sender])]); - - createMockedFunction( - Address.fromString(PRICE_FEED_ADDRESS), - "getNormalizedPriceOut", - "getNormalizedPriceOut(address,address,uint256):(uint256,address[])" - ) - .withArgs([ - ethereum.Value.fromAddress(Address.fromString("0x0000000000000000000000000000000000000000")), - ethereum.Value.fromAddress(Address.fromString("0x8babbb98678facc7342735486c851abd7a0d17ca")), - ethereum.Value.fromUnsignedBigInt(expectedUSD), - ]) - .returns([ethereum.Value.fromUnsignedBigInt(expectedNative), ethereum.Value.fromAddressArray([sender, sender])]); - - createMockedFunction( - Address.fromString(PRICE_FEED_ADDRESS), - "getNormalizedPriceOut", - "getNormalizedPriceOut(address,address,uint256):(uint256,address[])" - ) - .withArgs([ - ethereum.Value.fromAddress(Address.fromString("0x0000000000000000000000000000000000000000")), - ethereum.Value.fromAddress(Address.fromString("0xae13d989dac2f0debff460ac112a837c89baa7cd")), - ethereum.Value.fromUnsignedBigInt(expectedUSD), - ]) - .returns([ethereum.Value.fromUnsignedBigInt(expectedBTC), ethereum.Value.fromAddressArray([sender, sender])]); - }); - - afterEach(() => { - clearStore(); - }); - - test("should handle invested event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let investedBase = BigInt.fromI32(100).pow(18); - let receivedLP = BigInt.fromI32(10).pow(18); - - let event = createInvestedEvent(user, investedBase, receivedLP, sender, block, tx); - - onInvest(event); - - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "isInvest", "true"); - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); - assert.fieldEquals( - "Vest", - tx.hash.concatI32(0).toHexString(), - "investorPoolPosition", - user.toHexString() + sender.toHexString() + "0" - ); - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "volumeBase", investedBase.toString()); - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "volumeLP", receivedLP.toString()); - - assert.fieldEquals( - "InvestorPoolPosition", - user.toHexString() + sender.toHexString() + "0", - "totalBaseInvestVolume", - investedBase.toString() - ); - assert.fieldEquals( - "InvestorPoolPosition", - user.toHexString() + sender.toHexString() + "0", - "totalLPInvestVolume", - receivedLP.toString() - ); - assert.fieldEquals( - "InvestorPoolPosition", - user.toHexString() + sender.toHexString() + "0", - "totalUSDInvestVolume", - expectedUSD.toString() - ); - assert.fieldEquals( - "InvestorPoolPosition", - user.toHexString() + sender.toHexString() + "0", - "totalNativeInvestVolume", - expectedNative.toString() - ); - assert.fieldEquals( - "InvestorPoolPosition", - user.toHexString() + sender.toHexString() + "0", - "totalBTCInvestVolume", - expectedBTC.toString() - ); - - assert.fieldEquals("InteractionCount", tx.hash.toHexString(), "count", "1"); - assert.fieldEquals( - "LpHistory", - user.toHexString() + sender.toHexString() + "0" + "0", - "currentLpAmount", - receivedLP.toString() - ); - - assert.fieldEquals( - "InvestorAmountHistory", - user.toHexString() + "0", - "totalUSDInvestVolume", - expectedUSD.toString() - ); - assert.fieldEquals( - "InvestorAmountHistory", - user.toHexString() + "0", - "totalNativeInvestVolume", - expectedNative.toString() - ); - assert.fieldEquals( - "InvestorAmountHistory", - user.toHexString() + "0", - "totalBTCInvestVolume", - expectedBTC.toString() - ); - - const nextTx = getNextTx(tx); - event = createInvestedEvent(user, investedBase, receivedLP, sender, block, nextTx); - - onInvest(event); - - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "hash", nextTx.hash.toHexString()); - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "isInvest", "true"); - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); - assert.fieldEquals( - "Vest", - nextTx.hash.concatI32(0).toHexString(), - "investorPoolPosition", - user.toHexString() + sender.toHexString() + "0" - ); - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "volumeBase", investedBase.toString()); - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "volumeLP", receivedLP.toString()); - }); - - test("should handle divested event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let receivedBase = BigInt.fromI32(100).pow(18); - let divestedLP = BigInt.fromI32(10).pow(18); - - let event = createDivestedEvent(user, receivedBase, divestedLP, sender, block, tx); - - onDivest(event); - - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "isInvest", "false"); - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "volumeBase", receivedBase.toString()); - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "volumeLP", divestedLP.toString()); - assert.fieldEquals("Vest", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); - - assert.fieldEquals( - "InvestorPoolPosition", - user.toHexString() + sender.toHexString() + "0", - "totalBaseDivestVolume", - receivedBase.toString() - ); - assert.fieldEquals( - "InvestorPoolPosition", - user.toHexString() + sender.toHexString() + "0", - "totalLPDivestVolume", - divestedLP.toString() - ); - assert.fieldEquals( - "InvestorPoolPosition", - user.toHexString() + sender.toHexString() + "0", - "totalUSDDivestVolume", - expectedUSD.toString() - ); - assert.fieldEquals( - "InvestorPoolPosition", - user.toHexString() + sender.toHexString() + "0", - "totalNativeDivestVolume", - expectedNative.toString() - ); - assert.fieldEquals( - "InvestorPoolPosition", - user.toHexString() + sender.toHexString() + "0", - "totalBTCDivestVolume", - expectedBTC.toString() - ); - - assert.fieldEquals("InteractionCount", tx.hash.toHexString(), "count", "1"); - assert.fieldEquals( - "LpHistory", - user.toHexString() + sender.toHexString() + "0" + "0", - "currentLpAmount", - "-" + divestedLP.toString() - ); - - assert.fieldEquals( - "InvestorAmountHistory", - user.toHexString() + "0", - "totalUSDDivestVolume", - expectedUSD.toString() - ); - assert.fieldEquals( - "InvestorAmountHistory", - user.toHexString() + "0", - "totalNativeDivestVolume", - expectedNative.toString() - ); - assert.fieldEquals( - "InvestorAmountHistory", - user.toHexString() + "0", - "totalBTCDivestVolume", - expectedBTC.toString() - ); - - let nextTx = getNextTx(tx); - event = createDivestedEvent(user, receivedBase, divestedLP, sender, block, nextTx); - - onDivest(event); - - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "hash", nextTx.hash.toHexString()); - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "isInvest", "false"); - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "volumeBase", receivedBase.toString()); - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "volumeLP", divestedLP.toString()); - assert.fieldEquals("Vest", nextTx.hash.concatI32(0).toHexString(), "hash", nextTx.hash.toHexString()); - }); - - test("should handle ProposalDivested event", () => { - let proposalId = BigInt.fromI32(1); - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let baseAmount = BigInt.fromI32(100).pow(18); - let lpAmount = BigInt.fromI32(10).pow(17); - let lp2Amount = BigInt.fromI32(10).pow(18); - - let event = createProposalDivest(proposalId, user, lp2Amount, lpAmount, baseAmount, sender, block, tx); - - onProposalDivest(event); - - let proposalEntityId = Address.zero().toHexString() + user.toHexString() + proposalId.toString() + "_" + "0"; - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "baseVolume", baseAmount.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "lp2Volume", lp2Amount.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "lpVolume", lpAmount.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "usdVolume", expectedUSD.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "isInvest", "false"); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "proposal", proposalEntityId); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); - - assert.fieldEquals("ProposalPosition", proposalEntityId, "totalBaseCloseVolume", baseAmount.toString()); - assert.fieldEquals("ProposalPosition", proposalEntityId, "totalLPCloseVolume", lpAmount.toString()); - assert.fieldEquals("ProposalPosition", proposalEntityId, "totalLP2CloseVolume", lp2Amount.toString()); - assert.fieldEquals("ProposalPosition", proposalEntityId, "totalUSDCloseVolume", expectedUSD.toString()); - - assert.fieldEquals("InteractionCount", tx.hash.toHexString(), "count", "1"); - }); - - test("should handle ModifiedPrivateInvestors event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let privateInvestors = [ - Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f171670"), - Address.fromString("0x86e08f7c84603AAb97cd1c89A80A9e914f181670"), - ]; - - let event = createModifiedPrivateInvestors(user, privateInvestors, true, sender, block, tx); - - onModifiedPrivateInvestors(event); - - assert.fieldEquals( - "TraderPool", - sender.toHexString(), - "privateInvestors", - `[${privateInvestors[0].toHexString()}, ${privateInvestors[1].toHexString()}]` - ); - assert.fieldEquals("TraderPool", sender.toHexString(), "privateInvestorsCount", "2"); - - assert.fieldEquals( - "TraderPoolHistory", - sender.toHexString() + "0", - "privateInvestors", - `[${privateInvestors[0].toHexString()}, ${privateInvestors[1].toHexString()}]` - ); - assert.fieldEquals("TraderPoolHistory", sender.toHexString() + "0", "privateInvestorsCount", "2"); - }); - - test("should handle Joined event", () => { - let investor = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - - let event = createJoinedEvent(investor, sender, block, tx); - - onJoined(event); - - assert.fieldEquals("TraderPool", sender.toHexString(), "investors", `[${investor.toHexString()}]`); - assert.fieldEquals("TraderPool", sender.toHexString(), "investorsCount", "1"); - assert.fieldEquals("TraderPoolHistory", sender.toHexString() + "0", "investors", `[${investor.toHexString()}]`); - assert.fieldEquals("TraderPoolHistory", sender.toHexString() + "0", "investorsCount", "1"); - }); - - test("should handle Left event", () => { - let investors = [ - Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"), - Address.fromString("0x065049652b9d7C9fE9dD582970dB63a058788688"), - ]; - - let eventAdded = createJoinedEvent(investors[0], sender, block, tx); - onJoined(eventAdded); - - eventAdded = createJoinedEvent(investors[1], sender, block, tx); - onJoined(eventAdded); - - assert.fieldEquals( - "TraderPool", - sender.toHexString(), - "investors", - `[${investors[0].toHexString()}, ${investors[1].toHexString()}]` - ); - assert.fieldEquals("TraderPool", sender.toHexString(), "investorsCount", "2"); - - assert.fieldEquals("Investor", investors[0].toHexString(), "activePools", `[${sender.toHexString()}]`); - assert.fieldEquals("Investor", investors[0].toHexString(), "allPools", `[${sender.toHexString()}]`); - - assert.fieldEquals("Investor", investors[1].toHexString(), "activePools", `[${sender.toHexString()}]`); - assert.fieldEquals("Investor", investors[1].toHexString(), "allPools", `[${sender.toHexString()}]`); - - let eventRemoved = createLeftEvent(investors[0], sender, block, tx); - onLeft(eventRemoved); - - eventRemoved = createLeftEvent(investors[1], sender, block, tx); - onLeft(eventRemoved); - - assert.fieldEquals("Investor", investors[0].toHexString(), "activePools", "[]"); - assert.fieldEquals("Investor", investors[0].toHexString(), "allPools", `[${sender.toHexString()}]`); - - assert.fieldEquals("Investor", investors[1].toHexString(), "activePools", "[]"); - assert.fieldEquals("Investor", investors[1].toHexString(), "allPools", `[${sender.toHexString()}]`); - - assert.fieldEquals("TraderPool", sender.toHexString(), "investors", "[]"); - assert.fieldEquals("TraderPool", sender.toHexString(), "investorsCount", "0"); - assert.fieldEquals("TraderPoolHistory", sender.toHexString() + "0", "investors", "[]"); - assert.fieldEquals("TraderPoolHistory", sender.toHexString() + "0", "investorsCount", "0"); - }); -}); diff --git a/AllPoolsInvestors/tests/TraderPoolProposal.test.ts b/AllPoolsInvestors/tests/TraderPoolProposal.test.ts deleted file mode 100644 index f311bd33..00000000 --- a/AllPoolsInvestors/tests/TraderPoolProposal.test.ts +++ /dev/null @@ -1,311 +0,0 @@ -import { Address, BigInt, ethereum, Bytes } from "@graphprotocol/graph-ts"; -import { - afterEach, - assert, - beforeAll, - beforeEach, - clearStore, - createMockedFunction, - describe, - logStore, - newMockEvent, - test, -} from "matchstick-as"; -import { - ProposalInvested, - ProposalDivested, - ProposalJoined, - ProposalClaimed, - ProposalLeft, -} from "../generated/templates/Proposal/Proposal"; -import { getBlock, getTransaction } from "./utils"; -import { - onProposalInvest, - onProposalClaimed, - onProposalDivest, - onProposalJoined, - onProposalLeft, -} from "../src/mappings/TraderPoolProposal"; -import { PRICE_FEED_ADDRESS } from "../src/entities/global/globals"; - -function createProposalInvested( - proposalId: BigInt, - user: Address, - investedLP: BigInt, - investedBase: BigInt, - receivedLP2: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalInvested { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("investedLP", ethereum.Value.fromUnsignedBigInt(investedLP))); - event.parameters.push(new ethereum.EventParam("investedBase", ethereum.Value.fromUnsignedBigInt(investedBase))); - event.parameters.push(new ethereum.EventParam("receivedLP2", ethereum.Value.fromUnsignedBigInt(receivedLP2))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -function createProposalDivested( - proposalId: BigInt, - user: Address, - receivedLP: BigInt, - receivedBase: BigInt, - divestedLP2: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalDivested { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("receivedLP2", ethereum.Value.fromUnsignedBigInt(divestedLP2))); - event.parameters.push(new ethereum.EventParam("investedLP", ethereum.Value.fromUnsignedBigInt(receivedLP))); - event.parameters.push(new ethereum.EventParam("investedBase", ethereum.Value.fromUnsignedBigInt(receivedBase))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -function createProposalClaimed( - proposalId: BigInt, - user: Address, - amounts: BigInt[], - tokens: Address[], - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalClaimed { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("amounts", ethereum.Value.fromUnsignedBigIntArray(amounts))); - event.parameters.push(new ethereum.EventParam("tokens", ethereum.Value.fromAddressArray(tokens))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createProposalInvestorAdded( - proposalId: BigInt, - investor: Address, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalJoined { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("investor", ethereum.Value.fromAddress(investor))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createProposalInvestorRemoved( - proposalId: BigInt, - investor: Address, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalLeft { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("investor", ethereum.Value.fromAddress(investor))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); -const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); -const sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181679"); -const proposalId = BigInt.fromI32(1); -const expectedUSD = BigInt.fromI32(100).pow(18); - -describe("TraderPoolProposal", () => { - beforeAll(() => { - createMockedFunction( - Address.fromString(PRICE_FEED_ADDRESS), - "getNormalizedPriceOutUSD", - "getNormalizedPriceOutUSD(address,uint256):(uint256,address[])" - ) - .withArgs([ - ethereum.Value.fromAddress(Address.fromString("0x0000000000000000000000000000000000000000")), - ethereum.Value.fromUnsignedBigInt(expectedUSD), - ]) - .returns([ethereum.Value.fromUnsignedBigInt(expectedUSD), ethereum.Value.fromAddressArray([sender, sender])]); - }); - - afterEach(() => { - clearStore(); - }); - - test("should handle ProposalInvested event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let investedLP = BigInt.fromI32(10).pow(18); - let investedBase = BigInt.fromI32(100).pow(18); - let receivedLP2 = BigInt.fromI32(50).pow(17); - - let event = createProposalInvested(proposalId, user, investedLP, investedBase, receivedLP2, sender, block, tx); - - onProposalInvest(event); - - let proposalEntityId = sender.toHexString() + user.toHexString() + proposalId.toString() + "_" + "0"; - - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "isInvest", "true"); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "baseVolume", investedBase.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "lpVolume", investedLP.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "lp2Volume", receivedLP2.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "usdVolume", expectedUSD.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "proposal", proposalEntityId); - - assert.fieldEquals("ProposalPosition", proposalEntityId, "proposalId", proposalId.toString()); - assert.fieldEquals("ProposalPosition", proposalEntityId, "isClosed", "false"); - assert.fieldEquals("ProposalPosition", proposalEntityId, "totalBaseOpenVolume", investedBase.toString()); - assert.fieldEquals("ProposalPosition", proposalEntityId, "totalLPOpenVolume", investedLP.toString()); - assert.fieldEquals("ProposalPosition", proposalEntityId, "totalLP2OpenVolume", receivedLP2.toString()); - assert.fieldEquals("ProposalPosition", proposalEntityId, "totalUSDOpenVolume", expectedUSD.toString()); - - assert.fieldEquals("ProposalPosition", proposalEntityId, "proposalContract", sender.toHexString()); - assert.fieldEquals("ProposalPosition", proposalEntityId, "investor", user.toHexString()); - }); - - test("should handle ProposalDivested event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let receivedLP = BigInt.fromI32(10).pow(18); - let receivedBase = BigInt.fromI32(100).pow(18); - let divestedLP2 = BigInt.fromI32(50).pow(17); - - let event = createProposalDivested(proposalId, user, receivedLP, receivedBase, divestedLP2, sender, block, tx); - - onProposalDivest(event); - - let proposalEntityId = sender.toHexString() + user.toHexString() + proposalId.toString() + "_" + "0"; - - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "isInvest", "false"); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "baseVolume", receivedBase.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "lpVolume", receivedLP.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "lp2Volume", divestedLP2.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "usdVolume", expectedUSD.toString()); - assert.fieldEquals("ProposalVest", tx.hash.concatI32(0).toHexString(), "proposal", proposalEntityId); - - assert.fieldEquals("ProposalPosition", proposalEntityId, "proposalId", proposalId.toString()); - assert.fieldEquals("ProposalPosition", proposalEntityId, "isClosed", "false"); - assert.fieldEquals("ProposalPosition", proposalEntityId, "totalBaseCloseVolume", receivedBase.toString()); - assert.fieldEquals("ProposalPosition", proposalEntityId, "totalLPCloseVolume", receivedLP.toString()); - assert.fieldEquals("ProposalPosition", proposalEntityId, "totalLP2CloseVolume", divestedLP2.toString()); - assert.fieldEquals("ProposalPosition", proposalEntityId, "totalUSDCloseVolume", expectedUSD.toString()); - - assert.fieldEquals("ProposalPosition", proposalEntityId, "proposalContract", sender.toHexString()); - assert.fieldEquals("ProposalPosition", proposalEntityId, "investor", user.toHexString()); - }); - - test("should handle ProposalClaimed event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let amounts = [BigInt.fromI32(100), BigInt.fromI32(50)]; - let tokens = [ - Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181671"), - Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181672"), - ]; - let event = createProposalClaimed(proposalId, user, amounts, tokens, sender, block, tx); - - onProposalClaimed(event); - - let proposalEntityId = sender.toHexString() + user.toHexString() + proposalId.toString() + "_" + "0"; - - assert.fieldEquals("ProposalClaim", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); - assert.fieldEquals("ProposalClaim", tx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); - assert.fieldEquals("ProposalClaim", tx.hash.concatI32(0).toHexString(), "proposal", proposalEntityId); - assert.fieldEquals( - "ProposalClaim", - tx.hash.concatI32(0).toHexString(), - "dividendsTokens", - `[${tokens[0].toHexString()}, ${tokens[1].toHexString()}]` - ); - assert.fieldEquals( - "ProposalClaim", - tx.hash.concatI32(0).toHexString(), - "amountDividendsTokens", - `[${amounts[0]}, ${amounts[1]}]` - ); - }); - - test("should handle ProposalInvestorAdded event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - - let event = createProposalInvestorAdded(proposalId, user, sender, block, tx); - - onProposalJoined(event); - - let proposalEntityId = sender.toHexString() + user.toHexString() + proposalId.toString() + "_" + "0"; - - assert.fieldEquals("ProposalPosition", proposalEntityId, "isClosed", "false"); - assert.fieldEquals("ProposalPosition", proposalEntityId, "proposalId", proposalId.toString()); - assert.fieldEquals("ProposalPosition", proposalEntityId, "investor", user.toHexString()); - assert.fieldEquals("ProposalPosition", proposalEntityId, "proposalContract", sender.toHexString()); - - assert.fieldEquals("Investor", user.toHexString(), "activePools", "[]"); - assert.fieldEquals("Investor", user.toHexString(), "allPools", "[]"); - }); - - test("should handle ProposalInvestorRemoved event", () => { - let users = [ - Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"), - Address.fromString("0x40007caAE6E086373ce52B3E123C5c3E7b6987fE"), - ]; - - let proposalEntityId = sender.toHexString() + users[0].toHexString() + proposalId.toString() + "_" + "0"; - let eventAdded = createProposalInvestorAdded(proposalId, users[0], sender, block, tx); - onProposalJoined(eventAdded); - - assert.fieldEquals("ProposalPosition", proposalEntityId, "isClosed", "false"); - - let eventRemoved = createProposalInvestorRemoved(proposalId, users[0], sender, block, tx); - onProposalLeft(eventRemoved); - - assert.fieldEquals("ProposalPosition", proposalEntityId, "isClosed", "true"); - - proposalEntityId = sender.toHexString() + users[1].toHexString() + proposalId.toString() + "_" + "0"; - eventAdded = createProposalInvestorAdded(proposalId, users[1], sender, block, tx); - onProposalJoined(eventAdded); - - assert.fieldEquals("ProposalPosition", proposalEntityId, "isClosed", "false"); - - eventRemoved = createProposalInvestorRemoved(proposalId, users[1], sender, block, tx); - onProposalLeft(eventRemoved); - - assert.fieldEquals("ProposalPosition", proposalEntityId, "isClosed", "true"); - }); -}); diff --git a/AllPoolsInvestors/tests/utils.ts b/AllPoolsInvestors/tests/utils.ts deleted file mode 100644 index d4818bc1..00000000 --- a/AllPoolsInvestors/tests/utils.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { Address, BigInt, Bytes, ethereum } from "@graphprotocol/graph-ts"; - -export function getBlock(number: BigInt, timestamp: BigInt): ethereum.Block { - return new ethereum.Block( - Bytes.empty(), - Bytes.empty(), - Bytes.empty(), - Address.zero(), - Bytes.empty(), - Bytes.empty(), - Bytes.empty(), - number, - BigInt.zero(), - BigInt.zero(), - timestamp, - BigInt.zero(), - BigInt.zero(), - BigInt.zero(), - BigInt.zero() - ); -} - -export function getTransaction(hash: Bytes): ethereum.Transaction { - return new ethereum.Transaction( - hash, - BigInt.zero(), - Address.zero(), - Address.zero(), - BigInt.zero(), - BigInt.zero(), - BigInt.zero(), - Bytes.empty(), - BigInt.zero() - ); -} - -export function getNextBlock(prevBlock: ethereum.Block): ethereum.Block { - return new ethereum.Block( - nextHash(prevBlock.hash), - prevBlock.hash, - prevBlock.unclesHash, - prevBlock.author, - prevBlock.stateRoot, - prevBlock.transactionsRoot, - prevBlock.receiptsRoot, - prevBlock.number.plus(BigInt.fromI32(1)), - prevBlock.gasUsed, - prevBlock.gasLimit, - prevBlock.timestamp.plus(BigInt.fromI32(1)), - prevBlock.difficulty, - prevBlock.totalDifficulty, - prevBlock.size, - prevBlock.baseFeePerGas - ); -} - -export function getNextTx(prevTx: ethereum.Transaction): ethereum.Transaction { - return new ethereum.Transaction( - nextHash(prevTx.hash), - prevTx.index, - prevTx.from, - prevTx.to, - prevTx.value, - prevTx.gasLimit, - prevTx.gasPrice, - prevTx.input, - prevTx.nonce.plus(BigInt.fromI32(1)) - ); -} - -function nextHash(prevHash: Bytes): Bytes { - return Bytes.fromByteArray(Bytes.fromU64(prevHash.toU64() + 1)); -} diff --git a/AllPoolsInvestors/tsconfig.json b/AllPoolsInvestors/tsconfig.json deleted file mode 100644 index 564fc4e6..00000000 --- a/AllPoolsInvestors/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@graphprotocol/graph-ts/types/tsconfig.base.json", - "include": ["src", "src/entities/ProposalExchangeHistory.ts"] -} diff --git a/BasicPool/.gitignore b/BasicPool/.gitignore deleted file mode 100644 index 19572bb5..00000000 --- a/BasicPool/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -node_modules -generated/* -build -.latest.json -.bin \ No newline at end of file diff --git a/BasicPool/README.md b/BasicPool/README.md deleted file mode 100644 index e69de29b..00000000 diff --git a/BasicPool/abis/PoolFactory.json b/BasicPool/abis/PoolFactory.json deleted file mode 100644 index f572bda1..00000000 --- a/BasicPool/abis/PoolFactory.json +++ /dev/null @@ -1,1010 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "address", - "name": "govPool", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "dp", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "validators", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "settings", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "govUserKeeper", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "localExpertNft", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nftMultiplier", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "DaoPoolDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "govPool", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "tokenSale", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "DaoTokenSaleDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "poolType", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "address", - "name": "at", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "proposalContract", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "basicToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "commission", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "descriptionURL", - "type": "string" - } - ], - "name": "TraderPoolDeployed", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.TraderPoolDeployParameters", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployBasicPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "components": [ - { - "internalType": "bool", - "name": "earlyCompletion", - "type": "bool" - }, - { - "internalType": "bool", - "name": "delegatedVotingAllowed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "validatorsVote", - "type": "bool" - }, - { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "durationValidators", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "quorumValidators", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "minVotesForVoting", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minVotesForCreating", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" - }, - { - "components": [ - { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", - "type": "uint256" - } - ], - "internalType": "struct IGovSettings.RewardsInfo", - "name": "rewardsInfo", - "type": "tuple" - }, - { - "internalType": "string", - "name": "executorDescription", - "type": "string" - } - ], - "internalType": "struct IGovSettings.ProposalSettings[]", - "name": "proposalSettings", - "type": "tuple[]" - }, - { - "internalType": "address[]", - "name": "additionalProposalExecutors", - "type": "address[]" - } - ], - "internalType": "struct IPoolFactory.SettingsDeployParams", - "name": "settingsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" - } - ], - "internalType": "struct IGovValidators.ProposalSettings", - "name": "proposalSettings", - "type": "tuple" - }, - { - "internalType": "address[]", - "name": "validators", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "balances", - "type": "uint256[]" - } - ], - "internalType": "struct IPoolFactory.ValidatorsDeployParams", - "name": "validatorsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "nftAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalPowerInTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nftsTotalSupply", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.UserKeeperDeployParams", - "name": "userKeeperParams", - "type": "tuple" - }, - { - "internalType": "address", - "name": "nftMultiplierAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" - }, - { - "internalType": "address", - "name": "verifier", - "type": "address" - }, - { - "internalType": "bool", - "name": "onlyBABHolders", - "type": "bool" - }, - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "internalType": "struct IPoolFactory.GovPoolDeployParams", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployGovPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "components": [ - { - "internalType": "bool", - "name": "earlyCompletion", - "type": "bool" - }, - { - "internalType": "bool", - "name": "delegatedVotingAllowed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "validatorsVote", - "type": "bool" - }, - { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "durationValidators", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "quorumValidators", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "minVotesForVoting", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minVotesForCreating", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" - }, - { - "components": [ - { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", - "type": "uint256" - } - ], - "internalType": "struct IGovSettings.RewardsInfo", - "name": "rewardsInfo", - "type": "tuple" - }, - { - "internalType": "string", - "name": "executorDescription", - "type": "string" - } - ], - "internalType": "struct IGovSettings.ProposalSettings[]", - "name": "proposalSettings", - "type": "tuple[]" - }, - { - "internalType": "address[]", - "name": "additionalProposalExecutors", - "type": "address[]" - } - ], - "internalType": "struct IPoolFactory.SettingsDeployParams", - "name": "settingsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" - } - ], - "internalType": "struct IGovValidators.ProposalSettings", - "name": "proposalSettings", - "type": "tuple" - }, - { - "internalType": "address[]", - "name": "validators", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "balances", - "type": "uint256[]" - } - ], - "internalType": "struct IPoolFactory.ValidatorsDeployParams", - "name": "validatorsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "nftAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalPowerInTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nftsTotalSupply", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.UserKeeperDeployParams", - "name": "userKeeperParams", - "type": "tuple" - }, - { - "internalType": "address", - "name": "nftMultiplierAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" - }, - { - "internalType": "address", - "name": "verifier", - "type": "address" - }, - { - "internalType": "bool", - "name": "onlyBABHolders", - "type": "bool" - }, - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "internalType": "struct IPoolFactory.GovPoolDeployParams", - "name": "parameters", - "type": "tuple" - }, - { - "components": [ - { - "components": [ - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "internalType": "struct ITokenSaleProposal.TierMetadata", - "name": "metadata", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "totalTokenProvided", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "saleStartTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "saleEndTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "claimLockDuration", - "type": "uint64" - }, - { - "internalType": "address", - "name": "saleTokenAddress", - "type": "address" - }, - { - "internalType": "address[]", - "name": "purchaseTokenAddresses", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "exchangeRates", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "minAllocationPerUser", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxAllocationPerUser", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "vestingPercentage", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "vestingDuration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "cliffPeriod", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "unlockStep", - "type": "uint64" - } - ], - "internalType": "struct ITokenSaleProposal.VestingSettings", - "name": "vestingSettings", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "enum ITokenSaleProposal.ParticipationType", - "name": "participationType", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct ITokenSaleProposal.ParticipationDetails", - "name": "participationDetails", - "type": "tuple" - } - ], - "internalType": "struct ITokenSaleProposal.TierInitParams[]", - "name": "tiersParams", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "tierId", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" - }, - { - "internalType": "string", - "name": "uri", - "type": "string" - } - ], - "internalType": "struct ITokenSaleProposal.WhitelistingRequest[]", - "name": "whitelistParams", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "saleAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "cap", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintedTotal", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "internalType": "struct IERC20Sale.ConstructorParams", - "name": "tokenParams", - "type": "tuple" - } - ], - "internalType": "struct IPoolFactory.GovTokenSaleProposalDeployParams", - "name": "tokenSaleParameters", - "type": "tuple" - } - ], - "name": "deployGovPoolWithTokenSale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.TraderPoolDeployParameters", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployInvestPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "internalType": "string", - "name": "poolName", - "type": "string" - } - ], - "name": "predictGovAddresses", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/BasicPool/abis/PriceFeed.json b/BasicPool/abis/PriceFeed.json deleted file mode 100644 index 2c479f04..00000000 --- a/BasicPool/abis/PriceFeed.json +++ /dev/null @@ -1,735 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "__PriceFeed_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "pathTokens", - "type": "address[]" - } - ], - "name": "addPathTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "minAmountOut", - "type": "uint256" - } - ], - "name": "exchangeFromExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "maxAmountIn", - "type": "uint256" - } - ], - "name": "exchangeToExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getExtendedPriceIn", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getExtendedPriceOut", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getNormalizedExtendedPriceIn", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getNormalizedExtendedPriceOut", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - } - ], - "name": "getNormalizedPriceIn", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - } - ], - "name": "getNormalizedPriceInDEXE", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - } - ], - "name": "getNormalizedPriceInUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - } - ], - "name": "getNormalizedPriceOut", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - } - ], - "name": "getNormalizedPriceOutDEXE", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - } - ], - "name": "getNormalizedPriceOutUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPathTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "pool", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "getSavedPaths", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "isSupportedPathToken", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "minAmountOut", - "type": "uint256" - } - ], - "name": "normalizedExchangeFromExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "maxAmountIn", - "type": "uint256" - } - ], - "name": "normalizedExchangeToExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "pathTokens", - "type": "address[]" - } - ], - "name": "removePathTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalPathTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "uniswapFactory", - "outputs": [ - { - "internalType": "contract IUniswapV2Factory", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "uniswapV2Router", - "outputs": [ - { - "internalType": "contract IUniswapV2Router02", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/BasicPool/abis/TraderPoolRiskyProposal.json b/BasicPool/abis/TraderPoolRiskyProposal.json deleted file mode 100644 index cbd65aa5..00000000 --- a/BasicPool/abis/TraderPoolRiskyProposal.json +++ /dev/null @@ -1,1484 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "fromToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "toToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fromVolume", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toVolume", - "type": "uint256" - } - ], - "name": "ProposalActivePortfolioExchanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "timestampLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investLPLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxTokenPriceLimit", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct ITraderPoolRiskyProposal.ProposalLimits", - "name": "proposalLimits", - "type": "tuple" - } - ], - "name": "ProposalCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "divestedLP2", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedBase", - "type": "uint256" - } - ], - "name": "ProposalDivested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "fromToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "toToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fromVolume", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toVolume", - "type": "uint256" - } - ], - "name": "ProposalExchanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP2", - "type": "uint256" - } - ], - "name": "ProposalInvested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "ProposalJoined", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "ProposalLeft", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "positionToken", - "type": "address" - } - ], - "name": "ProposalPositionClosed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "positionToken", - "type": "address" - } - ], - "name": "ProposalPositionOpened", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "ProposalRestrictionsChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "TransferBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TransferSingle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "value", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "parentPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - } - ], - "internalType": "struct ITraderPoolProposal.ParentTraderPoolInfo", - "name": "parentTraderPoolInfo", - "type": "tuple" - } - ], - "name": "__TraderPoolProposal_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "parentPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - } - ], - "internalType": "struct ITraderPoolProposal.ParentTraderPoolInfo", - "name": "parentTraderPoolInfo", - "type": "tuple" - } - ], - "name": "__TraderPoolRiskyProposal_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "accounts", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - } - ], - "name": "balanceOfBatch", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "timestampLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investLPLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxTokenPriceLimit", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolRiskyProposal.ProposalLimits", - "name": "proposalLimits", - "type": "tuple" - } - ], - "name": "changeProposalRestrictions", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "timestampLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investLPLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxTokenPriceLimit", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolRiskyProposal.ProposalLimits", - "name": "proposalLimits", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "lpInvestment", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseInvestment", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "instantTradePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minPositionOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "create", - "outputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "lp2", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minBaseOut", - "type": "uint256" - } - ], - "name": "divest", - "outputs": [ - { - "internalType": "uint256", - "name": "receivedBase", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountBound", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "enum ITraderPoolRiskyProposal.ExchangeType", - "name": "exType", - "type": "uint8" - } - ], - "name": "exchange", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "exists", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "getActiveInvestmentsInfo", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lp2Balance", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseInvested", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpInvested", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseShare", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "positionShare", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolRiskyProposal.ActiveInvestmentInfo[]", - "name": "investments", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBaseToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "baseInvestment", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "instantTradePercentage", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getCreationTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "positionTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "positionTokenPrice", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "proposalIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lp2s", - "type": "uint256[]" - } - ], - "name": "getDivestAmounts", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "positions", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "givenAmounts", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "receivedAmounts", - "type": "uint256[]" - } - ], - "internalType": "struct ITraderPoolRiskyProposal.Receptions", - "name": "receptions", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "enum ITraderPoolRiskyProposal.ExchangeType", - "name": "exType", - "type": "uint8" - } - ], - "name": "getExchangeAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseInvestment", - "type": "uint256" - } - ], - "name": "getInvestTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "positionAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lp2Amount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInvestedBaseInUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "investedBaseUSD", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "toBeInvested", - "type": "uint256" - } - ], - "name": "getInvestmentPercentage", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "getProposalInfos", - "outputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "tokenDecimals", - "type": "uint8" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "timestampLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investLPLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxTokenPriceLimit", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolRiskyProposal.ProposalLimits", - "name": "proposalLimits", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "lpLocked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "balanceBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "balancePosition", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolRiskyProposal.ProposalInfo", - "name": "proposalInfo", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "totalProposalUSD", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalProposalBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lp2Supply", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalInvestors", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "positionTokenPrice", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolRiskyProposal.ProposalInfoExtended[]", - "name": "proposals", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getTotalActiveInvestments", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "proposalIds", - "type": "uint256[]" - } - ], - "name": "getUserInvestmentsLimits", - "outputs": [ - { - "internalType": "uint256[]", - "name": "lps", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "lpInvestment", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseInvestment", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minPositionOut", - "type": "uint256" - } - ], - "name": "invest", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "investedBase", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalsTotalNum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeBatchTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "totalLPBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalLockedLP", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "uri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/BasicPool/package-lock.json b/BasicPool/package-lock.json deleted file mode 100644 index 23355d66..00000000 --- a/BasicPool/package-lock.json +++ /dev/null @@ -1,9216 +0,0 @@ -{ - "name": "dexe", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "dexe", - "license": "UNLICENSED", - "dependencies": { - "@graphprotocol/graph-cli": "0.32.0", - "@graphprotocol/graph-ts": "0.27.0", - "matchstick-as": "^0.5.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", - "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "dependencies": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "node_modules/@ethersproject/abstract-provider": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.3", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/web": "^5.6.1" - } - }, - "node_modules/@ethersproject/abstract-signer": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0" - } - }, - "node_modules/@ethersproject/address": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/rlp": "^5.6.1" - } - }, - "node_modules/@ethersproject/base64": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1" - } - }, - "node_modules/@ethersproject/bignumber": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "bn.js": "^5.2.1" - } - }, - "node_modules/@ethersproject/bignumber/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/@ethersproject/bytes": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/constants": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.2" - } - }, - "node_modules/@ethersproject/hash": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "node_modules/@ethersproject/keccak256": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "js-sha3": "0.8.0" - } - }, - "node_modules/@ethersproject/logger": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ] - }, - "node_modules/@ethersproject/networks": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/properties": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/rlp": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/signing-key": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/signing-key/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/@ethersproject/strings": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/transactions": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/rlp": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2" - } - }, - "node_modules/@ethersproject/web": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/base64": "^5.6.1", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "node_modules/@graphprotocol/graph-cli": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.32.0.tgz", - "integrity": "sha512-40Kii/Ttype5aNCaQn81AP7utyE6JKB5bI9QtYd6WoaS3oACICqdPA89+5UB1s9t6yXiFbWojK3e7JUokPdYfA==", - "dependencies": { - "assemblyscript": "0.19.10", - "binary-install-raw": "0.0.13", - "chalk": "3.0.0", - "chokidar": "3.5.1", - "debug": "4.3.1", - "docker-compose": "0.23.4", - "dockerode": "2.5.8", - "fs-extra": "9.0.0", - "glob": "7.1.6", - "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", - "graphql": "15.5.0", - "immutable": "3.8.2", - "ipfs-http-client": "34.0.0", - "jayson": "3.6.6", - "js-yaml": "3.13.1", - "node-fetch": "2.6.0", - "pkginfo": "0.4.1", - "prettier": "1.19.1", - "request": "2.88.2", - "semver": "7.3.5", - "sync-request": "6.1.0", - "tmp-promise": "3.0.2", - "web3-eth-abi": "1.7.0", - "which": "2.0.2", - "yaml": "1.9.2" - }, - "bin": { - "graph": "bin/graph" - } - }, - "node_modules/@graphprotocol/graph-ts": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz", - "integrity": "sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w==", - "dependencies": { - "assemblyscript": "0.19.10" - } - }, - "node_modules/@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/lodash": { - "version": "4.14.182", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz", - "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==" - }, - "node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "node_modules/@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "node_modules/@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/ws": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", - "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "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" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/apisauce": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", - "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", - "dependencies": { - "axios": "^0.21.2", - "ramda": "^0.25.0" - } - }, - "node_modules/app-module-path": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", - "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==" - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "node_modules/asmcrypto.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", - "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" - }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", - "dependencies": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" - }, - "bin": { - "asc": "bin/asc", - "asinit": "bin/asinit" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dependencies": { - "follow-redirects": "^1.14.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/bignumber.js": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", - "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==", - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/binary-install-raw": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/binary-install-raw/-/binary-install-raw-0.0.13.tgz", - "integrity": "sha512-v7ms6N/H7iciuk6QInon3/n2mu7oRX+6knJ9xFPsJ3rQePgAqcR3CRTwUheFd8SLbiq4LL7Z4G/44L9zscdt9A==", - "dependencies": { - "axios": "^0.21.1", - "rimraf": "^3.0.2", - "tar": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==", - "bin": { - "wasm-opt": "bin/wasm-opt" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/borc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", - "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", - "dependencies": { - "bignumber.js": "^9.0.0", - "buffer": "^5.5.0", - "commander": "^2.15.0", - "ieee754": "^1.1.13", - "iso-url": "~0.4.7", - "json-text-sequence": "~0.1.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/borc/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "dependencies": { - "base-x": "^3.0.2" - } - }, - "node_modules/bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "dependencies": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "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" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/cids/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", - "dependencies": { - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "colors": "^1.1.2" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "node_modules/docker-compose": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", - "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/docker-modem": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.9.tgz", - "integrity": "sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw==", - "dependencies": { - "debug": "^3.2.6", - "JSONStream": "1.3.2", - "readable-stream": "~1.0.26-4", - "split-ca": "^1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/docker-modem/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/docker-modem/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "node_modules/docker-modem/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "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" - } - }, - "node_modules/docker-modem/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - }, - "node_modules/dockerode": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.8.tgz", - "integrity": "sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==", - "dependencies": { - "concat-stream": "~1.6.2", - "docker-modem": "^1.0.8", - "tar-fs": "~1.16.3" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", - "dependencies": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "hasInstallScript": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "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" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enquirer": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", - "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", - "dependencies": { - "ansi-colors": "^3.2.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "node_modules/es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", - "dependencies": { - "es6-promise": "^4.0.3" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "dependencies": { - "js-sha3": "^0.8.0" - } - }, - "node_modules/ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dependencies": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "node_modules/ethereum-cryptography/node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "hasInstallScript": true, - "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "dependencies": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ethereumjs-util/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", - "dependencies": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ethjs-unit/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": "^8.12.0 || >=9.7.0" - } - }, - "node_modules/explain-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", - "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==", - "engines": { - "node": "> 0.1.90" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" - }, - "node_modules/follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fs-jetpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", - "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", - "dependencies": { - "minimatch": "^3.0.2", - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fs-jetpack/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-stream/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/gluegun": { - "version": "4.3.1", - "resolved": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", - "integrity": "sha512-BPKWUsKoAC+NeFXSNySObftw6lgKipegbbUuaKy6cPXm8z8bkHO3kbn6OVXwoJMkbCJubaFZJj9SGsevNfnJrg==", - "license": "MIT", - "dependencies": { - "apisauce": "^1.0.1", - "app-module-path": "^2.2.0", - "cli-table3": "~0.5.0", - "colors": "1.3.3", - "cosmiconfig": "6.0.0", - "cross-spawn": "^7.0.0", - "ejs": "^2.6.1", - "enquirer": "2.3.4", - "execa": "^3.0.0", - "fs-jetpack": "^2.2.2", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "lodash.lowercase": "^4.3.0", - "lodash.lowerfirst": "^4.3.1", - "lodash.pad": "^4.5.1", - "lodash.padend": "^4.6.1", - "lodash.padstart": "^4.6.1", - "lodash.repeat": "^4.1.0", - "lodash.snakecase": "^4.1.1", - "lodash.startcase": "^4.4.0", - "lodash.trim": "^4.5.1", - "lodash.trimend": "^4.5.1", - "lodash.trimstart": "^4.5.1", - "lodash.uppercase": "^4.3.0", - "lodash.upperfirst": "^4.3.1", - "ora": "^4.0.0", - "pluralize": "^8.0.0", - "ramdasauce": "^2.1.0", - "semver": "^7.0.0", - "which": "^2.0.0", - "yargs-parser": "^16.1.0" - }, - "bin": { - "gluegun": "bin/gluegun" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "node_modules/graphql": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", - "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/hash-base/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "dependencies": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "dependencies": { - "@types/node": "^10.0.3" - } - }, - "node_modules/http-response-object/node_modules/@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" - }, - "node_modules/ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ipfs-block": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", - "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", - "dependencies": { - "cids": "~0.7.0", - "class-is": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipfs-http-client": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", - "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", - "dependencies": { - "abort-controller": "^3.0.0", - "async": "^2.6.1", - "bignumber.js": "^9.0.0", - "bl": "^3.0.0", - "bs58": "^4.0.1", - "buffer": "^5.4.2", - "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^2.0.0", - "explain-error": "^1.0.4", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.1", - "ipfs-utils": "~0.0.3", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.3", - "ipld-raw": "^4.0.0", - "is-ipfs": "~0.6.1", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "iso-stream-http": "~0.1.2", - "iso-url": "~0.4.6", - "iterable-ndjson": "^1.1.0", - "just-kebab-case": "^1.1.0", - "just-map-keys": "^1.1.0", - "kind-of": "^6.0.2", - "ky": "^0.11.2", - "ky-universal": "^0.2.2", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.6", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", - "once": "^1.4.0", - "peer-id": "~0.12.3", - "peer-info": "~0.15.1", - "promise-nodeify": "^3.0.1", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "pull-to-stream": "~0.1.1", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.1.1", - "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.1", - "through2": "^3.0.1" - }, - "engines": { - "node": ">=8.3.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipfs-http-client/node_modules/bl": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", - "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", - "dependencies": { - "readable-stream": "^3.0.1" - } - }, - "node_modules/ipfs-http-client/node_modules/concat-stream": { - "version": "2.0.0", - "resolved": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", - "integrity": "sha512-GBrsRGcg6w3ac6B49frS/FGwdeuWMognaZIGxLfZ93vP2z3bIhaI/Bgn3rrS49lI7lrFznULlNUjWYP4soqgvw==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^3.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/ipfs-http-client/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/ipfs-http-client/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/ipfs-http-client/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ipfs-http-client/node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ipfs-http-client/node_modules/tar-stream/node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/ipfs-http-client/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/ipfs-utils": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", - "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", - "dependencies": { - "buffer": "^5.2.1", - "is-buffer": "^2.0.3", - "is-electron": "^2.2.0", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "kind-of": "^6.0.2", - "readable-stream": "^3.4.0" - } - }, - "node_modules/ipfs-utils/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ipld-dag-cbor": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", - "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", - "deprecated": "This module has been superseded by @ipld/dag-cbor and multiformats", - "dependencies": { - "borc": "^2.1.2", - "buffer": "^5.5.0", - "cids": "~0.8.0", - "is-circular": "^1.0.2", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-pb": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", - "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", - "deprecated": "This module has been superseded by @ipld/dag-pb and multiformats", - "dependencies": { - "cids": "~0.7.0", - "class-is": "^1.1.0", - "multicodec": "~0.5.1", - "multihashing-async": "~0.7.0", - "protons": "^1.0.1", - "stable": "~0.1.8" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-pb/node_modules/err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" - }, - "node_modules/ipld-dag-pb/node_modules/multihashing-async": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", - "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "buffer": "^5.2.1", - "err-code": "^1.1.2", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js-revisited": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-raw": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", - "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "cids": "~0.7.0", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - } - }, - "node_modules/ipld-raw/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" - }, - "node_modules/is-electron": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", - "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==" - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "engines": { - "node": ">=4" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "dependencies": { - "ip-regex": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-ipfs": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", - "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", - "dependencies": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", - "dependencies": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" - }, - "node_modules/is-pull-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", - "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/iso-random-stream": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", - "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", - "dependencies": { - "buffer": "^6.0.3", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/iso-random-stream/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/iso-random-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/iso-stream-http": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", - "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/iso-stream-http/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/iso-url": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", - "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==", - "engines": { - "node": ">=10" - } - }, - "node_modules/isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "peerDependencies": { - "ws": "*" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "node_modules/iterable-ndjson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", - "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", - "dependencies": { - "string_decoder": "^1.2.0" - } - }, - "node_modules/iterable-ndjson/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/iterable-ndjson/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/jayson": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", - "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", - "dependencies": { - "@types/connect": "^3.4.33", - "@types/express-serve-static-core": "^4.17.9", - "@types/lodash": "^4.14.159", - "@types/node": "^12.12.54", - "@types/ws": "^7.4.4", - "commander": "^2.20.3", - "delay": "^5.0.0", - "es6-promisify": "^5.0.0", - "eyes": "^0.1.8", - "isomorphic-ws": "^4.0.1", - "json-stringify-safe": "^5.0.1", - "JSONStream": "^1.3.5", - "lodash": "^4.17.20", - "uuid": "^8.3.2", - "ws": "^7.4.5" - }, - "bin": { - "jayson": "bin/jayson.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jayson/node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - }, - "node_modules/json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", - "dependencies": { - "delimit-stream": "0.1.0" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonfile/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/JSONStream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", - "integrity": "sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA==", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/just-kebab-case": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", - "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" - }, - "node_modules/just-map-keys": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", - "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" - }, - "node_modules/keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "hasInstallScript": true, - "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/keccak/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/keypair": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", - "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ky": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", - "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ky-universal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", - "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", - "dependencies": { - "abort-controller": "^3.0.0", - "node-fetch": "^2.3.0" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "ky": ">=0.10.0" - } - }, - "node_modules/libp2p-crypto": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", - "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", - "dependencies": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "^0.10.0", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.10.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/libp2p-crypto-secp256k1": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", - "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", - "deprecated": "Included in libp2p-crypto, use it instead. https://github.com/libp2p/js-libp2p-crypto", - "dependencies": { - "async": "^2.6.2", - "bs58": "^4.0.1", - "multihashing-async": "~0.6.0", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.2" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/libp2p-crypto-secp256k1/node_modules/multihashing-async": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", - "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/libp2p-crypto/node_modules/multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "node_modules/lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==" - }, - "node_modules/lodash.lowercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.lowercase/-/lodash.lowercase-4.3.0.tgz", - "integrity": "sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA==" - }, - "node_modules/lodash.lowerfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.lowerfirst/-/lodash.lowerfirst-4.3.1.tgz", - "integrity": "sha512-UUKX7VhP1/JL54NXg2aq/E1Sfnjjes8fNYTNkPU8ZmsaVeBvPHKdbNaN79Re5XRL01u6wbq3j0cbYZj71Fcu5w==" - }, - "node_modules/lodash.pad": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", - "integrity": "sha512-mvUHifnLqM+03YNzeTBS1/Gr6JRFjd3rRx88FHWUvamVaT9k2O/kXha3yBSOwB9/DTQrSTLJNHvLBBt2FdX7Mg==" - }, - "node_modules/lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==" - }, - "node_modules/lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha512-sW73O6S8+Tg66eY56DBk85aQzzUJDtpoXFBgELMd5P/SotAguo+1kYO6RuYgXxA4HJH3LFTFPASX6ET6bjfriw==" - }, - "node_modules/lodash.repeat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", - "integrity": "sha512-eWsgQW89IewS95ZOcr15HHCX6FVDxq3f2PNUIng3fyzsPev9imFQxIYdFZ6crl8L56UR6ZlGDLcEb3RZsCSSqw==" - }, - "node_modules/lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" - }, - "node_modules/lodash.startcase": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==" - }, - "node_modules/lodash.trim": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trim/-/lodash.trim-4.5.1.tgz", - "integrity": "sha512-nJAlRl/K+eiOehWKDzoBVrSMhK0K3A3YQsUNXHQa5yIrKBAhsZgSu3KoAFoFT+mEgiyBHddZ0pRk1ITpIp90Wg==" - }, - "node_modules/lodash.trimend": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimend/-/lodash.trimend-4.5.1.tgz", - "integrity": "sha512-lsD+k73XztDsMBKPKvzHXRKFNMohTjoTKIIo4ADLn5dA65LZ1BqlAvSXhR2rPEC3BgAUQnzMnorqDtqn2z4IHA==" - }, - "node_modules/lodash.trimstart": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz", - "integrity": "sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ==" - }, - "node_modules/lodash.uppercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.uppercase/-/lodash.uppercase-4.3.0.tgz", - "integrity": "sha512-+Nbnxkj7s8K5U8z6KnEYPGUOGp3woZbB7Ecs7v3LkkjLQSm2kP9SKIILitN1ktn2mB/tmM9oSlku06I+/lH7QA==" - }, - "node_modules/lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==" - }, - "node_modules/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dependencies": { - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "node_modules/looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mafmt": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", - "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", - "dependencies": { - "multiaddr": "^7.3.0" - } - }, - "node_modules/mafmt/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/mafmt/node_modules/cids/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/mafmt/node_modules/multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", - "dependencies": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/mafmt/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/mafmt/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/mafmt/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/mafmt/node_modules/multihashes/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/matchstick-as": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.0.tgz", - "integrity": "sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg==", - "dependencies": { - "@graphprotocol/graph-ts": "^0.27.0", - "assemblyscript": "^0.19.20", - "wabt": "1.0.24" - } - }, - "node_modules/matchstick-as/node_modules/assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "dependencies": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - }, - "bin": { - "asc": "bin/asc", - "asinit": "bin/asinit" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } - }, - "node_modules/matchstick-as/node_modules/binaryen": { - "version": "102.0.0-nightly.20211028", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", - "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==", - "bin": { - "wasm-opt": "bin/wasm-opt" - } - }, - "node_modules/matchstick-as/node_modules/long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "node_modules/minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/multiaddr": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", - "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", - "dependencies": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "hi-base32": "~0.5.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - } - }, - "node_modules/multiaddr/node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/multiaddr/node_modules/is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", - "dependencies": { - "ip-regex": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "varint": "^5.0.0" - } - }, - "node_modules/multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "dependencies": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/multihashes/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multihashing-async": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", - "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "buffer": "^5.4.3", - "err-code": "^2.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^1.0.1", - "murmurhash3js-revisited": "^3.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/multihashing-async/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/multihashing-async/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/murmurhash3js-revisited": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", - "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "node_modules/nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" - }, - "node_modules/ndjson": { - "version": "1.5.0", - "resolved": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", - "integrity": "sha512-4HWirDBroNYRKoq+8A7y0uvXlO0dF4p7URRRdqvPSgGjQFVpxpE4uasORXNxeRBMHQnXbTnUBVLXXagwKFH6AQ==", - "license": "BSD-3-Clause", - "dependencies": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^3.1.0", - "through2": "^3.0.0" - }, - "bin": { - "ndjson": "cli.js" - } - }, - "node_modules/node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node_modules/node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", - "dependencies": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", - "dependencies": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/number-to-bn/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "engines": { - "node": "*" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", - "dependencies": { - "wordwrap": "~0.0.2" - } - }, - "node_modules/ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", - "dependencies": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/peer-id": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", - "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", - "dependencies": { - "async": "^2.6.3", - "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.1", - "multihashes": "~0.4.15" - }, - "bin": { - "peer-id": "src/bin.js" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/peer-info": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", - "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", - "deprecated": "No longer supported for js-libp2p0.28.0 or later", - "dependencies": { - "mafmt": "^6.0.2", - "multiaddr": "^6.0.3", - "peer-id": "~0.12.2", - "unique-by": "^1.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/peer-info/node_modules/mafmt": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", - "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", - "dependencies": { - "multiaddr": "^6.1.0" - } - }, - "node_modules/pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "dependencies": { - "asn1.js": "^5.0.1" - }, - "bin": { - "pem-jwk": "bin/pem-jwk.js" - }, - "engines": { - "node": ">=5.10.0" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", - "dependencies": { - "is-promise": "~1" - } - }, - "node_modules/promise-nodeify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", - "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==", - "engines": { - "node": ">=6", - "npm": ">=1.3.7" - } - }, - "node_modules/promisify-es6": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", - "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==", - "deprecated": "Unmaintained" - }, - "node_modules/protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "node_modules/protons": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", - "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", - "deprecated": "This module is no longer maintained", - "dependencies": { - "buffer": "^5.5.0", - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" - } - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "node_modules/pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "node_modules/pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "node_modules/pull-to-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", - "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", - "dependencies": { - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pull-to-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" - }, - "node_modules/ramdasauce": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", - "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", - "dependencies": { - "ramda": "^0.24.1" - } - }, - "node_modules/ramdasauce/node_modules/ramda": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", - "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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" - } - }, - "node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request/node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "dependencies": { - "bn.js": "^5.2.0" - }, - "bin": { - "rlp": "bin/rlp" - } - }, - "node_modules/rlp/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", - "dependencies": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" - } - }, - "node_modules/rsa-pem-to-jwk/node_modules/object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", - "dependencies": { - "optimist": "~0.3.5" - }, - "bin": { - "rsa-unpack": "bin/cmd.js" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "node_modules/secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", - "dependencies": { - "varint": "~5.0.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/split-ca": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", - "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" - }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/split2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sshpk/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" - }, - "node_modules/stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", - "dependencies": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" - } - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", - "dependencies": { - "is-hex-prefixed": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "dependencies": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "dependencies": { - "get-port": "^3.1.0" - } - }, - "node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/tar-fs": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", - "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", - "dependencies": { - "chownr": "^1.0.1", - "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" - } - }, - "node_modules/tar-fs/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/tar-fs/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "dependencies": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/then-request/node_modules/@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - }, - "node_modules/then-request/node_modules/promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "dependencies": { - "asap": "~2.0.6" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, - "node_modules/through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } - }, - "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/tmp-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", - "dependencies": { - "tmp": "^0.2.0" - } - }, - "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "node_modules/unique-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", - "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==", - "engines": { - "node": ">= 0.10.x" - } - }, - "node_modules/universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/ursa-optional": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", - "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.14.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/verror/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - }, - "node_modules/wabt": { - "version": "1.0.24", - "resolved": "https://registry.npmjs.org/wabt/-/wabt-1.0.24.tgz", - "integrity": "sha512-8l7sIOd3i5GWfTWciPL0+ff/FK/deVK2Q6FN+MPz4vfUcD78i2M/49XJTwF6aml91uIiuXJEsLKWMB2cw/mtKg==", - "bin": { - "wasm-decompile": "bin/wasm-decompile", - "wasm-interp": "bin/wasm-interp", - "wasm-objdump": "bin/wasm-objdump", - "wasm-opcodecnt": "bin/wasm-opcodecnt", - "wasm-strip": "bin/wasm-strip", - "wasm-validate": "bin/wasm-validate", - "wasm2c": "bin/wasm2c", - "wasm2wat": "bin/wasm2wat", - "wat2wasm": "bin/wat2wasm" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/web3-eth-abi": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", - "integrity": "sha512-heqR0bWxgCJwjWIhq2sGyNj9bwun5+Xox/LdZKe+WMyTSy0cXDXEAgv3XKNkXC4JqdDt/ZlbTEx4TWak4TRMSg==", - "dependencies": { - "@ethersproject/abi": "5.0.7", - "web3-utils": "1.7.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-utils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.0.tgz", - "integrity": "sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w==", - "dependencies": { - "bn.js": "^4.11.9", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/ws": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz", - "integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "dependencies": { - "@babel/runtime": "^7.9.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", - "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "requires": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", - "requires": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.3", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/web": "^5.6.1" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", - "requires": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0" - } - }, - "@ethersproject/address": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", - "requires": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/rlp": "^5.6.1" - } - }, - "@ethersproject/base64": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", - "requires": { - "@ethersproject/bytes": "^5.6.1" - } - }, - "@ethersproject/bignumber": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "bn.js": "^5.2.1" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "@ethersproject/bytes": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/constants": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", - "requires": { - "@ethersproject/bignumber": "^5.6.2" - } - }, - "@ethersproject/hash": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", - "requires": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "js-sha3": "0.8.0" - } - }, - "@ethersproject/logger": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==" - }, - "@ethersproject/networks": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/properties": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/rlp": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/signing-key": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "@ethersproject/strings": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/transactions": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", - "requires": { - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/rlp": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2" - } - }, - "@ethersproject/web": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", - "requires": { - "@ethersproject/base64": "^5.6.1", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "@graphprotocol/graph-cli": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.32.0.tgz", - "integrity": "sha512-40Kii/Ttype5aNCaQn81AP7utyE6JKB5bI9QtYd6WoaS3oACICqdPA89+5UB1s9t6yXiFbWojK3e7JUokPdYfA==", - "requires": { - "assemblyscript": "0.19.10", - "binary-install-raw": "0.0.13", - "chalk": "3.0.0", - "chokidar": "3.5.1", - "debug": "4.3.1", - "docker-compose": "0.23.4", - "dockerode": "2.5.8", - "fs-extra": "9.0.0", - "glob": "7.1.6", - "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", - "graphql": "15.5.0", - "immutable": "3.8.2", - "ipfs-http-client": "34.0.0", - "jayson": "3.6.6", - "js-yaml": "3.13.1", - "node-fetch": "2.6.0", - "pkginfo": "0.4.1", - "prettier": "1.19.1", - "request": "2.88.2", - "semver": "7.3.5", - "sync-request": "6.1.0", - "tmp-promise": "3.0.2", - "web3-eth-abi": "1.7.0", - "which": "2.0.2", - "yaml": "1.9.2" - } - }, - "@graphprotocol/graph-ts": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz", - "integrity": "sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w==", - "requires": { - "assemblyscript": "0.19.10" - } - }, - "@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "requires": { - "@types/node": "*" - } - }, - "@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "requires": { - "@types/node": "*" - } - }, - "@types/lodash": { - "version": "4.14.182", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz", - "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==" - }, - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "requires": { - "@types/node": "*" - } - }, - "@types/ws": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", - "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", - "requires": { - "@types/node": "*" - } - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "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": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" - }, - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "apisauce": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", - "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", - "requires": { - "axios": "^0.21.2", - "ramda": "^0.25.0" - } - }, - "app-module-path": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", - "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "asmcrypto.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", - "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", - "requires": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" - }, - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "requires": { - "lodash": "^4.17.14" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "requires": { - "follow-redirects": "^1.14.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "requires": { - "tweetnacl": "^0.14.3" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } - } - }, - "bignumber.js": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", - "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "binary-install-raw": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/binary-install-raw/-/binary-install-raw-0.0.13.tgz", - "integrity": "sha512-v7ms6N/H7iciuk6QInon3/n2mu7oRX+6knJ9xFPsJ3rQePgAqcR3CRTwUheFd8SLbiq4LL7Z4G/44L9zscdt9A==", - "requires": { - "axios": "^0.21.1", - "rimraf": "^3.0.2", - "tar": "^6.1.0" - } - }, - "binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==" - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "borc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", - "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", - "requires": { - "bignumber.js": "^9.0.0", - "buffer": "^5.5.0", - "commander": "^2.15.0", - "ieee754": "^1.1.13", - "iso-url": "~0.4.7", - "json-text-sequence": "~0.1.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "requires": { - "base-x": "^3.0.2" - } - }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.3.1", - "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" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "requires": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" - }, - "cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", - "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", - "requires": { - "clone": "^1.0.2" - } - }, - "delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "docker-compose": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", - "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==" - }, - "docker-modem": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.9.tgz", - "integrity": "sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw==", - "requires": { - "debug": "^3.2.6", - "JSONStream": "1.3.2", - "readable-stream": "~1.0.26-4", - "split-ca": "^1.0.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - } - } - }, - "dockerode": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.8.tgz", - "integrity": "sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==", - "requires": { - "concat-stream": "~1.6.2", - "docker-modem": "^1.0.8", - "tar-fs": "~1.16.3" - } - }, - "drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", - "requires": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "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" - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "enquirer": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", - "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", - "requires": { - "ansi-colors": "^3.2.1" - } - }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", - "requires": { - "es6-promise": "^4.0.3" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "requires": { - "js-sha3": "^0.8.0" - } - }, - "ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - }, - "dependencies": { - "secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "requires": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - } - } - }, - "ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "requires": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", - "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - } - } - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "explain-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", - "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" - }, - "eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" - }, - "follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "fs-jetpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", - "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", - "requires": { - "minimatch": "^3.0.2", - "rimraf": "^2.6.3" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - }, - "dependencies": { - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "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-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "gluegun": { - "version": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", - "integrity": "sha512-BPKWUsKoAC+NeFXSNySObftw6lgKipegbbUuaKy6cPXm8z8bkHO3kbn6OVXwoJMkbCJubaFZJj9SGsevNfnJrg==", - "from": "gluegun@git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", - "requires": { - "apisauce": "^1.0.1", - "app-module-path": "^2.2.0", - "cli-table3": "~0.5.0", - "colors": "1.3.3", - "cosmiconfig": "6.0.0", - "cross-spawn": "^7.0.0", - "ejs": "^2.6.1", - "enquirer": "2.3.4", - "execa": "^3.0.0", - "fs-jetpack": "^2.2.2", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "lodash.lowercase": "^4.3.0", - "lodash.lowerfirst": "^4.3.1", - "lodash.pad": "^4.5.1", - "lodash.padend": "^4.6.1", - "lodash.padstart": "^4.6.1", - "lodash.repeat": "^4.1.0", - "lodash.snakecase": "^4.1.1", - "lodash.startcase": "^4.4.0", - "lodash.trim": "^4.5.1", - "lodash.trimend": "^4.5.1", - "lodash.trimstart": "^4.5.1", - "lodash.uppercase": "^4.3.0", - "lodash.upperfirst": "^4.3.1", - "ora": "^4.0.0", - "pluralize": "^8.0.0", - "ramdasauce": "^2.1.0", - "semver": "^7.0.0", - "which": "^2.0.0", - "yargs-parser": "^16.1.0" - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "graphql": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", - "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==" - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" - }, - "ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" - }, - "ipfs-block": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", - "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", - "requires": { - "cids": "~0.7.0", - "class-is": "^1.1.0" - } - }, - "ipfs-http-client": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", - "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", - "requires": { - "abort-controller": "^3.0.0", - "async": "^2.6.1", - "bignumber.js": "^9.0.0", - "bl": "^3.0.0", - "bs58": "^4.0.1", - "buffer": "^5.4.2", - "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^2.0.0", - "explain-error": "^1.0.4", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.1", - "ipfs-utils": "~0.0.3", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.3", - "ipld-raw": "^4.0.0", - "is-ipfs": "~0.6.1", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "iso-stream-http": "~0.1.2", - "iso-url": "~0.4.6", - "iterable-ndjson": "^1.1.0", - "just-kebab-case": "^1.1.0", - "just-map-keys": "^1.1.0", - "kind-of": "^6.0.2", - "ky": "^0.11.2", - "ky-universal": "^0.2.2", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.6", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", - "once": "^1.4.0", - "peer-id": "~0.12.3", - "peer-info": "~0.15.1", - "promise-nodeify": "^3.0.1", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "pull-to-stream": "~0.1.1", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.1.1", - "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.1", - "through2": "^3.0.1" - }, - "dependencies": { - "bl": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", - "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", - "requires": { - "readable-stream": "^3.0.1" - } - }, - "concat-stream": { - "version": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", - "integrity": "sha512-GBrsRGcg6w3ac6B49frS/FGwdeuWMognaZIGxLfZ93vP2z3bIhaI/Bgn3rrS49lI7lrFznULlNUjWYP4soqgvw==", - "from": "concat-stream@github:hugomrdias/concat-stream#feat/smaller", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^3.0.2" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - } - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - } - } - }, - "ipfs-utils": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", - "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", - "requires": { - "buffer": "^5.2.1", - "is-buffer": "^2.0.3", - "is-electron": "^2.2.0", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "kind-of": "^6.0.2", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "ipld-dag-cbor": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", - "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", - "requires": { - "borc": "^2.1.2", - "buffer": "^5.5.0", - "cids": "~0.8.0", - "is-circular": "^1.0.2", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - } - }, - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - } - } - } - }, - "ipld-dag-pb": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", - "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", - "requires": { - "cids": "~0.7.0", - "class-is": "^1.1.0", - "multicodec": "~0.5.1", - "multihashing-async": "~0.7.0", - "protons": "^1.0.1", - "stable": "~0.1.8" - }, - "dependencies": { - "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" - }, - "multihashing-async": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", - "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", - "requires": { - "blakejs": "^1.1.0", - "buffer": "^5.2.1", - "err-code": "^1.1.2", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js-revisited": "^3.0.0" - } - } - } - }, - "ipld-raw": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", - "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", - "requires": { - "cids": "~0.7.0", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, - "is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" - }, - "is-electron": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", - "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==" - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" - }, - "is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "requires": { - "ip-regex": "^4.0.0" - } - }, - "is-ipfs": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", - "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", - "requires": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - }, - "dependencies": { - "multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "requires": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - } - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" - }, - "is-pull-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", - "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "iso-random-stream": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", - "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", - "requires": { - "buffer": "^6.0.3", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "iso-stream-http": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", - "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "iso-url": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", - "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==" - }, - "isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "requires": {} - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "iterable-ndjson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", - "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", - "requires": { - "string_decoder": "^1.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - }, - "jayson": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", - "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", - "requires": { - "@types/connect": "^3.4.33", - "@types/express-serve-static-core": "^4.17.9", - "@types/lodash": "^4.14.159", - "@types/node": "^12.12.54", - "@types/ws": "^7.4.4", - "commander": "^2.20.3", - "delay": "^5.0.0", - "es6-promisify": "^5.0.0", - "eyes": "^0.1.8", - "isomorphic-ws": "^4.0.1", - "json-stringify-safe": "^5.0.1", - "JSONStream": "^1.3.5", - "lodash": "^4.17.20", - "uuid": "^8.3.2", - "ws": "^7.4.5" - }, - "dependencies": { - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - } - } - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - }, - "json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", - "requires": { - "delimit-stream": "0.1.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - }, - "dependencies": { - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } - } - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==" - }, - "JSONStream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", - "integrity": "sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA==", - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "just-kebab-case": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", - "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" - }, - "just-map-keys": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", - "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" - }, - "keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "keypair": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", - "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "ky": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", - "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==" - }, - "ky-universal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", - "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", - "requires": { - "abort-controller": "^3.0.0", - "node-fetch": "^2.3.0" - } - }, - "libp2p-crypto": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", - "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", - "requires": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "^0.10.0", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.10.0" - }, - "dependencies": { - "multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", - "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - } - } - } - }, - "libp2p-crypto-secp256k1": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", - "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", - "requires": { - "async": "^2.6.2", - "bs58": "^4.0.1", - "multihashing-async": "~0.6.0", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.2" - }, - "dependencies": { - "multihashing-async": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", - "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", - "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - } - } - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==" - }, - "lodash.lowercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.lowercase/-/lodash.lowercase-4.3.0.tgz", - "integrity": "sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA==" - }, - "lodash.lowerfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.lowerfirst/-/lodash.lowerfirst-4.3.1.tgz", - "integrity": "sha512-UUKX7VhP1/JL54NXg2aq/E1Sfnjjes8fNYTNkPU8ZmsaVeBvPHKdbNaN79Re5XRL01u6wbq3j0cbYZj71Fcu5w==" - }, - "lodash.pad": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", - "integrity": "sha512-mvUHifnLqM+03YNzeTBS1/Gr6JRFjd3rRx88FHWUvamVaT9k2O/kXha3yBSOwB9/DTQrSTLJNHvLBBt2FdX7Mg==" - }, - "lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==" - }, - "lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha512-sW73O6S8+Tg66eY56DBk85aQzzUJDtpoXFBgELMd5P/SotAguo+1kYO6RuYgXxA4HJH3LFTFPASX6ET6bjfriw==" - }, - "lodash.repeat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", - "integrity": "sha512-eWsgQW89IewS95ZOcr15HHCX6FVDxq3f2PNUIng3fyzsPev9imFQxIYdFZ6crl8L56UR6ZlGDLcEb3RZsCSSqw==" - }, - "lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" - }, - "lodash.startcase": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==" - }, - "lodash.trim": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trim/-/lodash.trim-4.5.1.tgz", - "integrity": "sha512-nJAlRl/K+eiOehWKDzoBVrSMhK0K3A3YQsUNXHQa5yIrKBAhsZgSu3KoAFoFT+mEgiyBHddZ0pRk1ITpIp90Wg==" - }, - "lodash.trimend": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimend/-/lodash.trimend-4.5.1.tgz", - "integrity": "sha512-lsD+k73XztDsMBKPKvzHXRKFNMohTjoTKIIo4ADLn5dA65LZ1BqlAvSXhR2rPEC3BgAUQnzMnorqDtqn2z4IHA==" - }, - "lodash.trimstart": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz", - "integrity": "sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ==" - }, - "lodash.uppercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.uppercase/-/lodash.uppercase-4.3.0.tgz", - "integrity": "sha512-+Nbnxkj7s8K5U8z6KnEYPGUOGp3woZbB7Ecs7v3LkkjLQSm2kP9SKIILitN1ktn2mB/tmM9oSlku06I+/lH7QA==" - }, - "lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==" - }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "requires": { - "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "mafmt": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", - "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", - "requires": { - "multiaddr": "^7.3.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "requires": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - } - } - }, - "matchstick-as": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.0.tgz", - "integrity": "sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg==", - "requires": { - "@graphprotocol/graph-ts": "^0.27.0", - "assemblyscript": "^0.19.20", - "wabt": "1.0.24" - }, - "dependencies": { - "assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "requires": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - } - }, - "binaryen": { - "version": "102.0.0-nightly.20211028", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", - "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==" - }, - "long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - } - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "requires": { - "yallist": "^4.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multiaddr": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", - "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", - "requires": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "hi-base32": "~0.5.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - }, - "dependencies": { - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==" - }, - "is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", - "requires": { - "ip-regex": "^2.0.0" - } - } - } - }, - "multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "requires": { - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "requires": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multihashing-async": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", - "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", - "requires": { - "blakejs": "^1.1.0", - "buffer": "^5.4.3", - "err-code": "^2.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^1.0.1", - "murmurhash3js-revisited": "^3.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - } - } - } - }, - "murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==" - }, - "murmurhash3js-revisited": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", - "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" - }, - "ndjson": { - "version": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", - "integrity": "sha512-4HWirDBroNYRKoq+8A7y0uvXlO0dF4p7URRRdqvPSgGjQFVpxpE4uasORXNxeRBMHQnXbTnUBVLXXagwKFH6AQ==", - "from": "ndjson@github:hugomrdias/ndjson#feat/readable-stream3", - "requires": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^3.1.0", - "through2": "^3.0.0" - } - }, - "node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" - }, - "node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==" - }, - "nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", - "requires": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", - "requires": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - } - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", - "requires": { - "wordwrap": "~0.0.2" - } - }, - "ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", - "requires": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "peer-id": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", - "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", - "requires": { - "async": "^2.6.3", - "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.1", - "multihashes": "~0.4.15" - } - }, - "peer-info": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", - "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", - "requires": { - "mafmt": "^6.0.2", - "multiaddr": "^6.0.3", - "peer-id": "~0.12.2", - "unique-by": "^1.0.0" - }, - "dependencies": { - "mafmt": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", - "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", - "requires": { - "multiaddr": "^6.1.0" - } - } - } - }, - "pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "requires": { - "asn1.js": "^5.0.1" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==" - }, - "pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==" - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", - "requires": { - "is-promise": "~1" - } - }, - "promise-nodeify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", - "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==" - }, - "promisify-es6": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", - "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==" - }, - "protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "protons": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", - "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", - "requires": { - "buffer": "^5.5.0", - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" - } - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "pull-to-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", - "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", - "requires": { - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" - }, - "ramdasauce": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", - "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", - "requires": { - "ramda": "^0.24.1" - }, - "dependencies": { - "ramda": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", - "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" - } - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "requires": { - "bn.js": "^5.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", - "requires": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" - }, - "dependencies": { - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==" - } - } - }, - "rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", - "requires": { - "optimist": "~0.3.5" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", - "requires": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", - "requires": { - "varint": "~5.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "split-ca": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", - "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" - }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "requires": { - "readable-stream": "^3.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", - "requires": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "requires": { - "get-port": "^3.1.0" - } - }, - "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - } - }, - "tar-fs": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", - "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", - "requires": { - "chownr": "^1.0.1", - "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" - }, - "dependencies": { - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - } - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - }, - "then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - }, - "promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "requires": { - "asap": "~2.0.6" - } - } - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, - "through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "requires": { - "rimraf": "^3.0.0" - } - }, - "tmp-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", - "requires": { - "tmp": "^0.2.0" - } - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "unique-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", - "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==" - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "ursa-optional": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", - "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", - "requires": { - "bindings": "^1.5.0", - "nan": "^2.14.2" - } - }, - "utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - } - } - }, - "wabt": { - "version": "1.0.24", - "resolved": "https://registry.npmjs.org/wabt/-/wabt-1.0.24.tgz", - "integrity": "sha512-8l7sIOd3i5GWfTWciPL0+ff/FK/deVK2Q6FN+MPz4vfUcD78i2M/49XJTwF6aml91uIiuXJEsLKWMB2cw/mtKg==" - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "requires": { - "defaults": "^1.0.3" - } - }, - "web3-eth-abi": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", - "integrity": "sha512-heqR0bWxgCJwjWIhq2sGyNj9bwun5+Xox/LdZKe+WMyTSy0cXDXEAgv3XKNkXC4JqdDt/ZlbTEx4TWak4TRMSg==", - "requires": { - "@ethersproject/abi": "5.0.7", - "web3-utils": "1.7.0" - } - }, - "web3-utils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.0.tgz", - "integrity": "sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w==", - "requires": { - "bn.js": "^4.11.9", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "ws": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz", - "integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==", - "requires": {} - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "requires": { - "@babel/runtime": "^7.9.2" - } - }, - "yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } -} diff --git a/BasicPool/package.json b/BasicPool/package.json deleted file mode 100644 index b083530d..00000000 --- a/BasicPool/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "dexe", - "license": "UNLICENSED", - "scripts": { - "compile": "graph codegen && graph build", - "codegen": "graph codegen", - "build": "graph build", - "test": "graph test", - "coverage": "graph test -c", - "deploy": "graph deploy --node https://api.thegraph.com/deploy/ volodymyrzolotukhin/dexe", - "create-local": "graph create --node http://localhost:8020/ volodymyrzolotukhin/dexe", - "remove-local": "graph remove --node http://localhost:8020/ volodymyrzolotukhin/dexe", - "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" - }, - "dependencies": { - "@graphprotocol/graph-cli": "0.32.0", - "@graphprotocol/graph-ts": "0.27.0", - "matchstick-as": "^0.5.0" - } -} diff --git a/BasicPool/schema.graphql b/BasicPool/schema.graphql deleted file mode 100644 index 7e512607..00000000 --- a/BasicPool/schema.graphql +++ /dev/null @@ -1,119 +0,0 @@ -####################################### BasicPool ####################################### - -# @notice The entity that holds informations about pool -# @param id the pool address -# @param baseToken the address of base token -type BasicPool @entity(immutable: true) { - id: Bytes! # pool address - baseToken: Bytes! - - proposals: [Proposal!]! @derivedFrom(field: "basicPool") -} - -####################################### Proposal ####################################### - -# @notice The entity holds information about proposal contract -# @param id forms from proposal contract address -# @param basicPool the basicPool entity -type ProposalContract @entity(immutable: true) { - id: Bytes! # proposal contract address - basicPool: BasicPool! -} - -# @notice The entity holds information about proposal -# @param id forms from proposal contract address + proposal index -# @param token the address of proposal token -# @param proposalId the id of proposal at contract -# @param timestampLimit the timestamp from contract after which the investment into proposal closes -# @param investLPLimit the maximal number of invested LP tokens from contract after which the investment into the proposal closes -# @param maxTokenPriceLimit the maximal price of the proposal token from contract after which the investment into the proposal closes -# @param basicPool the basicPool id (address), for reverse lookup -type Proposal @entity { - id: ID! # proposal address + proposal index - token: Bytes! - proposalId: BigInt! - - timestampLimit: BigInt! - investLPLimit: BigInt! - maxTokenPriceLimit: BigInt! - - basicPool: BasicPool! - exchanges: [ProposalExchangeHistory!]! @derivedFrom(field: "proposal") - positions: [ProposalPosition!]! @derivedFrom(field: "proposal") -} - -# @notice The entity holds information about exchange in proposal -# @param id forms from transaction hash + interactionCount -# @param hash the tx hash -# @param timestamp the block timestamp -# @param fromToken the address of in token -# @param toToken the address of out token -# @param fromVolume the volume of in token -# @param toVolume the volume of out token -# @param usdVolume the exchange volume in usd -# @param day the history id (proposal id + timestamp / 86400), for reverse lookup -type ProposalExchange @entity(immutable: true) { - id: Bytes! # tx hash + interactionCount - hash: Bytes! - timestamp: BigInt! - fromToken: Bytes! - toToken: Bytes! - - fromVolume: BigInt! - toVolume: BigInt! - usdVolume: BigInt! - - day: ProposalExchangeHistory! -} - -# @notice The entity holds historical information about exchanges in proposal -# @param id forms from proposal id + timestamp / 86400 -# @param proposal the proposal id for reverse lookup -# @param day the timestamp / 86400 -type ProposalExchangeHistory @entity(immutable: true) { - id: ID! # Proposal.id + timestamp / 86400 - proposal: Proposal! - day: BigInt! - - exchanges: [ProposalExchange!]! @derivedFrom(field: "day") -} - -# @notice The entity holds information about proposal position offset -# @param id froms from proposal address + proposal index -# @param offset the position offset in proposal -type ProposalPositionOffset @entity { - id: ID! # proposal address + proposal index - offset: BigInt! -} - -# @notice entity holds information about proposal position -# @param id forms from proposal address + proposal id + _ + proposal offset -# @param isClosed the boolean flag, if true -> position closed -# @param totalBaseOpenVolume the total open volume of proposal in base token -# @param totalBaseCloseVolume the total close volume of proposal in base token -# @param totalPositionOpenVolume the total open volume of proposal in proposal token -# @param totalPositionCloseVolume the total close volume of proposal in proposal token -# @param totalUSDOpenVolume the total open volume of proposal in usd -# @param totalUSDCloseVolume the total close volume of proposal in usd -# @param proposal the proposal entity -type ProposalPosition @entity { - id: ID! # proposal address + proposal id + _ + proposal offset - isClosed: Boolean - - totalBaseOpenVolume: BigInt! - totalBaseCloseVolume: BigInt! - totalPositionOpenVolume: BigInt! - totalPositionCloseVolume: BigInt! - totalUSDOpenVolume: BigInt! - totalUSDCloseVolume: BigInt! - - proposal: Proposal! -} - -# @notice The entity counts interactions in single tx -# @param id forms from tx hash -# @param count the counter of interactions in single tx -type InteractionCount @entity { - id: Bytes! - count: BigInt! -} diff --git a/BasicPool/src/entities/basic-pool/BasicTraderPool.ts b/BasicPool/src/entities/basic-pool/BasicTraderPool.ts deleted file mode 100644 index a8b09512..00000000 --- a/BasicPool/src/entities/basic-pool/BasicTraderPool.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Address } from "@graphprotocol/graph-ts"; -import { BasicPool } from "../../../generated/schema"; - -export function getBasicTraderPool(poolAddress: Address, basicTokenAddress: Address = Address.zero()): BasicPool { - let basicPool = BasicPool.load(poolAddress); - - if (basicPool == null) { - basicPool = new BasicPool(poolAddress); - basicPool.baseToken = basicTokenAddress; - } - - return basicPool; -} diff --git a/BasicPool/src/entities/basic-pool/proposal/Proposal.ts b/BasicPool/src/entities/basic-pool/proposal/Proposal.ts deleted file mode 100644 index 69703891..00000000 --- a/BasicPool/src/entities/basic-pool/proposal/Proposal.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Address, BigInt } from "@graphprotocol/graph-ts"; -import { Proposal, ProposalContract } from "../../../../generated/schema"; - -export function getProposal( - index: BigInt, - proposalContract: ProposalContract, - token: Address = Address.zero(), - timestampLimit: BigInt = BigInt.zero(), - investLPLimit: BigInt = BigInt.zero(), - maxTokenPriceLimit: BigInt = BigInt.zero() -): Proposal { - let id = proposalContract.id.toHexString() + index.toString(); - let proposal = Proposal.load(id); - - if (proposal == null) { - proposal = new Proposal(id); - - proposal.proposalId = index; - proposal.token = token; - proposal.timestampLimit = timestampLimit; - proposal.investLPLimit = investLPLimit; - proposal.maxTokenPriceLimit = maxTokenPriceLimit; - proposal.basicPool = proposalContract.basicPool; - } - - return proposal; -} diff --git a/BasicPool/src/entities/basic-pool/proposal/ProposalContract.ts b/BasicPool/src/entities/basic-pool/proposal/ProposalContract.ts deleted file mode 100644 index 89778031..00000000 --- a/BasicPool/src/entities/basic-pool/proposal/ProposalContract.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Address, Bytes } from "@graphprotocol/graph-ts"; -import { ProposalContract } from "../../../../generated/schema"; - -export function getProposalContract( - proposalContractAddress: Address, - basicPool: Bytes = Bytes.empty() -): ProposalContract { - let proposalContract = ProposalContract.load(proposalContractAddress); - - if (proposalContract == null) { - proposalContract = new ProposalContract(proposalContractAddress); - proposalContract.basicPool = basicPool; - } - - return proposalContract; -} diff --git a/BasicPool/src/entities/basic-pool/proposal/ProposalExchange.ts b/BasicPool/src/entities/basic-pool/proposal/ProposalExchange.ts deleted file mode 100644 index 15983fb8..00000000 --- a/BasicPool/src/entities/basic-pool/proposal/ProposalExchange.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { ProposalExchange } from "../../../../generated/schema"; -import { increaseCounter } from "../../../helpers/IncreaseCounter"; -import { getInteractionCount } from "../../global/InteractionCount"; - -export function getProposalExchange( - hash: Bytes, - fromToken: Address = Address.zero(), - toToken: Address = Address.zero(), - fromVolume: BigInt = BigInt.zero(), - toVolume: BigInt = BigInt.zero(), - usdVolume: BigInt = BigInt.zero(), - timestamp: BigInt = BigInt.zero() -): ProposalExchange { - let counter = getInteractionCount(hash); - let id = hash.concatI32(counter.count.toI32()); - let exchange = ProposalExchange.load(id); - - if (exchange == null) { - exchange = new ProposalExchange(id); - - exchange.fromToken = fromToken; - exchange.hash = hash; - exchange.toToken = toToken; - exchange.fromVolume = fromVolume; - exchange.toVolume = toVolume; - exchange.usdVolume = usdVolume; - exchange.day = ""; - exchange.timestamp = timestamp; - - increaseCounter(counter); - } - - return exchange; -} diff --git a/BasicPool/src/entities/basic-pool/proposal/ProposalPosition.ts b/BasicPool/src/entities/basic-pool/proposal/ProposalPosition.ts deleted file mode 100644 index bb2f6c22..00000000 --- a/BasicPool/src/entities/basic-pool/proposal/ProposalPosition.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; -import { Proposal, ProposalPosition, ProposalPositionOffset } from "../../../../generated/schema"; - -export function getProposalPosition(proposal: Proposal, offset: ProposalPositionOffset): ProposalPosition { - let id = proposal.id + "_" + offset.offset.toString(); - let proposalPosition = ProposalPosition.load(id); - - if (proposalPosition == null) { - proposalPosition = new ProposalPosition(id); - proposalPosition.isClosed = false; - - proposalPosition.totalBaseOpenVolume = BigInt.zero(); - proposalPosition.totalBaseCloseVolume = BigInt.zero(); - proposalPosition.totalPositionOpenVolume = BigInt.zero(); - proposalPosition.totalPositionCloseVolume = BigInt.zero(); - proposalPosition.totalUSDOpenVolume = BigInt.zero(); - proposalPosition.totalUSDCloseVolume = BigInt.zero(); - - proposalPosition.proposal = proposal.id; - } - - return proposalPosition; -} diff --git a/BasicPool/src/entities/basic-pool/proposal/history/ProposalExchangeHistory.ts b/BasicPool/src/entities/basic-pool/proposal/history/ProposalExchangeHistory.ts deleted file mode 100644 index 5288c4a8..00000000 --- a/BasicPool/src/entities/basic-pool/proposal/history/ProposalExchangeHistory.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; -import { ProposalExchangeHistory } from "../../../../../generated/schema"; -import { DAY } from "../../../global/globals"; - -export function getProposalExchangeHistory(timestamp: BigInt, proposal: string): ProposalExchangeHistory { - let day = timestamp.div(BigInt.fromU32(DAY)); - let id = proposal + day.toString(); - let history = ProposalExchangeHistory.load(id); - - if (history == null) { - history = new ProposalExchangeHistory(id); - - history.proposal = proposal; - history.day = day; - } - - return history; -} diff --git a/BasicPool/src/entities/global/InteractionCount.ts b/BasicPool/src/entities/global/InteractionCount.ts deleted file mode 100644 index 493d7a08..00000000 --- a/BasicPool/src/entities/global/InteractionCount.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { InteractionCount } from "../../../generated/schema"; - -export function getInteractionCount(hash: Bytes): InteractionCount { - let counter = InteractionCount.load(hash); - - if (counter == null) { - counter = new InteractionCount(hash); - counter.count = BigInt.zero(); - } - return counter; -} diff --git a/BasicPool/src/entities/global/PositionOffset.ts b/BasicPool/src/entities/global/PositionOffset.ts deleted file mode 100644 index 3e2de462..00000000 --- a/BasicPool/src/entities/global/PositionOffset.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; -import { Proposal, ProposalPositionOffset } from "../../../generated/schema"; - -export function getPositionOffset(proposal: Proposal): ProposalPositionOffset { - let id = proposal.id; - let positionOffset = ProposalPositionOffset.load(id); - - if (positionOffset == null) { - positionOffset = new ProposalPositionOffset(id); - - positionOffset.offset = BigInt.zero(); - } - - return positionOffset; -} diff --git a/BasicPool/src/entities/global/globals.ts b/BasicPool/src/entities/global/globals.ts deleted file mode 100644 index 7b9bab9b..00000000 --- a/BasicPool/src/entities/global/globals.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const DAY = 86400; -export const BASIC_POOL_NAME = "BASIC_POOL"; -export const PRICE_FEED_ADDRESS = "0x56d8412b75434671FbC6ad9c6b91Ba2d5E3817c1"; diff --git a/BasicPool/src/helpers/IncreaseCounter.ts b/BasicPool/src/helpers/IncreaseCounter.ts deleted file mode 100644 index 40aabc0c..00000000 --- a/BasicPool/src/helpers/IncreaseCounter.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; -import { InteractionCount } from "../../generated/schema"; - -export function increaseCounter(counter: InteractionCount): void { - counter.count = counter.count.plus(BigInt.fromI32(1)); - counter.save(); -} diff --git a/BasicPool/src/helpers/PriceFeedInteractions.ts b/BasicPool/src/helpers/PriceFeedInteractions.ts deleted file mode 100644 index b66fb25f..00000000 --- a/BasicPool/src/helpers/PriceFeedInteractions.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { Address, BigInt, Bytes, log } from "@graphprotocol/graph-ts"; -import { PriceFeed } from "../../generated/templates/RiskyProposal/PriceFeed"; -import { PRICE_FEED_ADDRESS } from "../entities/global/globals"; - -export function getUSDValue(token: Bytes, amount: BigInt): BigInt { - let pfPrototype = PriceFeed.bind(Address.fromString(PRICE_FEED_ADDRESS)); - - let resp = pfPrototype.try_getNormalizedPriceOutUSD(Address.fromString(token.toHexString()), amount); - if (resp.reverted) { - log.warning("try_getNormalizedPriceOutUSD reverted. FromToken: {}, Amount:{}", [ - token.toHexString(), - amount.toString(), - ]); - return BigInt.zero(); - } else { - if (resp.value.value1.length == 0) { - log.warning("try_getNormalizedPriceOutUSD returned 0 length path. FromToken: {}, Amount:{}", [ - token.toHexString(), - amount.toString(), - ]); - } - return resp.value.value0; - } -} - -export function getTokenValue(fromToken: Bytes, toToken: Bytes, amount: BigInt): BigInt { - let pfPrototype = PriceFeed.bind(Address.fromString(PRICE_FEED_ADDRESS)); - - let resp = pfPrototype.try_getNormalizedPriceOut(Address.fromBytes(fromToken), Address.fromBytes(toToken), amount); - if (resp.reverted) { - log.warning("try_getNormalizedPriceOut reverted. FromToken: {}, ToToken: {}, Amount:{}", [ - fromToken.toHexString(), - toToken.toHexString(), - amount.toString(), - ]); - return BigInt.zero(); - } else { - if (resp.value.value1.length == 0) { - log.warning("try_getNormalizedPriceOut returned 0 length path. FromToken: {}, ToToken: {}, Amount:{}", [ - fromToken.toHexString(), - toToken.toHexString(), - amount.toString(), - ]); - } - return resp.value.value0; - } -} diff --git a/BasicPool/src/mappings/PoolFactory.ts b/BasicPool/src/mappings/PoolFactory.ts deleted file mode 100644 index 0402a7aa..00000000 --- a/BasicPool/src/mappings/PoolFactory.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { TraderPoolDeployed } from "../../generated/PoolFactory/PoolFactory"; -import { getBasicTraderPool } from "../entities/basic-pool/BasicTraderPool"; -import { BASIC_POOL_NAME } from "../entities/global/globals"; -import { RiskyProposal } from "../../generated/templates"; -import { getProposalContract } from "../entities/basic-pool/proposal/ProposalContract"; - -export function onDeployed(event: TraderPoolDeployed): void { - if (event.params.poolType == BASIC_POOL_NAME) { - let pool = getBasicTraderPool(event.params.at, event.params.basicToken); - pool.save(); - - getProposalContract(event.params.proposalContract, pool.id).save(); - - RiskyProposal.create(event.params.proposalContract); - } -} diff --git a/BasicPool/src/mappings/TraderPoolRiskyProposal.ts b/BasicPool/src/mappings/TraderPoolRiskyProposal.ts deleted file mode 100644 index ee364fba..00000000 --- a/BasicPool/src/mappings/TraderPoolRiskyProposal.ts +++ /dev/null @@ -1,115 +0,0 @@ -import { getProposalExchangeHistory } from "../entities/basic-pool/proposal/history/ProposalExchangeHistory"; -import { getProposal } from "../entities/basic-pool/proposal/Proposal"; -import { getProposalExchange } from "../entities/basic-pool/proposal/ProposalExchange"; -import { - ProposalActivePortfolioExchanged, - ProposalCreated, - ProposalExchanged, - ProposalPositionClosed, -} from "../../generated/templates/RiskyProposal/RiskyProposal"; -import { Address, BigInt, log } from "@graphprotocol/graph-ts"; -import { getProposalContract } from "../entities/basic-pool/proposal/ProposalContract"; -import { getPositionOffset } from "../entities/global/PositionOffset"; -import { getProposalPosition } from "../entities/basic-pool/proposal/ProposalPosition"; -import { getUSDValue } from "../helpers/PriceFeedInteractions"; - -export function onProposalCreated(event: ProposalCreated): void { - let proposalContract = getProposalContract(event.address); - let proposal = getProposal( - event.params.proposalId, - proposalContract, - event.params.token, - event.params.proposalLimits[0].toBigInt(), - event.params.proposalLimits[1].toBigInt(), - event.params.proposalLimits[2].toBigInt() - ); - proposal.save(); - proposalContract.save(); -} - -export function onProposalExchange(event: ProposalExchanged): void { - let proposalContract = getProposalContract(event.address); - let proposal = getProposal(event.params.proposalId, proposalContract); - let positionOffset = getPositionOffset(proposal); - let position = getProposalPosition(proposal, positionOffset); - - let exchange = getProposalExchange( - event.transaction.hash, - event.params.fromToken, - event.params.toToken, - event.params.fromVolume, - event.params.toVolume, - BigInt.zero(), - event.block.timestamp - ); - let history = getProposalExchangeHistory(event.block.timestamp, proposal.id); - - exchange.day = history.id; - - if (event.params.toToken == proposal.token) { - // adding funds to the position - position.totalPositionOpenVolume = position.totalPositionOpenVolume.plus(event.params.toVolume); - position.totalBaseOpenVolume = position.totalBaseOpenVolume.plus(event.params.fromVolume); - - let usd = getUSDValue(event.params.fromToken, event.params.fromVolume); - exchange.usdVolume = usd; - position.totalUSDOpenVolume = position.totalUSDOpenVolume.plus(usd); - } else if (event.params.fromToken == proposal.token) { - // withdrawing funds from the position - position.totalPositionCloseVolume = position.totalPositionCloseVolume.plus(event.params.fromVolume); - position.totalBaseCloseVolume = position.totalBaseCloseVolume.plus(event.params.toVolume); - - let usd = getUSDValue(event.params.toToken, event.params.toVolume); - exchange.usdVolume = usd; - position.totalUSDCloseVolume = position.totalUSDCloseVolume.plus(usd); - } - - proposal.save(); - exchange.save(); - history.save(); - proposalContract.save(); - positionOffset.save(); - position.save(); -} - -export function onProposalPositionClosed(event: ProposalPositionClosed): void { - let proposalContract = getProposalContract(event.address); - let proposal = getProposal(event.params.proposalId, proposalContract); - let positionOffset = getPositionOffset(proposal); - let position = getProposalPosition(proposal, positionOffset); - - position.isClosed = true; - - positionOffset.offset = positionOffset.offset.plus(BigInt.fromI32(1)); - - proposalContract.save(); - proposal.save(); - positionOffset.save(); - position.save(); -} - -export function onProposalActivePortfolioExchanged(event: ProposalActivePortfolioExchanged): void { - let proposalContract = getProposalContract(event.address); - let proposal = getProposal(event.params.proposalId, proposalContract); - let positionOffset = getPositionOffset(proposal); - let position = getProposalPosition(proposal, positionOffset); - - if (event.params.toToken == proposal.token) { - // adding funds to the position - position.totalPositionOpenVolume = position.totalPositionOpenVolume.plus(event.params.toVolume); - position.totalBaseOpenVolume = position.totalBaseOpenVolume.plus(event.params.fromVolume); - - let usd = getUSDValue(event.params.fromToken, event.params.fromVolume); - position.totalUSDOpenVolume = position.totalUSDOpenVolume.plus(usd); - } else if (event.params.fromToken == proposal.token) { - // withdrawing funds from the position - position.totalPositionCloseVolume = position.totalPositionCloseVolume.plus(event.params.fromVolume); - position.totalBaseCloseVolume = position.totalBaseCloseVolume.plus(event.params.toVolume); - - let usd = getUSDValue(event.params.toToken, event.params.toVolume); - position.totalUSDCloseVolume = position.totalUSDCloseVolume.plus(usd); - } - - positionOffset.save(); - position.save(); -} diff --git a/BasicPool/subgraph.yaml b/BasicPool/subgraph.yaml deleted file mode 100644 index 44a45acf..00000000 --- a/BasicPool/subgraph.yaml +++ /dev/null @@ -1,52 +0,0 @@ -specVersion: 0.0.4 -schema: - file: ./schema.graphql -dataSources: - - kind: ethereum/contract - name: PoolFactory - network: chapel - source: - address: "0x11d12802D7b5281addE998E81e7a3db97B133d07" - abi: PoolFactory - startBlock: 32093342 - mapping: - kind: ethereum/events - apiVersion: 0.0.6 - language: wasm/assemblyscript - file: ./src/mappings/PoolFactory.ts - entities: - - PoolFactory - abis: - - name: PoolFactory - file: ./abis/PoolFactory.json - eventHandlers: - - event: TraderPoolDeployed(string,string,string,address,address,address,address,uint256,string) - handler: onDeployed - -templates: - - kind: ethereum/contract - name: RiskyProposal - network: chapel - source: - abi: RiskyProposal - mapping: - kind: ethereum/events - apiVersion: 0.0.6 - language: wasm/assemblyscript - file: ./src/mappings/TraderPoolRiskyProposal.ts - entities: - - Proposal - abis: - - name: RiskyProposal - file: ./abis/TraderPoolRiskyProposal.json - - name: PriceFeed - file: ./abis/PriceFeed.json - eventHandlers: - - event: ProposalCreated(uint256,address,(uint256,uint256,uint256)) - handler: onProposalCreated - - event: ProposalExchanged(uint256,address,address,address,uint256,uint256) - handler: onProposalExchange - - event: ProposalPositionClosed(uint256,address) - handler: onProposalPositionClosed - - event: ProposalActivePortfolioExchanged(uint256,address,address,uint256,uint256) - handler: onProposalActivePortfolioExchanged diff --git a/BasicPool/tests/PoolFactory.test.ts b/BasicPool/tests/PoolFactory.test.ts deleted file mode 100644 index a52112c6..00000000 --- a/BasicPool/tests/PoolFactory.test.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { TraderPoolDeployed } from "../generated/PoolFactory/PoolFactory"; -import { afterEach, assert, clearStore, describe, newMockEvent, test } from "matchstick-as/assembly/index"; -import { getBlock, getTransaction } from "./utils"; -import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { onDeployed } from "../src/mappings/PoolFactory"; -import { BASIC_POOL_NAME } from "../src/entities/global/globals"; - -function createTraderPoolDeployed( - poolType: string, - symbol: string, - name: string, - at: Address, - proposalContract: Address, - trader: Address, - basicToken: Address, - commission: BigInt, - descriptionURL: string, - block: ethereum.Block, - tx: ethereum.Transaction -): TraderPoolDeployed { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("poolType", ethereum.Value.fromString(poolType))); - event.parameters.push(new ethereum.EventParam("symbol", ethereum.Value.fromString(symbol))); - event.parameters.push(new ethereum.EventParam("name", ethereum.Value.fromString(name))); - event.parameters.push(new ethereum.EventParam("at", ethereum.Value.fromAddress(at))); - event.parameters.push(new ethereum.EventParam("proposalContract", ethereum.Value.fromAddress(proposalContract))); - event.parameters.push(new ethereum.EventParam("trader", ethereum.Value.fromAddress(trader))); - event.parameters.push(new ethereum.EventParam("basicToken", ethereum.Value.fromAddress(basicToken))); - event.parameters.push(new ethereum.EventParam("commission", ethereum.Value.fromUnsignedBigInt(commission))); - event.parameters.push(new ethereum.EventParam("descriptionURL", ethereum.Value.fromString(descriptionURL))); - - event.block = block; - event.transaction = tx; - - return event; -} - -const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); -const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); - -describe("PoolFactory", () => { - afterEach(() => { - clearStore(); - }); - - test("should handle TraderPoolDeployed event", () => { - let expectedPoolType = BASIC_POOL_NAME; - let expectedSymbol = "BSTP"; - let expectedName = "Basic Trader Pool"; - let expectedAt = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181679"); - let expectedProposalContract = Address.fromString("0x86e98f7d84603AEb97cd1c88A80A9e914f181679"); - let expectedTrader = Address.fromString("0x86e98f7d84603AEb97cd1c89A80A9e914f181699"); - let expectedBasicToken = Address.fromString("0x86e98f7d84603AEb97ad1c89A80A9e914f181679"); - let expectedCommission = BigInt.fromI32(300); - let expectedDescriptionURL = "URL"; - let event = createTraderPoolDeployed( - expectedPoolType, - expectedSymbol, - expectedName, - expectedAt, - expectedProposalContract, - expectedTrader, - expectedBasicToken, - expectedCommission, - expectedDescriptionURL, - block, - tx - ); - - onDeployed(event); - - assert.fieldEquals("BasicPool", expectedAt.toHexString(), "baseToken", expectedBasicToken.toHexString()); - assert.fieldEquals( - "ProposalContract", - expectedProposalContract.toHexString(), - "basicPool", - expectedAt.toHexString() - ); - }); -}); diff --git a/BasicPool/tests/TraderPoolRiskyProposal.test.ts b/BasicPool/tests/TraderPoolRiskyProposal.test.ts deleted file mode 100644 index 631f2ebd..00000000 --- a/BasicPool/tests/TraderPoolRiskyProposal.test.ts +++ /dev/null @@ -1,314 +0,0 @@ -import { Address, BigInt, ethereum, Bytes } from "@graphprotocol/graph-ts"; -import { - afterEach, - assert, - beforeAll, - beforeEach, - clearStore, - createMockedFunction, - describe, - logStore, - newMockEvent, - test, -} from "matchstick-as"; -import { - ProposalActivePortfolioExchanged, - ProposalCreated, - ProposalCreatedProposalLimitsStruct, - ProposalDivested, - ProposalExchanged, - ProposalInvested, - ProposalPositionClosed, - ProposalRestrictionsChanged, -} from "../generated/templates/RiskyProposal/RiskyProposal"; -import { getBlock, getTransaction } from "./utils"; -import { - onProposalActivePortfolioExchanged, - onProposalCreated, - onProposalExchange, - onProposalPositionClosed, -} from "../src/mappings/TraderPoolRiskyProposal"; -import { getBasicTraderPool } from "../src/entities/basic-pool/BasicTraderPool"; -import { getProposalContract } from "../src/entities/basic-pool/proposal/ProposalContract"; -import { getProposal } from "../src/entities/basic-pool/proposal/Proposal"; -import { PRICE_FEED_ADDRESS } from "../src/entities/global/globals"; - -function createProposalCreated( - proposalId: BigInt, - token: Address, - proposalLimits: ProposalCreatedProposalLimitsStruct, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalCreated { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("token", ethereum.Value.fromAddress(token))); - event.parameters.push(new ethereum.EventParam("proposalLimits", ethereum.Value.fromTuple(proposalLimits))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createProposalExchanged( - proposalId: BigInt, - user: Address, - fromToken: Address, - toToken: Address, - fromVolume: BigInt, - toVolume: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalExchanged { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("fromToken", ethereum.Value.fromAddress(fromToken))); - event.parameters.push(new ethereum.EventParam("toToken", ethereum.Value.fromAddress(toToken))); - event.parameters.push(new ethereum.EventParam("fromVolume", ethereum.Value.fromUnsignedBigInt(fromVolume))); - event.parameters.push(new ethereum.EventParam("toVolume", ethereum.Value.fromUnsignedBigInt(toVolume))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -function createProposalPositionClosed( - proposalId: BigInt, - positionToken: Address, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalPositionClosed { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("positionToken", ethereum.Value.fromAddress(positionToken))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -function createProposalActivePortfolioExchanged( - proposalId: BigInt, - fromToken: Address, - toToken: Address, - fromVolume: BigInt, - toVolume: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalActivePortfolioExchanged { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("fromToken", ethereum.Value.fromAddress(fromToken))); - event.parameters.push(new ethereum.EventParam("toToken", ethereum.Value.fromAddress(toToken))); - event.parameters.push(new ethereum.EventParam("fromVolume", ethereum.Value.fromUnsignedBigInt(fromVolume))); - event.parameters.push(new ethereum.EventParam("toVolume", ethereum.Value.fromUnsignedBigInt(toVolume))); - - event.address = sender; - event.block = block; - event.transaction = tx; - - return event; -} - -const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); -const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); -const sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181679"); -const proposalId = BigInt.fromI32(1); -const pool = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181670"); -const expectedUSD = BigInt.fromI32(10).pow(18); - -describe("TraderPoolRiskyProposal", () => { - beforeAll(() => { - createMockedFunction( - Address.fromString(PRICE_FEED_ADDRESS), - "getNormalizedPriceOutUSD", - "getNormalizedPriceOutUSD(address,uint256):(uint256,address[])" - ) - .withArgs([ - ethereum.Value.fromAddress(Address.fromString("0x86e08f7d84603aeb97cd1c89a80a9e914f181979")), - ethereum.Value.fromUnsignedBigInt(expectedUSD), - ]) - .returns([ethereum.Value.fromUnsignedBigInt(expectedUSD), ethereum.Value.fromAddressArray([sender, sender])]); - }); - - beforeEach(() => { - let traderPool = getBasicTraderPool(pool); - traderPool.save(); - let proposal = getProposalContract(sender, pool); - proposal.save(); - }); - - afterEach(() => { - clearStore(); - }); - - test("should handle ProposalCreated event", () => { - let proposalId = BigInt.fromI32(1); - let token = Address.fromString("0x86e08f7d84603AEb97cd1c89A85A9e914f181679"); - let proposalLimits = new ProposalCreatedProposalLimitsStruct(3); - proposalLimits[0] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(1)); - proposalLimits[1] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(2)); - proposalLimits[2] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(3)); - - let event = createProposalCreated(proposalId, token, proposalLimits, sender, block, tx); - - onProposalCreated(event); - - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "basicPool", pool.toHexString()); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "token", token.toHexString()); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "proposalId", proposalId.toString()); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "timestampLimit", "1"); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "investLPLimit", "2"); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "maxTokenPriceLimit", "3"); - - proposalId = BigInt.fromI32(2); - token = Address.fromString("0x065049652b9d7C9fE9dD582970dB63a058788688"); - - event = createProposalCreated(proposalId, token, proposalLimits, sender, block, tx); - - onProposalCreated(event); - - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "basicPool", pool.toHexString()); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "token", token.toHexString()); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "proposalId", proposalId.toString()); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "timestampLimit", "1"); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "investLPLimit", "2"); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "maxTokenPriceLimit", "3"); - }); - - test("should handle ProposalExchanged event", () => { - let user = Address.fromString("0x86e08f7d84603AAb97cd1c89A80A9e914f181670"); - let fromToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181670"); - let toToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181979"); - let fromVolume = BigInt.fromI32(100).pow(18); - let toVolume = BigInt.fromI32(10).pow(18); - - let proposalContract = getProposalContract(sender); - getProposal(proposalId, proposalContract, fromToken, BigInt.zero(), BigInt.zero()).save(); - - let event = createProposalExchanged(proposalId, user, fromToken, toToken, fromVolume, toVolume, sender, block, tx); - - onProposalExchange(event); - - assert.fieldEquals("ProposalExchange", tx.hash.concatI32(0).toHexString(), "fromToken", fromToken.toHexString()); - assert.fieldEquals("ProposalExchange", tx.hash.concatI32(0).toHexString(), "toToken", toToken.toHexString()); - assert.fieldEquals("ProposalExchange", tx.hash.concatI32(0).toHexString(), "fromVolume", fromVolume.toString()); - assert.fieldEquals("ProposalExchange", tx.hash.concatI32(0).toHexString(), "toVolume", toVolume.toString()); - assert.fieldEquals("ProposalExchange", tx.hash.concatI32(0).toHexString(), "usdVolume", expectedUSD.toString()); - assert.fieldEquals("ProposalExchange", tx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); - assert.fieldEquals("ProposalExchange", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); - - assert.fieldEquals( - "ProposalPosition", - sender.toHexString() + proposalId.toString() + "_" + "0", - "totalPositionCloseVolume", - fromVolume.toString() - ); - assert.fieldEquals( - "ProposalPosition", - sender.toHexString() + proposalId.toString() + "_" + "0", - "totalBaseCloseVolume", - toVolume.toString() - ); - assert.fieldEquals( - "ProposalPosition", - sender.toHexString() + proposalId.toString() + "_" + "0", - "totalUSDCloseVolume", - expectedUSD.toString() - ); - assert.fieldEquals("InteractionCount", tx.hash.toHexString(), "count", "1"); - }); - - test("should handle ProposalPositionClosed event", () => { - let proposalId = BigInt.fromI32(1); - let token = Address.fromString("0x86e08f7d84603AEb97cd1c89A85A9e914f181679"); - - let event = createProposalPositionClosed(proposalId, token, sender, block, tx); - - onProposalPositionClosed(event); - - assert.fieldEquals( - "ProposalPosition", - sender.toHexString() + proposalId.toString() + "_" + "0", - "isClosed", - "true" - ); - assert.fieldEquals("ProposalPositionOffset", sender.toHexString() + proposalId.toString(), "offset", "1"); - - proposalId = BigInt.fromI32(2); - token = Address.fromString("0x065049652b9d7C9fE9dD582970dB63a058788688"); - - event = createProposalPositionClosed(proposalId, token, sender, block, tx); - - onProposalPositionClosed(event); - - assert.fieldEquals( - "ProposalPosition", - sender.toHexString() + proposalId.toString() + "_" + "0", - "isClosed", - "true" - ); - assert.fieldEquals("ProposalPositionOffset", sender.toHexString() + proposalId.toString(), "offset", "1"); - }); - - test("should handle ProposalActivePortfolioExchanged", () => { - let fromToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181670"); - let toToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181979"); - let fromVolume = BigInt.fromI32(100).pow(18); - let toVolume = BigInt.fromI32(10).pow(18); - - let proposalContract = getProposalContract(sender); - getProposal(proposalId, proposalContract, fromToken, BigInt.zero(), BigInt.zero()).save(); - - let event = createProposalActivePortfolioExchanged( - proposalId, - fromToken, - toToken, - fromVolume, - toVolume, - sender, - block, - tx - ); - - onProposalActivePortfolioExchanged(event); - - assert.fieldEquals( - "ProposalPosition", - sender.toHexString() + proposalId.toString() + "_" + "0", - "totalPositionCloseVolume", - fromVolume.toString() - ); - assert.fieldEquals( - "ProposalPosition", - sender.toHexString() + proposalId.toString() + "_" + "0", - "totalBaseCloseVolume", - toVolume.toString() - ); - assert.fieldEquals( - "ProposalPosition", - sender.toHexString() + proposalId.toString() + "_" + "0", - "totalUSDCloseVolume", - expectedUSD.toString() - ); - }); -}); diff --git a/BasicPool/tests/utils.ts b/BasicPool/tests/utils.ts deleted file mode 100644 index dfe8f15e..00000000 --- a/BasicPool/tests/utils.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { Address, BigInt, Bytes, ethereum } from "@graphprotocol/graph-ts"; -import { assert } from "matchstick-as"; - -export function getBlock(number: BigInt, timestamp: BigInt): ethereum.Block { - return new ethereum.Block( - Bytes.empty(), - Bytes.empty(), - Bytes.empty(), - Address.zero(), - Bytes.empty(), - Bytes.empty(), - Bytes.empty(), - number, - BigInt.zero(), - BigInt.zero(), - timestamp, - BigInt.zero(), - BigInt.zero(), - BigInt.zero(), - BigInt.zero() - ); -} - -export function getTransaction(hash: Bytes): ethereum.Transaction { - return new ethereum.Transaction( - hash, - BigInt.zero(), - Address.zero(), - Address.zero(), - BigInt.zero(), - BigInt.zero(), - BigInt.zero(), - Bytes.empty(), - BigInt.zero() - ); -} - -export function getNextBlock(prevBlock: ethereum.Block): ethereum.Block { - return new ethereum.Block( - nextHash(prevBlock.hash), - prevBlock.hash, - prevBlock.unclesHash, - prevBlock.author, - prevBlock.stateRoot, - prevBlock.transactionsRoot, - prevBlock.receiptsRoot, - prevBlock.number.plus(BigInt.fromI32(1)), - prevBlock.gasUsed, - prevBlock.gasLimit, - prevBlock.timestamp.plus(BigInt.fromI32(1)), - prevBlock.difficulty, - prevBlock.totalDifficulty, - prevBlock.size, - prevBlock.baseFeePerGas - ); -} - -export function getNextTx(prevTx: ethereum.Transaction): ethereum.Transaction { - return new ethereum.Transaction( - nextHash(prevTx.hash), - prevTx.index, - prevTx.from, - prevTx.to, - prevTx.value, - prevTx.gasLimit, - prevTx.gasPrice, - prevTx.input, - prevTx.nonce.plus(BigInt.fromI32(1)) - ); -} - -function nextHash(prevHash: Bytes): Bytes { - return Bytes.fromU64(prevHash.toU64() + 1); -} diff --git a/BasicPool/tsconfig.json b/BasicPool/tsconfig.json deleted file mode 100644 index 564fc4e6..00000000 --- a/BasicPool/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@graphprotocol/graph-ts/types/tsconfig.base.json", - "include": ["src", "src/entities/ProposalExchangeHistory.ts"] -} diff --git a/DaoPools/src/entities/ExpertNft/ExpertInPool.ts b/DaoPools/src/entities/ExpertNft/ExpertInPool.ts index ef2cd6fe..f35bc83b 100644 --- a/DaoPools/src/entities/ExpertNft/ExpertInPool.ts +++ b/DaoPools/src/entities/ExpertNft/ExpertInPool.ts @@ -1,5 +1,5 @@ -import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { DaoPool, Expert, ExpertInPool } from "../../../generated/schema"; +import { BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { Expert, ExpertInPool } from "../../../generated/schema"; export function getExpertInPool(expert: Expert, pool: Bytes, tokenId: BigInt = BigInt.zero()): ExpertInPool { const id = expert.id.concat(pool); diff --git a/DaoPools/src/entities/Settings/Executor.ts b/DaoPools/src/entities/Settings/Executor.ts index 60f7d90d..cb28c640 100644 --- a/DaoPools/src/entities/Settings/Executor.ts +++ b/DaoPools/src/entities/Settings/Executor.ts @@ -1,6 +1,5 @@ -import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { DaoPool, Executor, Proposal } from "../../../generated/schema"; -import { getProposalSettings } from "./ProposalSettings"; +import { Address, Bytes } from "@graphprotocol/graph-ts"; +import { DaoPool, Executor } from "../../../generated/schema"; export function getExecutor(pool: DaoPool, executorAddress: Address): Executor { let id = pool.id.concat(executorAddress); diff --git a/DaoPools/src/entities/TokenSale.ts b/DaoPools/src/entities/TokenSale.ts index 0c6b1247..bbdddde8 100644 --- a/DaoPools/src/entities/TokenSale.ts +++ b/DaoPools/src/entities/TokenSale.ts @@ -1,5 +1,5 @@ import { Address, Bytes } from "@graphprotocol/graph-ts"; -import { DaoPool, TokenSale } from "../../generated/schema"; +import { TokenSale } from "../../generated/schema"; export function getTokenSale( tokenSaleAddress: Address, diff --git a/DaoPools/src/entities/TreasuryDelegationHistory.ts b/DaoPools/src/entities/TreasuryDelegationHistory.ts index 979eedb0..b52e687a 100644 --- a/DaoPools/src/entities/TreasuryDelegationHistory.ts +++ b/DaoPools/src/entities/TreasuryDelegationHistory.ts @@ -1,5 +1,5 @@ import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { DaoPool, TreasuryDelegationHistory, Voter, VoterInPool } from "../../generated/schema"; +import { DaoPool, TreasuryDelegationHistory, VoterInPool } from "../../generated/schema"; import { getInteractionCount } from "./global/InteractionCount"; import { increaseCounter } from "../helpers/IncreaseCounter"; import { TreasuryDelegationType, getEnumBigInt } from "./global/TreasuryDelegationTypeEnum"; diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index 11aa3b83..fe899d9c 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -6,7 +6,6 @@ import { clearStore, createMockedFunction, describe, - logStore, newMockEvent, test, } from "matchstick-as/assembly/index"; diff --git a/DaoPools/tests/DistributionProposal.test.ts b/DaoPools/tests/DistributionProposal.test.ts index f7592734..665f1cbe 100644 --- a/DaoPools/tests/DistributionProposal.test.ts +++ b/DaoPools/tests/DistributionProposal.test.ts @@ -1,14 +1,5 @@ import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { - assert, - beforeAll, - beforeEach, - createMockedFunction, - describe, - logStore, - newMockEvent, - test, -} from "matchstick-as"; +import { assert, beforeEach, createMockedFunction, describe, newMockEvent, test } from "matchstick-as"; import { DistributionProposalClaimed } from "../generated/templates/DistributionProposal/DistributionProposal"; import { getBlock, getTransaction } from "./utils"; import { onDistributionProposalClaimed } from "../src/mappings/DistributionProposal"; diff --git a/DaoPools/tests/ERC721Expert.test.ts b/DaoPools/tests/ERC721Expert.test.ts index 191817ed..be1ce36a 100644 --- a/DaoPools/tests/ERC721Expert.test.ts +++ b/DaoPools/tests/ERC721Expert.test.ts @@ -1,5 +1,5 @@ import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { assert, beforeAll, afterEach, describe, newMockEvent, test } from "matchstick-as"; +import { assert, beforeAll, describe, newMockEvent, test } from "matchstick-as"; import { TagsAdded, Transfer } from "../generated/templates/ERC721Expert/ERC721Expert"; import { getBlock, getTransaction } from "./utils"; import { onTagsAdded, onTransfer } from "../src/mappings/ERC721Expert"; diff --git a/DaoPools/tests/GlobalERC721Expert.test.ts b/DaoPools/tests/GlobalERC721Expert.test.ts index 8335d70c..6ac07a34 100644 --- a/DaoPools/tests/GlobalERC721Expert.test.ts +++ b/DaoPools/tests/GlobalERC721Expert.test.ts @@ -1,5 +1,5 @@ import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { assert, beforeAll, afterEach, describe, newMockEvent, test } from "matchstick-as"; +import { assert, describe, newMockEvent, test } from "matchstick-as"; import { TagsAdded, Transfer } from "../generated/templates/ERC721Expert/ERC721Expert"; import { getBlock, getTransaction } from "./utils"; import { onTagsAdded, onTransfer } from "../src/mappings/GlobalERC721Expert"; diff --git a/DaoPools/tests/TokenSale.test.ts b/DaoPools/tests/TokenSale.test.ts index 0fa904c7..8655ed3e 100644 --- a/DaoPools/tests/TokenSale.test.ts +++ b/DaoPools/tests/TokenSale.test.ts @@ -1,6 +1,6 @@ import { Address, BigInt, Bytes, ethereum } from "@graphprotocol/graph-ts"; import { Bought, TierCreated, Whitelisted } from "../generated/templates/TokenSale/TokenSaleProposal"; -import { afterAll, afterEach, assert, beforeAll, describe, newMockEvent, test } from "matchstick-as"; +import { afterEach, assert, beforeAll, describe, newMockEvent, test } from "matchstick-as"; import { getBlock, getNextBlock, getNextTx, getTransaction } from "./utils"; import { getDaoPool } from "../src/entities/DaoPool"; import { getTokenSale } from "../src/entities/TokenSale"; diff --git a/DaoValidators/tests/DaoValidators.test.ts b/DaoValidators/tests/DaoValidators.test.ts index 2eb8eab3..a7730301 100644 --- a/DaoValidators/tests/DaoValidators.test.ts +++ b/DaoValidators/tests/DaoValidators.test.ts @@ -1,16 +1,5 @@ import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { - afterEach, - assert, - beforeAll, - beforeEach, - clearStore, - createMockedFunction, - describe, - logStore, - newMockEvent, - test, -} from "matchstick-as/assembly/index"; +import { afterEach, assert, beforeEach, clearStore, describe, newMockEvent, test } from "matchstick-as/assembly/index"; import { onChangedValidatorsBalances, onExternalProposalCreated, @@ -26,7 +15,7 @@ import { InternalProposalExecuted, } from "../generated/templates/DaoValidators/DaoValidators"; -import { getBlock, getNextTx, getTransaction } from "./utils"; +import { getBlock, getTransaction } from "./utils"; import { DaoPoolDeployed } from "../generated/PoolFactory/PoolFactory"; import { onDeployed } from "../src/mappings/PoolFactory"; diff --git a/InvestPool/.gitignore b/InvestPool/.gitignore deleted file mode 100644 index 19572bb5..00000000 --- a/InvestPool/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -node_modules -generated/* -build -.latest.json -.bin \ No newline at end of file diff --git a/InvestPool/README.md b/InvestPool/README.md deleted file mode 100644 index e69de29b..00000000 diff --git a/InvestPool/abis/PoolFactory.json b/InvestPool/abis/PoolFactory.json deleted file mode 100644 index f572bda1..00000000 --- a/InvestPool/abis/PoolFactory.json +++ /dev/null @@ -1,1010 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "address", - "name": "govPool", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "dp", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "validators", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "settings", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "govUserKeeper", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "localExpertNft", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nftMultiplier", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "DaoPoolDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "govPool", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "tokenSale", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "DaoTokenSaleDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "poolType", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "address", - "name": "at", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "proposalContract", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "basicToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "commission", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "descriptionURL", - "type": "string" - } - ], - "name": "TraderPoolDeployed", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.TraderPoolDeployParameters", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployBasicPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "components": [ - { - "internalType": "bool", - "name": "earlyCompletion", - "type": "bool" - }, - { - "internalType": "bool", - "name": "delegatedVotingAllowed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "validatorsVote", - "type": "bool" - }, - { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "durationValidators", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "quorumValidators", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "minVotesForVoting", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minVotesForCreating", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" - }, - { - "components": [ - { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", - "type": "uint256" - } - ], - "internalType": "struct IGovSettings.RewardsInfo", - "name": "rewardsInfo", - "type": "tuple" - }, - { - "internalType": "string", - "name": "executorDescription", - "type": "string" - } - ], - "internalType": "struct IGovSettings.ProposalSettings[]", - "name": "proposalSettings", - "type": "tuple[]" - }, - { - "internalType": "address[]", - "name": "additionalProposalExecutors", - "type": "address[]" - } - ], - "internalType": "struct IPoolFactory.SettingsDeployParams", - "name": "settingsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" - } - ], - "internalType": "struct IGovValidators.ProposalSettings", - "name": "proposalSettings", - "type": "tuple" - }, - { - "internalType": "address[]", - "name": "validators", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "balances", - "type": "uint256[]" - } - ], - "internalType": "struct IPoolFactory.ValidatorsDeployParams", - "name": "validatorsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "nftAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalPowerInTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nftsTotalSupply", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.UserKeeperDeployParams", - "name": "userKeeperParams", - "type": "tuple" - }, - { - "internalType": "address", - "name": "nftMultiplierAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" - }, - { - "internalType": "address", - "name": "verifier", - "type": "address" - }, - { - "internalType": "bool", - "name": "onlyBABHolders", - "type": "bool" - }, - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "internalType": "struct IPoolFactory.GovPoolDeployParams", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployGovPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "components": [ - { - "internalType": "bool", - "name": "earlyCompletion", - "type": "bool" - }, - { - "internalType": "bool", - "name": "delegatedVotingAllowed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "validatorsVote", - "type": "bool" - }, - { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "durationValidators", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "quorumValidators", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "minVotesForVoting", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minVotesForCreating", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" - }, - { - "components": [ - { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "creationReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", - "type": "uint256" - } - ], - "internalType": "struct IGovSettings.RewardsInfo", - "name": "rewardsInfo", - "type": "tuple" - }, - { - "internalType": "string", - "name": "executorDescription", - "type": "string" - } - ], - "internalType": "struct IGovSettings.ProposalSettings[]", - "name": "proposalSettings", - "type": "tuple[]" - }, - { - "internalType": "address[]", - "name": "additionalProposalExecutors", - "type": "address[]" - } - ], - "internalType": "struct IPoolFactory.SettingsDeployParams", - "name": "settingsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "duration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" - } - ], - "internalType": "struct IGovValidators.ProposalSettings", - "name": "proposalSettings", - "type": "tuple" - }, - { - "internalType": "address[]", - "name": "validators", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "balances", - "type": "uint256[]" - } - ], - "internalType": "struct IPoolFactory.ValidatorsDeployParams", - "name": "validatorsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "nftAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalPowerInTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nftsTotalSupply", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.UserKeeperDeployParams", - "name": "userKeeperParams", - "type": "tuple" - }, - { - "internalType": "address", - "name": "nftMultiplierAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" - }, - { - "internalType": "address", - "name": "verifier", - "type": "address" - }, - { - "internalType": "bool", - "name": "onlyBABHolders", - "type": "bool" - }, - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "internalType": "struct IPoolFactory.GovPoolDeployParams", - "name": "parameters", - "type": "tuple" - }, - { - "components": [ - { - "components": [ - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "internalType": "struct ITokenSaleProposal.TierMetadata", - "name": "metadata", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "totalTokenProvided", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "saleStartTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "saleEndTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "claimLockDuration", - "type": "uint64" - }, - { - "internalType": "address", - "name": "saleTokenAddress", - "type": "address" - }, - { - "internalType": "address[]", - "name": "purchaseTokenAddresses", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "exchangeRates", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "minAllocationPerUser", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxAllocationPerUser", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "vestingPercentage", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "vestingDuration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "cliffPeriod", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "unlockStep", - "type": "uint64" - } - ], - "internalType": "struct ITokenSaleProposal.VestingSettings", - "name": "vestingSettings", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "enum ITokenSaleProposal.ParticipationType", - "name": "participationType", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct ITokenSaleProposal.ParticipationDetails", - "name": "participationDetails", - "type": "tuple" - } - ], - "internalType": "struct ITokenSaleProposal.TierInitParams[]", - "name": "tiersParams", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "tierId", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" - }, - { - "internalType": "string", - "name": "uri", - "type": "string" - } - ], - "internalType": "struct ITokenSaleProposal.WhitelistingRequest[]", - "name": "whitelistParams", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "saleAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "cap", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintedTotal", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "internalType": "struct IERC20Sale.ConstructorParams", - "name": "tokenParams", - "type": "tuple" - } - ], - "internalType": "struct IPoolFactory.GovTokenSaleProposalDeployParams", - "name": "tokenSaleParameters", - "type": "tuple" - } - ], - "name": "deployGovPoolWithTokenSale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.TraderPoolDeployParameters", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployInvestPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "internalType": "string", - "name": "poolName", - "type": "string" - } - ], - "name": "predictGovAddresses", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/InvestPool/abis/PriceFeed.json b/InvestPool/abis/PriceFeed.json deleted file mode 100644 index 2c479f04..00000000 --- a/InvestPool/abis/PriceFeed.json +++ /dev/null @@ -1,735 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "__PriceFeed_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "pathTokens", - "type": "address[]" - } - ], - "name": "addPathTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "minAmountOut", - "type": "uint256" - } - ], - "name": "exchangeFromExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "maxAmountIn", - "type": "uint256" - } - ], - "name": "exchangeToExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getExtendedPriceIn", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getExtendedPriceOut", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getNormalizedExtendedPriceIn", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getNormalizedExtendedPriceOut", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - } - ], - "name": "getNormalizedPriceIn", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - } - ], - "name": "getNormalizedPriceInDEXE", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - } - ], - "name": "getNormalizedPriceInUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - } - ], - "name": "getNormalizedPriceOut", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - } - ], - "name": "getNormalizedPriceOutDEXE", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - } - ], - "name": "getNormalizedPriceOutUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPathTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "pool", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "getSavedPaths", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "isSupportedPathToken", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "minAmountOut", - "type": "uint256" - } - ], - "name": "normalizedExchangeFromExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "inToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "maxAmountIn", - "type": "uint256" - } - ], - "name": "normalizedExchangeToExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "pathTokens", - "type": "address[]" - } - ], - "name": "removePathTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalPathTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "uniswapFactory", - "outputs": [ - { - "internalType": "contract IUniswapV2Factory", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "uniswapV2Router", - "outputs": [ - { - "internalType": "contract IUniswapV2Router02", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/InvestPool/abis/TraderPoolInvestProposal.json b/InvestPool/abis/TraderPoolInvestProposal.json deleted file mode 100644 index d247c78f..00000000 --- a/InvestPool/abis/TraderPoolInvestProposal.json +++ /dev/null @@ -1,1241 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - } - ], - "name": "ProposalClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "baseToken", - "type": "address" - } - ], - "name": "ProposalConverted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "timestampLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investLPLimit", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct ITraderPoolInvestProposal.ProposalLimits", - "name": "proposalLimits", - "type": "tuple" - } - ], - "name": "ProposalCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "divestedLP2", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedBase", - "type": "uint256" - } - ], - "name": "ProposalDivested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP2", - "type": "uint256" - } - ], - "name": "ProposalInvested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "ProposalJoined", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "ProposalLeft", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "ProposalRestrictionsChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - } - ], - "name": "ProposalSupplied", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ProposalWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "TransferBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TransferSingle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "value", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "parentPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - } - ], - "internalType": "struct ITraderPoolProposal.ParentTraderPoolInfo", - "name": "parentTraderPoolInfo", - "type": "tuple" - } - ], - "name": "__TraderPoolInvestProposal_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "parentPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - } - ], - "internalType": "struct ITraderPoolProposal.ParentTraderPoolInfo", - "name": "parentTraderPoolInfo", - "type": "tuple" - } - ], - "name": "__TraderPoolProposal_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "accounts", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - } - ], - "name": "balanceOfBatch", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "timestampLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investLPLimit", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolInvestProposal.ProposalLimits", - "name": "proposalLimits", - "type": "tuple" - } - ], - "name": "changeProposalRestrictions", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "convertInvestedBaseToDividends", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "timestampLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investLPLimit", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolInvestProposal.ProposalLimits", - "name": "proposalLimits", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "lpInvestment", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseInvestment", - "type": "uint256" - } - ], - "name": "create", - "outputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "divest", - "outputs": [ - { - "internalType": "uint256", - "name": "claimedBase", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "exists", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "getActiveInvestmentsInfo", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lp2Balance", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseInvested", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpInvested", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolInvestProposal.ActiveInvestmentInfo[]", - "name": "investments", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBaseToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInvestedBaseInUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "investedBaseUSD", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "getProposalInfos", - "outputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "timestampLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investLPLimit", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolInvestProposal.ProposalLimits", - "name": "proposalLimits", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "lpLocked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "newInvestedBase", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolInvestProposal.ProposalInfo", - "name": "proposalInfo", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "lp2Supply", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalInvestors", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolInvestProposal.ProposalInfoExtended[]", - "name": "proposals", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "proposalIds", - "type": "uint256[]" - }, - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getRewards", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "totalUsdAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalBaseAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseAmountFromRewards", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - } - ], - "internalType": "struct ITraderPoolInvestProposal.Reception[]", - "name": "rewards", - "type": "tuple[]" - } - ], - "internalType": "struct ITraderPoolInvestProposal.Receptions", - "name": "receptions", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getTotalActiveInvestments", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "lpInvestment", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseInvestment", - "type": "uint256" - } - ], - "name": "invest", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "investedBase", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalsTotalNum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeBatchTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "addresses", - "type": "address[]" - } - ], - "name": "supply", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "totalLPBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalLockedLP", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "uri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/InvestPool/package-lock.json b/InvestPool/package-lock.json deleted file mode 100644 index 8018ed3c..00000000 --- a/InvestPool/package-lock.json +++ /dev/null @@ -1,9251 +0,0 @@ -{ - "name": "dexe", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "dexe", - "license": "UNLICENSED", - "dependencies": { - "@graphprotocol/graph-cli": "0.32.0", - "@graphprotocol/graph-ts": "0.27.0", - "@solarity/graph-lib": "^1.0.0-rc.5", - "matchstick-as": "^0.5.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", - "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "dependencies": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "node_modules/@ethersproject/abstract-provider": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.3", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/web": "^5.6.1" - } - }, - "node_modules/@ethersproject/abstract-signer": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0" - } - }, - "node_modules/@ethersproject/address": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/rlp": "^5.6.1" - } - }, - "node_modules/@ethersproject/base64": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1" - } - }, - "node_modules/@ethersproject/bignumber": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "bn.js": "^5.2.1" - } - }, - "node_modules/@ethersproject/bignumber/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/@ethersproject/bytes": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/constants": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.2" - } - }, - "node_modules/@ethersproject/hash": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "node_modules/@ethersproject/keccak256": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "js-sha3": "0.8.0" - } - }, - "node_modules/@ethersproject/logger": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ] - }, - "node_modules/@ethersproject/networks": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/properties": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/rlp": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/signing-key": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/signing-key/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/@ethersproject/strings": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/transactions": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/rlp": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2" - } - }, - "node_modules/@ethersproject/web": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/base64": "^5.6.1", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "node_modules/@graphprotocol/graph-cli": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.32.0.tgz", - "integrity": "sha512-40Kii/Ttype5aNCaQn81AP7utyE6JKB5bI9QtYd6WoaS3oACICqdPA89+5UB1s9t6yXiFbWojK3e7JUokPdYfA==", - "dependencies": { - "assemblyscript": "0.19.10", - "binary-install-raw": "0.0.13", - "chalk": "3.0.0", - "chokidar": "3.5.1", - "debug": "4.3.1", - "docker-compose": "0.23.4", - "dockerode": "2.5.8", - "fs-extra": "9.0.0", - "glob": "7.1.6", - "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", - "graphql": "15.5.0", - "immutable": "3.8.2", - "ipfs-http-client": "34.0.0", - "jayson": "3.6.6", - "js-yaml": "3.13.1", - "node-fetch": "2.6.0", - "pkginfo": "0.4.1", - "prettier": "1.19.1", - "request": "2.88.2", - "semver": "7.3.5", - "sync-request": "6.1.0", - "tmp-promise": "3.0.2", - "web3-eth-abi": "1.7.0", - "which": "2.0.2", - "yaml": "1.9.2" - }, - "bin": { - "graph": "bin/graph" - } - }, - "node_modules/@graphprotocol/graph-ts": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz", - "integrity": "sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w==", - "dependencies": { - "assemblyscript": "0.19.10" - } - }, - "node_modules/@solarity/graph-lib": { - "version": "1.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", - "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", - "dependencies": { - "@graphprotocol/graph-ts": "0.29.3" - } - }, - "node_modules/@solarity/graph-lib/node_modules/@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "dependencies": { - "assemblyscript": "0.19.10" - } - }, - "node_modules/@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/lodash": { - "version": "4.14.182", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz", - "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==" - }, - "node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "node_modules/@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "node_modules/@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/ws": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", - "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "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" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/apisauce": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", - "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", - "dependencies": { - "axios": "^0.21.2", - "ramda": "^0.25.0" - } - }, - "node_modules/app-module-path": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", - "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==" - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "node_modules/asmcrypto.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", - "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" - }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", - "dependencies": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" - }, - "bin": { - "asc": "bin/asc", - "asinit": "bin/asinit" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dependencies": { - "follow-redirects": "^1.14.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/bignumber.js": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", - "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==", - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/binary-install-raw": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/binary-install-raw/-/binary-install-raw-0.0.13.tgz", - "integrity": "sha512-v7ms6N/H7iciuk6QInon3/n2mu7oRX+6knJ9xFPsJ3rQePgAqcR3CRTwUheFd8SLbiq4LL7Z4G/44L9zscdt9A==", - "dependencies": { - "axios": "^0.21.1", - "rimraf": "^3.0.2", - "tar": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==", - "bin": { - "wasm-opt": "bin/wasm-opt" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/borc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", - "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", - "dependencies": { - "bignumber.js": "^9.0.0", - "buffer": "^5.5.0", - "commander": "^2.15.0", - "ieee754": "^1.1.13", - "iso-url": "~0.4.7", - "json-text-sequence": "~0.1.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/borc/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "dependencies": { - "base-x": "^3.0.2" - } - }, - "node_modules/bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "dependencies": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "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" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/cids/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", - "dependencies": { - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "colors": "^1.1.2" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "node_modules/docker-compose": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", - "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/docker-modem": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.9.tgz", - "integrity": "sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw==", - "dependencies": { - "debug": "^3.2.6", - "JSONStream": "1.3.2", - "readable-stream": "~1.0.26-4", - "split-ca": "^1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/docker-modem/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/docker-modem/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "node_modules/docker-modem/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "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" - } - }, - "node_modules/docker-modem/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - }, - "node_modules/dockerode": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.8.tgz", - "integrity": "sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==", - "dependencies": { - "concat-stream": "~1.6.2", - "docker-modem": "^1.0.8", - "tar-fs": "~1.16.3" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", - "dependencies": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "hasInstallScript": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "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" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enquirer": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", - "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", - "dependencies": { - "ansi-colors": "^3.2.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "node_modules/es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", - "dependencies": { - "es6-promise": "^4.0.3" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "dependencies": { - "js-sha3": "^0.8.0" - } - }, - "node_modules/ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dependencies": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "node_modules/ethereum-cryptography/node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "hasInstallScript": true, - "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "dependencies": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ethereumjs-util/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", - "dependencies": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ethjs-unit/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": "^8.12.0 || >=9.7.0" - } - }, - "node_modules/explain-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", - "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==", - "engines": { - "node": "> 0.1.90" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" - }, - "node_modules/follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fs-jetpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", - "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", - "dependencies": { - "minimatch": "^3.0.2", - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fs-jetpack/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-stream/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/gluegun": { - "version": "4.3.1", - "resolved": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", - "integrity": "sha512-BPKWUsKoAC+NeFXSNySObftw6lgKipegbbUuaKy6cPXm8z8bkHO3kbn6OVXwoJMkbCJubaFZJj9SGsevNfnJrg==", - "license": "MIT", - "dependencies": { - "apisauce": "^1.0.1", - "app-module-path": "^2.2.0", - "cli-table3": "~0.5.0", - "colors": "1.3.3", - "cosmiconfig": "6.0.0", - "cross-spawn": "^7.0.0", - "ejs": "^2.6.1", - "enquirer": "2.3.4", - "execa": "^3.0.0", - "fs-jetpack": "^2.2.2", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "lodash.lowercase": "^4.3.0", - "lodash.lowerfirst": "^4.3.1", - "lodash.pad": "^4.5.1", - "lodash.padend": "^4.6.1", - "lodash.padstart": "^4.6.1", - "lodash.repeat": "^4.1.0", - "lodash.snakecase": "^4.1.1", - "lodash.startcase": "^4.4.0", - "lodash.trim": "^4.5.1", - "lodash.trimend": "^4.5.1", - "lodash.trimstart": "^4.5.1", - "lodash.uppercase": "^4.3.0", - "lodash.upperfirst": "^4.3.1", - "ora": "^4.0.0", - "pluralize": "^8.0.0", - "ramdasauce": "^2.1.0", - "semver": "^7.0.0", - "which": "^2.0.0", - "yargs-parser": "^16.1.0" - }, - "bin": { - "gluegun": "bin/gluegun" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "node_modules/graphql": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", - "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/hash-base/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "dependencies": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "dependencies": { - "@types/node": "^10.0.3" - } - }, - "node_modules/http-response-object/node_modules/@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" - }, - "node_modules/ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ipfs-block": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", - "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", - "dependencies": { - "cids": "~0.7.0", - "class-is": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipfs-http-client": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", - "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", - "dependencies": { - "abort-controller": "^3.0.0", - "async": "^2.6.1", - "bignumber.js": "^9.0.0", - "bl": "^3.0.0", - "bs58": "^4.0.1", - "buffer": "^5.4.2", - "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^2.0.0", - "explain-error": "^1.0.4", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.1", - "ipfs-utils": "~0.0.3", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.3", - "ipld-raw": "^4.0.0", - "is-ipfs": "~0.6.1", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "iso-stream-http": "~0.1.2", - "iso-url": "~0.4.6", - "iterable-ndjson": "^1.1.0", - "just-kebab-case": "^1.1.0", - "just-map-keys": "^1.1.0", - "kind-of": "^6.0.2", - "ky": "^0.11.2", - "ky-universal": "^0.2.2", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.6", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", - "once": "^1.4.0", - "peer-id": "~0.12.3", - "peer-info": "~0.15.1", - "promise-nodeify": "^3.0.1", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "pull-to-stream": "~0.1.1", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.1.1", - "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.1", - "through2": "^3.0.1" - }, - "engines": { - "node": ">=8.3.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipfs-http-client/node_modules/bl": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", - "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", - "dependencies": { - "readable-stream": "^3.0.1" - } - }, - "node_modules/ipfs-http-client/node_modules/concat-stream": { - "version": "2.0.0", - "resolved": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", - "integrity": "sha512-GBrsRGcg6w3ac6B49frS/FGwdeuWMognaZIGxLfZ93vP2z3bIhaI/Bgn3rrS49lI7lrFznULlNUjWYP4soqgvw==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^3.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/ipfs-http-client/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/ipfs-http-client/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/ipfs-http-client/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ipfs-http-client/node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ipfs-http-client/node_modules/tar-stream/node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/ipfs-http-client/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/ipfs-utils": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", - "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", - "dependencies": { - "buffer": "^5.2.1", - "is-buffer": "^2.0.3", - "is-electron": "^2.2.0", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "kind-of": "^6.0.2", - "readable-stream": "^3.4.0" - } - }, - "node_modules/ipfs-utils/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ipld-dag-cbor": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", - "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", - "deprecated": "This module has been superseded by @ipld/dag-cbor and multiformats", - "dependencies": { - "borc": "^2.1.2", - "buffer": "^5.5.0", - "cids": "~0.8.0", - "is-circular": "^1.0.2", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-pb": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", - "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", - "deprecated": "This module has been superseded by @ipld/dag-pb and multiformats", - "dependencies": { - "cids": "~0.7.0", - "class-is": "^1.1.0", - "multicodec": "~0.5.1", - "multihashing-async": "~0.7.0", - "protons": "^1.0.1", - "stable": "~0.1.8" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-pb/node_modules/err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" - }, - "node_modules/ipld-dag-pb/node_modules/multihashing-async": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", - "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "buffer": "^5.2.1", - "err-code": "^1.1.2", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js-revisited": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-raw": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", - "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "cids": "~0.7.0", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - } - }, - "node_modules/ipld-raw/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" - }, - "node_modules/is-electron": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", - "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==" - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "engines": { - "node": ">=4" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "dependencies": { - "ip-regex": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-ipfs": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", - "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", - "dependencies": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", - "dependencies": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" - }, - "node_modules/is-pull-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", - "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/iso-random-stream": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", - "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", - "dependencies": { - "buffer": "^6.0.3", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/iso-random-stream/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/iso-random-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/iso-stream-http": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", - "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/iso-stream-http/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/iso-url": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", - "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==", - "engines": { - "node": ">=10" - } - }, - "node_modules/isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "peerDependencies": { - "ws": "*" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "node_modules/iterable-ndjson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", - "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", - "dependencies": { - "string_decoder": "^1.2.0" - } - }, - "node_modules/iterable-ndjson/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/iterable-ndjson/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/jayson": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", - "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", - "dependencies": { - "@types/connect": "^3.4.33", - "@types/express-serve-static-core": "^4.17.9", - "@types/lodash": "^4.14.159", - "@types/node": "^12.12.54", - "@types/ws": "^7.4.4", - "commander": "^2.20.3", - "delay": "^5.0.0", - "es6-promisify": "^5.0.0", - "eyes": "^0.1.8", - "isomorphic-ws": "^4.0.1", - "json-stringify-safe": "^5.0.1", - "JSONStream": "^1.3.5", - "lodash": "^4.17.20", - "uuid": "^8.3.2", - "ws": "^7.4.5" - }, - "bin": { - "jayson": "bin/jayson.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jayson/node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - }, - "node_modules/json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", - "dependencies": { - "delimit-stream": "0.1.0" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonfile/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/JSONStream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", - "integrity": "sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA==", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/just-kebab-case": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", - "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" - }, - "node_modules/just-map-keys": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", - "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" - }, - "node_modules/keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "hasInstallScript": true, - "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/keccak/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/keypair": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", - "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ky": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", - "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ky-universal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", - "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", - "dependencies": { - "abort-controller": "^3.0.0", - "node-fetch": "^2.3.0" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "ky": ">=0.10.0" - } - }, - "node_modules/libp2p-crypto": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", - "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", - "dependencies": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "^0.10.0", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.10.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/libp2p-crypto-secp256k1": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", - "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", - "deprecated": "Included in libp2p-crypto, use it instead. https://github.com/libp2p/js-libp2p-crypto", - "dependencies": { - "async": "^2.6.2", - "bs58": "^4.0.1", - "multihashing-async": "~0.6.0", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.2" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/libp2p-crypto-secp256k1/node_modules/multihashing-async": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", - "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/libp2p-crypto/node_modules/multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "node_modules/lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==" - }, - "node_modules/lodash.lowercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.lowercase/-/lodash.lowercase-4.3.0.tgz", - "integrity": "sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA==" - }, - "node_modules/lodash.lowerfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.lowerfirst/-/lodash.lowerfirst-4.3.1.tgz", - "integrity": "sha512-UUKX7VhP1/JL54NXg2aq/E1Sfnjjes8fNYTNkPU8ZmsaVeBvPHKdbNaN79Re5XRL01u6wbq3j0cbYZj71Fcu5w==" - }, - "node_modules/lodash.pad": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", - "integrity": "sha512-mvUHifnLqM+03YNzeTBS1/Gr6JRFjd3rRx88FHWUvamVaT9k2O/kXha3yBSOwB9/DTQrSTLJNHvLBBt2FdX7Mg==" - }, - "node_modules/lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==" - }, - "node_modules/lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha512-sW73O6S8+Tg66eY56DBk85aQzzUJDtpoXFBgELMd5P/SotAguo+1kYO6RuYgXxA4HJH3LFTFPASX6ET6bjfriw==" - }, - "node_modules/lodash.repeat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", - "integrity": "sha512-eWsgQW89IewS95ZOcr15HHCX6FVDxq3f2PNUIng3fyzsPev9imFQxIYdFZ6crl8L56UR6ZlGDLcEb3RZsCSSqw==" - }, - "node_modules/lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" - }, - "node_modules/lodash.startcase": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==" - }, - "node_modules/lodash.trim": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trim/-/lodash.trim-4.5.1.tgz", - "integrity": "sha512-nJAlRl/K+eiOehWKDzoBVrSMhK0K3A3YQsUNXHQa5yIrKBAhsZgSu3KoAFoFT+mEgiyBHddZ0pRk1ITpIp90Wg==" - }, - "node_modules/lodash.trimend": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimend/-/lodash.trimend-4.5.1.tgz", - "integrity": "sha512-lsD+k73XztDsMBKPKvzHXRKFNMohTjoTKIIo4ADLn5dA65LZ1BqlAvSXhR2rPEC3BgAUQnzMnorqDtqn2z4IHA==" - }, - "node_modules/lodash.trimstart": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz", - "integrity": "sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ==" - }, - "node_modules/lodash.uppercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.uppercase/-/lodash.uppercase-4.3.0.tgz", - "integrity": "sha512-+Nbnxkj7s8K5U8z6KnEYPGUOGp3woZbB7Ecs7v3LkkjLQSm2kP9SKIILitN1ktn2mB/tmM9oSlku06I+/lH7QA==" - }, - "node_modules/lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==" - }, - "node_modules/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dependencies": { - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "node_modules/looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mafmt": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", - "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", - "dependencies": { - "multiaddr": "^7.3.0" - } - }, - "node_modules/mafmt/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/mafmt/node_modules/cids/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/mafmt/node_modules/multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", - "dependencies": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/mafmt/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/mafmt/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/mafmt/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/mafmt/node_modules/multihashes/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/matchstick-as": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.0.tgz", - "integrity": "sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg==", - "dependencies": { - "@graphprotocol/graph-ts": "^0.27.0", - "assemblyscript": "^0.19.20", - "wabt": "1.0.24" - } - }, - "node_modules/matchstick-as/node_modules/assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "dependencies": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - }, - "bin": { - "asc": "bin/asc", - "asinit": "bin/asinit" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } - }, - "node_modules/matchstick-as/node_modules/binaryen": { - "version": "102.0.0-nightly.20211028", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", - "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==", - "bin": { - "wasm-opt": "bin/wasm-opt" - } - }, - "node_modules/matchstick-as/node_modules/long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "node_modules/minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/multiaddr": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", - "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", - "dependencies": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "hi-base32": "~0.5.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - } - }, - "node_modules/multiaddr/node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/multiaddr/node_modules/is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", - "dependencies": { - "ip-regex": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "varint": "^5.0.0" - } - }, - "node_modules/multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "dependencies": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/multihashes/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multihashing-async": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", - "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "buffer": "^5.4.3", - "err-code": "^2.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^1.0.1", - "murmurhash3js-revisited": "^3.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/multihashing-async/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/multihashing-async/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/murmurhash3js-revisited": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", - "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "node_modules/nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" - }, - "node_modules/ndjson": { - "version": "1.5.0", - "resolved": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", - "integrity": "sha512-4HWirDBroNYRKoq+8A7y0uvXlO0dF4p7URRRdqvPSgGjQFVpxpE4uasORXNxeRBMHQnXbTnUBVLXXagwKFH6AQ==", - "license": "BSD-3-Clause", - "dependencies": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^3.1.0", - "through2": "^3.0.0" - }, - "bin": { - "ndjson": "cli.js" - } - }, - "node_modules/node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node_modules/node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", - "dependencies": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", - "dependencies": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/number-to-bn/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "engines": { - "node": "*" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", - "dependencies": { - "wordwrap": "~0.0.2" - } - }, - "node_modules/ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", - "dependencies": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/peer-id": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", - "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", - "dependencies": { - "async": "^2.6.3", - "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.1", - "multihashes": "~0.4.15" - }, - "bin": { - "peer-id": "src/bin.js" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/peer-info": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", - "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", - "deprecated": "No longer supported for js-libp2p0.28.0 or later", - "dependencies": { - "mafmt": "^6.0.2", - "multiaddr": "^6.0.3", - "peer-id": "~0.12.2", - "unique-by": "^1.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/peer-info/node_modules/mafmt": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", - "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", - "dependencies": { - "multiaddr": "^6.1.0" - } - }, - "node_modules/pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "dependencies": { - "asn1.js": "^5.0.1" - }, - "bin": { - "pem-jwk": "bin/pem-jwk.js" - }, - "engines": { - "node": ">=5.10.0" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", - "dependencies": { - "is-promise": "~1" - } - }, - "node_modules/promise-nodeify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", - "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==", - "engines": { - "node": ">=6", - "npm": ">=1.3.7" - } - }, - "node_modules/promisify-es6": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", - "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==", - "deprecated": "Unmaintained" - }, - "node_modules/protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "node_modules/protons": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", - "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", - "deprecated": "This module is no longer maintained", - "dependencies": { - "buffer": "^5.5.0", - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" - } - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "node_modules/pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "node_modules/pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "node_modules/pull-to-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", - "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", - "dependencies": { - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pull-to-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" - }, - "node_modules/ramdasauce": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", - "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", - "dependencies": { - "ramda": "^0.24.1" - } - }, - "node_modules/ramdasauce/node_modules/ramda": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", - "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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" - } - }, - "node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request/node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "dependencies": { - "bn.js": "^5.2.0" - }, - "bin": { - "rlp": "bin/rlp" - } - }, - "node_modules/rlp/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", - "dependencies": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" - } - }, - "node_modules/rsa-pem-to-jwk/node_modules/object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", - "dependencies": { - "optimist": "~0.3.5" - }, - "bin": { - "rsa-unpack": "bin/cmd.js" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "node_modules/secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", - "dependencies": { - "varint": "~5.0.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/split-ca": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", - "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" - }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/split2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sshpk/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" - }, - "node_modules/stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", - "dependencies": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" - } - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", - "dependencies": { - "is-hex-prefixed": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "dependencies": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "dependencies": { - "get-port": "^3.1.0" - } - }, - "node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/tar-fs": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", - "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", - "dependencies": { - "chownr": "^1.0.1", - "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" - } - }, - "node_modules/tar-fs/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/tar-fs/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "dependencies": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/then-request/node_modules/@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - }, - "node_modules/then-request/node_modules/promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "dependencies": { - "asap": "~2.0.6" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, - "node_modules/through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } - }, - "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/tmp-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", - "dependencies": { - "tmp": "^0.2.0" - } - }, - "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "node_modules/unique-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", - "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==", - "engines": { - "node": ">= 0.10.x" - } - }, - "node_modules/universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/ursa-optional": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", - "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.14.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/verror/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - }, - "node_modules/wabt": { - "version": "1.0.24", - "resolved": "https://registry.npmjs.org/wabt/-/wabt-1.0.24.tgz", - "integrity": "sha512-8l7sIOd3i5GWfTWciPL0+ff/FK/deVK2Q6FN+MPz4vfUcD78i2M/49XJTwF6aml91uIiuXJEsLKWMB2cw/mtKg==", - "bin": { - "wasm-decompile": "bin/wasm-decompile", - "wasm-interp": "bin/wasm-interp", - "wasm-objdump": "bin/wasm-objdump", - "wasm-opcodecnt": "bin/wasm-opcodecnt", - "wasm-strip": "bin/wasm-strip", - "wasm-validate": "bin/wasm-validate", - "wasm2c": "bin/wasm2c", - "wasm2wat": "bin/wasm2wat", - "wat2wasm": "bin/wat2wasm" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/web3-eth-abi": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", - "integrity": "sha512-heqR0bWxgCJwjWIhq2sGyNj9bwun5+Xox/LdZKe+WMyTSy0cXDXEAgv3XKNkXC4JqdDt/ZlbTEx4TWak4TRMSg==", - "dependencies": { - "@ethersproject/abi": "5.0.7", - "web3-utils": "1.7.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-utils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.0.tgz", - "integrity": "sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w==", - "dependencies": { - "bn.js": "^4.11.9", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/ws": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz", - "integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "dependencies": { - "@babel/runtime": "^7.9.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", - "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "requires": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", - "requires": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.3", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/web": "^5.6.1" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", - "requires": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0" - } - }, - "@ethersproject/address": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", - "requires": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/rlp": "^5.6.1" - } - }, - "@ethersproject/base64": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", - "requires": { - "@ethersproject/bytes": "^5.6.1" - } - }, - "@ethersproject/bignumber": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "bn.js": "^5.2.1" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "@ethersproject/bytes": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/constants": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", - "requires": { - "@ethersproject/bignumber": "^5.6.2" - } - }, - "@ethersproject/hash": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", - "requires": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "js-sha3": "0.8.0" - } - }, - "@ethersproject/logger": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==" - }, - "@ethersproject/networks": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/properties": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/rlp": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/signing-key": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "@ethersproject/strings": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", - "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/transactions": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", - "requires": { - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/rlp": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2" - } - }, - "@ethersproject/web": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", - "requires": { - "@ethersproject/base64": "^5.6.1", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" - } - }, - "@graphprotocol/graph-cli": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.32.0.tgz", - "integrity": "sha512-40Kii/Ttype5aNCaQn81AP7utyE6JKB5bI9QtYd6WoaS3oACICqdPA89+5UB1s9t6yXiFbWojK3e7JUokPdYfA==", - "requires": { - "assemblyscript": "0.19.10", - "binary-install-raw": "0.0.13", - "chalk": "3.0.0", - "chokidar": "3.5.1", - "debug": "4.3.1", - "docker-compose": "0.23.4", - "dockerode": "2.5.8", - "fs-extra": "9.0.0", - "glob": "7.1.6", - "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", - "graphql": "15.5.0", - "immutable": "3.8.2", - "ipfs-http-client": "34.0.0", - "jayson": "3.6.6", - "js-yaml": "3.13.1", - "node-fetch": "2.6.0", - "pkginfo": "0.4.1", - "prettier": "1.19.1", - "request": "2.88.2", - "semver": "7.3.5", - "sync-request": "6.1.0", - "tmp-promise": "3.0.2", - "web3-eth-abi": "1.7.0", - "which": "2.0.2", - "yaml": "1.9.2" - } - }, - "@graphprotocol/graph-ts": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz", - "integrity": "sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w==", - "requires": { - "assemblyscript": "0.19.10" - } - }, - "@solarity/graph-lib": { - "version": "1.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", - "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", - "requires": { - "@graphprotocol/graph-ts": "0.29.3" - }, - "dependencies": { - "@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "requires": { - "assemblyscript": "0.19.10" - } - } - } - }, - "@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "requires": { - "@types/node": "*" - } - }, - "@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "requires": { - "@types/node": "*" - } - }, - "@types/lodash": { - "version": "4.14.182", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz", - "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==" - }, - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "requires": { - "@types/node": "*" - } - }, - "@types/ws": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", - "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", - "requires": { - "@types/node": "*" - } - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "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": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" - }, - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "apisauce": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", - "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", - "requires": { - "axios": "^0.21.2", - "ramda": "^0.25.0" - } - }, - "app-module-path": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", - "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "asmcrypto.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", - "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", - "requires": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" - }, - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "requires": { - "lodash": "^4.17.14" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "requires": { - "follow-redirects": "^1.14.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "requires": { - "tweetnacl": "^0.14.3" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } - } - }, - "bignumber.js": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", - "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "binary-install-raw": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/binary-install-raw/-/binary-install-raw-0.0.13.tgz", - "integrity": "sha512-v7ms6N/H7iciuk6QInon3/n2mu7oRX+6knJ9xFPsJ3rQePgAqcR3CRTwUheFd8SLbiq4LL7Z4G/44L9zscdt9A==", - "requires": { - "axios": "^0.21.1", - "rimraf": "^3.0.2", - "tar": "^6.1.0" - } - }, - "binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==" - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "borc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", - "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", - "requires": { - "bignumber.js": "^9.0.0", - "buffer": "^5.5.0", - "commander": "^2.15.0", - "ieee754": "^1.1.13", - "iso-url": "~0.4.7", - "json-text-sequence": "~0.1.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "requires": { - "base-x": "^3.0.2" - } - }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.3.1", - "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" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "requires": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" - }, - "cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", - "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", - "requires": { - "clone": "^1.0.2" - } - }, - "delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "docker-compose": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", - "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==" - }, - "docker-modem": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.9.tgz", - "integrity": "sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw==", - "requires": { - "debug": "^3.2.6", - "JSONStream": "1.3.2", - "readable-stream": "~1.0.26-4", - "split-ca": "^1.0.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - } - } - }, - "dockerode": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.8.tgz", - "integrity": "sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==", - "requires": { - "concat-stream": "~1.6.2", - "docker-modem": "^1.0.8", - "tar-fs": "~1.16.3" - } - }, - "drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", - "requires": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "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" - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "enquirer": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", - "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", - "requires": { - "ansi-colors": "^3.2.1" - } - }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", - "requires": { - "es6-promise": "^4.0.3" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "requires": { - "js-sha3": "^0.8.0" - } - }, - "ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - }, - "dependencies": { - "secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "requires": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - } - } - }, - "ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "requires": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", - "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - } - } - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "explain-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", - "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" - }, - "eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" - }, - "follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "fs-jetpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", - "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", - "requires": { - "minimatch": "^3.0.2", - "rimraf": "^2.6.3" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - }, - "dependencies": { - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "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-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "gluegun": { - "version": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", - "integrity": "sha512-BPKWUsKoAC+NeFXSNySObftw6lgKipegbbUuaKy6cPXm8z8bkHO3kbn6OVXwoJMkbCJubaFZJj9SGsevNfnJrg==", - "from": "gluegun@git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", - "requires": { - "apisauce": "^1.0.1", - "app-module-path": "^2.2.0", - "cli-table3": "~0.5.0", - "colors": "1.3.3", - "cosmiconfig": "6.0.0", - "cross-spawn": "^7.0.0", - "ejs": "^2.6.1", - "enquirer": "2.3.4", - "execa": "^3.0.0", - "fs-jetpack": "^2.2.2", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "lodash.lowercase": "^4.3.0", - "lodash.lowerfirst": "^4.3.1", - "lodash.pad": "^4.5.1", - "lodash.padend": "^4.6.1", - "lodash.padstart": "^4.6.1", - "lodash.repeat": "^4.1.0", - "lodash.snakecase": "^4.1.1", - "lodash.startcase": "^4.4.0", - "lodash.trim": "^4.5.1", - "lodash.trimend": "^4.5.1", - "lodash.trimstart": "^4.5.1", - "lodash.uppercase": "^4.3.0", - "lodash.upperfirst": "^4.3.1", - "ora": "^4.0.0", - "pluralize": "^8.0.0", - "ramdasauce": "^2.1.0", - "semver": "^7.0.0", - "which": "^2.0.0", - "yargs-parser": "^16.1.0" - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "graphql": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", - "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==" - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" - }, - "ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" - }, - "ipfs-block": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", - "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", - "requires": { - "cids": "~0.7.0", - "class-is": "^1.1.0" - } - }, - "ipfs-http-client": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", - "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", - "requires": { - "abort-controller": "^3.0.0", - "async": "^2.6.1", - "bignumber.js": "^9.0.0", - "bl": "^3.0.0", - "bs58": "^4.0.1", - "buffer": "^5.4.2", - "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^2.0.0", - "explain-error": "^1.0.4", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.1", - "ipfs-utils": "~0.0.3", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.3", - "ipld-raw": "^4.0.0", - "is-ipfs": "~0.6.1", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "iso-stream-http": "~0.1.2", - "iso-url": "~0.4.6", - "iterable-ndjson": "^1.1.0", - "just-kebab-case": "^1.1.0", - "just-map-keys": "^1.1.0", - "kind-of": "^6.0.2", - "ky": "^0.11.2", - "ky-universal": "^0.2.2", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.6", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", - "once": "^1.4.0", - "peer-id": "~0.12.3", - "peer-info": "~0.15.1", - "promise-nodeify": "^3.0.1", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "pull-to-stream": "~0.1.1", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.1.1", - "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.1", - "through2": "^3.0.1" - }, - "dependencies": { - "bl": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", - "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", - "requires": { - "readable-stream": "^3.0.1" - } - }, - "concat-stream": { - "version": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", - "integrity": "sha512-GBrsRGcg6w3ac6B49frS/FGwdeuWMognaZIGxLfZ93vP2z3bIhaI/Bgn3rrS49lI7lrFznULlNUjWYP4soqgvw==", - "from": "concat-stream@github:hugomrdias/concat-stream#feat/smaller", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^3.0.2" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - } - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - } - } - }, - "ipfs-utils": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", - "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", - "requires": { - "buffer": "^5.2.1", - "is-buffer": "^2.0.3", - "is-electron": "^2.2.0", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "kind-of": "^6.0.2", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "ipld-dag-cbor": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", - "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", - "requires": { - "borc": "^2.1.2", - "buffer": "^5.5.0", - "cids": "~0.8.0", - "is-circular": "^1.0.2", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - } - }, - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - } - } - } - }, - "ipld-dag-pb": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", - "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", - "requires": { - "cids": "~0.7.0", - "class-is": "^1.1.0", - "multicodec": "~0.5.1", - "multihashing-async": "~0.7.0", - "protons": "^1.0.1", - "stable": "~0.1.8" - }, - "dependencies": { - "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" - }, - "multihashing-async": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", - "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", - "requires": { - "blakejs": "^1.1.0", - "buffer": "^5.2.1", - "err-code": "^1.1.2", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js-revisited": "^3.0.0" - } - } - } - }, - "ipld-raw": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", - "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", - "requires": { - "cids": "~0.7.0", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, - "is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" - }, - "is-electron": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", - "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==" - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" - }, - "is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "requires": { - "ip-regex": "^4.0.0" - } - }, - "is-ipfs": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", - "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", - "requires": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - }, - "dependencies": { - "multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "requires": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - } - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" - }, - "is-pull-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", - "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "iso-random-stream": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", - "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", - "requires": { - "buffer": "^6.0.3", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "iso-stream-http": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", - "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "iso-url": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", - "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==" - }, - "isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "requires": {} - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "iterable-ndjson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", - "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", - "requires": { - "string_decoder": "^1.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - }, - "jayson": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", - "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", - "requires": { - "@types/connect": "^3.4.33", - "@types/express-serve-static-core": "^4.17.9", - "@types/lodash": "^4.14.159", - "@types/node": "^12.12.54", - "@types/ws": "^7.4.4", - "commander": "^2.20.3", - "delay": "^5.0.0", - "es6-promisify": "^5.0.0", - "eyes": "^0.1.8", - "isomorphic-ws": "^4.0.1", - "json-stringify-safe": "^5.0.1", - "JSONStream": "^1.3.5", - "lodash": "^4.17.20", - "uuid": "^8.3.2", - "ws": "^7.4.5" - }, - "dependencies": { - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - } - } - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - }, - "json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", - "requires": { - "delimit-stream": "0.1.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - }, - "dependencies": { - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } - } - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==" - }, - "JSONStream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", - "integrity": "sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA==", - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "just-kebab-case": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", - "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" - }, - "just-map-keys": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", - "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" - }, - "keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "keypair": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", - "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "ky": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", - "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==" - }, - "ky-universal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", - "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", - "requires": { - "abort-controller": "^3.0.0", - "node-fetch": "^2.3.0" - } - }, - "libp2p-crypto": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", - "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", - "requires": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "^0.10.0", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.10.0" - }, - "dependencies": { - "multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", - "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - } - } - } - }, - "libp2p-crypto-secp256k1": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", - "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", - "requires": { - "async": "^2.6.2", - "bs58": "^4.0.1", - "multihashing-async": "~0.6.0", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.2" - }, - "dependencies": { - "multihashing-async": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", - "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", - "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - } - } - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==" - }, - "lodash.lowercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.lowercase/-/lodash.lowercase-4.3.0.tgz", - "integrity": "sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA==" - }, - "lodash.lowerfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.lowerfirst/-/lodash.lowerfirst-4.3.1.tgz", - "integrity": "sha512-UUKX7VhP1/JL54NXg2aq/E1Sfnjjes8fNYTNkPU8ZmsaVeBvPHKdbNaN79Re5XRL01u6wbq3j0cbYZj71Fcu5w==" - }, - "lodash.pad": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", - "integrity": "sha512-mvUHifnLqM+03YNzeTBS1/Gr6JRFjd3rRx88FHWUvamVaT9k2O/kXha3yBSOwB9/DTQrSTLJNHvLBBt2FdX7Mg==" - }, - "lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==" - }, - "lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha512-sW73O6S8+Tg66eY56DBk85aQzzUJDtpoXFBgELMd5P/SotAguo+1kYO6RuYgXxA4HJH3LFTFPASX6ET6bjfriw==" - }, - "lodash.repeat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", - "integrity": "sha512-eWsgQW89IewS95ZOcr15HHCX6FVDxq3f2PNUIng3fyzsPev9imFQxIYdFZ6crl8L56UR6ZlGDLcEb3RZsCSSqw==" - }, - "lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" - }, - "lodash.startcase": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==" - }, - "lodash.trim": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trim/-/lodash.trim-4.5.1.tgz", - "integrity": "sha512-nJAlRl/K+eiOehWKDzoBVrSMhK0K3A3YQsUNXHQa5yIrKBAhsZgSu3KoAFoFT+mEgiyBHddZ0pRk1ITpIp90Wg==" - }, - "lodash.trimend": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimend/-/lodash.trimend-4.5.1.tgz", - "integrity": "sha512-lsD+k73XztDsMBKPKvzHXRKFNMohTjoTKIIo4ADLn5dA65LZ1BqlAvSXhR2rPEC3BgAUQnzMnorqDtqn2z4IHA==" - }, - "lodash.trimstart": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz", - "integrity": "sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ==" - }, - "lodash.uppercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.uppercase/-/lodash.uppercase-4.3.0.tgz", - "integrity": "sha512-+Nbnxkj7s8K5U8z6KnEYPGUOGp3woZbB7Ecs7v3LkkjLQSm2kP9SKIILitN1ktn2mB/tmM9oSlku06I+/lH7QA==" - }, - "lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==" - }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "requires": { - "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "mafmt": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", - "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", - "requires": { - "multiaddr": "^7.3.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "requires": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - } - } - }, - "matchstick-as": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.0.tgz", - "integrity": "sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg==", - "requires": { - "@graphprotocol/graph-ts": "^0.27.0", - "assemblyscript": "^0.19.20", - "wabt": "1.0.24" - }, - "dependencies": { - "assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "requires": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - } - }, - "binaryen": { - "version": "102.0.0-nightly.20211028", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", - "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==" - }, - "long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - } - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "requires": { - "yallist": "^4.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multiaddr": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", - "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", - "requires": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "hi-base32": "~0.5.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - }, - "dependencies": { - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==" - }, - "is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", - "requires": { - "ip-regex": "^2.0.0" - } - } - } - }, - "multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "requires": { - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "requires": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multihashing-async": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", - "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", - "requires": { - "blakejs": "^1.1.0", - "buffer": "^5.4.3", - "err-code": "^2.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^1.0.1", - "murmurhash3js-revisited": "^3.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - } - } - } - }, - "murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==" - }, - "murmurhash3js-revisited": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", - "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" - }, - "ndjson": { - "version": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", - "integrity": "sha512-4HWirDBroNYRKoq+8A7y0uvXlO0dF4p7URRRdqvPSgGjQFVpxpE4uasORXNxeRBMHQnXbTnUBVLXXagwKFH6AQ==", - "from": "ndjson@github:hugomrdias/ndjson#feat/readable-stream3", - "requires": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^3.1.0", - "through2": "^3.0.0" - } - }, - "node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" - }, - "node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==" - }, - "nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", - "requires": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", - "requires": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - } - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", - "requires": { - "wordwrap": "~0.0.2" - } - }, - "ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", - "requires": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "peer-id": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", - "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", - "requires": { - "async": "^2.6.3", - "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.1", - "multihashes": "~0.4.15" - } - }, - "peer-info": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", - "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", - "requires": { - "mafmt": "^6.0.2", - "multiaddr": "^6.0.3", - "peer-id": "~0.12.2", - "unique-by": "^1.0.0" - }, - "dependencies": { - "mafmt": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", - "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", - "requires": { - "multiaddr": "^6.1.0" - } - } - } - }, - "pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "requires": { - "asn1.js": "^5.0.1" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==" - }, - "pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==" - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", - "requires": { - "is-promise": "~1" - } - }, - "promise-nodeify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", - "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==" - }, - "promisify-es6": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", - "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==" - }, - "protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "protons": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", - "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", - "requires": { - "buffer": "^5.5.0", - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" - } - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "pull-to-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", - "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", - "requires": { - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" - }, - "ramdasauce": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", - "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", - "requires": { - "ramda": "^0.24.1" - }, - "dependencies": { - "ramda": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", - "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" - } - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "requires": { - "bn.js": "^5.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", - "requires": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" - }, - "dependencies": { - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==" - } - } - }, - "rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", - "requires": { - "optimist": "~0.3.5" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", - "requires": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", - "requires": { - "varint": "~5.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "split-ca": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", - "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" - }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "requires": { - "readable-stream": "^3.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", - "requires": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "requires": { - "get-port": "^3.1.0" - } - }, - "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - } - }, - "tar-fs": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", - "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", - "requires": { - "chownr": "^1.0.1", - "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" - }, - "dependencies": { - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - } - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - }, - "then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - }, - "promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "requires": { - "asap": "~2.0.6" - } - } - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, - "through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "requires": { - "rimraf": "^3.0.0" - } - }, - "tmp-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", - "requires": { - "tmp": "^0.2.0" - } - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "unique-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", - "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==" - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "ursa-optional": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", - "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", - "requires": { - "bindings": "^1.5.0", - "nan": "^2.14.2" - } - }, - "utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - } - } - }, - "wabt": { - "version": "1.0.24", - "resolved": "https://registry.npmjs.org/wabt/-/wabt-1.0.24.tgz", - "integrity": "sha512-8l7sIOd3i5GWfTWciPL0+ff/FK/deVK2Q6FN+MPz4vfUcD78i2M/49XJTwF6aml91uIiuXJEsLKWMB2cw/mtKg==" - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "requires": { - "defaults": "^1.0.3" - } - }, - "web3-eth-abi": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", - "integrity": "sha512-heqR0bWxgCJwjWIhq2sGyNj9bwun5+Xox/LdZKe+WMyTSy0cXDXEAgv3XKNkXC4JqdDt/ZlbTEx4TWak4TRMSg==", - "requires": { - "@ethersproject/abi": "5.0.7", - "web3-utils": "1.7.0" - } - }, - "web3-utils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.0.tgz", - "integrity": "sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w==", - "requires": { - "bn.js": "^4.11.9", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "ws": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz", - "integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==", - "requires": {} - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "requires": { - "@babel/runtime": "^7.9.2" - } - }, - "yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } -} diff --git a/InvestPool/package.json b/InvestPool/package.json deleted file mode 100644 index bb5f48e5..00000000 --- a/InvestPool/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "dexe", - "license": "UNLICENSED", - "scripts": { - "compile": "graph codegen && graph build", - "codegen": "graph codegen", - "build": "graph build", - "test": "graph test", - "coverage": "graph test -c", - "deploy": "graph deploy --node https://api.thegraph.com/deploy/ volodymyrzolotukhin/dexe", - "create-local": "graph create --node http://localhost:8020/ volodymyrzolotukhin/dexe", - "remove-local": "graph remove --node http://localhost:8020/ volodymyrzolotukhin/dexe", - "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 volodymyrzolotukhin/dexe" - }, - "dependencies": { - "@solarity/graph-lib": "^1.0.0-rc.5", - "@graphprotocol/graph-cli": "0.32.0", - "@graphprotocol/graph-ts": "0.27.0", - "matchstick-as": "^0.5.0" - } -} diff --git a/InvestPool/schema.graphql b/InvestPool/schema.graphql deleted file mode 100644 index e7e23824..00000000 --- a/InvestPool/schema.graphql +++ /dev/null @@ -1,89 +0,0 @@ -####################################### InvestPool ####################################### - -# @notice The entity that holds informations about pool -# @param id the pool address -# @param baseToken the address of base token -type InvestPool @entity(immutable: true) { - id: Bytes! # pool address - baseToken: Bytes! - - proposals: [Proposal!]! @derivedFrom(field: "investPool") -} - -####################################### Proposal ####################################### - -# @notice The entity holds information about proposal contract -# @param id forms from proposal contract address -# @param basicPool the basicPool entity -type ProposalContract @entity(immutable: true) { - id: Bytes! # proposal contract address - investPool: InvestPool! -} - -# @notice The entity holds information about proposal contract -# @param id forms from proposal contract address + proposal index -# @param proposalId the id of proposal at contract -# @param timestampLimit the timestamp from contract after which the investment into proposal closes -# @param investLPLimit the maximal number of invested LP tokens from contract after which the investment into the proposal closes -# @param leftTokens the current tokens at proposal balance -# @param leftAmounts the current amounts at proposal balance -# @param totalUSDSupply the supply in usd -# @param firstSupplyTimestamp the timestamp of first supply -# @param APR the apr of proposal -# @param investPool the investPool id (address), for reverse lookup -type Proposal @entity { - id: ID! # proposal address + proposal index - proposalId: BigInt! - timestampLimit: BigInt! - investLPLimit: BigInt! - - leftTokens: [Bytes!]! - leftAmounts: [BigInt!]! - - totalUSDSupply: BigInt! - firstSupplyTimestamp: BigInt! - APR: BigInt! - - investPool: InvestPool! - - withdraws: [Withdraw!]! @derivedFrom(field: "proposal") - supplies: [Supply!]! @derivedFrom(field: "proposal") -} - -# @notice The entity holds information about last withdraw in proposal -# @param id froms from proposal id -# @param hash the tx hash -# @param timestamp the timestamp of tx -# @param amountBase the amount of withdraw in base token -# @param proposal the proposal entity -type Withdraw @entity { - id: Bytes! # proposal entity id - hash: Bytes! - timestamp: BigInt! - amountBase: BigInt! - proposal: Proposal! -} - -# @notice The entity holds information about last supply in proposal -# @param id froms from proposal id -# @param hash the tx hash -# @param timestamp the timestamp of tx -# @param amountBase the amount of supply in base token -# @param amountDividendsToken the anount of supply in dividends token -# @param proposal the proposal entity -type Supply @entity { - id: Bytes! # proposal entity id - hash: Bytes! - timestamp: BigInt! - dividendsTokens: [Bytes!]! - amountDividendsTokens: [BigInt!]! - proposal: Proposal! -} - -# @notice The entity counts interactions in single tx -# @param id forms from tx hash -# @param count the counter of interactions in single tx -type InteractionCount @entity { - id: Bytes! - count: BigInt! -} diff --git a/InvestPool/src/entities/global/InteractionCount.ts b/InvestPool/src/entities/global/InteractionCount.ts deleted file mode 100644 index 493d7a08..00000000 --- a/InvestPool/src/entities/global/InteractionCount.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { InteractionCount } from "../../../generated/schema"; - -export function getInteractionCount(hash: Bytes): InteractionCount { - let counter = InteractionCount.load(hash); - - if (counter == null) { - counter = new InteractionCount(hash); - counter.count = BigInt.zero(); - } - return counter; -} diff --git a/InvestPool/src/entities/global/globals.ts b/InvestPool/src/entities/global/globals.ts deleted file mode 100644 index 7755b380..00000000 --- a/InvestPool/src/entities/global/globals.ts +++ /dev/null @@ -1,4 +0,0 @@ -export const DAY = 86400; -export const INVEST_POOL_NAME = "INVEST_POOL"; -export const PRICE_FEED_ADDRESS = "0x56d8412b75434671FbC6ad9c6b91Ba2d5E3817c1"; -export const PERCENTAGE_PRECISION = 10000; diff --git a/InvestPool/src/entities/invest-pool/InvestTraderPool.ts b/InvestPool/src/entities/invest-pool/InvestTraderPool.ts deleted file mode 100644 index 9ef55cb7..00000000 --- a/InvestPool/src/entities/invest-pool/InvestTraderPool.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Address } from "@graphprotocol/graph-ts"; -import { InvestPool } from "../../../generated/schema"; - -export function getInvestTraderPool(poolAddress: Address, basicTokenAddress: Address = Address.zero()): InvestPool { - let investPool = InvestPool.load(poolAddress); - - if (investPool == null) { - investPool = new InvestPool(poolAddress); - investPool.baseToken = basicTokenAddress; - } - - return investPool; -} diff --git a/InvestPool/src/entities/invest-pool/proposal/Proposal.ts b/InvestPool/src/entities/invest-pool/proposal/Proposal.ts deleted file mode 100644 index 791ef227..00000000 --- a/InvestPool/src/entities/invest-pool/proposal/Proposal.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { Proposal, ProposalContract } from "../../../../generated/schema"; - -export function getProposal( - index: BigInt, - proposalContract: ProposalContract, - timestampLimit: BigInt = BigInt.zero(), - investLPLimit: BigInt = BigInt.zero() -): Proposal { - let id = proposalContract.id.toHexString() + index.toString(); - let proposal = Proposal.load(id); - - if (proposal == null) { - proposal = new Proposal(id); - proposal.proposalId = index; - - proposal.timestampLimit = timestampLimit; - proposal.investLPLimit = investLPLimit; - proposal.investPool = proposalContract.investPool; - - proposal.leftTokens = new Array(); - proposal.leftAmounts = new Array(); - - proposal.totalUSDSupply = BigInt.zero(); - proposal.firstSupplyTimestamp = BigInt.zero(); - proposal.APR = BigInt.zero(); - } - - return proposal; -} diff --git a/InvestPool/src/entities/invest-pool/proposal/ProposalContract.ts b/InvestPool/src/entities/invest-pool/proposal/ProposalContract.ts deleted file mode 100644 index 4765d884..00000000 --- a/InvestPool/src/entities/invest-pool/proposal/ProposalContract.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Address, Bytes } from "@graphprotocol/graph-ts"; -import { ProposalContract } from "../../../../generated/schema"; - -export function getProposalContract( - proposalContractAddress: Address, - investPool: Bytes = Bytes.empty() -): ProposalContract { - let proposalContract = ProposalContract.load(proposalContractAddress); - - if (proposalContract == null) { - proposalContract = new ProposalContract(proposalContractAddress); - proposalContract.investPool = investPool; - } - - return proposalContract; -} diff --git a/InvestPool/src/entities/invest-pool/proposal/ProposalSupply.ts b/InvestPool/src/entities/invest-pool/proposal/ProposalSupply.ts deleted file mode 100644 index 7803cda8..00000000 --- a/InvestPool/src/entities/invest-pool/proposal/ProposalSupply.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { Proposal, Supply } from "../../../../generated/schema"; -import { increaseCounter } from "../../../helpers/IncreaseCounter"; -import { getInteractionCount } from "../../global/InteractionCount"; - -export function getSupply( - hash: Bytes, - proposal: Proposal, - dividendsTokens: Array = new Array(), - amountDividendsTokens: Array = new Array(), - timestamp: BigInt = BigInt.zero() -): Supply { - let counter = getInteractionCount(hash); - let id = hash.concatI32(counter.count.toI32()); - let supply = Supply.load(id); - - if (supply == null) { - supply = new Supply(id); - supply.hash = hash; - supply.proposal = proposal.id; - supply.dividendsTokens = dividendsTokens; - supply.amountDividendsTokens = amountDividendsTokens; - supply.timestamp = timestamp; - - increaseCounter(counter); - } - - return supply; -} diff --git a/InvestPool/src/entities/invest-pool/proposal/ProposalWithdraw.ts b/InvestPool/src/entities/invest-pool/proposal/ProposalWithdraw.ts deleted file mode 100644 index 48e8299b..00000000 --- a/InvestPool/src/entities/invest-pool/proposal/ProposalWithdraw.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { Proposal, Withdraw } from "../../../../generated/schema"; -import { increaseCounter } from "../../../helpers/IncreaseCounter"; -import { getInteractionCount } from "../../global/InteractionCount"; - -export function getWithdraw( - hash: Bytes, - proposal: Proposal, - amountBase: BigInt = BigInt.zero(), - timestamp: BigInt = BigInt.zero() -): Withdraw { - let counter = getInteractionCount(hash); - let id = hash.concatI32(counter.count.toI32()); - let withdraw = Withdraw.load(id); - - if (withdraw == null) { - withdraw = new Withdraw(id); - withdraw.hash = hash; - withdraw.proposal = proposal.id; - withdraw.amountBase = amountBase; - withdraw.timestamp = timestamp; - - increaseCounter(counter); - } - - return withdraw; -} diff --git a/InvestPool/src/helpers/ArrayHelper.ts b/InvestPool/src/helpers/ArrayHelper.ts deleted file mode 100644 index b909331d..00000000 --- a/InvestPool/src/helpers/ArrayHelper.ts +++ /dev/null @@ -1,9 +0,0 @@ -export function deleteByIndex(array: Array, index: i32): Array { - let tmp = array[array.length - 1]; - array[array.length - 1] = array[index]; - array[index] = tmp; - - array.pop(); - - return array; -} diff --git a/InvestPool/src/helpers/IncreaseCounter.ts b/InvestPool/src/helpers/IncreaseCounter.ts deleted file mode 100644 index 40aabc0c..00000000 --- a/InvestPool/src/helpers/IncreaseCounter.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; -import { InteractionCount } from "../../generated/schema"; - -export function increaseCounter(counter: InteractionCount): void { - counter.count = counter.count.plus(BigInt.fromI32(1)); - counter.save(); -} diff --git a/InvestPool/src/helpers/PriceFeedInteractions.ts b/InvestPool/src/helpers/PriceFeedInteractions.ts deleted file mode 100644 index eae51c51..00000000 --- a/InvestPool/src/helpers/PriceFeedInteractions.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { Address, BigInt, Bytes, log } from "@graphprotocol/graph-ts"; -import { PriceFeed } from "../../generated/templates/InvestProposal/PriceFeed"; -import { PRICE_FEED_ADDRESS } from "../entities/global/globals"; - -export function getUSDValue(token: Bytes, amount: BigInt): BigInt { - let pfPrototype = PriceFeed.bind(Address.fromString(PRICE_FEED_ADDRESS)); - - let resp = pfPrototype.try_getNormalizedPriceOutUSD(Address.fromString(token.toHexString()), amount); - if (resp.reverted) { - log.warning("try_getNormalizedPriceOutUSD reverted. FromToken: {}, Amount:{}", [ - token.toHexString(), - amount.toString(), - ]); - return BigInt.zero(); - } else { - if (resp.value.value1.length == 0) { - log.warning("try_getNormalizedPriceOutUSD returned 0 length path. FromToken: {}, Amount:{}", [ - token.toHexString(), - amount.toString(), - ]); - } - return resp.value.value0; - } -} - -export function getTokenValue(fromToken: Bytes, toToken: Bytes, amount: BigInt): BigInt { - let pfPrototype = PriceFeed.bind(Address.fromString(PRICE_FEED_ADDRESS)); - - let resp = pfPrototype.try_getNormalizedPriceOut(Address.fromBytes(fromToken), Address.fromBytes(toToken), amount); - if (resp.reverted) { - log.warning("try_getNormalizedPriceOut reverted. FromToken: {}, ToToken: {}, Amount:{}", [ - fromToken.toHexString(), - toToken.toHexString(), - amount.toString(), - ]); - return BigInt.zero(); - } else { - if (resp.value.value1.length == 0) { - log.warning("try_getNormalizedPriceOut returned 0 length path. FromToken: {}, ToToken: {}, Amount:{}", [ - fromToken.toHexString(), - toToken.toHexString(), - amount.toString(), - ]); - } - return resp.value.value0; - } -} diff --git a/InvestPool/src/mappings/PoolFactory.ts b/InvestPool/src/mappings/PoolFactory.ts deleted file mode 100644 index a0dac554..00000000 --- a/InvestPool/src/mappings/PoolFactory.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { TraderPoolDeployed } from "../../generated/PoolFactory/PoolFactory"; -import { INVEST_POOL_NAME } from "../entities/global/globals"; -import { getInvestTraderPool } from "../entities/invest-pool/InvestTraderPool"; -import { InvestProposal } from "../../generated/templates"; -import { getProposalContract } from "../entities/invest-pool/proposal/ProposalContract"; - -export function onDeployed(event: TraderPoolDeployed): void { - if (event.params.poolType == INVEST_POOL_NAME) { - let pool = getInvestTraderPool(event.params.at, event.params.basicToken); - pool.save(); - - getProposalContract(event.params.proposalContract, pool.id).save(); - - InvestProposal.create(event.params.proposalContract); - } -} diff --git a/InvestPool/src/mappings/TraderPoolInvestProposal.ts b/InvestPool/src/mappings/TraderPoolInvestProposal.ts deleted file mode 100644 index 2563db62..00000000 --- a/InvestPool/src/mappings/TraderPoolInvestProposal.ts +++ /dev/null @@ -1,190 +0,0 @@ -import { Address, BigInt, Bytes, log } from "@graphprotocol/graph-ts"; -import { upcastCopy } from "@solarity/graph-lib"; -import { - ProposalCreated, - ProposalWithdrawn, - ProposalSupplied, - ProposalClaimed, - ProposalConverted, -} from "../../generated/templates/InvestProposal/InvestProposal"; -import { InvestProposal } from "../../generated/templates/InvestProposal/InvestProposal"; -import { PriceFeed } from "../../generated/templates/InvestProposal/PriceFeed"; -import { DAY, PERCENTAGE_PRECISION, PRICE_FEED_ADDRESS } from "../entities/global/globals"; -import { getInvestTraderPool } from "../entities/invest-pool/InvestTraderPool"; -import { getProposal } from "../entities/invest-pool/proposal/Proposal"; -import { getProposalContract } from "../entities/invest-pool/proposal/ProposalContract"; -import { getSupply } from "../entities/invest-pool/proposal/ProposalSupply"; -import { getWithdraw } from "../entities/invest-pool/proposal/ProposalWithdraw"; -import { deleteByIndex } from "../helpers/ArrayHelper"; -import { getUSDValue } from "../helpers/PriceFeedInteractions"; - -export function onProposalCreated(event: ProposalCreated): void { - let proposalContract = getProposalContract(event.address); - let proposal = getProposal( - event.params.proposalId, - proposalContract, - event.params.proposalLimits[0].toBigInt(), - event.params.proposalLimits[1].toBigInt() - ); - proposal.save(); - proposalContract.save(); -} - -export function onProposalWithdrawn(event: ProposalWithdrawn): void { - proposalWithdrawn( - event.address, - event.params.proposalId, - event.params.amount, - event.transaction.hash, - event.block.timestamp - ); -} - -export function onProposalSupplied(event: ProposalSupplied): void { - proposalSupplied( - event.address, - event.params.proposalId, - event.params.amounts, - event.params.tokens, - event.transaction.hash, - event.block.timestamp - ); -} - -export function onProposalClaimed(event: ProposalClaimed): void { - let proposalContract = getProposalContract(event.address); - let proposal = getProposal(event.params.proposalId, proposalContract); - - let tokens = proposal.leftTokens; - let amounts = proposal.leftAmounts; - - let reduceTokens = new Array(); - - for (let i = 0; i < event.params.tokens.length; i++) { - let index = tokens.indexOf(event.params.tokens.at(i)); - - if (index != -1) { - amounts[index] = amounts.at(index).minus(event.params.amounts[i]); - - if (amounts.at(index) == BigInt.zero()) { - reduceTokens.push(tokens.at(index)); - } - } - } - - for (let i = 0; i < reduceTokens.length; i++) { - let index = tokens.indexOf(reduceTokens.at(i)); - - tokens = deleteByIndex(tokens, index); - amounts = deleteByIndex(amounts, index); - } - - proposal.leftTokens = tokens; - proposal.leftAmounts = amounts; - - proposal.save(); - proposalContract.save(); -} - -export function onProposalConverted(event: ProposalConverted): void { - proposalWithdrawn( - event.address, - event.params.proposalId, - event.params.amount, - event.transaction.hash, - event.block.timestamp - ); - proposalSupplied( - event.address, - event.params.proposalId, - [event.params.amount], - [event.params.baseToken], - event.transaction.hash, - event.block.timestamp - ); -} - -function totalTokenUSDCost(tokens: Array
, volumes: Array): BigInt { - let totalCost = BigInt.zero(); - - for (let i = 0; i < tokens.length; i++) { - totalCost = totalCost.plus(getUSDValue(tokens[i], volumes[i])); - } - - return totalCost; -} - -function getInvestedBaseInUSD(proposalAddress: Address, proposalId: BigInt, baseToken: Address): BigInt { - let proposalPrototype = InvestProposal.bind(proposalAddress); - let resp = proposalPrototype.try_getProposalInfos(proposalId.minus(BigInt.fromI32(1)), BigInt.fromI32(1)); - - if (resp.reverted) { - return BigInt.fromI32(1); - } - - let usd = getUSDValue(baseToken, resp.value[0].proposalInfo.investedBase); - - if (usd.equals(BigInt.zero())) { - return BigInt.fromI32(1); - } else { - return usd; - } -} - -function proposalWithdrawn(address: Address, proposalId: BigInt, amount: BigInt, hash: Bytes, timestamp: BigInt): void { - let proposalContract = getProposalContract(address); - let proposal = getProposal(proposalId, proposalContract); - let withdraw = getWithdraw(hash, proposal, amount, timestamp); - - withdraw.save(); - proposal.save(); - proposalContract.save(); -} - -function proposalSupplied( - address: Address, - proposalId: BigInt, - amounts: Array, - tokens: Array
, - hash: Bytes, - timestamp: BigInt -): void { - let proposalContract = getProposalContract(address); - let proposal = getProposal(proposalId, proposalContract); - let supply = getSupply(hash, proposal, upcastCopy(tokens), amounts, timestamp); - let pool = getInvestTraderPool(Address.fromBytes(proposalContract.investPool)); - - proposal.totalUSDSupply = proposal.totalUSDSupply.plus(totalTokenUSDCost(tokens, amounts)); - - if (proposal.firstSupplyTimestamp.equals(BigInt.zero())) { - proposal.firstSupplyTimestamp = timestamp; - } - - let difference = timestamp.minus(proposal.firstSupplyTimestamp).div(BigInt.fromU64(DAY)).plus(BigInt.fromI32(1)); - proposal.APR = proposal.totalUSDSupply - .times(BigInt.fromU64(PERCENTAGE_PRECISION)) - .times(BigInt.fromI32(365)) - .div(difference) - .div(getInvestedBaseInUSD(address, proposalId, Address.fromBytes(pool.baseToken))); - - let extendTokens = proposal.leftTokens; - let extendAmount = proposal.leftAmounts; - - for (let i = 0; i < tokens.length; i++) { - let index = extendTokens.indexOf(tokens.at(i)); - - if (index == -1) { - extendTokens.push(tokens.at(i)); - extendAmount.push(amounts.at(i)); - } else { - extendAmount[index] = extendAmount.at(index).plus(amounts.at(i)); - } - } - - proposal.leftTokens = extendTokens; - proposal.leftAmounts = extendAmount; - - supply.save(); - proposal.save(); - proposalContract.save(); -} diff --git a/InvestPool/subgraph.yaml b/InvestPool/subgraph.yaml deleted file mode 100644 index 5c384659..00000000 --- a/InvestPool/subgraph.yaml +++ /dev/null @@ -1,54 +0,0 @@ -specVersion: 0.0.4 -schema: - file: ./schema.graphql -dataSources: - - kind: ethereum/contract - name: PoolFactory - network: chapel - source: - address: "0x11d12802D7b5281addE998E81e7a3db97B133d07" - abi: PoolFactory - startBlock: 32093342 - mapping: - kind: ethereum/events - apiVersion: 0.0.6 - language: wasm/assemblyscript - file: ./src/mappings/PoolFactory.ts - entities: - - PoolFactory - abis: - - name: PoolFactory - file: ./abis/PoolFactory.json - eventHandlers: - - event: TraderPoolDeployed(string,string,string,address,address,address,address,uint256,string) - handler: onDeployed - -templates: - - kind: ethereum/contract - name: InvestProposal - network: chapel - source: - abi: InvestProposal - mapping: - kind: ethereum/events - apiVersion: 0.0.6 - language: wasm/assemblyscript - file: ./src/mappings/TraderPoolInvestProposal.ts - entities: - - ProposalContract - abis: - - name: InvestProposal - file: ./abis/TraderPoolInvestProposal.json - - name: PriceFeed - file: ./abis/PriceFeed.json - eventHandlers: - - event: ProposalCreated(uint256,(uint256,uint256)) - handler: onProposalCreated - - event: ProposalWithdrawn(uint256,address,uint256) - handler: onProposalWithdrawn - - event: ProposalSupplied(uint256,address,uint256[],address[]) - handler: onProposalSupplied - - event: ProposalClaimed(uint256,address,uint256[],address[]) - handler: onProposalClaimed - - event: ProposalConverted(uint256,address,uint256,address) - handler: onProposalConverted diff --git a/InvestPool/tests/PoolFactory.test.ts b/InvestPool/tests/PoolFactory.test.ts deleted file mode 100644 index cdfe0cbd..00000000 --- a/InvestPool/tests/PoolFactory.test.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { TraderPoolDeployed } from "../generated/PoolFactory/PoolFactory"; -import { afterEach, assert, clearStore, describe, newMockEvent, test } from "matchstick-as/assembly/index"; -import { getBlock, getTransaction } from "./utils"; -import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { onDeployed } from "../src/mappings/PoolFactory"; -import { INVEST_POOL_NAME } from "../src/entities/global/globals"; - -function createTraderPoolDeployed( - poolType: string, - symbol: string, - name: string, - at: Address, - proposalContract: Address, - trader: Address, - basicToken: Address, - commission: BigInt, - descriptionURL: string, - block: ethereum.Block, - tx: ethereum.Transaction -): TraderPoolDeployed { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("poolType", ethereum.Value.fromString(poolType))); - event.parameters.push(new ethereum.EventParam("symbol", ethereum.Value.fromString(symbol))); - event.parameters.push(new ethereum.EventParam("name", ethereum.Value.fromString(name))); - event.parameters.push(new ethereum.EventParam("at", ethereum.Value.fromAddress(at))); - event.parameters.push(new ethereum.EventParam("proposalContract", ethereum.Value.fromAddress(proposalContract))); - event.parameters.push(new ethereum.EventParam("trader", ethereum.Value.fromAddress(trader))); - event.parameters.push(new ethereum.EventParam("basicToken", ethereum.Value.fromAddress(basicToken))); - event.parameters.push(new ethereum.EventParam("commission", ethereum.Value.fromUnsignedBigInt(commission))); - event.parameters.push(new ethereum.EventParam("descriptionURL", ethereum.Value.fromString(descriptionURL))); - - event.block = block; - event.transaction = tx; - - return event; -} - -const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); -const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); - -describe("PoolFactory", () => { - afterEach(() => { - clearStore(); - }); - - test("should handle TraderPoolDeployed event", () => { - let expectedPoolType = INVEST_POOL_NAME; - let expectedSymbol = "INTP"; - let expectedName = "Invest Trader Pool"; - let expectedAt = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181679"); - let expectedProposalContract = Address.fromString("0x86e98f7d84603AEb97cd1c88A80A9e914f181679"); - let expectedTrader = Address.fromString("0x86e98f7d84603AEb97cd1c89A80A9e914f181699"); - let expectedBasicToken = Address.fromString("0x86e98f7d84603AEb97ad1c89A80A9e914f181679"); - let expectedCommission = BigInt.fromI32(300); - let expectedDescriptionURL = "URL"; - let event = createTraderPoolDeployed( - expectedPoolType, - expectedSymbol, - expectedName, - expectedAt, - expectedProposalContract, - expectedTrader, - expectedBasicToken, - expectedCommission, - expectedDescriptionURL, - block, - tx - ); - - onDeployed(event); - - assert.fieldEquals("InvestPool", expectedAt.toHexString(), "baseToken", expectedBasicToken.toHexString()); - assert.fieldEquals( - "ProposalContract", - expectedProposalContract.toHexString(), - "investPool", - expectedAt.toHexString() - ); - }); -}); diff --git a/InvestPool/tests/TraderPoolInvestProposal.test.ts b/InvestPool/tests/TraderPoolInvestProposal.test.ts deleted file mode 100644 index 4fdc183f..00000000 --- a/InvestPool/tests/TraderPoolInvestProposal.test.ts +++ /dev/null @@ -1,530 +0,0 @@ -import { - afterEach, - assert, - beforeAll, - beforeEach, - clearStore, - createMockedFunction, - describe, - newMockEvent, - test, -} from "matchstick-as/assembly/index"; -import { getBlock, getNextTx, getTransaction } from "./utils"; -import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { - ProposalClaimed, - ProposalConverted, - ProposalCreated, - ProposalCreatedProposalLimitsStruct, - ProposalSupplied, - ProposalWithdrawn, -} from "../generated/templates/InvestProposal/InvestProposal"; -import { getInvestTraderPool } from "../src/entities/invest-pool/InvestTraderPool"; -import { getProposalContract } from "../src/entities/invest-pool/proposal/ProposalContract"; -import { - onProposalCreated, - onProposalClaimed, - onProposalSupplied, - onProposalWithdrawn, - onProposalConverted, -} from "../src/mappings/TraderPoolInvestProposal"; -import { DAY, PRICE_FEED_ADDRESS } from "../src/entities/global/globals"; - -function createProposalCreated( - proposalId: BigInt, - proposalLimits: ProposalCreatedProposalLimitsStruct, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalCreated { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("proposalLimits", ethereum.Value.fromTuple(proposalLimits))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createProposalWithdrawn( - proposalId: BigInt, - user: Address, - amount: BigInt, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalWithdrawn { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createProposalSupplied( - proposalId: BigInt, - user: Address, - amounts: Array, - tokens: Array
, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalSupplied { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("amounts", ethereum.Value.fromUnsignedBigIntArray(amounts))); - event.parameters.push(new ethereum.EventParam("tokens", ethereum.Value.fromAddressArray(tokens))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createProposalClaimed( - proposalId: BigInt, - user: Address, - amounts: Array, - tokens: Array
, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalClaimed { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("amounts", ethereum.Value.fromUnsignedBigIntArray(amounts))); - event.parameters.push(new ethereum.EventParam("tokens", ethereum.Value.fromAddressArray(tokens))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -function createProposalConverted( - proposalId: BigInt, - user: Address, - amount: BigInt, - baseToken: Address, - sender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): ProposalConverted { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); - event.parameters.push(new ethereum.EventParam("baseToken", ethereum.Value.fromAddress(baseToken))); - - event.block = block; - event.transaction = tx; - event.address = sender; - - return event; -} - -const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); -const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); -const sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181679"); -const proposalId = BigInt.fromI32(1); -const pool = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181670"); -const baseToken = Address.fromString("0x86e08f7d84603AEb97cd1c81A80A9e914f181670"); -const expectedUSD = BigInt.fromI32(10).pow(18); - -describe("TraderPoolInvestProposal", () => { - beforeAll(() => { - createMockedFunction( - Address.fromString(PRICE_FEED_ADDRESS), - "getNormalizedPriceOutUSD", - "getNormalizedPriceOutUSD(address,uint256):(uint256,address[])" - ) - .withArgs([ - ethereum.Value.fromAddress(Address.fromString("0x86e08f7d84603aeb97cd1c89a80a9e914f181979")), - ethereum.Value.fromUnsignedBigInt(expectedUSD), - ]) - .returns([ethereum.Value.fromUnsignedBigInt(expectedUSD), ethereum.Value.fromAddressArray([sender, sender])]); - - createMockedFunction( - Address.fromString(PRICE_FEED_ADDRESS), - "getNormalizedPriceOutUSD", - "getNormalizedPriceOutUSD(address,uint256):(uint256,address[])" - ) - .withArgs([ - ethereum.Value.fromAddress(Address.fromString("0x86e08f7d84603aeb97cd1c89a85a9e914f181670")), - ethereum.Value.fromUnsignedBigInt(expectedUSD), - ]) - .returns([ethereum.Value.fromUnsignedBigInt(expectedUSD), ethereum.Value.fromAddressArray([sender, sender])]); - - createMockedFunction( - Address.fromString(PRICE_FEED_ADDRESS), - "getNormalizedPriceOutUSD", - "getNormalizedPriceOutUSD(address,uint256):(uint256,address[])" - ) - .withArgs([ - ethereum.Value.fromAddress(Address.fromString("0x86e08f7d84603aeb97cd1c89a85a9e914f181671")), - ethereum.Value.fromUnsignedBigInt(expectedUSD.times(BigInt.fromI32(10))), - ]) - .returns([ethereum.Value.fromUnsignedBigInt(expectedUSD), ethereum.Value.fromAddressArray([sender, sender])]); - - let mainTuple = new ethereum.Tuple(); - let uintTuple = new ethereum.Tuple(); - let proposalInfos = new ethereum.Tuple(); - - uintTuple.push(ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(1))); - uintTuple.push(ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(2))); - - proposalInfos.push(ethereum.Value.fromString("test")); - proposalInfos.push(ethereum.Value.fromTuple(uintTuple)); - proposalInfos.push(ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(3))); - proposalInfos.push(ethereum.Value.fromUnsignedBigInt(expectedUSD)); - proposalInfos.push(ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(5))); - - mainTuple.push(ethereum.Value.fromTuple(proposalInfos)); - mainTuple.push(ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(6))); - - createMockedFunction( - Address.fromString(sender.toHexString()), - "getProposalInfos", - "getProposalInfos(uint256,uint256):(((string,(uint256,uint256),uint256,uint256,uint256),uint256,uint256)[])" - ) - .withArgs([ - ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(0)), - ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(1)), - ]) - .returns([ethereum.Value.fromTupleArray([mainTuple])]); - - createMockedFunction( - Address.fromString(PRICE_FEED_ADDRESS), - "getNormalizedPriceOutUSD", - "getNormalizedPriceOutUSD(address,uint256):(uint256,address[])" - ) - .withArgs([ - ethereum.Value.fromAddress(Address.fromString("0x86e08f7d84603aeb97cd1c81a80a9e914f181670")), - ethereum.Value.fromUnsignedBigInt(expectedUSD), - ]) - .returns([ethereum.Value.fromUnsignedBigInt(expectedUSD), ethereum.Value.fromAddressArray([sender, sender])]); - }); - - beforeEach(() => { - let traderPool = getInvestTraderPool(pool, baseToken); - traderPool.save(); - let proposal = getProposalContract(sender, pool); - proposal.save(); - }); - - afterEach(() => { - clearStore(); - }); - - test("should handle ProposalCreated event", () => { - let proposalId = BigInt.fromI32(1); - let proposalLimits = new ProposalCreatedProposalLimitsStruct(3); - proposalLimits[0] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(1)); - proposalLimits[1] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(2)); - - let event = createProposalCreated(proposalId, proposalLimits, sender, block, tx); - - onProposalCreated(event); - - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "investPool", pool.toHexString()); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "proposalId", proposalId.toString()); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "timestampLimit", "1"); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "investLPLimit", "2"); - - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "leftTokens", "[]"); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "leftAmounts", "[]"); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "totalUSDSupply", "0"); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "firstSupplyTimestamp", "0"); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "APR", "0"); - - proposalId = BigInt.fromI32(2); - proposalLimits[0] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(3)); - proposalLimits[1] = ethereum.Value.fromUnsignedBigInt(BigInt.fromI32(4)); - - event = createProposalCreated(proposalId, proposalLimits, sender, block, tx); - - onProposalCreated(event); - - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "investPool", pool.toHexString()); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "proposalId", proposalId.toString()); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "timestampLimit", "3"); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "investLPLimit", "4"); - - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "leftTokens", "[]"); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "leftAmounts", "[]"); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "totalUSDSupply", "0"); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "firstSupplyTimestamp", "0"); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "APR", "0"); - }); - - test("should handle ProposalWithdrawn event", () => { - let user = Address.fromString("0x86e08f7d84603AEb97cd1c89A85A9e914f181679"); - let amount = BigInt.fromI32(10).pow(18); - - let event = createProposalWithdrawn(proposalId, user, amount, sender, block, tx); - - onProposalWithdrawn(event); - - assert.fieldEquals("Withdraw", event.transaction.hash.concatI32(0).toHexString(), "amountBase", amount.toString()); - assert.fieldEquals( - "Withdraw", - event.transaction.hash.concatI32(0).toHexString(), - "timestamp", - block.timestamp.toString() - ); - assert.fieldEquals( - "Withdraw", - event.transaction.hash.concatI32(0).toHexString(), - "proposal", - sender.toHexString() + proposalId.toString() - ); - assert.fieldEquals( - "Withdraw", - event.transaction.hash.concatI32(0).toHexString(), - "hash", - event.transaction.hash.toHexString() - ); - - const nextTx = getNextTx(tx); - user = Address.fromString("0x065049652b9d7C9fE9dD582970dB63a058788688"); - - event = createProposalWithdrawn(proposalId, user, amount, sender, block, nextTx); - - onProposalWithdrawn(event); - - assert.fieldEquals("Withdraw", event.transaction.hash.concatI32(0).toHexString(), "amountBase", amount.toString()); - assert.fieldEquals( - "Withdraw", - event.transaction.hash.concatI32(0).toHexString(), - "timestamp", - block.timestamp.toString() - ); - assert.fieldEquals( - "Withdraw", - event.transaction.hash.concatI32(0).toHexString(), - "proposal", - sender.toHexString() + proposalId.toString() - ); - assert.fieldEquals( - "Withdraw", - event.transaction.hash.concatI32(0).toHexString(), - "hash", - event.transaction.hash.toHexString() - ); - }); - - test("should handle ProposalSupplied event", () => { - let user = Address.fromString("0x86e08f7d84603AEb97cd1c89A85A9e914f181679"); - let tokens = [ - Address.fromString("0x86e08f7d84603AEb97cd1c89A85A9e914f181670"), - Address.fromString("0x86e08f7d84603AEb97cd1c89A85A9e914f181671"), - ]; - let amounts = [BigInt.fromI32(10).pow(18), BigInt.fromI32(10).pow(19)]; - - let event = createProposalSupplied(proposalId, user, amounts, tokens, sender, block, tx); - - onProposalSupplied(event); - - assert.fieldEquals( - "Supply", - event.transaction.hash.concatI32(0).toHexString(), - "dividendsTokens", - `[${tokens[0].toHexString()}, ${tokens[1].toHexString()}]` - ); - assert.fieldEquals( - "Supply", - event.transaction.hash.concatI32(0).toHexString(), - "amountDividendsTokens", - `[${amounts[0]}, ${amounts[1]}]` - ); - assert.fieldEquals("Supply", event.transaction.hash.concatI32(0).toHexString(), "timestamp", "1"); - assert.fieldEquals( - "Supply", - event.transaction.hash.concatI32(0).toHexString(), - "proposal", - sender.toHexString() + proposalId.toString() - ); - assert.fieldEquals( - "Supply", - event.transaction.hash.concatI32(0).toHexString(), - "hash", - event.transaction.hash.toHexString() - ); - - assert.fieldEquals( - "Proposal", - sender.toHexString() + proposalId.toString(), - "totalUSDSupply", - expectedUSD.times(BigInt.fromI32(2)).toString() - ); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "APR", "7300000"); - - assert.fieldEquals( - "Proposal", - sender.toHexString() + proposalId.toString(), - "leftTokens", - `[${tokens[0].toHexString()}, ${tokens[1].toHexString()}]` - ); - assert.fieldEquals( - "Proposal", - sender.toHexString() + proposalId.toString(), - "leftAmounts", - `[${amounts[0]}, ${amounts[1]}]` - ); - }); - - test("should handle ProposalClaimed event", () => { - let user = Address.fromString("0x86e08f7d84603AEb97cd1c89A85A9e914f181679"); - let tokens = [ - Address.fromString("0x86e08f7d84603AEb97cd1c89A85A9e914f181670"), - Address.fromString("0x86e08f7d84603AEb97cd1c89A85A9e914f181671"), - ]; - let amountsToSupply = [BigInt.fromI32(10).pow(18), BigInt.fromI32(10).pow(19)]; - - let amountsToClaim = [BigInt.fromI32(10).pow(17).times(BigInt.fromI32(5)), BigInt.fromI32(10).pow(19)]; - - let supplyEvent = createProposalSupplied(proposalId, user, amountsToSupply, tokens, sender, block, tx); - let claimEvent = createProposalClaimed(proposalId, user, amountsToClaim, tokens, sender, block, tx); - - onProposalSupplied(supplyEvent); - onProposalClaimed(claimEvent); - - assert.fieldEquals( - "Proposal", - sender.toHexString() + proposalId.toString(), - "leftTokens", - `[${tokens[0].toHexString()}]` - ); - assert.fieldEquals( - "Proposal", - sender.toHexString() + proposalId.toString(), - "leftAmounts", - `[${amountsToClaim[0]}]` - ); - - amountsToClaim.pop(); - claimEvent = createProposalClaimed(proposalId, user, amountsToClaim, tokens, sender, block, tx); - - onProposalClaimed(claimEvent); - - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "leftTokens", "[]"); - assert.fieldEquals("Proposal", sender.toHexString() + proposalId.toString(), "leftAmounts", "[]"); - }); - - test("should handle ProposalConverted", () => { - let user = Address.fromString("0x86e08f7d84603AEb97cd1c89A85A9e914f181679"); - let amount = BigInt.fromI32(10).pow(18); - let baseToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A85A9e914f181670"); - - let event = createProposalConverted(proposalId, user, amount, baseToken, sender, block, tx); - - onProposalConverted(event); - - assert.fieldEquals("Withdraw", event.transaction.hash.concatI32(0).toHexString(), "amountBase", amount.toString()); - assert.fieldEquals( - "Withdraw", - event.transaction.hash.concatI32(0).toHexString(), - "proposal", - sender.toHexString() + proposalId.toString() - ); - assert.fieldEquals( - "Withdraw", - event.transaction.hash.concatI32(0).toHexString(), - "hash", - event.transaction.hash.toHexString() - ); - - assert.fieldEquals( - "Supply", - event.transaction.hash.concatI32(1).toHexString(), - "dividendsTokens", - `[${baseToken.toHexString()}]` - ); - assert.fieldEquals( - "Supply", - event.transaction.hash.concatI32(1).toHexString(), - "amountDividendsTokens", - `[${amount}]` - ); - assert.fieldEquals("Supply", event.transaction.hash.concatI32(1).toHexString(), "timestamp", "1"); - assert.fieldEquals( - "Supply", - event.transaction.hash.concatI32(1).toHexString(), - "proposal", - sender.toHexString() + proposalId.toString() - ); - assert.fieldEquals( - "Supply", - event.transaction.hash.concatI32(1).toHexString(), - "hash", - event.transaction.hash.toHexString() - ); - - const nextTx = getNextTx(tx); - user = Address.fromString("0x065049652b9d7C9fE9dD582970dB63a058788688"); - event = createProposalConverted(proposalId, user, amount, baseToken, sender, block, nextTx); - - onProposalConverted(event); - - assert.fieldEquals("Withdraw", event.transaction.hash.concatI32(0).toHexString(), "amountBase", amount.toString()); - assert.fieldEquals( - "Withdraw", - event.transaction.hash.concatI32(0).toHexString(), - "proposal", - sender.toHexString() + proposalId.toString() - ); - assert.fieldEquals( - "Withdraw", - event.transaction.hash.concatI32(0).toHexString(), - "hash", - event.transaction.hash.toHexString() - ); - - assert.fieldEquals( - "Supply", - event.transaction.hash.concatI32(1).toHexString(), - "dividendsTokens", - `[${baseToken.toHexString()}]` - ); - assert.fieldEquals( - "Supply", - event.transaction.hash.concatI32(1).toHexString(), - "amountDividendsTokens", - `[${amount}]` - ); - assert.fieldEquals("Supply", event.transaction.hash.concatI32(1).toHexString(), "timestamp", "1"); - assert.fieldEquals( - "Supply", - event.transaction.hash.concatI32(1).toHexString(), - "proposal", - sender.toHexString() + proposalId.toString() - ); - assert.fieldEquals( - "Supply", - event.transaction.hash.concatI32(1).toHexString(), - "hash", - event.transaction.hash.toHexString() - ); - }); -}); diff --git a/InvestPool/tests/utils.ts b/InvestPool/tests/utils.ts deleted file mode 100644 index d4818bc1..00000000 --- a/InvestPool/tests/utils.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { Address, BigInt, Bytes, ethereum } from "@graphprotocol/graph-ts"; - -export function getBlock(number: BigInt, timestamp: BigInt): ethereum.Block { - return new ethereum.Block( - Bytes.empty(), - Bytes.empty(), - Bytes.empty(), - Address.zero(), - Bytes.empty(), - Bytes.empty(), - Bytes.empty(), - number, - BigInt.zero(), - BigInt.zero(), - timestamp, - BigInt.zero(), - BigInt.zero(), - BigInt.zero(), - BigInt.zero() - ); -} - -export function getTransaction(hash: Bytes): ethereum.Transaction { - return new ethereum.Transaction( - hash, - BigInt.zero(), - Address.zero(), - Address.zero(), - BigInt.zero(), - BigInt.zero(), - BigInt.zero(), - Bytes.empty(), - BigInt.zero() - ); -} - -export function getNextBlock(prevBlock: ethereum.Block): ethereum.Block { - return new ethereum.Block( - nextHash(prevBlock.hash), - prevBlock.hash, - prevBlock.unclesHash, - prevBlock.author, - prevBlock.stateRoot, - prevBlock.transactionsRoot, - prevBlock.receiptsRoot, - prevBlock.number.plus(BigInt.fromI32(1)), - prevBlock.gasUsed, - prevBlock.gasLimit, - prevBlock.timestamp.plus(BigInt.fromI32(1)), - prevBlock.difficulty, - prevBlock.totalDifficulty, - prevBlock.size, - prevBlock.baseFeePerGas - ); -} - -export function getNextTx(prevTx: ethereum.Transaction): ethereum.Transaction { - return new ethereum.Transaction( - nextHash(prevTx.hash), - prevTx.index, - prevTx.from, - prevTx.to, - prevTx.value, - prevTx.gasLimit, - prevTx.gasPrice, - prevTx.input, - prevTx.nonce.plus(BigInt.fromI32(1)) - ); -} - -function nextHash(prevHash: Bytes): Bytes { - return Bytes.fromByteArray(Bytes.fromU64(prevHash.toU64() + 1)); -} diff --git a/InvestPool/tsconfig.json b/InvestPool/tsconfig.json deleted file mode 100644 index 564fc4e6..00000000 --- a/InvestPool/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@graphprotocol/graph-ts/types/tsconfig.base.json", - "include": ["src", "src/entities/ProposalExchangeHistory.ts"] -} diff --git a/README.md b/README.md index dfc743cf..69cdac83 100644 --- a/README.md +++ b/README.md @@ -1,62 +1 @@ -# Deploying guide -Перед деплоем необходимо создать граф [тут](https://thegraph.com/hosted-service/dashboard), выполнить все шаги, предложенные сервисом, исключая - - graph init - -Далее необходимо заменить: -* адреса в файле subgraph.yaml в строках - - dataSoures > kind > source > address - -* номер блока, с которого будет начинаться идексация - - dataSoures > kind > source > startBlock - -* название сети в строках - - dataSoures > kind > network - -* поменять адреса на актуальные в файле - - src/entities/globals/globals.ts - -Для начала деплоинга необходимо выполнить - - graph deploy / - -# Общие сведения о the graph -Для Querying из приложения [предлагаются](https://thegraph.com/docs/en/developer/querying-from-your-app) пакеты: apollo client и URQL, также необходимо установить пакет graphql. - - npm install @apollo/client graphql - -(или) - - npm install urql graphql - -Для bsc нужно делать запрос на graph explorer: - - https://api.thegraph.com/subgraphs/name// - -Запрос в общем виде выглядит так: - - { - Entities(arg: value){ - field1 - field2 - } - } - -Если одно из полей имеет тип Entity, его нужно расписать по тому же принципу: - - { - Entities(arg: value){ - field1 - field2{ - field1 - } - } - } - -Если аргументов нет - нужно писать без (). - -Больше примеров [тут](https://thegraph.com/docs/en/developer/graphql-api/). \ No newline at end of file +# DEXE DAO Graph \ No newline at end of file diff --git a/package.json b/package.json index 4e8dba6f..24a43c6e 100644 --- a/package.json +++ b/package.json @@ -3,9 +3,9 @@ "license": "UNLICENSED", "scripts": { "install": "npx husky install", - "install-all": "cd AllInteractions && npm install && cd ../AllPools && npm install && cd ../AllPoolsInvestors && npm install && cd ../BasicPool && npm install && cd ../DaoPools && npm install && cd ../DaoValidators && npm install && cd ../InvestPool && npm install", - "compile-all": "cd AllInteractions && npm run compile && cd ../AllPools && npm run compile && cd ../AllPoolsInvestors && npm run compile && cd ../BasicPool && npm run compile && cd ../DaoPools && npm run compile && cd ../DaoValidators && npm run compile && cd ../InvestPool && npm run compile", - "test-all": "cd AllInteractions && npm run test && cd ../AllPools && npm run test && cd ../AllPoolsInvestors && npm run test && cd ../BasicPool && npm run test && cd ../DaoPools && npm run test && cd ../DaoValidators && npm run test && cd ../InvestPool && npm run test", + "install-all": "cd AllInteractions && npm install && cd ../DaoPools && npm install && cd ../DaoValidators && npm install", + "codegen-all": "cd AllInteractions && npm run codegen && cd ../DaoPools && npm run codegen && cd ../DaoValidators && npm run codegen", + "test-all": "cd AllInteractions && npm run test && cd ../DaoPools && npm run test && cd ../DaoValidators && npm run test", "lint-fix": "npm run lint-ts-fix && npm run lint-ql-fix && npm run lint-json-fix && npm run lint-yaml-fix", "lint-json-fix": "prettier --write \"./[a-zA-Z0-9.]+(?!-lock).json\"", "lint-yaml-fix": "prettier --write \"./**/*.yaml\"", From 624febb1cadcd27570e89b32844e678e82b4c5de Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Mon, 21 Aug 2023 13:18:45 +0300 Subject: [PATCH 20/44] Feature/extract dp (#124) * removed trader pools * changed DaoPoolDeployed, ProposalCreated, DistributionProposalClaimed events. Removed DPCreated, DaoTokenSaleDeployed events * updated DistributionProposal abi --- AllInteractions/abis/DaoPool.json | 164 +- AllInteractions/abis/PoolFactory.json | 799 ++---- AllInteractions/abis/TraderPool.json | 2352 ----------------- .../abis/TraderPoolInvestProposal.json | 1241 --------- .../abis/TraderPoolRiskyProposal.json | 1484 ----------- AllInteractions/src/mappings/PoolFactory.ts | 4 +- AllInteractions/subgraph.yaml | 4 +- AllInteractions/tests/DaoPool.test.ts | 3 +- AllInteractions/tests/PoolFactory.test.ts | 23 +- DaoPools/abis/DaoPool.json | 77 +- DaoPools/abis/DistributionProposal.json | 36 +- DaoPools/abis/PoolFactory.json | 799 ++---- DaoPools/schema.graphql | 19 +- DaoPools/src/entities/DistributionProposal.ts | 21 - DaoPools/src/entities/Proposal.ts | 5 +- DaoPools/src/mappings/DaoPool.ts | 22 +- DaoPools/src/mappings/DistributionProposal.ts | 11 +- DaoPools/src/mappings/PoolFactory.ts | 27 +- DaoPools/subgraph.yaml | 10 +- DaoPools/tests/DaoPool.test.ts | 66 +- DaoPools/tests/DistributionProposal.test.ts | 14 +- DaoPools/tests/PoolFactory.test.ts | 54 +- DaoValidators/abis/PoolFactory.json | 799 ++---- DaoValidators/src/mappings/PoolFactory.ts | 4 +- DaoValidators/subgraph.yaml | 2 +- DaoValidators/tests/DaoValidators.test.ts | 7 +- DaoValidators/tests/PoolFactory.test.ts | 45 +- 27 files changed, 862 insertions(+), 7230 deletions(-) delete mode 100644 AllInteractions/abis/TraderPool.json delete mode 100644 AllInteractions/abis/TraderPoolInvestProposal.json delete mode 100644 AllInteractions/abis/TraderPoolRiskyProposal.json delete mode 100644 DaoPools/src/entities/DistributionProposal.ts diff --git a/AllInteractions/abis/DaoPool.json b/AllInteractions/abis/DaoPool.json index bef8f5cb..351d74fb 100644 --- a/AllInteractions/abis/DaoPool.json +++ b/AllInteractions/abis/DaoPool.json @@ -1,4 +1,60 @@ [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "nfts", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isDelegate", + "type": "bool" + } + ], + "name": "DelegatedTreasury", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "StakingRewardClaimed", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -167,37 +223,6 @@ "name": "ProposalExecuted", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "DPCreated", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -233,10 +258,50 @@ "type": "string" }, { + "components": [ + { + "internalType": "address", + "name": "executor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], "indexed": false, - "internalType": "string", - "name": "misc", - "type": "string" + "internalType": "struct IGovPool.ProposalAction[]", + "name": "actionsOnFor", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "executor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "indexed": false, + "internalType": "struct IGovPool.ProposalAction[]", + "name": "actionsOnAgainst", + "type": "tuple[]" }, { "indexed": false, @@ -303,37 +368,6 @@ "name": "Delegated", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "nfts", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isDelegate", - "type": "bool" - } - ], - "name": "DelegatedTreasury", - "type": "event" - }, { "anonymous": false, "inputs": [ diff --git a/AllInteractions/abis/PoolFactory.json b/AllInteractions/abis/PoolFactory.json index f572bda1..300d71c5 100644 --- a/AllInteractions/abis/PoolFactory.json +++ b/AllInteractions/abis/PoolFactory.json @@ -15,58 +15,42 @@ "type": "address" }, { + "components": [ + { + "internalType": "address", + "name": "settingsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "userKeeperAddress", + "type": "address" + }, + { + "internalType": "address payable", + "name": "validatorsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "expertNftAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "nftMultiplierAddress", + "type": "address" + } + ], "indexed": false, - "internalType": "address", - "name": "dp", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "validators", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "settings", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "govUserKeeper", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "localExpertNft", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nftMultiplier", - "type": "address" + "internalType": "struct IGovPool.Dependencies", + "name": "govPoolDeps", + "type": "tuple" }, { "indexed": false, "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "DaoPoolDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "govPool", + "name": "distributionProposal", "type": "address" }, { @@ -80,142 +64,17 @@ "internalType": "address", "name": "token", "type": "address" - } - ], - "name": "DaoTokenSaleDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "poolType", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "address", - "name": "at", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "proposalContract", - "type": "address" }, { "indexed": false, "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "basicToken", + "name": "sender", "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "commission", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "descriptionURL", - "type": "string" } ], - "name": "TraderPoolDeployed", + "name": "DaoPoolDeployed", "type": "event" }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.TraderPoolDeployParameters", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployBasicPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [ { @@ -402,282 +261,143 @@ "name": "userKeeperParams", "type": "tuple" }, - { - "internalType": "address", - "name": "nftMultiplierAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" - }, - { - "internalType": "address", - "name": "verifier", - "type": "address" - }, - { - "internalType": "bool", - "name": "onlyBABHolders", - "type": "bool" - }, - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "internalType": "struct IPoolFactory.GovPoolDeployParams", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployGovPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ { "components": [ { "components": [ { - "internalType": "bool", - "name": "earlyCompletion", - "type": "bool" + "components": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "internalType": "struct ITokenSaleProposal.TierMetadata", + "name": "metadata", + "type": "tuple" }, { - "internalType": "bool", - "name": "delegatedVotingAllowed", - "type": "bool" + "internalType": "uint256", + "name": "totalTokenProvided", + "type": "uint256" }, { - "internalType": "bool", - "name": "validatorsVote", - "type": "bool" + "internalType": "uint64", + "name": "saleStartTime", + "type": "uint64" }, { "internalType": "uint64", - "name": "duration", + "name": "saleEndTime", "type": "uint64" }, { "internalType": "uint64", - "name": "durationValidators", + "name": "claimLockDuration", "type": "uint64" }, { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "internalType": "address", + "name": "saleTokenAddress", + "type": "address" }, { - "internalType": "uint128", - "name": "quorumValidators", - "type": "uint128" + "internalType": "address[]", + "name": "purchaseTokenAddresses", + "type": "address[]" }, { - "internalType": "uint256", - "name": "minVotesForVoting", - "type": "uint256" + "internalType": "uint256[]", + "name": "exchangeRates", + "type": "uint256[]" }, { "internalType": "uint256", - "name": "minVotesForCreating", + "name": "minAllocationPerUser", "type": "uint256" }, { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" + "internalType": "uint256", + "name": "maxAllocationPerUser", + "type": "uint256" }, { "components": [ - { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, { "internalType": "uint256", - "name": "creationReward", + "name": "vestingPercentage", "type": "uint256" }, { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "vestingDuration", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" + "internalType": "uint64", + "name": "cliffPeriod", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", - "type": "uint256" + "internalType": "uint64", + "name": "unlockStep", + "type": "uint64" } ], - "internalType": "struct IGovSettings.RewardsInfo", - "name": "rewardsInfo", + "internalType": "struct ITokenSaleProposal.VestingSettings", + "name": "vestingSettings", "type": "tuple" }, { - "internalType": "string", - "name": "executorDescription", - "type": "string" + "components": [ + { + "internalType": "enum ITokenSaleProposal.ParticipationType", + "name": "participationType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ITokenSaleProposal.ParticipationDetails", + "name": "participationDetails", + "type": "tuple" } ], - "internalType": "struct IGovSettings.ProposalSettings[]", - "name": "proposalSettings", + "internalType": "struct ITokenSaleProposal.TierInitParams[]", + "name": "tiersParams", "type": "tuple[]" }, - { - "internalType": "address[]", - "name": "additionalProposalExecutors", - "type": "address[]" - } - ], - "internalType": "struct IPoolFactory.SettingsDeployParams", - "name": "settingsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, { "components": [ { - "internalType": "uint64", - "name": "duration", - "type": "uint64" + "internalType": "uint256", + "name": "tierId", + "type": "uint256" }, { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" + "internalType": "address[]", + "name": "users", + "type": "address[]" }, { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "internalType": "string", + "name": "uri", + "type": "string" } ], - "internalType": "struct IGovValidators.ProposalSettings", - "name": "proposalSettings", - "type": "tuple" - }, - { - "internalType": "address[]", - "name": "validators", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "balances", - "type": "uint256[]" - } - ], - "internalType": "struct IPoolFactory.ValidatorsDeployParams", - "name": "validatorsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "nftAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalPowerInTokens", - "type": "uint256" + "internalType": "struct ITokenSaleProposal.WhitelistingRequest[]", + "name": "whitelistParams", + "type": "tuple[]" }, - { - "internalType": "uint256", - "name": "nftsTotalSupply", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.UserKeeperDeployParams", - "name": "userKeeperParams", - "type": "tuple" - }, - { - "internalType": "address", - "name": "nftMultiplierAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" - }, - { - "internalType": "address", - "name": "verifier", - "type": "address" - }, - { - "internalType": "bool", - "name": "onlyBABHolders", - "type": "bool" - }, - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "internalType": "struct IPoolFactory.GovPoolDeployParams", - "name": "parameters", - "type": "tuple" - }, - { - "components": [ - { - "components": [ { "components": [ { @@ -687,249 +407,81 @@ }, { "internalType": "string", - "name": "description", + "name": "symbol", "type": "string" - } - ], - "internalType": "struct ITokenSaleProposal.TierMetadata", - "name": "metadata", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "totalTokenProvided", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "saleStartTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "saleEndTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "claimLockDuration", - "type": "uint64" - }, - { - "internalType": "address", - "name": "saleTokenAddress", - "type": "address" - }, - { - "internalType": "address[]", - "name": "purchaseTokenAddresses", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "exchangeRates", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "minAllocationPerUser", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxAllocationPerUser", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "vestingPercentage", - "type": "uint256" }, { - "internalType": "uint64", - "name": "vestingDuration", - "type": "uint64" + "internalType": "address[]", + "name": "users", + "type": "address[]" }, { - "internalType": "uint64", - "name": "cliffPeriod", - "type": "uint64" + "internalType": "uint256", + "name": "saleAmount", + "type": "uint256" }, { - "internalType": "uint64", - "name": "unlockStep", - "type": "uint64" - } - ], - "internalType": "struct ITokenSaleProposal.VestingSettings", - "name": "vestingSettings", - "type": "tuple" - }, - { - "components": [ + "internalType": "uint256", + "name": "cap", + "type": "uint256" + }, { - "internalType": "enum ITokenSaleProposal.ParticipationType", - "name": "participationType", - "type": "uint8" + "internalType": "uint256", + "name": "mintedTotal", + "type": "uint256" }, { - "internalType": "bytes", - "name": "data", - "type": "bytes" + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" } ], - "internalType": "struct ITokenSaleProposal.ParticipationDetails", - "name": "participationDetails", + "internalType": "struct IERC20Sale.ConstructorParams", + "name": "tokenParams", "type": "tuple" } ], - "internalType": "struct ITokenSaleProposal.TierInitParams[]", - "name": "tiersParams", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "tierId", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" - }, - { - "internalType": "string", - "name": "uri", - "type": "string" - } - ], - "internalType": "struct ITokenSaleProposal.WhitelistingRequest[]", - "name": "whitelistParams", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "saleAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "cap", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintedTotal", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "internalType": "struct IERC20Sale.ConstructorParams", - "name": "tokenParams", + "internalType": "struct IPoolFactory.TokenSaleProposalDeployParams", + "name": "tokenSaleParams", "type": "tuple" - } - ], - "internalType": "struct IPoolFactory.GovTokenSaleProposalDeployParams", - "name": "tokenSaleParameters", - "type": "tuple" - } - ], - "name": "deployGovPoolWithTokenSale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" }, { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" }, { "internalType": "uint256", - "name": "totalLPEmission", + "name": "expertVoteModifier", "type": "uint256" }, { "internalType": "address", - "name": "baseToken", + "name": "verifier", "type": "address" }, { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" + "internalType": "bool", + "name": "onlyBABHolders", + "type": "bool" }, { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" + "internalType": "string", + "name": "descriptionURL", + "type": "string" }, { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" + "internalType": "string", + "name": "name", + "type": "string" } ], - "internalType": "struct IPoolFactory.TraderPoolDeployParameters", + "internalType": "struct IPoolFactory.GovPoolDeployParams", "name": "parameters", "type": "tuple" } ], - "name": "deployInvestPool", + "name": "deployGovPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -940,7 +492,7 @@ "outputs": [ { "internalType": "address", - "name": "_injector", + "name": "injector_", "type": "address" } ], @@ -963,19 +515,41 @@ "name": "predictGovAddresses", "outputs": [ { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" + "components": [ + { + "internalType": "address", + "name": "govPool", + "type": "address" + }, + { + "internalType": "address", + "name": "govToken", + "type": "address" + }, + { + "internalType": "address", + "name": "govTokenSale", + "type": "address" + }, + { + "internalType": "address", + "name": "distributionProposal", + "type": "address" + }, + { + "internalType": "address", + "name": "expertNft", + "type": "address" + }, + { + "internalType": "address", + "name": "nftMultiplier", + "type": "address" + } + ], + "internalType": "struct IPoolFactory.GovPoolPredictedAddresses", + "name": "predictedAddresses", + "type": "tuple" } ], "stateMutability": "view", @@ -987,6 +561,11 @@ "internalType": "address", "name": "contractsRegistry", "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" } ], "name": "setDependencies", @@ -998,7 +577,7 @@ "inputs": [ { "internalType": "address", - "name": "_injector", + "name": "injector_", "type": "address" } ], diff --git a/AllInteractions/abis/TraderPool.json b/AllInteractions/abis/TraderPool.json deleted file mode 100644 index 89519c3b..00000000 --- a/AllInteractions/abis/TraderPool.json +++ /dev/null @@ -1,2352 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "divestedLP2", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedBase", - "type": "uint256" - } - ], - "name": "ProposalDivested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP2", - "type": "uint256" - } - ], - "name": "ProposalInvested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "ProposalJoined", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "ProposalLeft", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "ProposalRestrictionsChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "TransferBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TransferSingle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "value", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "parentPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - } - ], - "internalType": "struct ITraderPoolProposal.ParentTraderPoolInfo", - "name": "parentTraderPoolInfo", - "type": "tuple" - } - ], - "name": "__TraderPoolProposal_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "accounts", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - } - ], - "name": "balanceOfBatch", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "exists", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBaseToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInvestedBaseInUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "investedBaseUSD", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getTotalActiveInvestments", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "investedBase", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalsTotalNum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeBatchTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "totalLPBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalLockedLP", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "uri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "descriptionURL", - "type": "string" - } - ], - "name": "DescriptionURLChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "admins", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "ModifiedAdmins", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "privateInvestors", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "ModifiedPrivateInvestors", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "fromToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "toToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fromVolume", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toVolume", - "type": "uint256" - } - ], - "name": "Exchanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "position", - "type": "address" - } - ], - "name": "PositionClosed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "position", - "type": "address" - } - ], - "name": "PositionOpened", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "traderLpClaimed", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "traderBaseClaimed", - "type": "uint256" - } - ], - "name": "CommissionClaimed", - "type": "event" - }, - { - "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": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "divestedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedBase", - "type": "uint256" - } - ], - "name": "Divested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP", - "type": "uint256" - } - ], - "name": "Invested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "Joined", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "Left", - "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": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderBABTId", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.PoolParameters", - "name": "poolParameters", - "type": "tuple" - } - ], - "name": "__TraderPool_init", - "outputs": [], - "stateMutability": "nonpayable", - "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": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "canRemovePrivateInvestor", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - } - ], - "name": "changePoolParameters", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "coreProperties", - "outputs": [ - { - "internalType": "contract ICoreProperties", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "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": [], - "name": "dexeToken", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amountLP", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "minBaseOut", - "type": "uint256[]" - } - ], - "name": "divest", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountBound", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "enum ITraderPool.ExchangeType", - "name": "exType", - "type": "uint8" - } - ], - "name": "exchange", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountLP", - "type": "uint256" - } - ], - "name": "getDivestAmountsAndCommissions", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpAmount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "positions", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "givenAmounts", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "receivedAmounts", - "type": "uint256[]" - } - ], - "internalType": "struct ITraderPool.Receptions", - "name": "receptions", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "traderBaseCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderLPCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderUSDCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeBaseCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeLPCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeUSDCommission", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.Commissions", - "name": "commissions", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "enum ITraderPool.ExchangeType", - "name": "exType", - "type": "uint8" - } - ], - "name": "getExchangeAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "name": "getInvestInitialTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "lpAmount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amountInBaseToInvest", - "type": "uint256" - } - ], - "name": "getInvestTokens", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpAmount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "positions", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "givenAmounts", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "receivedAmounts", - "type": "uint256[]" - } - ], - "internalType": "struct ITraderPool.Receptions", - "name": "receptions", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getLeverageInfo", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "totalPoolUSDWithProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderLeverageUSDTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "freeLeverageUSD", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "freeLeverageBase", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.LeverageInfo", - "name": "leverageInfo", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getNextCommissionEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPoolInfo", - "outputs": [ - { - "components": [ - { - "internalType": "string", - "name": "ticker", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderBABTId", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.PoolParameters", - "name": "parameters", - "type": "tuple" - }, - { - "internalType": "address[]", - "name": "openPositions", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "baseAndPositionBalances", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "totalBlacklistedPositions", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalInvestors", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalPoolUSD", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalPoolBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpSupply", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpLockedInProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderUSD", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderLPBalance", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.PoolInfo", - "name": "poolInfo", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "offsetLimits", - "type": "uint256[]" - } - ], - "name": "getReinvestCommissions", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "traderBaseCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderLPCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "traderUSDCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeBaseCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeLPCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "dexeUSDCommission", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.Commissions", - "name": "commissions", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTraderBABTId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "getUsersInfo", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "commissionUnlockTimestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "poolLPBalance", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "poolUSDShare", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "poolBaseShare", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "owedBaseCommission", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "owedLPCommission", - "type": "uint256" - } - ], - "internalType": "struct ITraderPool.UserInfo[]", - "name": "usersInfo", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "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": [ - { - "internalType": "uint256", - "name": "amountInBaseToInvest", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "minPositionsOut", - "type": "uint256[]" - } - ], - "name": "invest", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "minLPOut", - "type": "uint256" - } - ], - "name": "investInitial", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "investorsInfo", - "outputs": [ - { - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "commissionUnlockEpoch", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "who", - "type": "address" - } - ], - "name": "isBABTHolder", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "who", - "type": "address" - } - ], - "name": "isPrivateInvestor", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "who", - "type": "address" - } - ], - "name": "isTrader", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "who", - "type": "address" - } - ], - "name": "isTraderAdmin", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "latestInvestBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "admins", - "type": "address[]" - }, - { - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "modifyAdmins", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "privateInvestors", - "type": "address[]" - }, - { - "internalType": "bool", - "name": "add", - "type": "bool" - } - ], - "name": "modifyPrivateInvestors", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "openPositions", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalPoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "offsetLimits", - "type": "uint256[]" - } - ], - "name": "reinvestCommission", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "setLatestInvestBlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalEmission", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalInvestors", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "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": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "lpAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - } - ], - "name": "updateFrom", - "outputs": [ - { - "internalType": "uint256", - "name": "baseTransfer", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "lpAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - } - ], - "name": "updateTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/AllInteractions/abis/TraderPoolInvestProposal.json b/AllInteractions/abis/TraderPoolInvestProposal.json deleted file mode 100644 index d247c78f..00000000 --- a/AllInteractions/abis/TraderPoolInvestProposal.json +++ /dev/null @@ -1,1241 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - } - ], - "name": "ProposalClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "baseToken", - "type": "address" - } - ], - "name": "ProposalConverted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "timestampLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investLPLimit", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct ITraderPoolInvestProposal.ProposalLimits", - "name": "proposalLimits", - "type": "tuple" - } - ], - "name": "ProposalCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "divestedLP2", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedBase", - "type": "uint256" - } - ], - "name": "ProposalDivested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP2", - "type": "uint256" - } - ], - "name": "ProposalInvested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "ProposalJoined", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "ProposalLeft", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "ProposalRestrictionsChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - } - ], - "name": "ProposalSupplied", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ProposalWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "TransferBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TransferSingle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "value", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "parentPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - } - ], - "internalType": "struct ITraderPoolProposal.ParentTraderPoolInfo", - "name": "parentTraderPoolInfo", - "type": "tuple" - } - ], - "name": "__TraderPoolInvestProposal_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "parentPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - } - ], - "internalType": "struct ITraderPoolProposal.ParentTraderPoolInfo", - "name": "parentTraderPoolInfo", - "type": "tuple" - } - ], - "name": "__TraderPoolProposal_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "accounts", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - } - ], - "name": "balanceOfBatch", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "timestampLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investLPLimit", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolInvestProposal.ProposalLimits", - "name": "proposalLimits", - "type": "tuple" - } - ], - "name": "changeProposalRestrictions", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "convertInvestedBaseToDividends", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "timestampLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investLPLimit", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolInvestProposal.ProposalLimits", - "name": "proposalLimits", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "lpInvestment", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseInvestment", - "type": "uint256" - } - ], - "name": "create", - "outputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "divest", - "outputs": [ - { - "internalType": "uint256", - "name": "claimedBase", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "exists", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "getActiveInvestmentsInfo", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lp2Balance", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseInvested", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpInvested", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolInvestProposal.ActiveInvestmentInfo[]", - "name": "investments", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBaseToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInvestedBaseInUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "investedBaseUSD", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "getProposalInfos", - "outputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "timestampLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investLPLimit", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolInvestProposal.ProposalLimits", - "name": "proposalLimits", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "lpLocked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "newInvestedBase", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolInvestProposal.ProposalInfo", - "name": "proposalInfo", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "lp2Supply", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalInvestors", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolInvestProposal.ProposalInfoExtended[]", - "name": "proposals", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "proposalIds", - "type": "uint256[]" - }, - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getRewards", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "totalUsdAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalBaseAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseAmountFromRewards", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - } - ], - "internalType": "struct ITraderPoolInvestProposal.Reception[]", - "name": "rewards", - "type": "tuple[]" - } - ], - "internalType": "struct ITraderPoolInvestProposal.Receptions", - "name": "receptions", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getTotalActiveInvestments", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "lpInvestment", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseInvestment", - "type": "uint256" - } - ], - "name": "invest", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "investedBase", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalsTotalNum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeBatchTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "addresses", - "type": "address[]" - } - ], - "name": "supply", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "totalLPBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalLockedLP", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "uri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/AllInteractions/abis/TraderPoolRiskyProposal.json b/AllInteractions/abis/TraderPoolRiskyProposal.json deleted file mode 100644 index cbd65aa5..00000000 --- a/AllInteractions/abis/TraderPoolRiskyProposal.json +++ /dev/null @@ -1,1484 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "fromToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "toToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fromVolume", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toVolume", - "type": "uint256" - } - ], - "name": "ProposalActivePortfolioExchanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "timestampLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investLPLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxTokenPriceLimit", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct ITraderPoolRiskyProposal.ProposalLimits", - "name": "proposalLimits", - "type": "tuple" - } - ], - "name": "ProposalCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "divestedLP2", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedBase", - "type": "uint256" - } - ], - "name": "ProposalDivested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "fromToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "toToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fromVolume", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toVolume", - "type": "uint256" - } - ], - "name": "ProposalExchanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedLP", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investedBase", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "receivedLP2", - "type": "uint256" - } - ], - "name": "ProposalInvested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "ProposalJoined", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "ProposalLeft", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "positionToken", - "type": "address" - } - ], - "name": "ProposalPositionClosed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "positionToken", - "type": "address" - } - ], - "name": "ProposalPositionOpened", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "ProposalRestrictionsChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "TransferBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TransferSingle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "value", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "parentPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - } - ], - "internalType": "struct ITraderPoolProposal.ParentTraderPoolInfo", - "name": "parentTraderPoolInfo", - "type": "tuple" - } - ], - "name": "__TraderPoolProposal_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "parentPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint8", - "name": "baseTokenDecimals", - "type": "uint8" - } - ], - "internalType": "struct ITraderPoolProposal.ParentTraderPoolInfo", - "name": "parentTraderPoolInfo", - "type": "tuple" - } - ], - "name": "__TraderPoolRiskyProposal_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "accounts", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - } - ], - "name": "balanceOfBatch", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "timestampLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investLPLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxTokenPriceLimit", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolRiskyProposal.ProposalLimits", - "name": "proposalLimits", - "type": "tuple" - } - ], - "name": "changeProposalRestrictions", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "timestampLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investLPLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxTokenPriceLimit", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolRiskyProposal.ProposalLimits", - "name": "proposalLimits", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "lpInvestment", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseInvestment", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "instantTradePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minPositionOut", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "create", - "outputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "lp2", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minBaseOut", - "type": "uint256" - } - ], - "name": "divest", - "outputs": [ - { - "internalType": "uint256", - "name": "receivedBase", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountBound", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "enum ITraderPoolRiskyProposal.ExchangeType", - "name": "exType", - "type": "uint8" - } - ], - "name": "exchange", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "exists", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "getActiveInvestmentsInfo", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lp2Balance", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseInvested", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lpInvested", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseShare", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "positionShare", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolRiskyProposal.ActiveInvestmentInfo[]", - "name": "investments", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBaseToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "baseInvestment", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "instantTradePercentage", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - } - ], - "name": "getCreationTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "positionTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "positionTokenPrice", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "proposalIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lp2s", - "type": "uint256[]" - } - ], - "name": "getDivestAmounts", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "positions", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "givenAmounts", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "receivedAmounts", - "type": "uint256[]" - } - ], - "internalType": "struct ITraderPoolRiskyProposal.Receptions", - "name": "receptions", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "optionalPath", - "type": "address[]" - }, - { - "internalType": "enum ITraderPoolRiskyProposal.ExchangeType", - "name": "exType", - "type": "uint8" - } - ], - "name": "getExchangeAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseInvestment", - "type": "uint256" - } - ], - "name": "getInvestTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "positionAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lp2Amount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getInvestedBaseInUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "investedBaseUSD", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "toBeInvested", - "type": "uint256" - } - ], - "name": "getInvestmentPercentage", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "getProposalInfos", - "outputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "tokenDecimals", - "type": "uint8" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "timestampLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "investLPLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxTokenPriceLimit", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolRiskyProposal.ProposalLimits", - "name": "proposalLimits", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "lpLocked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "balanceBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "balancePosition", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolRiskyProposal.ProposalInfo", - "name": "proposalInfo", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "totalProposalUSD", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalProposalBase", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lp2Supply", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalInvestors", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "positionTokenPrice", - "type": "uint256" - } - ], - "internalType": "struct ITraderPoolRiskyProposal.ProposalInfoExtended[]", - "name": "proposals", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getTotalActiveInvestments", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "proposalIds", - "type": "uint256[]" - } - ], - "name": "getUserInvestmentsLimits", - "outputs": [ - { - "internalType": "uint256[]", - "name": "lps", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "lpInvestment", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseInvestment", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minPositionOut", - "type": "uint256" - } - ], - "name": "invest", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "investedBase", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalsTotalNum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeBatchTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "totalLPBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalLockedLP", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "uri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/AllInteractions/src/mappings/PoolFactory.ts b/AllInteractions/src/mappings/PoolFactory.ts index fb6d82e0..46a48dc6 100644 --- a/AllInteractions/src/mappings/PoolFactory.ts +++ b/AllInteractions/src/mappings/PoolFactory.ts @@ -9,10 +9,10 @@ import { getPool } from "../entities/dao-pool/Pool"; export function onDaoPoolDeployed(event: DaoPoolDeployed): void { DaoPool.create(event.params.govPool); - DaoValidators.create(event.params.validators); + DaoValidators.create(event.params.govPoolDeps.validatorsAddress); getPool(event.params.govPool).save(); - getPool(event.params.validators).save(); + getPool(event.params.govPoolDeps.validatorsAddress).save(); let transaction = getTransaction( event.transaction.hash, event.block.number, diff --git a/AllInteractions/subgraph.yaml b/AllInteractions/subgraph.yaml index 4f05f54f..d761525c 100644 --- a/AllInteractions/subgraph.yaml +++ b/AllInteractions/subgraph.yaml @@ -20,7 +20,7 @@ dataSources: - name: PoolFactory file: ./abis/PoolFactory.json eventHandlers: - - event: DaoPoolDeployed(string,address,address,address,address,address,address,address,address) + - event: DaoPoolDeployed(string,address,(address,address,address,address,address),address,address,address,address) handler: onDaoPoolDeployed - kind: ethereum/contract @@ -63,7 +63,7 @@ templates: - name: DaoPool file: ./abis/DaoPool.json eventHandlers: - - event: ProposalCreated(uint256,string,string,uint256,uint256,address,address) + - event: ProposalCreated(uint256,string,(address,uint256,bytes)[],(address,uint256,bytes)[],uint256,uint256,address,address) handler: onProposalCreated - event: Delegated(address,address,uint256,uint256[],bool) handler: onDelegated diff --git a/AllInteractions/tests/DaoPool.test.ts b/AllInteractions/tests/DaoPool.test.ts index 5fbc7dd7..ab8c0a4d 100644 --- a/AllInteractions/tests/DaoPool.test.ts +++ b/AllInteractions/tests/DaoPool.test.ts @@ -45,7 +45,8 @@ function createProposalCreated( event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); event.parameters.push(new ethereum.EventParam("proposalDescription", ethereum.Value.fromString(description))); - event.parameters.push(new ethereum.EventParam("misc", ethereum.Value.fromString(misc))); + event.parameters.push(new ethereum.EventParam("actionsOnFor", ethereum.Value.fromTupleArray([]))); + event.parameters.push(new ethereum.EventParam("actionsOnAgainst", ethereum.Value.fromTupleArray([]))); event.parameters.push(new ethereum.EventParam("quorum", ethereum.Value.fromUnsignedBigInt(quorum))); event.parameters.push(new ethereum.EventParam("proposalSettings", ethereum.Value.fromUnsignedBigInt(settingsId))); event.parameters.push(new ethereum.EventParam("rewardToken", ethereum.Value.fromAddress(rewardToken))); diff --git a/AllInteractions/tests/PoolFactory.test.ts b/AllInteractions/tests/PoolFactory.test.ts index d8ac5e70..86971c2c 100644 --- a/AllInteractions/tests/PoolFactory.test.ts +++ b/AllInteractions/tests/PoolFactory.test.ts @@ -14,6 +14,8 @@ function createDaoPoolDeployed( govUserKeeper: Address, expertNft: Address, nftMultiplier: Address, + tokenSale: Address, + token: Address, sender: Address, block: ethereum.Block, tx: ethereum.Transaction @@ -21,14 +23,19 @@ function createDaoPoolDeployed( let event = changetype(newMockEvent()); event.parameters = new Array(); + let govPoolDeps = new ethereum.Tuple(5); + govPoolDeps[0] = ethereum.Value.fromAddress(settings); + govPoolDeps[1] = ethereum.Value.fromAddress(govUserKeeper); + govPoolDeps[2] = ethereum.Value.fromAddress(validators); + govPoolDeps[3] = ethereum.Value.fromAddress(expertNft); + govPoolDeps[4] = ethereum.Value.fromAddress(nftMultiplier); + event.parameters.push(new ethereum.EventParam("name", ethereum.Value.fromString(name))); event.parameters.push(new ethereum.EventParam("govPool", ethereum.Value.fromAddress(govPool))); - event.parameters.push(new ethereum.EventParam("dp", ethereum.Value.fromAddress(dp))); - event.parameters.push(new ethereum.EventParam("validators", ethereum.Value.fromAddress(validators))); - event.parameters.push(new ethereum.EventParam("settings", ethereum.Value.fromAddress(settings))); - event.parameters.push(new ethereum.EventParam("govUserKeeper", ethereum.Value.fromAddress(govUserKeeper))); - event.parameters.push(new ethereum.EventParam("localExpertNft", ethereum.Value.fromAddress(expertNft))); - event.parameters.push(new ethereum.EventParam("nftMultiplier", ethereum.Value.fromAddress(nftMultiplier))); + event.parameters.push(new ethereum.EventParam("govPoolDeps", ethereum.Value.fromTuple(govPoolDeps))); + event.parameters.push(new ethereum.EventParam("distributionProposal", ethereum.Value.fromAddress(dp))); + event.parameters.push(new ethereum.EventParam("tokenSale", ethereum.Value.fromAddress(tokenSale))); + event.parameters.push(new ethereum.EventParam("token", ethereum.Value.fromAddress(token))); event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); event.block = block; @@ -54,6 +61,8 @@ describe("PoolFactory", () => { let govUserKeeper = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181659"); let expertNft = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181659"); let nftMultiplier = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181659"); + let tokenSale = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181674"); + let token = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181674"); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181669"); let event = createDaoPoolDeployed( @@ -65,6 +74,8 @@ describe("PoolFactory", () => { govUserKeeper, expertNft, nftMultiplier, + tokenSale, + token, sender, block, tx diff --git a/DaoPools/abis/DaoPool.json b/DaoPools/abis/DaoPool.json index e99744f4..351d74fb 100644 --- a/DaoPools/abis/DaoPool.json +++ b/DaoPools/abis/DaoPool.json @@ -223,37 +223,6 @@ "name": "ProposalExecuted", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "DPCreated", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -289,10 +258,50 @@ "type": "string" }, { + "components": [ + { + "internalType": "address", + "name": "executor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "indexed": false, + "internalType": "struct IGovPool.ProposalAction[]", + "name": "actionsOnFor", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "executor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], "indexed": false, - "internalType": "string", - "name": "misc", - "type": "string" + "internalType": "struct IGovPool.ProposalAction[]", + "name": "actionsOnAgainst", + "type": "tuple[]" }, { "indexed": false, diff --git a/DaoPools/abis/DistributionProposal.json b/DaoPools/abis/DistributionProposal.json index 75e50982..1d2c260f 100644 --- a/DaoPools/abis/DistributionProposal.json +++ b/DaoPools/abis/DistributionProposal.json @@ -11,7 +11,7 @@ { "indexed": false, "internalType": "address", - "name": "sender", + "name": "token", "type": "address" }, { @@ -19,6 +19,12 @@ "internalType": "uint256", "name": "amount", "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" } ], "name": "DistributionProposalClaimed", @@ -128,6 +134,30 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + } + ], + "name": "isClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -151,9 +181,5 @@ ], "stateMutability": "view", "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" } ] \ No newline at end of file diff --git a/DaoPools/abis/PoolFactory.json b/DaoPools/abis/PoolFactory.json index f572bda1..300d71c5 100644 --- a/DaoPools/abis/PoolFactory.json +++ b/DaoPools/abis/PoolFactory.json @@ -15,58 +15,42 @@ "type": "address" }, { + "components": [ + { + "internalType": "address", + "name": "settingsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "userKeeperAddress", + "type": "address" + }, + { + "internalType": "address payable", + "name": "validatorsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "expertNftAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "nftMultiplierAddress", + "type": "address" + } + ], "indexed": false, - "internalType": "address", - "name": "dp", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "validators", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "settings", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "govUserKeeper", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "localExpertNft", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nftMultiplier", - "type": "address" + "internalType": "struct IGovPool.Dependencies", + "name": "govPoolDeps", + "type": "tuple" }, { "indexed": false, "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "DaoPoolDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "govPool", + "name": "distributionProposal", "type": "address" }, { @@ -80,142 +64,17 @@ "internalType": "address", "name": "token", "type": "address" - } - ], - "name": "DaoTokenSaleDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "poolType", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "address", - "name": "at", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "proposalContract", - "type": "address" }, { "indexed": false, "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "basicToken", + "name": "sender", "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "commission", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "descriptionURL", - "type": "string" } ], - "name": "TraderPoolDeployed", + "name": "DaoPoolDeployed", "type": "event" }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.TraderPoolDeployParameters", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployBasicPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [ { @@ -402,282 +261,143 @@ "name": "userKeeperParams", "type": "tuple" }, - { - "internalType": "address", - "name": "nftMultiplierAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" - }, - { - "internalType": "address", - "name": "verifier", - "type": "address" - }, - { - "internalType": "bool", - "name": "onlyBABHolders", - "type": "bool" - }, - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "internalType": "struct IPoolFactory.GovPoolDeployParams", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployGovPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ { "components": [ { "components": [ { - "internalType": "bool", - "name": "earlyCompletion", - "type": "bool" + "components": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "internalType": "struct ITokenSaleProposal.TierMetadata", + "name": "metadata", + "type": "tuple" }, { - "internalType": "bool", - "name": "delegatedVotingAllowed", - "type": "bool" + "internalType": "uint256", + "name": "totalTokenProvided", + "type": "uint256" }, { - "internalType": "bool", - "name": "validatorsVote", - "type": "bool" + "internalType": "uint64", + "name": "saleStartTime", + "type": "uint64" }, { "internalType": "uint64", - "name": "duration", + "name": "saleEndTime", "type": "uint64" }, { "internalType": "uint64", - "name": "durationValidators", + "name": "claimLockDuration", "type": "uint64" }, { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "internalType": "address", + "name": "saleTokenAddress", + "type": "address" }, { - "internalType": "uint128", - "name": "quorumValidators", - "type": "uint128" + "internalType": "address[]", + "name": "purchaseTokenAddresses", + "type": "address[]" }, { - "internalType": "uint256", - "name": "minVotesForVoting", - "type": "uint256" + "internalType": "uint256[]", + "name": "exchangeRates", + "type": "uint256[]" }, { "internalType": "uint256", - "name": "minVotesForCreating", + "name": "minAllocationPerUser", "type": "uint256" }, { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" + "internalType": "uint256", + "name": "maxAllocationPerUser", + "type": "uint256" }, { "components": [ - { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, { "internalType": "uint256", - "name": "creationReward", + "name": "vestingPercentage", "type": "uint256" }, { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "vestingDuration", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" + "internalType": "uint64", + "name": "cliffPeriod", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", - "type": "uint256" + "internalType": "uint64", + "name": "unlockStep", + "type": "uint64" } ], - "internalType": "struct IGovSettings.RewardsInfo", - "name": "rewardsInfo", + "internalType": "struct ITokenSaleProposal.VestingSettings", + "name": "vestingSettings", "type": "tuple" }, { - "internalType": "string", - "name": "executorDescription", - "type": "string" + "components": [ + { + "internalType": "enum ITokenSaleProposal.ParticipationType", + "name": "participationType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ITokenSaleProposal.ParticipationDetails", + "name": "participationDetails", + "type": "tuple" } ], - "internalType": "struct IGovSettings.ProposalSettings[]", - "name": "proposalSettings", + "internalType": "struct ITokenSaleProposal.TierInitParams[]", + "name": "tiersParams", "type": "tuple[]" }, - { - "internalType": "address[]", - "name": "additionalProposalExecutors", - "type": "address[]" - } - ], - "internalType": "struct IPoolFactory.SettingsDeployParams", - "name": "settingsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, { "components": [ { - "internalType": "uint64", - "name": "duration", - "type": "uint64" + "internalType": "uint256", + "name": "tierId", + "type": "uint256" }, { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" + "internalType": "address[]", + "name": "users", + "type": "address[]" }, { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "internalType": "string", + "name": "uri", + "type": "string" } ], - "internalType": "struct IGovValidators.ProposalSettings", - "name": "proposalSettings", - "type": "tuple" - }, - { - "internalType": "address[]", - "name": "validators", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "balances", - "type": "uint256[]" - } - ], - "internalType": "struct IPoolFactory.ValidatorsDeployParams", - "name": "validatorsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "nftAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalPowerInTokens", - "type": "uint256" + "internalType": "struct ITokenSaleProposal.WhitelistingRequest[]", + "name": "whitelistParams", + "type": "tuple[]" }, - { - "internalType": "uint256", - "name": "nftsTotalSupply", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.UserKeeperDeployParams", - "name": "userKeeperParams", - "type": "tuple" - }, - { - "internalType": "address", - "name": "nftMultiplierAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" - }, - { - "internalType": "address", - "name": "verifier", - "type": "address" - }, - { - "internalType": "bool", - "name": "onlyBABHolders", - "type": "bool" - }, - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "internalType": "struct IPoolFactory.GovPoolDeployParams", - "name": "parameters", - "type": "tuple" - }, - { - "components": [ - { - "components": [ { "components": [ { @@ -687,249 +407,81 @@ }, { "internalType": "string", - "name": "description", + "name": "symbol", "type": "string" - } - ], - "internalType": "struct ITokenSaleProposal.TierMetadata", - "name": "metadata", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "totalTokenProvided", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "saleStartTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "saleEndTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "claimLockDuration", - "type": "uint64" - }, - { - "internalType": "address", - "name": "saleTokenAddress", - "type": "address" - }, - { - "internalType": "address[]", - "name": "purchaseTokenAddresses", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "exchangeRates", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "minAllocationPerUser", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxAllocationPerUser", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "vestingPercentage", - "type": "uint256" }, { - "internalType": "uint64", - "name": "vestingDuration", - "type": "uint64" + "internalType": "address[]", + "name": "users", + "type": "address[]" }, { - "internalType": "uint64", - "name": "cliffPeriod", - "type": "uint64" + "internalType": "uint256", + "name": "saleAmount", + "type": "uint256" }, { - "internalType": "uint64", - "name": "unlockStep", - "type": "uint64" - } - ], - "internalType": "struct ITokenSaleProposal.VestingSettings", - "name": "vestingSettings", - "type": "tuple" - }, - { - "components": [ + "internalType": "uint256", + "name": "cap", + "type": "uint256" + }, { - "internalType": "enum ITokenSaleProposal.ParticipationType", - "name": "participationType", - "type": "uint8" + "internalType": "uint256", + "name": "mintedTotal", + "type": "uint256" }, { - "internalType": "bytes", - "name": "data", - "type": "bytes" + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" } ], - "internalType": "struct ITokenSaleProposal.ParticipationDetails", - "name": "participationDetails", + "internalType": "struct IERC20Sale.ConstructorParams", + "name": "tokenParams", "type": "tuple" } ], - "internalType": "struct ITokenSaleProposal.TierInitParams[]", - "name": "tiersParams", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "tierId", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" - }, - { - "internalType": "string", - "name": "uri", - "type": "string" - } - ], - "internalType": "struct ITokenSaleProposal.WhitelistingRequest[]", - "name": "whitelistParams", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "saleAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "cap", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintedTotal", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "internalType": "struct IERC20Sale.ConstructorParams", - "name": "tokenParams", + "internalType": "struct IPoolFactory.TokenSaleProposalDeployParams", + "name": "tokenSaleParams", "type": "tuple" - } - ], - "internalType": "struct IPoolFactory.GovTokenSaleProposalDeployParams", - "name": "tokenSaleParameters", - "type": "tuple" - } - ], - "name": "deployGovPoolWithTokenSale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" }, { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" }, { "internalType": "uint256", - "name": "totalLPEmission", + "name": "expertVoteModifier", "type": "uint256" }, { "internalType": "address", - "name": "baseToken", + "name": "verifier", "type": "address" }, { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" + "internalType": "bool", + "name": "onlyBABHolders", + "type": "bool" }, { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" + "internalType": "string", + "name": "descriptionURL", + "type": "string" }, { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" + "internalType": "string", + "name": "name", + "type": "string" } ], - "internalType": "struct IPoolFactory.TraderPoolDeployParameters", + "internalType": "struct IPoolFactory.GovPoolDeployParams", "name": "parameters", "type": "tuple" } ], - "name": "deployInvestPool", + "name": "deployGovPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -940,7 +492,7 @@ "outputs": [ { "internalType": "address", - "name": "_injector", + "name": "injector_", "type": "address" } ], @@ -963,19 +515,41 @@ "name": "predictGovAddresses", "outputs": [ { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" + "components": [ + { + "internalType": "address", + "name": "govPool", + "type": "address" + }, + { + "internalType": "address", + "name": "govToken", + "type": "address" + }, + { + "internalType": "address", + "name": "govTokenSale", + "type": "address" + }, + { + "internalType": "address", + "name": "distributionProposal", + "type": "address" + }, + { + "internalType": "address", + "name": "expertNft", + "type": "address" + }, + { + "internalType": "address", + "name": "nftMultiplier", + "type": "address" + } + ], + "internalType": "struct IPoolFactory.GovPoolPredictedAddresses", + "name": "predictedAddresses", + "type": "tuple" } ], "stateMutability": "view", @@ -987,6 +561,11 @@ "internalType": "address", "name": "contractsRegistry", "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" } ], "name": "setDependencies", @@ -998,7 +577,7 @@ "inputs": [ { "internalType": "address", - "name": "_injector", + "name": "injector_", "type": "address" } ], diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index 99a03713..7c819562 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -113,7 +113,6 @@ type Voter @entity { type Proposal @entity { id: Bytes! # pool address + porposalId proposalId: BigInt! - isDP: Boolean! rewardToken: Bytes! creator: Voter! @@ -126,13 +125,10 @@ type Proposal @entity { currentVotesAgainst: BigInt! quorum: BigInt! description: String! - misc: String! votersVoted: BigInt! pool: DaoPool! - distributionProposal: [DistributionProposal!]! @derivedFrom(field: "proposal") - settings: ProposalSettings! voters: [Voter!]! @@ -195,7 +191,7 @@ type VoterInPool @entity { proposalsCount: BigInt! proposals: [VoterInProposal!]! - claimedDPs: [DistributionProposal!]! + claimedDPs: [Bytes!]! treasuryDelegationHistory: [TreasuryDelegationHistory!]! @derivedFrom(field: "to") } @@ -263,19 +259,6 @@ type VoterInProposal @entity { votes: [ProposalVote!]! @derivedFrom(field: "voter") } -# @notice The entity holds information about dp -# @param id forms from proposal entity id -# @param token the token address -# @param amount the amount of reward -# @param proposal the proposal entiy id -type DistributionProposal @entity { - id: Bytes! # proposal entity id - token: Bytes! - amount: BigInt! - - proposal: Proposal! -} - # @notice The entity holds historical information about delegations # @param id forms from tx hash + counter # @param pool the pool entiy id diff --git a/DaoPools/src/entities/DistributionProposal.ts b/DaoPools/src/entities/DistributionProposal.ts deleted file mode 100644 index 2dbd5bb1..00000000 --- a/DaoPools/src/entities/DistributionProposal.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Address, BigInt } from "@graphprotocol/graph-ts"; -import { DistributionProposal, Proposal } from "../../generated/schema"; - -export function getDistributionProposal( - proposal: Proposal, - token: Address = Address.zero(), - amount: BigInt = BigInt.zero() -): DistributionProposal { - let id = proposal.id; - let dp = DistributionProposal.load(id); - - if (dp == null) { - dp = new DistributionProposal(id); - dp.token = token; - dp.amount = amount; - - dp.proposal = proposal.id; - } - - return dp; -} diff --git a/DaoPools/src/entities/Proposal.ts b/DaoPools/src/entities/Proposal.ts index 5f4701fa..e4893500 100644 --- a/DaoPools/src/entities/Proposal.ts +++ b/DaoPools/src/entities/Proposal.ts @@ -7,8 +7,7 @@ export function getProposal( creator: Address = Address.zero(), quorum: BigInt = BigInt.zero(), description: string = "", - rewardToken: Address = Address.zero(), - misc: string = "" + rewardToken: Address = Address.zero() ): Proposal { let id = pool.id.concatI32(proposalId.toI32()); let proposal = Proposal.load(id); @@ -25,13 +24,11 @@ export function getProposal( proposal.currentVotesAgainst = BigInt.zero(); proposal.quorum = quorum; proposal.votersVoted = BigInt.zero(); - proposal.isDP = false; proposal.settings = Bytes.empty(); proposal.voters = new Array(); proposal.description = description; proposal.votesCount = BigInt.zero(); proposal.rewardToken = rewardToken; - proposal.misc = misc; proposal.pool = pool.id; } diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index 7b07d767..3ef82a64 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -4,7 +4,6 @@ import { Delegated, DelegatedTreasury, Deposited, - DPCreated, OffchainResultsSaved, ProposalCreated, ProposalExecuted, @@ -17,24 +16,20 @@ import { } from "../../generated/templates/DaoPool/DaoPool"; import { getDaoPool } from "../entities/DaoPool"; import { getDelegationHistory } from "../entities/DelegationHistory"; -import { getDistributionProposal } from "../entities/DistributionProposal"; import { getProposal } from "../entities/Proposal"; import { getProposalVote } from "../entities/ProposalVote"; import { getVoter } from "../entities/Voters/Voter"; import { getVoterInPool } from "../entities/Voters/VoterInPool"; import { getVoterInProposal } from "../entities/Voters/VoterInProposal"; -import { PriceFeed } from "../../generated/templates/DaoPool/PriceFeed"; import { PERCENTAGE_NUMERATOR, - PRICE_FEED_ADDRESS, - REWARD_TYPE_CREATE, REWARD_TYPE_VOTE_FOR, REWARD_TYPE_VOTE_AGAINST, REWARD_TYPE_VOTE_FOR_DELEGATED, REWARD_TYPE_VOTE_AGAINST_DELEGATED, YEAR, } from "../entities/global/globals"; -import { Proposal, VoterInPool, VoterInProposal } from "../../generated/schema"; +import { VoterInPool } from "../../generated/schema"; import { getProposalSettings } from "../entities/Settings/ProposalSettings"; import { getVoterInPoolPair } from "../entities/Voters/VoterInPoolPair"; import { getUSDValue } from "../helpers/PriceFeedInteractions"; @@ -52,8 +47,7 @@ export function onProposalCreated(event: ProposalCreated): void { event.params.sender, event.params.quorum, event.params.proposalDescription, - event.params.rewardToken, - event.params.misc + event.params.rewardToken ); let settings = getProposalSettings(pool, event.params.proposalSettings); @@ -329,18 +323,6 @@ export function onVoted(event: Voted): void { voter.save(); } -export function onDPCreated(event: DPCreated): void { - let pool = getDaoPool(event.address); - let proposal = getProposal(pool, event.params.proposalId); - let dp = getDistributionProposal(proposal, event.params.token, event.params.amount); - - proposal.isDP = true; - - dp.save(); - proposal.save(); - pool.save(); -} - export function onProposalExecuted(event: ProposalExecuted): void { let pool = getDaoPool(event.address); let proposal = getProposal(pool, event.params.proposalId); diff --git a/DaoPools/src/mappings/DistributionProposal.ts b/DaoPools/src/mappings/DistributionProposal.ts index a3e30f58..67a2cd48 100644 --- a/DaoPools/src/mappings/DistributionProposal.ts +++ b/DaoPools/src/mappings/DistributionProposal.ts @@ -1,14 +1,12 @@ -import { Address, BigInt, log } from "@graphprotocol/graph-ts"; +import { Address } from "@graphprotocol/graph-ts"; import { pushUnique } from "@solarity/graph-lib"; -import { PriceFeed } from "../../generated/templates/DistributionProposal/PriceFeed"; import { DistributionProposalClaimed } from "../../generated/templates/DistributionProposal/DistributionProposal"; import { getDaoPool } from "../entities/DaoPool"; import { getDPContract } from "../entities/DPContract"; import { getProposal } from "../entities/Proposal"; import { getVoter } from "../entities/Voters/Voter"; import { getVoterInPool } from "../entities/Voters/VoterInPool"; -import { BNB_ADDRESS, PRICE_FEED_ADDRESS, WBNB_ADDRESS } from "../entities/global/globals"; -import { getDistributionProposal } from "../entities/DistributionProposal"; +import { BNB_ADDRESS, WBNB_ADDRESS } from "../entities/global/globals"; import { getVoterInProposal } from "../entities/Voters/VoterInProposal"; import { getUSDValue } from "../helpers/PriceFeedInteractions"; @@ -18,13 +16,12 @@ export function onDistributionProposalClaimed(event: DistributionProposalClaimed let pool = getDaoPool(Address.fromBytes(dpToPool.daoPool)); let voterInPool = getVoterInPool(pool, voter, event.block.timestamp); let proposal = getProposal(pool, event.params.proposalId); - let dp = getDistributionProposal(proposal); let voterInProposal = getVoterInProposal(proposal, voterInPool); let usdAmount = getUSDValue( - Address.fromBytes(dp.token).equals(Address.fromString(BNB_ADDRESS)) + Address.fromBytes(event.params.token).equals(Address.fromString(BNB_ADDRESS)) ? Address.fromString(WBNB_ADDRESS) - : Address.fromBytes(dp.token), + : Address.fromBytes(event.params.token), event.params.amount ); diff --git a/DaoPools/src/mappings/PoolFactory.ts b/DaoPools/src/mappings/PoolFactory.ts index 4e2b2aa7..9ac13b5d 100644 --- a/DaoPools/src/mappings/PoolFactory.ts +++ b/DaoPools/src/mappings/PoolFactory.ts @@ -1,4 +1,4 @@ -import { DaoPoolDeployed, DaoTokenSaleDeployed } from "../../generated/PoolFactory/PoolFactory"; +import { DaoPoolDeployed } from "../../generated/PoolFactory/PoolFactory"; import { DaoPool, DaoSettings, @@ -20,24 +20,19 @@ export function onDeployed(event: DaoPoolDeployed): void { event.params.name, event.block.timestamp, event.block.number, - event.params.nftMultiplier + event.params.govPoolDeps.nftMultiplierAddress ).save(); - getDPContract(event.params.dp, event.params.govPool).save(); - getSettingsContract(event.params.settings, event.params.govPool).save(); - getUserKeeperContract(event.params.govUserKeeper, event.params.govPool).save(); - getExpertNftContract(event.params.localExpertNft, event.params.govPool).save(); + getDPContract(event.params.distributionProposal, event.params.govPool).save(); + getSettingsContract(event.params.govPoolDeps.settingsAddress, event.params.govPool).save(); + getUserKeeperContract(event.params.govPoolDeps.userKeeperAddress, event.params.govPool).save(); + getExpertNftContract(event.params.govPoolDeps.expertNftAddress, event.params.govPool).save(); + getTokenSale(event.params.tokenSale, event.params.govPool, event.params.token).save(); DaoPool.create(event.params.govPool); - DistributionProposal.create(event.params.dp); - DaoSettings.create(event.params.settings); - UserKeeper.create(event.params.govUserKeeper); - ERC721Expert.create(event.params.localExpertNft); -} - -export function onTokenSaleDeployed(event: DaoTokenSaleDeployed): void { + DistributionProposal.create(event.params.distributionProposal); + DaoSettings.create(event.params.govPoolDeps.settingsAddress); + UserKeeper.create(event.params.govPoolDeps.userKeeperAddress); + ERC721Expert.create(event.params.govPoolDeps.expertNftAddress); TokenSale.create(event.params.tokenSale); - let pool = getDaoPool(event.params.govPool); - getTokenSale(event.params.tokenSale, pool.id, event.params.token).save(); - pool.save(); } diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index 983a42c4..03c69308 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -20,10 +20,8 @@ dataSources: - name: PoolFactory file: ./abis/PoolFactory.json eventHandlers: - - event: DaoPoolDeployed(string,address,address,address,address,address,address,address,address) + - event: DaoPoolDeployed(string,address,(address,address,address,address,address),address,address,address,address) handler: onDeployed - - event: DaoTokenSaleDeployed(address,address,address) - handler: onTokenSaleDeployed - kind: ethereum/contract name: ERC721Expert network: chapel @@ -68,7 +66,7 @@ templates: - name: PriceFeed file: ./abis/PriceFeed.json eventHandlers: - - event: ProposalCreated(uint256,string,string,uint256,uint256,address,address) # id, description, misc, quorum, proposalSettings, rewardToken, msg.sender + - event: ProposalCreated(uint256,string,(address,uint256,bytes)[],(address,uint256,bytes)[],uint256,uint256,address,address) # id, description, misc, quorum, proposalSettings, rewardToken, msg.sender handler: onProposalCreated - event: Delegated(address,address,uint256,uint256[],bool) # from, to, amount, nfts, isDelegate handler: onDelegated @@ -76,8 +74,6 @@ templates: handler: onDelegatedTreasury - event: Voted(uint256,address,uint8,uint256,bool) # id, msg.sender, personalVote, delegatedVote handler: onVoted - - event: DPCreated(uint256,address,address,uint256) # id, msg.sender, token, amount - handler: onDPCreated - event: ProposalExecuted(uint256,bool,address) # id, isFor, msg.sender handler: onProposalExecuted - event: RewardClaimed(uint256,address,address,uint256) # id, msg.sender, token, amount @@ -109,7 +105,7 @@ templates: - name: PriceFeed file: ./abis/PriceFeed.json eventHandlers: - - event: DistributionProposalClaimed(uint256,address,uint256) # id, msg.sender, amount + - event: DistributionProposalClaimed(uint256,address,uint256,address) # id, msg.sender, amount handler: onDistributionProposalClaimed - kind: ethereum/contract name: DaoSettings diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index fe899d9c..7216893e 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -14,7 +14,6 @@ import { Delegated, Deposited, Withdrawn, - DPCreated, ProposalCreated, ProposalExecuted, RewardClaimed, @@ -27,7 +26,6 @@ import { } from "../generated/templates/DaoPool/DaoPool"; import { onDelegated, - onDPCreated, onProposalCreated, onProposalExecuted, onVoted, @@ -64,7 +62,6 @@ function createProposalCreated( settingsId: BigInt, rewardToken: Address, description: string, - misc: string, contractSender: Address, block: ethereum.Block, tx: ethereum.Transaction @@ -74,7 +71,8 @@ function createProposalCreated( event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); event.parameters.push(new ethereum.EventParam("proposalDescription", ethereum.Value.fromString(description))); - event.parameters.push(new ethereum.EventParam("misc", ethereum.Value.fromString(misc))); + event.parameters.push(new ethereum.EventParam("actionsOnFor", ethereum.Value.fromTupleArray([]))); + event.parameters.push(new ethereum.EventParam("actionsOnAgainst", ethereum.Value.fromTupleArray([]))); event.parameters.push(new ethereum.EventParam("quorum", ethereum.Value.fromUnsignedBigInt(quorum))); event.parameters.push(new ethereum.EventParam("proposalSettings", ethereum.Value.fromUnsignedBigInt(settingsId))); event.parameters.push(new ethereum.EventParam("rewardToken", ethereum.Value.fromAddress(rewardToken))); @@ -471,7 +469,6 @@ describe("DaoPool", () => { settingsId, rewardToken, "description", - "misc", contractSender, block, tx @@ -534,7 +531,6 @@ describe("DaoPool", () => { "rewardToken", rewardToken.toHexString() ); - assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "misc", "misc"); assert.fieldEquals("DaoPool", contractSender.toHexString(), "proposalCount", "1"); }); @@ -1227,64 +1223,6 @@ describe("DaoPool", () => { ); }); - test("should handle DPCreated", () => { - let proposalId = BigInt.fromI32(1); - let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let token = Address.fromString("0x16e08f7d84603AEb97cd1c89A80A9e914f181671"); - let amount = BigInt.fromI32(100).pow(18); - - let event = createDPCreated(proposalId, sender, token, amount, contractSender, block, tx); - - onDPCreated(event); - - assert.fieldEquals( - "DistributionProposal", - contractSender.concatI32(proposalId.toI32()).toHexString(), - "token", - token.toHexString() - ); - assert.fieldEquals( - "DistributionProposal", - contractSender.concatI32(proposalId.toI32()).toHexString(), - "amount", - amount.toString() - ); - assert.fieldEquals( - "DistributionProposal", - contractSender.concatI32(proposalId.toI32()).toHexString(), - "proposal", - contractSender.concatI32(proposalId.toI32()).toHexString() - ); - assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "isDP", "true"); - - proposalId = BigInt.fromI32(2); - token = Address.fromString("0xfF42F3B569cdB6dF9dC260473Ec2ef63Ca971d63"); - - event = createDPCreated(proposalId, sender, token, amount, contractSender, block, tx); - - onDPCreated(event); - - assert.fieldEquals( - "DistributionProposal", - contractSender.concatI32(proposalId.toI32()).toHexString(), - "token", - token.toHexString() - ); - assert.fieldEquals( - "DistributionProposal", - contractSender.concatI32(proposalId.toI32()).toHexString(), - "amount", - amount.toString() - ); - assert.fieldEquals( - "DistributionProposal", - contractSender.concatI32(proposalId.toI32()).toHexString(), - "proposal", - contractSender.concatI32(proposalId.toI32()).toHexString() - ); - assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "isDP", "true"); - }); - test("should handle ProposalExecuted", () => { let proposalId = BigInt.fromI32(1); let isFor = true; diff --git a/DaoPools/tests/DistributionProposal.test.ts b/DaoPools/tests/DistributionProposal.test.ts index 665f1cbe..a65f17d7 100644 --- a/DaoPools/tests/DistributionProposal.test.ts +++ b/DaoPools/tests/DistributionProposal.test.ts @@ -4,11 +4,12 @@ import { DistributionProposalClaimed } from "../generated/templates/Distribution import { getBlock, getTransaction } from "./utils"; import { onDistributionProposalClaimed } from "../src/mappings/DistributionProposal"; import { PRICE_FEED_ADDRESS } from "../src/entities/global/globals"; -import { DistributionProposal, DPContract } from "../generated/schema"; +import { DPContract } from "../generated/schema"; function createDistributionProposalClaimed( proposalId: BigInt, sender: Address, + token: Address, amount: BigInt, contractSender: Address, block: ethereum.Block, @@ -18,8 +19,9 @@ function createDistributionProposalClaimed( event.parameters = new Array(); event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); + event.parameters.push(new ethereum.EventParam("token", ethereum.Value.fromAddress(token))); event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); + event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); event.block = block; event.transaction = tx; @@ -53,20 +55,16 @@ describe("DistributionProposal", () => { let dPContract = new DPContract(contractSender); dPContract.daoPool = pool; dPContract.save(); - - let dp = new DistributionProposal(pool.concatI32(proposalId.toI32())); - dp.amount = BigInt.fromI32(10).pow(18); - dp.token = Address.fromString("0x86e08f7d84603aeb97cd1c89a80a9e914f181672"); - dp.proposal = pool.concatI32(proposalId.toI32()); - dp.save(); }); test("should handle DistributionProposalClaimed", () => { let sender = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181671"); + let token = Address.fromString("0x86e08f7d84603aeb97cd1c89a80a9e914f181672"); let event = createDistributionProposalClaimed( proposalId, sender, + token, BigInt.fromI32(10).pow(17), contractSender, block, diff --git a/DaoPools/tests/PoolFactory.test.ts b/DaoPools/tests/PoolFactory.test.ts index cec07121..2a73ab89 100644 --- a/DaoPools/tests/PoolFactory.test.ts +++ b/DaoPools/tests/PoolFactory.test.ts @@ -1,8 +1,8 @@ import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { DaoPoolDeployed, DaoTokenSaleDeployed } from "../generated/PoolFactory/PoolFactory"; +import { DaoPoolDeployed } from "../generated/PoolFactory/PoolFactory"; import { afterEach, assert, clearStore, describe, newMockEvent, test } from "matchstick-as/assembly/index"; import { getBlock, getTransaction } from "./utils"; -import { onDeployed, onTokenSaleDeployed } from "../src/mappings/PoolFactory"; +import { onDeployed } from "../src/mappings/PoolFactory"; function createDaoPoolDeployed( name: string, @@ -13,6 +13,8 @@ function createDaoPoolDeployed( govUserKeeper: Address, expertNft: Address, nftMultiplier: Address, + tokenSale: Address, + token: Address, sender: Address, block: ethereum.Block, tx: ethereum.Transaction @@ -20,29 +22,20 @@ function createDaoPoolDeployed( let event = changetype(newMockEvent()); event.parameters = new Array(); - event.parameters.push(new ethereum.EventParam("name", ethereum.Value.fromString(name))); - event.parameters.push(new ethereum.EventParam("govPool", ethereum.Value.fromAddress(govPool))); - event.parameters.push(new ethereum.EventParam("dp", ethereum.Value.fromAddress(dp))); - event.parameters.push(new ethereum.EventParam("validators", ethereum.Value.fromAddress(validators))); - event.parameters.push(new ethereum.EventParam("settings", ethereum.Value.fromAddress(settings))); - event.parameters.push(new ethereum.EventParam("govUserKeeper", ethereum.Value.fromAddress(govUserKeeper))); - event.parameters.push(new ethereum.EventParam("localExpertNft", ethereum.Value.fromAddress(expertNft))); - event.parameters.push(new ethereum.EventParam("nftMultiplier", ethereum.Value.fromAddress(nftMultiplier))); - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); - - event.block = block; - event.transaction = tx; - - return event; -} - -function createDaoTokenSaleDeployed(govPool: Address, tokenSale: Address, token: Address): DaoTokenSaleDeployed { - let event = changetype(newMockEvent()); - event.parameters = new Array(); + let govPoolDeps = new ethereum.Tuple(5); + govPoolDeps[0] = ethereum.Value.fromAddress(settings); + govPoolDeps[1] = ethereum.Value.fromAddress(govUserKeeper); + govPoolDeps[2] = ethereum.Value.fromAddress(validators); + govPoolDeps[3] = ethereum.Value.fromAddress(expertNft); + govPoolDeps[4] = ethereum.Value.fromAddress(nftMultiplier); + event.parameters.push(new ethereum.EventParam("name", ethereum.Value.fromString(name))); event.parameters.push(new ethereum.EventParam("govPool", ethereum.Value.fromAddress(govPool))); + event.parameters.push(new ethereum.EventParam("govPoolDeps", ethereum.Value.fromTuple(govPoolDeps))); + event.parameters.push(new ethereum.EventParam("distributionProposal", ethereum.Value.fromAddress(dp))); event.parameters.push(new ethereum.EventParam("tokenSale", ethereum.Value.fromAddress(tokenSale))); event.parameters.push(new ethereum.EventParam("token", ethereum.Value.fromAddress(token))); + event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); event.block = block; event.transaction = tx; @@ -67,7 +60,9 @@ describe("PoolFactory", () => { let govUserKeeper = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181673"); let expertNft = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181673"); let nftMultiplier = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181673"); - let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181674"); + let tokenSale = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181674"); + let token = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181674"); + let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181675"); let event = createDaoPoolDeployed( name, @@ -78,6 +73,8 @@ describe("PoolFactory", () => { govUserKeeper, expertNft, nftMultiplier, + tokenSale, + token, sender, block, tx @@ -95,17 +92,4 @@ describe("PoolFactory", () => { assert.fieldEquals("SettingsContract", settings.toHexString(), "daoPool", govPool.toHexString()); assert.fieldEquals("UserKeeperContract", govUserKeeper.toHexString(), "daoPool", govPool.toHexString()); }); - - test("should handle DaoTokenSaleDeployed", () => { - let govPool = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181679"); - let tokenSaleAddress = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let tokenAddress = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"); - - let event = createDaoTokenSaleDeployed(govPool, tokenSaleAddress, tokenAddress); - - onTokenSaleDeployed(event); - - assert.fieldEquals("TokenSale", tokenSaleAddress.toHexString(), "token", tokenAddress.toHexString()); - assert.fieldEquals("TokenSale", tokenSaleAddress.toHexString(), "pool", govPool.toHexString()); - }); }); diff --git a/DaoValidators/abis/PoolFactory.json b/DaoValidators/abis/PoolFactory.json index f572bda1..300d71c5 100644 --- a/DaoValidators/abis/PoolFactory.json +++ b/DaoValidators/abis/PoolFactory.json @@ -15,58 +15,42 @@ "type": "address" }, { + "components": [ + { + "internalType": "address", + "name": "settingsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "userKeeperAddress", + "type": "address" + }, + { + "internalType": "address payable", + "name": "validatorsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "expertNftAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "nftMultiplierAddress", + "type": "address" + } + ], "indexed": false, - "internalType": "address", - "name": "dp", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "validators", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "settings", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "govUserKeeper", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "localExpertNft", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nftMultiplier", - "type": "address" + "internalType": "struct IGovPool.Dependencies", + "name": "govPoolDeps", + "type": "tuple" }, { "indexed": false, "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "DaoPoolDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "govPool", + "name": "distributionProposal", "type": "address" }, { @@ -80,142 +64,17 @@ "internalType": "address", "name": "token", "type": "address" - } - ], - "name": "DaoTokenSaleDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "poolType", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "address", - "name": "at", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "proposalContract", - "type": "address" }, { "indexed": false, "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "basicToken", + "name": "sender", "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "commission", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "descriptionURL", - "type": "string" } ], - "name": "TraderPoolDeployed", + "name": "DaoPoolDeployed", "type": "event" }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "totalLPEmission", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" - }, - { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.TraderPoolDeployParameters", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployBasicPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [ { @@ -402,282 +261,143 @@ "name": "userKeeperParams", "type": "tuple" }, - { - "internalType": "address", - "name": "nftMultiplierAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" - }, - { - "internalType": "address", - "name": "verifier", - "type": "address" - }, - { - "internalType": "bool", - "name": "onlyBABHolders", - "type": "bool" - }, - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "internalType": "struct IPoolFactory.GovPoolDeployParams", - "name": "parameters", - "type": "tuple" - } - ], - "name": "deployGovPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ { "components": [ { "components": [ { - "internalType": "bool", - "name": "earlyCompletion", - "type": "bool" + "components": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "internalType": "struct ITokenSaleProposal.TierMetadata", + "name": "metadata", + "type": "tuple" }, { - "internalType": "bool", - "name": "delegatedVotingAllowed", - "type": "bool" + "internalType": "uint256", + "name": "totalTokenProvided", + "type": "uint256" }, { - "internalType": "bool", - "name": "validatorsVote", - "type": "bool" + "internalType": "uint64", + "name": "saleStartTime", + "type": "uint64" }, { "internalType": "uint64", - "name": "duration", + "name": "saleEndTime", "type": "uint64" }, { "internalType": "uint64", - "name": "durationValidators", + "name": "claimLockDuration", "type": "uint64" }, { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "internalType": "address", + "name": "saleTokenAddress", + "type": "address" }, { - "internalType": "uint128", - "name": "quorumValidators", - "type": "uint128" + "internalType": "address[]", + "name": "purchaseTokenAddresses", + "type": "address[]" }, { - "internalType": "uint256", - "name": "minVotesForVoting", - "type": "uint256" + "internalType": "uint256[]", + "name": "exchangeRates", + "type": "uint256[]" }, { "internalType": "uint256", - "name": "minVotesForCreating", + "name": "minAllocationPerUser", "type": "uint256" }, { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" + "internalType": "uint256", + "name": "maxAllocationPerUser", + "type": "uint256" }, { "components": [ - { - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, { "internalType": "uint256", - "name": "creationReward", + "name": "vestingPercentage", "type": "uint256" }, { - "internalType": "uint256", - "name": "executionReward", - "type": "uint256" + "internalType": "uint64", + "name": "vestingDuration", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" + "internalType": "uint64", + "name": "cliffPeriod", + "type": "uint64" }, { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", - "type": "uint256" + "internalType": "uint64", + "name": "unlockStep", + "type": "uint64" } ], - "internalType": "struct IGovSettings.RewardsInfo", - "name": "rewardsInfo", + "internalType": "struct ITokenSaleProposal.VestingSettings", + "name": "vestingSettings", "type": "tuple" }, { - "internalType": "string", - "name": "executorDescription", - "type": "string" + "components": [ + { + "internalType": "enum ITokenSaleProposal.ParticipationType", + "name": "participationType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ITokenSaleProposal.ParticipationDetails", + "name": "participationDetails", + "type": "tuple" } ], - "internalType": "struct IGovSettings.ProposalSettings[]", - "name": "proposalSettings", + "internalType": "struct ITokenSaleProposal.TierInitParams[]", + "name": "tiersParams", "type": "tuple[]" }, - { - "internalType": "address[]", - "name": "additionalProposalExecutors", - "type": "address[]" - } - ], - "internalType": "struct IPoolFactory.SettingsDeployParams", - "name": "settingsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, { "components": [ { - "internalType": "uint64", - "name": "duration", - "type": "uint64" + "internalType": "uint256", + "name": "tierId", + "type": "uint256" }, { - "internalType": "uint64", - "name": "executionDelay", - "type": "uint64" + "internalType": "address[]", + "name": "users", + "type": "address[]" }, { - "internalType": "uint128", - "name": "quorum", - "type": "uint128" + "internalType": "string", + "name": "uri", + "type": "string" } ], - "internalType": "struct IGovValidators.ProposalSettings", - "name": "proposalSettings", - "type": "tuple" - }, - { - "internalType": "address[]", - "name": "validators", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "balances", - "type": "uint256[]" - } - ], - "internalType": "struct IPoolFactory.ValidatorsDeployParams", - "name": "validatorsParams", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "nftAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalPowerInTokens", - "type": "uint256" + "internalType": "struct ITokenSaleProposal.WhitelistingRequest[]", + "name": "whitelistParams", + "type": "tuple[]" }, - { - "internalType": "uint256", - "name": "nftsTotalSupply", - "type": "uint256" - } - ], - "internalType": "struct IPoolFactory.UserKeeperDeployParams", - "name": "userKeeperParams", - "type": "tuple" - }, - { - "internalType": "address", - "name": "nftMultiplierAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" - }, - { - "internalType": "address", - "name": "verifier", - "type": "address" - }, - { - "internalType": "bool", - "name": "onlyBABHolders", - "type": "bool" - }, - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "internalType": "struct IPoolFactory.GovPoolDeployParams", - "name": "parameters", - "type": "tuple" - }, - { - "components": [ - { - "components": [ { "components": [ { @@ -687,249 +407,81 @@ }, { "internalType": "string", - "name": "description", + "name": "symbol", "type": "string" - } - ], - "internalType": "struct ITokenSaleProposal.TierMetadata", - "name": "metadata", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "totalTokenProvided", - "type": "uint256" - }, - { - "internalType": "uint64", - "name": "saleStartTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "saleEndTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "claimLockDuration", - "type": "uint64" - }, - { - "internalType": "address", - "name": "saleTokenAddress", - "type": "address" - }, - { - "internalType": "address[]", - "name": "purchaseTokenAddresses", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "exchangeRates", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "minAllocationPerUser", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxAllocationPerUser", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "vestingPercentage", - "type": "uint256" }, { - "internalType": "uint64", - "name": "vestingDuration", - "type": "uint64" + "internalType": "address[]", + "name": "users", + "type": "address[]" }, { - "internalType": "uint64", - "name": "cliffPeriod", - "type": "uint64" + "internalType": "uint256", + "name": "saleAmount", + "type": "uint256" }, { - "internalType": "uint64", - "name": "unlockStep", - "type": "uint64" - } - ], - "internalType": "struct ITokenSaleProposal.VestingSettings", - "name": "vestingSettings", - "type": "tuple" - }, - { - "components": [ + "internalType": "uint256", + "name": "cap", + "type": "uint256" + }, { - "internalType": "enum ITokenSaleProposal.ParticipationType", - "name": "participationType", - "type": "uint8" + "internalType": "uint256", + "name": "mintedTotal", + "type": "uint256" }, { - "internalType": "bytes", - "name": "data", - "type": "bytes" + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" } ], - "internalType": "struct ITokenSaleProposal.ParticipationDetails", - "name": "participationDetails", + "internalType": "struct IERC20Sale.ConstructorParams", + "name": "tokenParams", "type": "tuple" } ], - "internalType": "struct ITokenSaleProposal.TierInitParams[]", - "name": "tiersParams", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "tierId", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" - }, - { - "internalType": "string", - "name": "uri", - "type": "string" - } - ], - "internalType": "struct ITokenSaleProposal.WhitelistingRequest[]", - "name": "whitelistParams", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "saleAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "cap", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintedTotal", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "internalType": "struct IERC20Sale.ConstructorParams", - "name": "tokenParams", + "internalType": "struct IPoolFactory.TokenSaleProposalDeployParams", + "name": "tokenSaleParams", "type": "tuple" - } - ], - "internalType": "struct IPoolFactory.GovTokenSaleProposalDeployParams", - "name": "tokenSaleParameters", - "type": "tuple" - } - ], - "name": "deployGovPoolWithTokenSale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "components": [ - { - "internalType": "string", - "name": "descriptionURL", - "type": "string" }, { - "internalType": "address", - "name": "trader", - "type": "address" - }, - { - "internalType": "bool", - "name": "privatePool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "onlyBABTHolders", - "type": "bool" + "internalType": "uint256", + "name": "regularVoteModifier", + "type": "uint256" }, { "internalType": "uint256", - "name": "totalLPEmission", + "name": "expertVoteModifier", "type": "uint256" }, { "internalType": "address", - "name": "baseToken", + "name": "verifier", "type": "address" }, { - "internalType": "uint256", - "name": "minimalInvestment", - "type": "uint256" + "internalType": "bool", + "name": "onlyBABHolders", + "type": "bool" }, { - "internalType": "enum ICoreProperties.CommissionPeriod", - "name": "commissionPeriod", - "type": "uint8" + "internalType": "string", + "name": "descriptionURL", + "type": "string" }, { - "internalType": "uint256", - "name": "commissionPercentage", - "type": "uint256" + "internalType": "string", + "name": "name", + "type": "string" } ], - "internalType": "struct IPoolFactory.TraderPoolDeployParameters", + "internalType": "struct IPoolFactory.GovPoolDeployParams", "name": "parameters", "type": "tuple" } ], - "name": "deployInvestPool", + "name": "deployGovPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -940,7 +492,7 @@ "outputs": [ { "internalType": "address", - "name": "_injector", + "name": "injector_", "type": "address" } ], @@ -963,19 +515,41 @@ "name": "predictGovAddresses", "outputs": [ { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" + "components": [ + { + "internalType": "address", + "name": "govPool", + "type": "address" + }, + { + "internalType": "address", + "name": "govToken", + "type": "address" + }, + { + "internalType": "address", + "name": "govTokenSale", + "type": "address" + }, + { + "internalType": "address", + "name": "distributionProposal", + "type": "address" + }, + { + "internalType": "address", + "name": "expertNft", + "type": "address" + }, + { + "internalType": "address", + "name": "nftMultiplier", + "type": "address" + } + ], + "internalType": "struct IPoolFactory.GovPoolPredictedAddresses", + "name": "predictedAddresses", + "type": "tuple" } ], "stateMutability": "view", @@ -987,6 +561,11 @@ "internalType": "address", "name": "contractsRegistry", "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" } ], "name": "setDependencies", @@ -998,7 +577,7 @@ "inputs": [ { "internalType": "address", - "name": "_injector", + "name": "injector_", "type": "address" } ], diff --git a/DaoValidators/src/mappings/PoolFactory.ts b/DaoValidators/src/mappings/PoolFactory.ts index f46a31ca..0a1ad52b 100644 --- a/DaoValidators/src/mappings/PoolFactory.ts +++ b/DaoValidators/src/mappings/PoolFactory.ts @@ -5,6 +5,6 @@ import { getValidatorContract } from "../entities/ValidatorContract"; export function onDeployed(event: DaoPoolDeployed): void { getDaoPool(event.params.govPool).save(); - getValidatorContract(event.params.validators, event.params.govPool).save(); - DaoValidators.create(event.params.validators); + getValidatorContract(event.params.govPoolDeps.validatorsAddress, event.params.govPool).save(); + DaoValidators.create(event.params.govPoolDeps.validatorsAddress); } diff --git a/DaoValidators/subgraph.yaml b/DaoValidators/subgraph.yaml index 32c85bd8..a1feeda9 100644 --- a/DaoValidators/subgraph.yaml +++ b/DaoValidators/subgraph.yaml @@ -20,7 +20,7 @@ dataSources: - name: PoolFactory file: ./abis/PoolFactory.json eventHandlers: - - event: DaoPoolDeployed(string,address,address,address,address,address,address,address,address) + - event: DaoPoolDeployed(string,address,(address,address,address,address,address),address,address,address,address) handler: onDeployed templates: diff --git a/DaoValidators/tests/DaoValidators.test.ts b/DaoValidators/tests/DaoValidators.test.ts index a7730301..556b1d7a 100644 --- a/DaoValidators/tests/DaoValidators.test.ts +++ b/DaoValidators/tests/DaoValidators.test.ts @@ -128,6 +128,7 @@ function createChangedValidatorsBalances( return event; } + function createDaoPoolDeployed( name: string, govPool: Address, @@ -139,9 +140,13 @@ function createDaoPoolDeployed( let event = changetype(newMockEvent()); event.parameters = new Array(); + let govPoolDeps = new ethereum.Tuple(5); + govPoolDeps[2] = ethereum.Value.fromAddress(validators); + event.parameters.push(new ethereum.EventParam("name", ethereum.Value.fromString(name))); event.parameters.push(new ethereum.EventParam("govPool", ethereum.Value.fromAddress(govPool))); - event.parameters.push(new ethereum.EventParam("dp", ethereum.Value.fromAddress(dp))); + event.parameters.push(new ethereum.EventParam("govPoolDeps", ethereum.Value.fromTuple(govPoolDeps))); + event.parameters.push(new ethereum.EventParam("distributionProposal", ethereum.Value.fromAddress(dp))); event.parameters.push(new ethereum.EventParam("validators", ethereum.Value.fromAddress(validators))); event.block = block; diff --git a/DaoValidators/tests/PoolFactory.test.ts b/DaoValidators/tests/PoolFactory.test.ts index fcb16763..179948e1 100644 --- a/DaoValidators/tests/PoolFactory.test.ts +++ b/DaoValidators/tests/PoolFactory.test.ts @@ -9,16 +9,33 @@ function createDaoPoolDeployed( govPool: Address, dp: Address, validators: Address, + settings: Address, + govUserKeeper: Address, + expertNft: Address, + nftMultiplier: Address, + tokenSale: Address, + token: Address, + sender: Address, block: ethereum.Block, tx: ethereum.Transaction ): DaoPoolDeployed { let event = changetype(newMockEvent()); event.parameters = new Array(); + let govPoolDeps = new ethereum.Tuple(5); + govPoolDeps[0] = ethereum.Value.fromAddress(settings); + govPoolDeps[1] = ethereum.Value.fromAddress(govUserKeeper); + govPoolDeps[2] = ethereum.Value.fromAddress(validators); + govPoolDeps[3] = ethereum.Value.fromAddress(expertNft); + govPoolDeps[4] = ethereum.Value.fromAddress(nftMultiplier); + event.parameters.push(new ethereum.EventParam("name", ethereum.Value.fromString(name))); event.parameters.push(new ethereum.EventParam("govPool", ethereum.Value.fromAddress(govPool))); - event.parameters.push(new ethereum.EventParam("dp", ethereum.Value.fromAddress(dp))); - event.parameters.push(new ethereum.EventParam("validators", ethereum.Value.fromAddress(validators))); + event.parameters.push(new ethereum.EventParam("govPoolDeps", ethereum.Value.fromTuple(govPoolDeps))); + event.parameters.push(new ethereum.EventParam("distributionProposal", ethereum.Value.fromAddress(dp))); + event.parameters.push(new ethereum.EventParam("tokenSale", ethereum.Value.fromAddress(tokenSale))); + event.parameters.push(new ethereum.EventParam("token", ethereum.Value.fromAddress(token))); + event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); event.block = block; event.transaction = tx; @@ -39,9 +56,29 @@ describe("PoolFactory", () => { let govPool = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181679"); let dp = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181670"); let validators = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + let settings = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"); + let govUserKeeper = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181673"); + let expertNft = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181673"); + let nftMultiplier = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181673"); + let tokenSale = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181674"); + let token = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181674"); + let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181675"); - let event = createDaoPoolDeployed(name, govPool, dp, validators, block, tx); - + let event = createDaoPoolDeployed( + name, + govPool, + dp, + validators, + settings, + govUserKeeper, + expertNft, + nftMultiplier, + tokenSale, + token, + sender, + block, + tx + ); onDeployed(event); assert.fieldEquals("DaoPool", govPool.toHexString(), "id", govPool.toHexString()); From 184bca51a3efa2109e58f20dd883fb32cee4654a Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Thu, 24 Aug 2023 13:52:59 +0300 Subject: [PATCH 21/44] Feat/new voting logic (#125) * refactored DAO schema * updated abis, subgraph.yaml, fixed schema in DaoPools --------- Co-authored-by: Artem Chystiakov --- DaoPools/abis/DaoPool.json | 666 ++++++++++++++++----------------- DaoPools/abis/PoolFactory.json | 54 ++- DaoPools/schema.graphql | 291 ++++++-------- DaoPools/subgraph.yaml | 12 +- 4 files changed, 504 insertions(+), 519 deletions(-) diff --git a/DaoPools/abis/DaoPool.json b/DaoPools/abis/DaoPool.json index 351d74fb..60612b4c 100644 --- a/DaoPools/abis/DaoPool.json +++ b/DaoPools/abis/DaoPool.json @@ -2,32 +2,49 @@ { "anonymous": false, "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "to", - "type": "address" - }, { "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "proposalId", "type": "uint256" }, { "indexed": false, - "internalType": "uint256[]", - "name": "nfts", - "type": "uint256[]" + "internalType": "address", + "name": "voter", + "type": "address" }, { "indexed": false, "internalType": "bool", - "name": "isDelegate", + "name": "isVoteFor", "type": "bool" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "personal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "micropool", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "treasury", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct IGovPool.Votes", + "name": "votes", + "type": "tuple" } ], - "name": "DelegatedTreasury", + "name": "VoteChanged", "type": "event" }, { @@ -35,14 +52,14 @@ "inputs": [ { "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" }, { "indexed": false, "internalType": "address", - "name": "token", + "name": "rewardToken", "type": "address" }, { @@ -50,19 +67,6 @@ "internalType": "uint256", "name": "amount", "type": "uint256" - } - ], - "name": "StakingRewardClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "resultsHash", - "type": "string" }, { "indexed": false, @@ -71,28 +75,9 @@ "type": "address" } ], - "name": "OffchainResultsSaved", + "name": "RewardCanceled", "type": "event" }, - { - "inputs": [ - { - "internalType": "string", - "name": "resultsHash", - "type": "string" - } - ], - "name": "getSignHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, { "anonymous": false, "inputs": [ @@ -161,6 +146,44 @@ "name": "RewardCredited", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "resultsHash", + "type": "string" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OffchainResultsSaved", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "resultsHash", + "type": "string" + } + ], + "name": "getSignHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, { "anonymous": false, "inputs": [ @@ -173,29 +196,23 @@ { "indexed": false, "internalType": "address", - "name": "sender", + "name": "user", "type": "address" }, { "indexed": false, - "internalType": "enum IGovPool.VoteType", - "name": "voteType", - "type": "uint8" + "internalType": "address", + "name": "token", + "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isVoteFor", - "type": "bool" } ], - "name": "Voted", + "name": "MicropoolRewardClaimed", "type": "event" }, { @@ -371,6 +388,12 @@ { "anonymous": false, "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "to", + "type": "address" + }, { "indexed": false, "internalType": "uint256", @@ -385,42 +408,17 @@ }, { "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "Deposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" + "internalType": "bool", + "name": "isDelegate", + "type": "bool" } ], - "name": "Initialized", + "name": "DelegatedTreasury", "type": "event" }, { "anonymous": false, "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "to", - "type": "address" - }, { "indexed": false, "internalType": "uint256", @@ -432,9 +430,28 @@ "internalType": "uint256[]", "name": "nfts", "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" } ], - "name": "Requested", + "name": "Deposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", "type": "event" }, { @@ -462,19 +479,6 @@ "name": "Withdrawn", "type": "event" }, - { - "inputs": [], - "name": "PERCENTAGE_MICROPOOL_REWARDS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -489,19 +493,24 @@ "name": "userKeeperAddress", "type": "address" }, + { + "internalType": "address payable", + "name": "validatorsAddress", + "type": "address" + }, { "internalType": "address", - "name": "distributionAddress", + "name": "expertNftAddress", "type": "address" }, { "internalType": "address", - "name": "validatorsAddress", + "name": "nftMultiplierAddress", "type": "address" }, { "internalType": "address", - "name": "expertNftAddress", + "name": "votePowerAddress", "type": "address" } ], @@ -509,21 +518,6 @@ "name": "govPoolDeps", "type": "tuple" }, - { - "internalType": "address", - "name": "nftMultiplierAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" - }, { "internalType": "address", "name": "_verifier", @@ -556,16 +550,16 @@ "type": "function" }, { - "inputs": [], - "name": "babt", - "outputs": [ + "inputs": [ { - "internalType": "contract ISBT721", - "name": "", - "type": "address" + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" } ], - "stateMutability": "view", + "name": "cancelVote", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { @@ -597,17 +591,17 @@ { "inputs": [ { - "internalType": "uint256", - "name": "regularModifier", - "type": "uint256" + "internalType": "uint256[]", + "name": "proposalIds", + "type": "uint256[]" }, { - "internalType": "uint256", - "name": "expertModifier", - "type": "uint256" + "internalType": "address", + "name": "delegatee", + "type": "address" } ], - "name": "changeVoteModifiers", + "name": "claimMicropoolRewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -645,11 +639,6 @@ "name": "_descriptionURL", "type": "string" }, - { - "internalType": "string", - "name": "misc", - "type": "string" - }, { "components": [ { @@ -723,6 +712,29 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "delegatee", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "nftIds", + "type": "uint256[]" + } + ], + "name": "delegateTreasury", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "deployerBABTid", @@ -772,19 +784,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "dexeExpertNft", - "outputs": [ - { - "internalType": "contract IERC721Expert", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -813,12 +812,29 @@ }, { "inputs": [], - "name": "expertNft", + "name": "getCreditInfo", "outputs": [ { - "internalType": "contract IERC721Expert", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "monthLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "currentWithdrawLimit", + "type": "uint256" + } + ], + "internalType": "struct IGovPool.CreditInfoView[]", "name": "", - "type": "address" + "type": "tuple[]" } ], "stateMutability": "view", @@ -826,40 +842,50 @@ }, { "inputs": [ + { + "internalType": "uint256[]", + "name": "proposalIds", + "type": "uint256[]" + }, { "internalType": "address", "name": "delegator", "type": "address" + }, + { + "internalType": "address", + "name": "delegatee", + "type": "address" } ], - "name": "getDelegatorStakingRewards", + "name": "getDelegatorRewards", "outputs": [ { - "components": [ - { - "internalType": "address", - "name": "micropool", - "type": "address" - }, + "components": [ { "internalType": "address[]", "name": "rewardTokens", "type": "address[]" }, { - "internalType": "uint256[]", - "name": "expectedRewards", - "type": "uint256[]" + "internalType": "bool[]", + "name": "isVoteFor", + "type": "bool[]" + }, + { + "internalType": "bool[]", + "name": "isClaimed", + "type": "bool[]" }, { "internalType": "uint256[]", - "name": "realRewards", + "name": "expectedRewards", "type": "uint256[]" } ], - "internalType": "struct IGovPool.UserStakeRewardsView[]", + "internalType": "struct IGovPool.DelegatorRewards", "name": "", - "type": "tuple[]" + "type": "tuple" } ], "stateMutability": "view", @@ -905,7 +931,12 @@ }, { "internalType": "address", - "name": "distributionProposal", + "name": "poolRegistry", + "type": "address" + }, + { + "internalType": "address", + "name": "votePower", "type": "address" } ], @@ -918,7 +949,35 @@ "outputs": [ { "internalType": "address", - "name": "_injector", + "name": "injector_", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getNftContracts", + "outputs": [ + { + "internalType": "address", + "name": "nftMultiplier", + "type": "address" + }, + { + "internalType": "address", + "name": "expertNft", + "type": "address" + }, + { + "internalType": "address", + "name": "dexeExpertNft", + "type": "address" + }, + { + "internalType": "address", + "name": "babt", "type": "address" } ], @@ -927,8 +986,13 @@ }, { "inputs": [], - "name": "getOffchainResultsHash", + "name": "getOffchainInfo", "outputs": [ + { + "internalType": "address", + "name": "validator", + "type": "address" + }, { "internalType": "string", "name": "resultsHash", @@ -1151,11 +1215,6 @@ "name": "settings", "type": "tuple" }, - { - "internalType": "bool", - "name": "executed", - "type": "bool" - }, { "internalType": "uint64", "name": "voteEnd", @@ -1166,6 +1225,11 @@ "name": "executeAfter", "type": "uint64" }, + { + "internalType": "uint64", + "name": "executionTime", + "type": "uint64" + }, { "internalType": "uint256", "name": "votesFor", @@ -1180,6 +1244,11 @@ "internalType": "uint256", "name": "nftPowerSnapshotId", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "givenRewards", + "type": "uint256" } ], "internalType": "struct IGovPool.ProposalCore", @@ -1303,11 +1372,6 @@ "internalType": "uint256", "name": "requiredValidatorsQuorum", "type": "uint256" - }, - { - "internalType": "uint64", - "name": "executeAfter", - "type": "uint64" } ], "internalType": "struct IGovPool.ProposalView[]", @@ -1331,9 +1395,9 @@ "type": "address" }, { - "internalType": "bool", - "name": "isMicropool", - "type": "bool" + "internalType": "enum IGovPool.VoteType", + "name": "voteType", + "type": "uint8" } ], "name": "getTotalVotes", @@ -1353,6 +1417,25 @@ "name": "", "type": "uint256" }, + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getUserActiveProposalsCount", + "outputs": [ { "internalType": "uint256", "name": "", @@ -1375,9 +1458,9 @@ "type": "address" }, { - "internalType": "bool", - "name": "isMicropool", - "type": "bool" + "internalType": "enum IGovPool.VoteType", + "name": "voteType", + "type": "uint8" } ], "name": "getUserVotes", @@ -1385,33 +1468,28 @@ { "components": [ { - "internalType": "uint256", - "name": "totalVotedFor", - "type": "uint256" + "internalType": "bool", + "name": "isVoteFor", + "type": "bool" }, { "internalType": "uint256", - "name": "totalVotedAgainst", + "name": "totalVoted", "type": "uint256" }, { "internalType": "uint256", - "name": "tokensVotedFor", + "name": "tokensVoted", "type": "uint256" }, { "internalType": "uint256", - "name": "tokensVotedAgainst", + "name": "powerVoted", "type": "uint256" }, { "internalType": "uint256[]", - "name": "nftsVotedFor", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "nftsVotedAgainst", + "name": "nftsVoted", "type": "uint256[]" } ], @@ -1423,67 +1501,12 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "getVerifier", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getVoteModifierForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVoteModifiers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { "internalType": "address", "name": "delegator", "type": "address" - }, - { - "internalType": "address", - "name": "delegatee", - "type": "address" } ], "name": "getWithdrawableAssets", @@ -1560,19 +1583,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "nftMultiplier", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -1701,22 +1711,17 @@ { "inputs": [ { - "internalType": "address", - "name": "delegatee", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" + "internalType": "string", + "name": "resultsHash", + "type": "string" }, { - "internalType": "uint256[]", - "name": "nftIds", - "type": "uint256[]" + "internalType": "bytes", + "name": "signature", + "type": "bytes" } ], - "name": "request", + "name": "saveOffchainResults", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -1724,17 +1729,17 @@ { "inputs": [ { - "internalType": "string", - "name": "resultsHash", - "type": "string" + "internalType": "address[]", + "name": "tokens", + "type": "address[]" }, { - "internalType": "bytes", - "name": "signature", - "type": "bytes" + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" } ], - "name": "saveOffchainResults", + "name": "setCreditInfo", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -1745,6 +1750,11 @@ "internalType": "address", "name": "contractsRegistry", "type": "address" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" } ], "name": "setDependencies", @@ -1756,7 +1766,7 @@ "inputs": [ { "internalType": "address", - "name": "_injector", + "name": "injector_", "type": "address" } ], @@ -1797,6 +1807,29 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "tokens", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "transferCreditAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -1824,39 +1857,34 @@ "inputs": [ { "internalType": "address", - "name": "user", + "name": "delegatee", "type": "address" }, { - "internalType": "bool", - "name": "isMicropool", - "type": "bool" + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "nftIds", + "type": "uint256[]" } ], - "name": "unlock", + "name": "undelegateTreasury", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ - { - "internalType": "uint256[]", - "name": "proposalIds", - "type": "uint256[]" - }, { "internalType": "address", "name": "user", "type": "address" - }, - { - "internalType": "bool", - "name": "isMicropool", - "type": "bool" } ], - "name": "unlockInProposals", + "name": "unlock", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -1868,33 +1896,10 @@ "name": "proposalId", "type": "uint256" }, - { - "internalType": "uint256", - "name": "voteAmount", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "voteNftIds", - "type": "uint256[]" - }, { "internalType": "bool", "name": "isVoteFor", "type": "bool" - } - ], - "name": "vote", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" }, { "internalType": "uint256", @@ -1905,14 +1910,9 @@ "internalType": "uint256[]", "name": "voteNftIds", "type": "uint256[]" - }, - { - "internalType": "bool", - "name": "isVoteFor", - "type": "bool" } ], - "name": "voteDelegated", + "name": "vote", "outputs": [], "stateMutability": "nonpayable", "type": "function" diff --git a/DaoPools/abis/PoolFactory.json b/DaoPools/abis/PoolFactory.json index 300d71c5..025785ee 100644 --- a/DaoPools/abis/PoolFactory.json +++ b/DaoPools/abis/PoolFactory.json @@ -1,4 +1,23 @@ [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + } + ], + "name": "predictTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "anonymous": false, "inputs": [ @@ -40,6 +59,11 @@ "internalType": "address", "name": "nftMultiplierAddress", "type": "address" + }, + { + "internalType": "address", + "name": "votePowerAddress", + "type": "address" } ], "indexed": false, @@ -436,7 +460,7 @@ "type": "uint256[]" } ], - "internalType": "struct IERC20Sale.ConstructorParams", + "internalType": "struct IERC20Gov.ConstructorParams", "name": "tokenParams", "type": "tuple" } @@ -446,14 +470,26 @@ "type": "tuple" }, { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" + "components": [ + { + "internalType": "enum IPoolFactory.VotePowerType", + "name": "voteType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "initData", + "type": "bytes" + }, + { + "internalType": "address", + "name": "presetAddress", + "type": "address" + } + ], + "internalType": "struct IPoolFactory.VotePowerDeployParams", + "name": "votePowerParams", + "type": "tuple" }, { "internalType": "address", diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index 7c819562..43720758 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -1,11 +1,3 @@ -# @notice The entity holds information about DP contract -# @param id forms from DP contract address -# @param daoPool the daoPool address -type DPContract @entity(immutable: true) { - id: Bytes! # DP contract address - daoPool: Bytes! -} - # @notice The entity holds information about settings contract # @param id forms from settings contract address # @param daoPool the daoPool address @@ -22,6 +14,51 @@ type UserKeeperContract @entity(immutable: true) { daoPool: Bytes! } +type ExpertNftContract @entity(immutable: true) { + id: Bytes! # contract address + daoPool: DaoPool! +} + +# @notice The entity holds information about DP contract +# @param id forms from DP contract address +# @param daoPool the daoPool address +type DPContract @entity(immutable: true) { + id: Bytes! # DP contract address + daoPool: Bytes! +} + +# @notice The entity holds information about token sale +# @param id forms from TokenSale address +# @param token the token address +# @param pool the dao pool entity id +type TokenSaleContract @entity { + id: Bytes! + daoPool: Bytes! + + tiers: [TokenSaleTier!]! @derivedFrom(field: "tokenSale") +} + +# @notice The entity holds historical information proposal settings +# @param id forms from pool address + settingsId +# @param settingsId the settings id +# @param executorDescription the url of description +# @param pool the dao pool entity id +type ProposalSettings @entity { + id: Bytes! # pool address + settingsId + settingsId: BigInt! + + executorDescription: String! + + executors: [Executor!]! @derivedFrom(field: "settings") + pool: DaoPool! +} + +type ExpertNft @entity { + id: Bytes! # ExpertNft address + token id + tokenId: BigInt! + tags: [String!]! +} + # @notice The entity holds information about dao pool # @param id forms from pool address # @param name the name of pool @@ -62,29 +99,31 @@ type DaoPool @entity { proposals: [Proposal!]! @derivedFrom(field: "pool") settings: [ProposalSettings!]! @derivedFrom(field: "pool") executors: [Executor!]! @derivedFrom(field: "pool") - experts: [ExpertInPool!]! @derivedFrom(field: "pool") - tokenSales: [TokenSale!]! @derivedFrom(field: "pool") } -# @notice The entity holds information about voter offchain results -# @param id forms from voter address and pool address -# @param rewardUSD the rewards in USD -type VoterOffchain @entity { - id: Bytes! # voter address + pool address - voter: Voter! - pool: DaoPool! +# @notice The entity holds information about executor +# @param id forms from pool address + executor address +# @param executorAddress the address of executor +# @param settings the ProposalSettings entity id +# @param pool the pool entity id +type Executor @entity { + id: Bytes! # dao pool address + executor address + executorAddress: Bytes! - rewardUSD: BigInt! - claimedRewardUSD: BigInt! + settings: ProposalSettings! + + pool: DaoPool! } # @notice The entity holds information about voter # @param id forms from user address type Voter @entity { id: Bytes! # voter address + expertNft: ExpertNft! + totalProposalsCreated: BigInt! totalClaimedUSD: BigInt! - totalUnclaimedUSD: BigInt! + totalRewardedUSD: BigInt! totalDelegatedUSD: BigInt! totalLockedFundsUSD: BigInt! totalVotedProposals: BigInt! @@ -113,7 +152,6 @@ type Voter @entity { type Proposal @entity { id: Bytes! # pool address + porposalId proposalId: BigInt! - rewardToken: Bytes! creator: Voter! @@ -121,20 +159,21 @@ type Proposal @entity { executor: Bytes! executionTimestamp: BigInt! + rewardToken: Bytes! + currentVotesFor: BigInt! currentVotesAgainst: BigInt! quorum: BigInt! + description: String! votersVoted: BigInt! - pool: DaoPool! + voters: [Voter!]! + pool: DaoPool! settings: ProposalSettings! - voters: [Voter!]! - - votesCount: BigInt! - votes: [ProposalVote!]! @derivedFrom(field: "proposal") + interactions: [ProposalInteraction!]! @derivedFrom(field: "proposal") } # @notice The entity holds information about voter's actions in pool @@ -158,6 +197,8 @@ type VoterInPool @entity { id: Bytes! # voter address + pool address joinedTimestamp: BigInt! + expertNft: ExpertNft! + receivedDelegation: BigInt! receivedNFTDelegation: [BigInt!]! receivedNFTDelegationCount: BigInt! @@ -166,58 +207,23 @@ type VoterInPool @entity { receivedTreasuryNFTDelegation: [BigInt!]! receivedTreasuryNFTDelegationCount: BigInt! - requestedTokensAmount: BigInt! - requestedNft: [BigInt!]! - requestedNftCount: BigInt! - - totalDPClaimed: BigInt! + totalLockedUSD: BigInt! totalClaimedUSD: BigInt! + rewardedUSD: BigInt! - totalDelegationRewardUSDFor: BigInt! - totalDelegationRewardUSDAgainst: BigInt! - + engagedProposalsCount: BigInt! currentDelegatorsCount: BigInt! APR: BigInt! - cusum: BigInt! - lastUpdate: BigInt! - totalLockedFundsUSD: BigInt! - - totalStakingReward: BigInt! + _cusum: BigInt! + _lastUpdate: BigInt! pool: DaoPool! voter: Voter! - proposalsCount: BigInt! - proposals: [VoterInProposal!]! - claimedDPs: [Bytes!]! - treasuryDelegationHistory: [TreasuryDelegationHistory!]! @derivedFrom(field: "to") -} - -# @notice The entity holds information about vote -# @param id forms from tx hash + counter -# @param hash the tx hash -# @param timestamp the timestamp of tx -# @param isVoteFor bool flag, if true - vote for, if false - vote against -# @param personalAmount the personal amount of vote -# @param delegatedAmount the delegated amount of vote -# @param voter the VoterInProposal entity id -# @param proposal the Proposal entity id -type ProposalVote @entity(immutable: true) { - id: Bytes! # tx hash + counter - hash: Bytes! - timestamp: BigInt! - - isVoteFor: Boolean! - - voteType: BigInt! - - amount: BigInt! - - voter: VoterInProposal! - proposal: Proposal! + treasuryDelegationHistory: [TreasuryDelegationHistory!]! @derivedFrom(field: "delegatee") } # @notice The entity holds information about voter's actions in proposal @@ -235,28 +241,47 @@ type ProposalVote @entity(immutable: true) { # @param claimedDpRewardUSD the amount of dp rewards in usd type VoterInProposal @entity { id: Bytes! # voter address + proposal entity id + isVoteFor: Boolean! + + personalVote: BigInt! + micropoolVote: BigInt! + treasuryVote: BigInt! + + staticRewardUSD: BigInt! + personalRewardUSD: BigInt! + micropoolRewardUSD: BigInt! + treasuryRewardUSD: BigInt! + + claimedRewardUSD: BigInt! + pool: DaoPool! proposal: Proposal! voter: VoterInPool! - totalVoteForAmount: BigInt! - totalVoteAgainstAmount: BigInt! - - totalDelegatedVoteForAmount: BigInt! - totalDelegatedVoteAgainstAmount: BigInt! - - totalTreasuryVoteForAmount: BigInt! - totalTreasuryVoteAgainstAmount: BigInt! + interactions: [ProposalInteraction!]! @derivedFrom(field: "voter") +} - unclaimedRewardUSDFor: BigInt! - unclaimedRewardUSDAgainst: BigInt! - unclaimedRewardFromDelegationsUSDFor: BigInt! - unclaimedRewardFromDelegationsUSDAgainst: BigInt! +# @notice The entity holds information about vote +# @param id forms from tx hash + counter +# @param hash the tx hash +# @param timestamp the timestamp of tx +# @param isVoteFor bool flag, if true - vote for, if false - vote against +# @param personalAmount the personal amount of vote +# @param delegatedAmount the delegated amount of vote +# @param voter the VoterInProposal entity id +# @param proposal the Proposal entity id +type ProposalInteraction @entity(immutable: true) { + id: Bytes! # tx hash + counter + hash: Bytes! + timestamp: BigInt! - claimedRewardUSD: BigInt! - claimedDpRewardUSD: BigInt! + interactionType: BigInt! # 0 -> vote for, 1 -> vote against, 2 -> cancel + personalVote: BigInt! + micropoolVote: BigInt! + treasuryVote: BigInt! - votes: [ProposalVote!]! @derivedFrom(field: "voter") + voter: VoterInProposal! + proposal: Proposal! } # @notice The entity holds historical information about delegations @@ -271,56 +296,28 @@ type VoterInProposal @entity { # @param pair the VoterInPoolPair entity id type DelegationHistory @entity(immutable: true) { id: Bytes! # tx hash + counter - pool: DaoPool! timestamp: BigInt! - from: Voter! - to: Voter! + delegator: Voter! + delegatee: Voter! type: BigInt! amount: BigInt! nfts: [BigInt!]! + pool: DaoPool! pair: VoterInPoolPair! } type TreasuryDelegationHistory @entity(immutable: true) { id: Bytes! # tx hash + counter - pool: DaoPool! timestamp: BigInt! - to: VoterInPool! + delegatee: VoterInPool! type: BigInt! amount: BigInt! nfts: [BigInt!]! -} - -# @notice The entity holds historical information proposal settings -# @param id forms from pool address + settingsId -# @param settingsId the settings id -# @param executorDescription the url of description -# @param pool the dao pool entity id -type ProposalSettings @entity { - id: Bytes! # pool address + settingsId - settingsId: BigInt! - - executorDescription: String! - - executors: [Executor!]! @derivedFrom(field: "settings") - pool: DaoPool! -} - -# @notice The entity holds information about executor -# @param id forms from pool address + executor address -# @param executorAddress the address of executor -# @param settings the ProposalSettings entity id -# @param pool the pool entity id -type Executor @entity { - id: Bytes! # dao pool address + executor address - executorAddress: Bytes! - - settings: ProposalSettings! pool: DaoPool! } @@ -333,30 +330,15 @@ type Executor @entity { # @param delegateNfts the current delegated nfts type VoterInPoolPair @entity { id: Bytes! # pool address + from address + to address - from: VoterInPool! - to: VoterInPool! + delegator: VoterInPool! + delegatee: VoterInPool! - delegateAmount: BigInt! - delegateNfts: [BigInt!]! - requestAmount: BigInt! - requestNfts: [BigInt!]! + delegatedAmount: BigInt! + delegatedNfts: [BigInt!]! history: [DelegationHistory!]! @derivedFrom(field: "pair") } -# @notice The entity holds information about token sale -# @param id forms from TokenSale address -# @param token the token address -# @param pool the dao pool entity id -type TokenSale @entity { - id: Bytes! - token: Bytes! - - pool: DaoPool! - - tiers: [TokenSaleTier!]! @derivedFrom(field: "tokenSale") -} - # @notice The entity holds information about token sale tier # @param id forms from token sale address + tier id # @param tokenSale the token sale @@ -365,14 +347,14 @@ type TokenSale @entity { # @param voters the array of VoterInPool ids type TokenSaleTier @entity { id: Bytes! - tokenSale: TokenSale! - tierToken: Bytes! + saleToken: Bytes! + whitelistType: BigInt! - userWhitelist: [Bytes!]! + totalBuyersCount: BigInt! + buyers: [VoterInPool!]! - totalUserCount: BigInt! - voters: [VoterInPool!]! + tokenSale: TokenSaleContract! } # @notice The entity counts interactions in single tx @@ -382,36 +364,3 @@ type InteractionCount @entity { id: Bytes! count: BigInt! } - -type ExpertNftContract @entity(immutable: true) { - id: Bytes! # contract address - daoPool: DaoPool! -} - -type GlobalExpert @entity { - id: Bytes! # voter address - nft: ExpertNft! -} - -type Expert @entity { - id: Bytes! # voter address - pools: [Bytes!]! - - nfts: [ExpertNft!]! @derivedFrom(field: "expert") -} - -type ExpertInPool @entity { - id: Bytes! # voter address + pool address - tokenId: BigInt! - - pool: DaoPool! - expert: Voter! -} - -type ExpertNft @entity { - id: Bytes! # ExpertNft address + token id - expert: Expert! - - tokenId: BigInt! - tags: [String!]! -} diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index 03c69308..0f31c212 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -20,7 +20,7 @@ dataSources: - name: PoolFactory file: ./abis/PoolFactory.json eventHandlers: - - event: DaoPoolDeployed(string,address,(address,address,address,address,address),address,address,address,address) + - event: DaoPoolDeployed(string,address,(address,address,address,address,address,address),address,address,address,address) handler: onDeployed - kind: ethereum/contract name: ERC721Expert @@ -72,7 +72,7 @@ templates: handler: onDelegated - event: DelegatedTreasury(address,uint256,uint256[],bool) handler: onDelegatedTreasury - - event: Voted(uint256,address,uint8,uint256,bool) # id, msg.sender, personalVote, delegatedVote + - event: VoteChanged(uint256,address,bool,(uint256,uint256,uint256)) # id, msg.sender, personalVote, delegatedVote handler: onVoted - event: ProposalExecuted(uint256,bool,address) # id, isFor, msg.sender handler: onProposalExecuted @@ -80,12 +80,12 @@ templates: handler: onRewardClaimed - event: RewardCredited(uint256,uint8,address,uint256,address) # id, type, token, amount, to handler: onRewardCredited - - event: StakingRewardClaimed(address,address,uint256) - handler: onStakingRewardClaimed + - event: RewardCanceled(uint256,address,uint256,address) + handler: onRewardCanceled + - event: MicropoolRewardClaimed(uint256,address,address,uint256) + handler: onMicropoolRewardClaimed - event: OffchainResultsSaved(string,address) handler: onOffchainResultsSaved - - event: Requested(address,address,uint256,uint256[]) - handler: onRequested - kind: ethereum/contract name: DistributionProposal From ca28c7732ea9210206d761f302d25ae218039565 Mon Sep 17 00:00:00 2001 From: Artem Chystiakov Date: Tue, 29 Aug 2023 12:22:30 +0300 Subject: [PATCH 22/44] updated versions --- AllInteractions/package-lock.json | 8146 +++++++++++++++-------------- AllInteractions/package.json | 6 +- DaoPools/package-lock.json | 8019 ++++++++++++++-------------- DaoPools/package.json | 6 +- DaoValidators/package-lock.json | 7652 ++++++++++++++------------- DaoValidators/package.json | 6 +- package-lock.json | 14 +- package.json | 2 +- 8 files changed, 12454 insertions(+), 11397 deletions(-) diff --git a/AllInteractions/package-lock.json b/AllInteractions/package-lock.json index f85264ab..4d9cfd37 100644 --- a/AllInteractions/package-lock.json +++ b/AllInteractions/package-lock.json @@ -7,38 +7,103 @@ "name": "dexe", "license": "UNLICENSED", "dependencies": { - "@graphprotocol/graph-cli": "0.32.0", - "@graphprotocol/graph-ts": "0.27.0", + "@graphprotocol/graph-cli": "0.56.0", + "@graphprotocol/graph-ts": "0.31.0", "@solarity/graph-lib": "^1.0.0-rc.5", - "matchstick-as": "0.5.0" + "matchstick-as": "0.5.2" } }, "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", + "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -82,6 +147,14 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -101,15 +174,15 @@ "node": ">=4" } }, - "node_modules/@babel/runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", - "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dependencies": { - "regenerator-runtime": "^0.13.4" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, "node_modules/@ethersproject/abi": { @@ -129,9 +202,9 @@ } }, "node_modules/@ethersproject/abstract-provider": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", "funding": [ { "type": "individual", @@ -143,19 +216,19 @@ } ], "dependencies": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.3", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/web": "^5.6.1" + "@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" } }, "node_modules/@ethersproject/abstract-signer": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", "funding": [ { "type": "individual", @@ -167,17 +240,17 @@ } ], "dependencies": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0" + "@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" } }, "node_modules/@ethersproject/address": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", "funding": [ { "type": "individual", @@ -189,17 +262,17 @@ } ], "dependencies": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/rlp": "^5.6.1" + "@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" } }, "node_modules/@ethersproject/base64": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", "funding": [ { "type": "individual", @@ -211,13 +284,13 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.6.1" + "@ethersproject/bytes": "^5.7.0" } }, "node_modules/@ethersproject/bignumber": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", "funding": [ { "type": "individual", @@ -229,20 +302,15 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", "bn.js": "^5.2.1" } }, - "node_modules/@ethersproject/bignumber/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, "node_modules/@ethersproject/bytes": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", "funding": [ { "type": "individual", @@ -254,13 +322,13 @@ } ], "dependencies": { - "@ethersproject/logger": "^5.6.0" + "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/constants": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", "funding": [ { "type": "individual", @@ -272,13 +340,13 @@ } ], "dependencies": { - "@ethersproject/bignumber": "^5.6.2" + "@ethersproject/bignumber": "^5.7.0" } }, "node_modules/@ethersproject/hash": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", "funding": [ { "type": "individual", @@ -290,20 +358,21 @@ } ], "dependencies": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" + "@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" } }, "node_modules/@ethersproject/keccak256": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", "funding": [ { "type": "individual", @@ -315,14 +384,14 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.6.1", + "@ethersproject/bytes": "^5.7.0", "js-sha3": "0.8.0" } }, "node_modules/@ethersproject/logger": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", "funding": [ { "type": "individual", @@ -335,9 +404,9 @@ ] }, "node_modules/@ethersproject/networks": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", "funding": [ { "type": "individual", @@ -349,13 +418,13 @@ } ], "dependencies": { - "@ethersproject/logger": "^5.6.0" + "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/properties": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", "funding": [ { "type": "individual", @@ -367,13 +436,13 @@ } ], "dependencies": { - "@ethersproject/logger": "^5.6.0" + "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/rlp": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", "funding": [ { "type": "individual", @@ -385,14 +454,14 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/signing-key": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", "funding": [ { "type": "individual", @@ -404,23 +473,18 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", + "@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" } }, - "node_modules/@ethersproject/signing-key/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, "node_modules/@ethersproject/strings": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", "funding": [ { "type": "individual", @@ -432,15 +496,15 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/transactions": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", "funding": [ { "type": "individual", @@ -452,21 +516,21 @@ } ], "dependencies": { - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/rlp": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2" + "@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" } }, "node_modules/@ethersproject/web": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", "funding": [ { "type": "individual", @@ -478,238 +542,673 @@ } ], "dependencies": { - "@ethersproject/base64": "^5.6.1", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" + "@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" } }, - "node_modules/@graphprotocol/graph-cli": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.32.0.tgz", - "integrity": "sha512-40Kii/Ttype5aNCaQn81AP7utyE6JKB5bI9QtYd6WoaS3oACICqdPA89+5UB1s9t6yXiFbWojK3e7JUokPdYfA==", + "node_modules/@float-capital/float-subgraph-uncrashable": { + "version": "0.0.0-internal-testing.5", + "resolved": "https://registry.npmjs.org/@float-capital/float-subgraph-uncrashable/-/float-subgraph-uncrashable-0.0.0-internal-testing.5.tgz", + "integrity": "sha512-yZ0H5e3EpAYKokX/AbtplzlvSxEJY7ZfpvQyDzyODkks0hakAAlDG6fQu1SlDJMWorY7bbq1j7fCiFeTWci6TA==", + "dependencies": { + "@rescript/std": "9.0.0", + "graphql": "^16.6.0", + "graphql-import-node": "^0.0.5", + "js-yaml": "^4.1.0" + }, + "bin": { + "uncrashable": "bin/uncrashable" + } + }, + "node_modules/@float-capital/float-subgraph-uncrashable/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/@float-capital/float-subgraph-uncrashable/node_modules/graphql": { + "version": "16.8.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.0.tgz", + "integrity": "sha512-0oKGaR+y3qcS5mCu1vb7KG+a89vjn06C7Ihq/dDl3jA+A8B3TKomvi3CiEcVLJQGalbu8F52LxkOym7U5sSfbg==", + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/@float-capital/float-subgraph-uncrashable/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { - "assemblyscript": "0.19.10", + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@graphprotocol/graph-cli": { + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.56.0.tgz", + "integrity": "sha512-bOVtYLDLJpyqjPv9RX8DwRFePOiIlzWZhQGuznb6lY7Uk+uvjc0JSBsgPOAWjwkAI+3U1Ux7GPVwgYSLIOBXoQ==", + "dependencies": { + "@float-capital/float-subgraph-uncrashable": "^0.0.0-alpha.4", + "@oclif/core": "2.8.6", + "@whatwg-node/fetch": "^0.8.4", + "assemblyscript": "0.19.23", "binary-install-raw": "0.0.13", "chalk": "3.0.0", - "chokidar": "3.5.1", - "debug": "4.3.1", - "docker-compose": "0.23.4", + "chokidar": "3.5.3", + "debug": "4.3.4", + "docker-compose": "0.23.19", "dockerode": "2.5.8", - "fs-extra": "9.0.0", - "glob": "7.1.6", - "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", + "fs-extra": "9.1.0", + "glob": "9.3.5", + "gluegun": "5.1.2", "graphql": "15.5.0", - "immutable": "3.8.2", - "ipfs-http-client": "34.0.0", - "jayson": "3.6.6", - "js-yaml": "3.13.1", - "node-fetch": "2.6.0", - "pkginfo": "0.4.1", + "immutable": "4.2.1", + "ipfs-http-client": "55.0.0", + "jayson": "4.0.0", + "js-yaml": "3.14.1", "prettier": "1.19.1", "request": "2.88.2", - "semver": "7.3.5", + "semver": "7.4.0", "sync-request": "6.1.0", - "tmp-promise": "3.0.2", + "tmp-promise": "3.0.3", "web3-eth-abi": "1.7.0", "which": "2.0.2", - "yaml": "1.9.2" + "yaml": "1.10.2" }, "bin": { - "graph": "bin/graph" + "graph": "bin/run" + }, + "engines": { + "node": ">=14" } }, "node_modules/@graphprotocol/graph-ts": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz", - "integrity": "sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w==", + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.31.0.tgz", + "integrity": "sha512-xreRVM6ho2BtolyOh2flDkNoGZximybnzUnF53zJVp0+Ed0KnAlO1/KOCUYw06euVI9tk0c9nA2Z/D5SIQV2Rg==", "dependencies": { "assemblyscript": "0.19.10" } }, - "node_modules/@solarity/graph-lib": { - "version": "1.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", - "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", + "node_modules/@graphprotocol/graph-ts/node_modules/assemblyscript": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", + "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", "dependencies": { - "@graphprotocol/graph-ts": "0.29.3" + "binaryen": "101.0.0-nightly.20210723", + "long": "^4.0.0" + }, + "bin": { + "asc": "bin/asc", + "asinit": "bin/asinit" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/assemblyscript" } }, - "node_modules/@solarity/graph-lib/node_modules/@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "dependencies": { - "assemblyscript": "0.19.10" + "node_modules/@graphprotocol/graph-ts/node_modules/binaryen": { + "version": "101.0.0-nightly.20210723", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", + "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==", + "bin": { + "wasm-opt": "bin/wasm-opt" } }, - "node_modules/@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "dependencies": { - "@types/node": "*" - } + "node_modules/@graphprotocol/graph-ts/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, - "node_modules/@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "node_modules/@ipld/dag-cbor": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz", + "integrity": "sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==", "dependencies": { - "@types/node": "*" + "cborg": "^1.6.0", + "multiformats": "^9.5.4" } }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "node_modules/@ipld/dag-json": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.11.tgz", + "integrity": "sha512-Pea7JXeYHTWXRTIhBqBlhw7G53PJ7yta3G/sizGEZyzdeEwhZRr0od5IQ0r2ZxOt1Do+2czddjeEPp+YTxDwCA==", "dependencies": { - "@types/node": "*" + "cborg": "^1.5.4", + "multiformats": "^9.5.4" } }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", + "node_modules/@ipld/dag-pb": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.18.tgz", + "integrity": "sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg==", "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" + "multiformats": "^9.5.4" } }, - "node_modules/@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "dependencies": { - "@types/node": "*" + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@types/lodash": { - "version": "4.14.182", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz", - "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==" - }, - "node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, - "node_modules/@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dependencies": { - "@types/node": "*" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "node_modules/@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dependencies": { - "@types/node": "*" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@types/ws": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", - "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", - "dependencies": { - "@types/node": "*" + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" } }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dependencies": { - "event-target-shim": "^5.0.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=6.5" + "node": ">= 8" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@oclif/core": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.8.6.tgz", + "integrity": "sha512-1QlPaHMhOORySCXkQyzjsIsy2GYTilOw3LkjeHkCgsPJQjAT4IclVytJusWktPbYNys9O+O4V23J44yomQvnBQ==", + "dependencies": { + "@types/cli-progress": "^3.11.0", + "ansi-escapes": "^4.3.2", + "ansi-styles": "^4.3.0", + "cardinal": "^2.1.1", + "chalk": "^4.1.2", + "clean-stack": "^3.0.1", + "cli-progress": "^3.12.0", + "debug": "^4.3.4", + "ejs": "^3.1.8", + "fs-extra": "^9.1.0", + "get-package-type": "^0.1.0", + "globby": "^11.1.0", + "hyperlinker": "^1.0.0", + "indent-string": "^4.0.0", + "is-wsl": "^2.2.0", + "js-yaml": "^3.14.1", + "natural-orderby": "^2.0.3", + "object-treeify": "^1.1.33", + "password-prompt": "^1.1.2", + "semver": "^7.3.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "supports-color": "^8.1.1", + "supports-hyperlinks": "^2.2.0", + "ts-node": "^10.9.1", + "tslib": "^2.5.0", + "widest-line": "^3.1.0", + "wordwrap": "^1.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@oclif/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "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-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "node_modules/@oclif/core/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "engines": { - "node": ">=4" + "node_modules/@peculiar/asn1-schema": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz", + "integrity": "sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA==", + "dependencies": { + "asn1js": "^3.0.5", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@peculiar/json-schema": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz", + "integrity": "sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==", "dependencies": { - "color-convert": "^2.0.1" + "tslib": "^2.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=8.0.0" } }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "node_modules/@peculiar/webcrypto": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.3.tgz", + "integrity": "sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "pvtsutils": "^1.3.2", + "tslib": "^2.5.0", + "webcrypto-core": "^1.7.7" }, "engines": { - "node": ">= 8" + "node": ">=10.12.0" } }, - "node_modules/apisauce": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", - "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", "dependencies": { - "axios": "^0.21.2", - "ramda": "^0.25.0" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@rescript/std": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rescript/std/-/std-9.0.0.tgz", + "integrity": "sha512-zGzFsgtZ44mgL4Xef2gOy1hrRVdrs9mcxCOOKZrIPsmbZW14yTkaF591GXxpQvjXiHtgZ/iA9qLyWH6oSReIxQ==" + }, + "node_modules/@solarity/graph-lib": { + "version": "1.0.0-rc.5", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", + "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", + "dependencies": { + "@graphprotocol/graph-ts": "0.29.3" + } + }, + "node_modules/@solarity/graph-lib/node_modules/@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "dependencies": { + "assemblyscript": "0.19.10" + } + }, + "node_modules/@solarity/graph-lib/node_modules/assemblyscript": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", + "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "dependencies": { + "binaryen": "101.0.0-nightly.20210723", + "long": "^4.0.0" + }, + "bin": { + "asc": "bin/asc", + "asinit": "bin/asinit" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/assemblyscript" + } + }, + "node_modules/@solarity/graph-lib/node_modules/binaryen": { + "version": "101.0.0-nightly.20210723", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", + "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==", + "bin": { + "wasm-opt": "bin/wasm-opt" + } + }, + "node_modules/@solarity/graph-lib/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + }, + "node_modules/@types/bn.js": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", + "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cli-progress": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.0.tgz", + "integrity": "sha512-XhXhBv1R/q2ahF3BM7qT5HLzJNlIL0wbcGyZVjqOTqAybAnsLisd7gy1UCyIqpL+5Iv6XhlSyzjLCnI2sIdbCg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/form-data": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" + }, + "node_modules/@types/node": { + "version": "20.5.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.7.tgz", + "integrity": "sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/@types/pbkdf2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "node_modules/@types/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ws": { + "version": "7.4.7", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", + "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@whatwg-node/events": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@whatwg-node/events/-/events-0.0.3.tgz", + "integrity": "sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==" + }, + "node_modules/@whatwg-node/fetch": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.8.8.tgz", + "integrity": "sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==", + "dependencies": { + "@peculiar/webcrypto": "^1.4.0", + "@whatwg-node/node-fetch": "^0.3.6", + "busboy": "^1.6.0", + "urlpattern-polyfill": "^8.0.0", + "web-streams-polyfill": "^3.2.1" + } + }, + "node_modules/@whatwg-node/node-fetch": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.3.6.tgz", + "integrity": "sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==", + "dependencies": { + "@whatwg-node/events": "^0.0.3", + "busboy": "^1.6.0", + "fast-querystring": "^1.1.1", + "fast-url-parser": "^1.1.3", + "tslib": "^2.3.1" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==" + }, + "node_modules/any-signal": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-2.1.2.tgz", + "integrity": "sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==", + "dependencies": { + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.3" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/apisauce": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-2.1.6.tgz", + "integrity": "sha512-MdxR391op/FucS2YQRfB/NMRyCnHEPDd4h17LRIuVYi0BpGmMhpxc0shbOpfs5ahABuBEffNCGal5EcsydbBWg==", + "dependencies": { + "axios": "^0.21.4" } }, "node_modules/app-module-path": { @@ -717,6 +1216,11 @@ "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==" }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -725,16 +1229,19 @@ "sprintf-js": "~1.0.2" } }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, - "node_modules/asmcrypto.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", - "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" - }, "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -743,24 +1250,27 @@ "safer-buffer": "~2.1.0" } }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "node_modules/asn1js": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", + "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "pvtsutils": "^1.3.2", + "pvutils": "^1.1.3", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=12.0.0" } }, "node_modules/assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "version": "0.19.23", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", + "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", "dependencies": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" + "binaryen": "102.0.0-nightly.20211028", + "long": "^5.2.0", + "source-map-support": "^0.5.20" }, "bin": { "asc": "bin/asc", @@ -780,12 +1290,9 @@ } }, "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dependencies": { - "lodash": "^4.17.14" - } + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, "node_modules/asynckit": { "version": "0.4.0", @@ -809,9 +1316,9 @@ } }, "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, "node_modules/axios": { "version": "0.21.4", @@ -861,19 +1368,6 @@ "tweetnacl": "^0.14.3" } }, - "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/bignumber.js": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", - "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==", - "engines": { - "node": "*" - } - }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -896,29 +1390,13 @@ } }, "node_modules/binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==", + "version": "102.0.0-nightly.20211028", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", + "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==", "bin": { "wasm-opt": "bin/wasm-opt" } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, "node_modules/bl": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", @@ -933,48 +1411,25 @@ "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" }, - "node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/borc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", - "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", - "dependencies": { - "bignumber.js": "^9.0.0", - "buffer": "^5.5.0", - "commander": "^2.15.0", - "ieee754": "^1.1.13", - "iso-url": "~0.4.7", - "json-text-sequence": "~0.1.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/borc/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/blob-to-it": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", + "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "browser-readablestream-to-it": "^1.0.3" } }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { @@ -993,6 +1448,11 @@ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, + "node_modules/browser-readablestream-to-it": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", + "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==" + }, "node_modules/browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", @@ -1025,9 +1485,9 @@ } }, "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "funding": [ { "type": "github", @@ -1044,7 +1504,7 @@ ], "dependencies": { "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "ieee754": "^1.2.1" } }, "node_modules/buffer-alloc": { @@ -1076,21 +1536,15 @@ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "streamsearch": "^1.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10.16.0" } }, "node_modules/callsites": { @@ -1101,12 +1555,16 @@ "node": ">=6" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" + "node_modules/cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "dependencies": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + }, + "bin": { + "cdl": "bin/cdl.js" } }, "node_modules/caseless": { @@ -1114,6 +1572,14 @@ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, + "node_modules/cborg": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.2.tgz", + "integrity": "sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==", + "bin": { + "cborg": "cli.js" + } + }, "node_modules/chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -1126,24 +1592,41 @@ "node": ">=8" } }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "dependencies": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "glob-parent": "~5.1.0", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" }, "engines": { "node": ">= 8.10.0" }, "optionalDependencies": { - "fsevents": "~2.3.1" + "fsevents": "~2.3.2" } }, "node_modules/chownr": { @@ -1154,33 +1637,6 @@ "node": ">=10" } }, - "node_modules/cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/cids/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, "node_modules/cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -1190,10 +1646,19 @@ "safe-buffer": "^5.0.1" } }, - "node_modules/class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" + "node_modules/clean-stack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", + "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", + "dependencies": { + "escape-string-regexp": "4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/cli-cursor": { "version": "3.1.0", @@ -1206,10 +1671,21 @@ "node": ">=8" } }, + "node_modules/cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "dependencies": { + "string-width": "^4.2.3" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", + "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", "engines": { "node": ">=6" }, @@ -1218,15 +1694,15 @@ } }, "node_modules/cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz", + "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", "dependencies": { "object-assign": "^4.1.0", - "string-width": "^2.1.1" + "string-width": "^4.2.0" }, "engines": { - "node": ">=6" + "node": "10.* || >= 12.*" }, "optionalDependencies": { "colors": "^1.1.2" @@ -1257,9 +1733,9 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "engines": { "node": ">=0.1.90" } @@ -1305,18 +1781,18 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "dependencies": { "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", + "import-fresh": "^3.2.1", "parse-json": "^5.0.0", "path-type": "^4.0.0", - "yaml": "^1.7.2" + "yaml": "^1.10.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/create-hash": { @@ -1344,6 +1820,11 @@ "sha.js": "^2.4.8" } }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -1369,9 +1850,9 @@ } }, "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { "ms": "2.1.2" }, @@ -1384,20 +1865,15 @@ } } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "dependencies": { "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/delay": { @@ -1419,20 +1895,42 @@ "node": ">=0.4.0" } }, - "node_modules/delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "engines": { + "node": ">=0.3.1" + } }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-over-http-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", + "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", + "dependencies": { + "debug": "^4.3.1", + "native-fetch": "^3.0.0", + "receptacle": "^1.3.2" + } }, "node_modules/docker-compose": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", - "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==", + "version": "0.23.19", + "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.19.tgz", + "integrity": "sha512-v5vNLIdUqwj4my80wxFDkNH+4S85zsRuH29SO7dCWVWPCMt/ohZBsGN6g6KXWifT0pzQ7uOxqEKCYCDPJ8Vz4g==", + "dependencies": { + "yaml": "^1.10.2" + }, "engines": { "node": ">= 6.0.0" } @@ -1493,19 +1991,6 @@ "node": ">= 0.8" } }, - "node_modules/drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", - "dependencies": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -1516,14 +2001,30 @@ } }, "node_modules/ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "hasInstallScript": true, + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, "engines": { "node": ">=0.10.0" } }, + "node_modules/electron-fetch": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", + "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", + "dependencies": { + "encoding": "^0.1.13" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/elliptic": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", @@ -1538,6 +2039,24 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -1547,20 +2066,20 @@ } }, "node_modules/enquirer": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", - "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dependencies": { - "ansi-colors": "^3.2.1" + "ansi-colors": "^4.1.1" }, "engines": { "node": ">=8.6" } }, "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" }, "node_modules/error-ex": { "version": "1.3.2", @@ -1584,11 +2103,14 @@ } }, "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/esprima": { @@ -1633,20 +2155,6 @@ "setimmediate": "^1.0.5" } }, - "node_modules/ethereum-cryptography/node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "hasInstallScript": true, - "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -1662,11 +2170,6 @@ "node": ">=10.0.0" } }, - "node_modules/ethereumjs-util/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, "node_modules/ethjs-unit": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", @@ -1703,30 +2206,27 @@ } }, "node_modules/execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" }, "engines": { - "node": "^8.12.0 || >=9.7.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/explain-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", - "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" - }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -1748,20 +2248,83 @@ "node": "> 0.1.90" } }, + "node_modules/fast-decode-uri-component": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", + "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "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" + }, + "engines": { + "node": ">=8.6.0" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + "node_modules/fast-querystring": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", + "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", + "dependencies": { + "fast-decode-uri-component": "^1.0.1" + } + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } }, "node_modules/fill-range": { "version": "7.0.1", @@ -1774,15 +2337,10 @@ "node": ">=8" } }, - "node_modules/flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" - }, "node_modules/follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "funding": [ { "type": "individual", @@ -1825,29 +2383,65 @@ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, "node_modules/fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", - "universalify": "^1.0.0" + "universalify": "^2.0.0" }, "engines": { "node": ">=10" } }, "node_modules/fs-jetpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", - "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-4.3.1.tgz", + "integrity": "sha512-dbeOK84F6BiQzk2yqqCVwCPWTxAvVGJ3fMQc6E2wuEohS28mR6yHngbrKuVCK1KHRx/ccByDylqu4H5PCP2urQ==", "dependencies": { "minimatch": "^3.0.2", "rimraf": "^2.6.3" + } + }, + "node_modules/fs-jetpack/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/fs-jetpack/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "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" }, "engines": { - "node": ">=4" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fs-jetpack/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, "node_modules/fs-jetpack/node_modules/rimraf": { @@ -1872,15 +2466,26 @@ "node": ">= 8" } }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, "optional": true, "os": [ @@ -1890,22 +2495,17 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "node_modules/get-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", + "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" }, - "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "engines": { + "node": ">=8.0.0" } }, "node_modules/get-port": { @@ -1917,28 +2517,16 @@ } }, "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-stream/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -1948,19 +2536,17 @@ } }, "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", + "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", "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" + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -1977,22 +2563,40 @@ "node": ">= 6" } }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/gluegun": { - "version": "4.3.1", - "resolved": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", - "integrity": "sha512-BPKWUsKoAC+NeFXSNySObftw6lgKipegbbUuaKy6cPXm8z8bkHO3kbn6OVXwoJMkbCJubaFZJj9SGsevNfnJrg==", - "license": "MIT", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/gluegun/-/gluegun-5.1.2.tgz", + "integrity": "sha512-Cwx/8S8Z4YQg07a6AFsaGnnnmd8mN17414NcPS3OoDtZRwxgsvwRNJNg69niD6fDa8oNwslCG0xH7rEpRNNE/g==", "dependencies": { - "apisauce": "^1.0.1", + "apisauce": "^2.1.5", "app-module-path": "^2.2.0", - "cli-table3": "~0.5.0", - "colors": "1.3.3", - "cosmiconfig": "6.0.0", - "cross-spawn": "^7.0.0", - "ejs": "^2.6.1", - "enquirer": "2.3.4", - "execa": "^3.0.0", - "fs-jetpack": "^2.2.2", + "cli-table3": "0.6.0", + "colors": "1.4.0", + "cosmiconfig": "7.0.1", + "cross-spawn": "7.0.3", + "ejs": "3.1.6", + "enquirer": "2.3.6", + "execa": "5.1.1", + "fs-jetpack": "4.3.1", "lodash.camelcase": "^4.3.0", "lodash.kebabcase": "^4.1.1", "lodash.lowercase": "^4.3.0", @@ -2008,21 +2612,59 @@ "lodash.trimstart": "^4.5.1", "lodash.uppercase": "^4.3.0", "lodash.upperfirst": "^4.3.1", - "ora": "^4.0.0", + "ora": "4.0.2", "pluralize": "^8.0.0", - "ramdasauce": "^2.1.0", - "semver": "^7.0.0", - "which": "^2.0.0", - "yargs-parser": "^16.1.0" + "semver": "7.3.5", + "which": "2.0.2", + "yargs-parser": "^21.0.0" }, "bin": { "gluegun": "bin/gluegun" } }, + "node_modules/gluegun/node_modules/ejs": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", + "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "dependencies": { + "jake": "^10.6.1" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gluegun/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gluegun/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/graphql": { "version": "15.5.0", @@ -2032,6 +2674,14 @@ "node": ">= 10.x" } }, + "node_modules/graphql-import-node": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/graphql-import-node/-/graphql-import-node-0.0.5.tgz", + "integrity": "sha512-OXbou9fqh9/Lm7vwXT0XoRN9J5+WCYKnbiTalgFDvkQERITRmcfncZs6aVABedd5B85yQU5EULS4a5pnbpuI0Q==", + "peerDependencies": { + "graphql": "*" + } + }, "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -2053,17 +2703,6 @@ "node": ">=6" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -2072,17 +2711,6 @@ "node": ">=8" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/hash-base": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", @@ -2097,9 +2725,9 @@ } }, "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -2137,11 +2765,6 @@ "minimalistic-assert": "^1.0.1" } }, - "node_modules/hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" - }, "node_modules/hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -2189,16 +2812,35 @@ "sshpk": "^1.7.0" }, "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/hyperlinker": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", + "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==", + "engines": { + "node": ">=4" } }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, "engines": { - "node": ">=8.12.0" + "node": ">=0.10.0" } }, "node_modules/ieee754": { @@ -2220,14 +2862,19 @@ } ] }, - "node_modules/immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "engines": { - "node": ">=0.10.0" + "node": ">= 4" } }, + "node_modules/immutable": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.1.tgz", + "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==" + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -2243,6 +2890,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -2257,10 +2912,20 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + "node_modules/interface-datastore": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.1.tgz", + "integrity": "sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg==", + "dependencies": { + "interface-store": "^2.0.2", + "nanoid": "^3.0.2", + "uint8arrays": "^3.0.0" + } + }, + "node_modules/interface-store": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", + "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==" }, "node_modules/ip-regex": { "version": "4.3.0", @@ -2270,323 +2935,120 @@ "node": ">=8" } }, - "node_modules/ipfs-block": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", - "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", - "dependencies": { - "cids": "~0.7.0", - "class-is": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" + "node_modules/ipfs-core-types": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.9.0.tgz", + "integrity": "sha512-VJ8vJSHvI1Zm7/SxsZo03T+zzpsg8pkgiIi5hfwSJlsrJ1E2v68QPlnLshGHUSYw89Oxq0IbETYl2pGTFHTWfg==", + "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", + "dependencies": { + "interface-datastore": "^6.0.2", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.13" + } + }, + "node_modules/ipfs-core-utils": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.13.0.tgz", + "integrity": "sha512-HP5EafxU4/dLW3U13CFsgqVO5Ika8N4sRSIb/dTg16NjLOozMH31TXV0Grtu2ZWo1T10ahTzMvrfT5f4mhioXw==", + "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", + "dependencies": { + "any-signal": "^2.1.2", + "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.9.0", + "ipfs-unixfs": "^6.0.3", + "ipfs-utils": "^9.0.2", + "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.4.13", + "nanoid": "^3.1.23", + "parse-duration": "^1.0.0", + "timeout-abort-controller": "^2.0.0", + "uint8arrays": "^3.0.0" } }, "node_modules/ipfs-http-client": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", - "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", - "dependencies": { + "version": "55.0.0", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-55.0.0.tgz", + "integrity": "sha512-GpvEs7C7WL9M6fN/kZbjeh4Y8YN7rY8b18tVWZnKxRsVwM25cIFrRI8CwNt3Ugin9yShieI3i9sPyzYGMrLNnQ==", + "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", + "dependencies": { + "@ipld/dag-cbor": "^7.0.0", + "@ipld/dag-json": "^8.0.1", + "@ipld/dag-pb": "^2.1.3", "abort-controller": "^3.0.0", - "async": "^2.6.1", - "bignumber.js": "^9.0.0", - "bl": "^3.0.0", - "bs58": "^4.0.1", - "buffer": "^5.4.2", - "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^2.0.0", - "explain-error": "^1.0.4", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.1", - "ipfs-utils": "~0.0.3", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.3", - "ipld-raw": "^4.0.0", - "is-ipfs": "~0.6.1", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "iso-stream-http": "~0.1.2", - "iso-url": "~0.4.6", - "iterable-ndjson": "^1.1.0", - "just-kebab-case": "^1.1.0", - "just-map-keys": "^1.1.0", - "kind-of": "^6.0.2", - "ky": "^0.11.2", - "ky-universal": "^0.2.2", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.6", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", - "once": "^1.4.0", - "peer-id": "~0.12.3", - "peer-info": "~0.15.1", - "promise-nodeify": "^3.0.1", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "pull-to-stream": "~0.1.1", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.1.1", - "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.1", - "through2": "^3.0.1" - }, - "engines": { - "node": ">=8.3.0", + "any-signal": "^2.1.2", + "debug": "^4.1.1", + "err-code": "^3.0.1", + "ipfs-core-types": "^0.9.0", + "ipfs-core-utils": "^0.13.0", + "ipfs-utils": "^9.0.2", + "it-first": "^1.0.6", + "it-last": "^1.0.4", + "merge-options": "^3.0.4", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.13", + "native-abort-controller": "^1.0.3", + "parse-duration": "^1.0.0", + "stream-to-it": "^0.2.2", + "uint8arrays": "^3.0.0" + }, + "engines": { + "node": ">=14.0.0", "npm": ">=3.0.0" } }, - "node_modules/ipfs-http-client/node_modules/bl": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", - "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", - "dependencies": { - "readable-stream": "^3.0.1" - } - }, - "node_modules/ipfs-http-client/node_modules/concat-stream": { - "version": "2.0.0", - "resolved": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", - "integrity": "sha512-GBrsRGcg6w3ac6B49frS/FGwdeuWMognaZIGxLfZ93vP2z3bIhaI/Bgn3rrS49lI7lrFznULlNUjWYP4soqgvw==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^3.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/ipfs-http-client/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/ipfs-http-client/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/ipfs-http-client/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ipfs-http-client/node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "node_modules/ipfs-unixfs": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz", + "integrity": "sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ==", "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" + "err-code": "^3.0.1", + "protobufjs": "^6.10.2" }, "engines": { - "node": ">=6" - } - }, - "node_modules/ipfs-http-client/node_modules/tar-stream/node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, - "node_modules/ipfs-http-client/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, "node_modules/ipfs-utils": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", - "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", - "dependencies": { - "buffer": "^5.2.1", - "is-buffer": "^2.0.3", + "version": "9.0.14", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz", + "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", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "kind-of": "^6.0.2", - "readable-stream": "^3.4.0" - } - }, - "node_modules/ipfs-utils/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ipld-dag-cbor": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", - "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", - "deprecated": "This module has been superseded by @ipld/dag-cbor and multiformats", - "dependencies": { - "borc": "^2.1.2", - "buffer": "^5.5.0", - "cids": "~0.8.0", - "is-circular": "^1.0.2", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-pb": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", - "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", - "deprecated": "This module has been superseded by @ipld/dag-pb and multiformats", - "dependencies": { - "cids": "~0.7.0", - "class-is": "^1.1.0", - "multicodec": "~0.5.1", - "multihashing-async": "~0.7.0", - "protons": "^1.0.1", - "stable": "~0.1.8" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-pb/node_modules/err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" - }, - "node_modules/ipld-dag-pb/node_modules/multihashing-async": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", - "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "buffer": "^5.2.1", - "err-code": "^1.1.2", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js-revisited": "^3.0.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" }, "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-raw": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", - "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "cids": "~0.7.0", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, - "node_modules/ipld-raw/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } + "node_modules/ipfs-utils/node_modules/any-signal": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz", + "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==" }, "node_modules/is-arrayish": { "version": "0.2.1", @@ -2604,37 +3066,24 @@ "node": ">=8" } }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" - }, "node_modules/is-electron": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", - "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", + "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==" }, "node_modules/is-extglob": { "version": "2.1.1", @@ -2645,11 +3094,11 @@ } }, "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/is-glob": { @@ -2691,112 +3140,6 @@ "node": ">=8" } }, - "node_modules/is-ipfs": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", - "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", - "dependencies": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", - "dependencies": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -2805,15 +3148,13 @@ "node": ">=0.12.0" } }, - "node_modules/is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" - }, - "node_modules/is-pull-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", - "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } }, "node_modules/is-stream": { "version": "2.0.1", @@ -2831,6 +3172,17 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -2841,68 +3193,98 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "node_modules/iso-random-stream": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", - "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", - "dependencies": { - "buffer": "^6.0.3", - "readable-stream": "^3.4.0" - }, + "node_modules/iso-url": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", + "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==", "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/iso-random-stream/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/it-all": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", + "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" + }, + "node_modules/it-first": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", + "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==" + }, + "node_modules/it-glob": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", + "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "@types/minimatch": "^3.0.4", + "minimatch": "^3.0.4" } }, - "node_modules/iso-random-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/it-glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/it-glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 6" + "node": "*" } }, - "node_modules/iso-stream-http": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", - "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", + "node_modules/it-last": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", + "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==" + }, + "node_modules/it-map": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", + "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==" + }, + "node_modules/it-peekable": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", + "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==" + }, + "node_modules/it-to-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", + "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" + "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" } }, - "node_modules/iso-stream-http/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/it-to-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -2912,70 +3294,75 @@ "node": ">= 6" } }, - "node_modules/iso-url": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", - "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==", + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, "engines": { "node": ">=10" } }, - "node_modules/isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "peerDependencies": { - "ws": "*" + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "node_modules/iterable-ndjson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", - "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "string_decoder": "^1.2.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/iterable-ndjson/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } }, - "node_modules/iterable-ndjson/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "safe-buffer": "~5.2.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/jayson": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", - "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.0.0.tgz", + "integrity": "sha512-v2RNpDCMu45fnLzSk47vx7I+QUaOsox6f5X0CUlabAFwxoP+8MfAY0NQRFwOEYXIxm8Ih5y6OaEa5KYiQMkyAA==", "dependencies": { "@types/connect": "^3.4.33", - "@types/express-serve-static-core": "^4.17.9", - "@types/lodash": "^4.14.159", "@types/node": "^12.12.54", "@types/ws": "^7.4.4", "commander": "^2.20.3", @@ -2985,7 +3372,6 @@ "isomorphic-ws": "^4.0.1", "json-stringify-safe": "^5.0.1", "JSONStream": "^1.3.5", - "lodash": "^4.17.20", "uuid": "^8.3.2", "ws": "^7.4.5" }, @@ -2996,6 +3382,11 @@ "node": ">=8" } }, + "node_modules/jayson/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" + }, "node_modules/jayson/node_modules/JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", @@ -3022,9 +3413,9 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -3058,14 +3449,6 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, - "node_modules/json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", - "dependencies": { - "delimit-stream": "0.1.0" - } - }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -3077,14 +3460,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/jsonfile/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -3122,20 +3497,10 @@ "node": ">=0.6.0" } }, - "node_modules/just-kebab-case": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", - "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" - }, - "node_modules/just-map-keys": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", - "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" - }, "node_modules/keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz", + "integrity": "sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==", "hasInstallScript": true, "dependencies": { "node-addon-api": "^2.0.0", @@ -3147,9 +3512,9 @@ } }, "node_modules/keccak/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -3159,131 +3524,11 @@ "node": ">= 6" } }, - "node_modules/keypair": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", - "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ky": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", - "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ky-universal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", - "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", - "dependencies": { - "abort-controller": "^3.0.0", - "node-fetch": "^2.3.0" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "ky": ">=0.10.0" - } - }, - "node_modules/libp2p-crypto": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", - "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", - "dependencies": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "^0.10.0", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.10.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/libp2p-crypto-secp256k1": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", - "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", - "deprecated": "Included in libp2p-crypto, use it instead. https://github.com/libp2p/js-libp2p-crypto", - "dependencies": { - "async": "^2.6.2", - "bs58": "^4.0.1", - "multihashing-async": "~0.6.0", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.2" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/libp2p-crypto-secp256k1/node_modules/multihashing-async": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", - "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/libp2p-crypto/node_modules/multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, "node_modules/lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", @@ -3407,6 +3652,14 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "node_modules/log-symbols/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/log-symbols/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -3427,168 +3680,31 @@ } }, "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "node_modules/looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mafmt": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", - "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", - "dependencies": { - "multiaddr": "^7.3.0" - } - }, - "node_modules/mafmt/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/mafmt/node_modules/cids/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/mafmt/node_modules/multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", - "dependencies": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/mafmt/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/mafmt/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/mafmt/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" + "node": "14 || >=16.14" } }, - "node_modules/mafmt/node_modules/multihashes/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "node_modules/matchstick-as": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.0.tgz", - "integrity": "sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg==", - "dependencies": { - "@graphprotocol/graph-ts": "^0.27.0", - "assemblyscript": "^0.19.20", - "wabt": "1.0.24" - } - }, - "node_modules/matchstick-as/node_modules/assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "dependencies": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - }, - "bin": { - "asc": "bin/asc", - "asinit": "bin/asinit" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } - }, - "node_modules/matchstick-as/node_modules/binaryen": { - "version": "102.0.0-nightly.20211028", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", - "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==", - "bin": { - "wasm-opt": "bin/wasm-opt" + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.2.tgz", + "integrity": "sha512-fb1OVphDKEvJY06Ue02Eh1CNncuW95vp6b8tNAP7UIqplICSLoU/zgN6U7ge7R0upsoO78C7CRi4EyK/7Jxz7g==", + "dependencies": { + "wabt": "1.0.24" } }, - "node_modules/matchstick-as/node_modules/long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -3599,11 +3715,42 @@ "safe-buffer": "^5.1.2" } }, + "node_modules/merge-options": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", + "dependencies": { + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -3642,28 +3789,31 @@ "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", + "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "dependencies": { - "yallist": "^4.0.0" - }, + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", "engines": { "node": ">=8" } @@ -3680,6 +3830,17 @@ "node": ">= 8" } }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -3697,162 +3858,72 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/multiaddr": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", - "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", + "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", "dependencies": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "hi-base32": "~0.5.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - } - }, - "node_modules/multiaddr/node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/multiaddr/node_modules/is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", - "dependencies": { - "ip-regex": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "varint": "^5.0.0" - } - }, - "node_modules/multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "dependencies": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/multihashes/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" + "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" } }, - "node_modules/multihashing-async": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", - "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", - "deprecated": "This module has been superseded by the multiformats module", + "node_modules/multiaddr-to-uri": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", + "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", + "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr-to-uri", "dependencies": { - "blakejs": "^1.1.0", - "buffer": "^5.4.3", - "err-code": "^2.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^1.0.1", - "murmurhash3js-revisited": "^3.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" + "multiaddr": "^10.0.0" } }, - "node_modules/multihashing-async/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } + "node_modules/multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" }, - "node_modules/multihashing-async/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==", - "engines": { - "node": ">=0.10.0" + "node_modules/native-abort-controller": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.4.tgz", + "integrity": "sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ==", + "peerDependencies": { + "abort-controller": "*" } }, - "node_modules/murmurhash3js-revisited": { + "node_modules/native-fetch": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", - "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==", - "engines": { - "node": ">=8.0.0" + "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", + "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", + "peerDependencies": { + "node-fetch": "*" } }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "node_modules/nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" - }, - "node_modules/ndjson": { - "version": "1.5.0", - "resolved": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", - "integrity": "sha512-4HWirDBroNYRKoq+8A7y0uvXlO0dF4p7URRRdqvPSgGjQFVpxpE4uasORXNxeRBMHQnXbTnUBVLXXagwKFH6AQ==", - "license": "BSD-3-Clause", - "dependencies": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^3.1.0", - "through2": "^3.0.0" - }, - "bin": { - "ndjson": "cli.js" + "node_modules/natural-orderby": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", + "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==", + "engines": { + "node": "*" } }, "node_modules/node-addon-api": { @@ -3861,40 +3932,34 @@ "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" }, "node_modules/node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, "engines": { "node": "4.x || >=6.0.0" - } - }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "engines": { - "node": ">= 6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, "node_modules/node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", + "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", "node-gyp-build-test": "build-test.js" } }, - "node_modules/nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", - "dependencies": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -3948,12 +4013,12 @@ "node": ">=0.10.0" } }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/object-treeify": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", + "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==", + "engines": { + "node": ">= 10" } }, "node_modules/once": { @@ -3978,62 +4043,123 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", - "dependencies": { - "wordwrap": "~0.0.2" - } - }, "node_modules/ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz", + "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==", "dependencies": { - "chalk": "^3.0.0", + "chalk": "^2.4.2", "cli-cursor": "^3.1.0", "cli-spinners": "^2.2.0", "is-interactive": "^1.0.0", "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", + "strip-ansi": "^5.2.0", "wcwidth": "^1.0.1" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ora/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "engines": { - "node": ">=8" + "node": ">=6" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/ora/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ora/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" } }, "node_modules/ora/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dependencies": { - "ansi-regex": "^5.0.1" + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "node_modules/ora/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", "engines": { "node": ">=8" } }, + "node_modules/p-fifo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", + "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", + "dependencies": { + "fast-fifo": "^1.0.0", + "p-defer": "^3.0.0" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -4050,6 +4176,11 @@ "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" }, + "node_modules/parse-duration": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.1.0.tgz", + "integrity": "sha512-z6t9dvSJYaPoQq7quMzdEagSFtpGu+utzHqqxmpVWNNZRIXnvqyCvn9XsTdh7c/w0Bqmdz3RB3YnRaKtpRtEXQ==" + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -4067,6 +4198,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/password-prompt": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz", + "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==", + "dependencies": { + "ansi-escapes": "^4.3.2", + "cross-spawn": "^7.0.3" + } + }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -4083,6 +4223,29 @@ "node": ">=8" } }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -4106,62 +4269,6 @@ "node": ">=0.12" } }, - "node_modules/peer-id": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", - "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", - "dependencies": { - "async": "^2.6.3", - "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.1", - "multihashes": "~0.4.15" - }, - "bin": { - "peer-id": "src/bin.js" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/peer-info": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", - "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", - "deprecated": "No longer supported for js-libp2p0.28.0 or later", - "dependencies": { - "mafmt": "^6.0.2", - "multiaddr": "^6.0.3", - "peer-id": "~0.12.2", - "unique-by": "^1.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/peer-info/node_modules/mafmt": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", - "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", - "dependencies": { - "multiaddr": "^6.1.0" - } - }, - "node_modules/pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "dependencies": { - "asn1.js": "^5.0.1" - }, - "bin": { - "pem-jwk": "bin/pem-jwk.js" - }, - "engines": { - "node": ">=5.10.0" - } - }, "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -4175,15 +4282,7 @@ "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==", - "engines": { - "node": ">= 0.4.0" + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/pluralize": { @@ -4211,84 +4310,48 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "dependencies": { - "is-promise": "~1" - } - }, - "node_modules/promise-nodeify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", - "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==", - "engines": { - "node": ">=6", - "npm": ">=1.3.7" + "asap": "~2.0.6" } }, - "node_modules/promisify-es6": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", - "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==", - "deprecated": "Unmaintained" - }, - "node_modules/protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "node_modules/protons": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", - "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", - "deprecated": "This module is no longer maintained", + "node_modules/protobufjs": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", + "hasInstallScript": true, "dependencies": { - "buffer": "^5.5.0", - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" + "@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" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" } }, + "node_modules/protobufjs/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" }, - "node_modules/pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "node_modules/pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "node_modules/pull-to-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", - "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", - "dependencies": { - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pull-to-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/pump": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", @@ -4299,44 +4362,52 @@ } }, "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/pvtsutils": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz", + "integrity": "sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==", + "dependencies": { + "tslib": "^2.6.1" + } + }, + "node_modules/pvutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", + "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==", "engines": { - "node": ">=6" + "node": ">=6.0.0" } }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "engines": { "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" - }, - "node_modules/ramdasauce": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", - "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", - "dependencies": { - "ramda": "^0.24.1" } }, - "node_modules/ramdasauce/node_modules/ramda": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", - "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/randombytes": { "version": "2.1.0", @@ -4346,10 +4417,18 @@ "safe-buffer": "^5.1.0" } }, + "node_modules/react-native-fetch-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz", + "integrity": "sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==", + "dependencies": { + "p-defer": "^3.0.0" + } + }, "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -4361,9 +4440,9 @@ } }, "node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dependencies": { "picomatch": "^2.2.1" }, @@ -4371,10 +4450,21 @@ "node": ">=8.10.0" } }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "node_modules/receptacle": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", + "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", + "dependencies": { + "esprima": "~4.0.0" + } }, "node_modules/request": { "version": "2.88.2", @@ -4407,14 +4497,6 @@ "node": ">= 6" } }, - "node_modules/request/node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "engines": { - "node": ">=0.6" - } - }, "node_modules/request/node_modules/uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", @@ -4444,6 +4526,20 @@ "node": ">=8" } }, + "node_modules/retimer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", + "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==" + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -4458,6 +4554,45 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/ripemd160": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", @@ -4478,37 +4613,26 @@ "rlp": "bin/rlp" } }, - "node_modules/rlp/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", - "dependencies": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" - } - }, - "node_modules/rsa-pem-to-jwk/node_modules/object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "optimist": "~0.3.5" - }, - "bin": { - "rsa-unpack": "bin/cmd.js" + "queue-microtask": "^1.2.2" } }, "node_modules/safe-buffer": { @@ -4527,28 +4651,23 @@ "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" }, "node_modules/secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", "hasInstallScript": true, "dependencies": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=10.0.0" } }, "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -4559,6 +4678,17 @@ "node": ">=10" } }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", @@ -4595,30 +4725,17 @@ "node": ">=8" } }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "node_modules/signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", - "dependencies": { - "varint": "~5.0.0" + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" } }, "node_modules/source-map": { @@ -4643,27 +4760,6 @@ "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/split2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -4693,24 +4789,20 @@ "node": ">=0.10.0" } }, - "node_modules/sshpk/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" - }, - "node_modules/stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", + "node_modules/stream-to-it": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", + "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", "dependencies": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" + "get-iterator": "^1.0.2" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" } }, "node_modules/string_decoder": { @@ -4722,26 +4814,27 @@ } }, "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/strip-final-newline": { @@ -4752,19 +4845,45 @@ "node": ">=6" } }, - "node_modules/strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", + "node_modules/strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", + "dependencies": { + "is-hex-prefixed": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", "dependencies": { - "is-hex-prefixed": "1.0.0" + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" }, "engines": { - "node": ">=6.5.0", - "npm": ">=3" + "node": ">=8" } }, - "node_modules/supports-color": { + "node_modules/supports-hyperlinks/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -4797,19 +4916,19 @@ } }, "node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "version": "6.1.15", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", + "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "engines": { - "node": ">= 10" + "node": ">=10" } }, "node_modules/tar-fs": { @@ -4856,6 +4975,14 @@ "node": ">= 0.8.0" } }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/then-request": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", @@ -4882,26 +5009,19 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" }, - "node_modules/then-request/node_modules/promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "dependencies": { - "asap": "~2.0.6" - } - }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, - "node_modules/through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "node_modules/timeout-abort-controller": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-2.0.0.tgz", + "integrity": "sha512-2FAPXfzTPYEgw27bQGTHc0SzrbmnU2eso4qo172zMLZzaGqeu09PFa5B2FCUHM1tflgRqPgn5KQgp6+Vex4uNA==", "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.4", + "retimer": "^3.0.0" } }, "node_modules/tmp": { @@ -4916,9 +5036,9 @@ } }, "node_modules/tmp-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", "dependencies": { "tmp": "^0.2.0" } @@ -4951,6 +5071,66 @@ "node": ">=0.8" } }, + "node_modules/tough-cookie/node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "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" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -4963,27 +5143,51 @@ } }, "node_modules/tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, - "node_modules/unique-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", - "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==", + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, "engines": { - "node": ">= 0.10.x" + "node": ">=14.17" + } + }, + "node_modules/uint8arrays": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", + "dependencies": { + "multiformats": "^9.4.2" } }, "node_modules/universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "engines": { "node": ">= 10.0.0" } @@ -4996,19 +5200,19 @@ "punycode": "^2.1.0" } }, - "node_modules/ursa-optional": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", - "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.14.2" - }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "engines": { - "node": ">=4" + "node": ">=6" } }, + "node_modules/urlpattern-polyfill": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", + "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==" + }, "node_modules/utf8": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", @@ -5027,10 +5231,15 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + }, "node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" }, "node_modules/verror": { "version": "1.10.0", @@ -5074,6 +5283,14 @@ "defaults": "^1.0.3" } }, + "node_modules/web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "engines": { + "node": ">= 8" + } + }, "node_modules/web3-eth-abi": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", @@ -5103,6 +5320,37 @@ "node": ">=8.0.0" } }, + "node_modules/web3-utils/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/webcrypto-core": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.7.tgz", + "integrity": "sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g==", + "dependencies": { + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "asn1js": "^3.0.1", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -5117,12 +5365,36 @@ "node": ">= 8" } }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=0.4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/wrappy": { @@ -5131,9 +5403,9 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/ws": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz", - "integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==", + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", "engines": { "node": ">=8.3.0" }, @@ -5164,47 +5436,103 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "dependencies": { - "@babel/runtime": "^7.9.2" - }, + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "engines": { "node": ">= 6" } }, "node_modules/yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "engines": { + "node": ">=6" } } }, "dependencies": { "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "requires": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } } }, "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" }, "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", + "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "dependencies": { @@ -5239,6 +5567,11 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -5254,12 +5587,12 @@ } } }, - "@babel/runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", - "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "requires": { - "regenerator-runtime": "^0.13.4" + "@jridgewell/trace-mapping": "0.3.9" } }, "@ethersproject/abi": { @@ -5279,236 +5612,490 @@ } }, "@ethersproject/abstract-provider": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", "requires": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.3", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/web": "^5.6.1" + "@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": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", "requires": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0" + "@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": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", "requires": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/rlp": "^5.6.1" + "@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": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", "requires": { - "@ethersproject/bytes": "^5.6.1" + "@ethersproject/bytes": "^5.7.0" } }, "@ethersproject/bignumber": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", "bn.js": "^5.2.1" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } } }, "@ethersproject/bytes": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", "requires": { - "@ethersproject/logger": "^5.6.0" + "@ethersproject/logger": "^5.7.0" } }, "@ethersproject/constants": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", "requires": { - "@ethersproject/bignumber": "^5.6.2" + "@ethersproject/bignumber": "^5.7.0" } }, "@ethersproject/hash": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", "requires": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" + "@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/keccak256": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", "requires": { - "@ethersproject/bytes": "^5.6.1", + "@ethersproject/bytes": "^5.7.0", "js-sha3": "0.8.0" } }, "@ethersproject/logger": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==" + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" }, "@ethersproject/networks": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", "requires": { - "@ethersproject/logger": "^5.6.0" + "@ethersproject/logger": "^5.7.0" } }, "@ethersproject/properties": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", "requires": { - "@ethersproject/logger": "^5.6.0" + "@ethersproject/logger": "^5.7.0" } }, "@ethersproject/rlp": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, "@ethersproject/signing-key": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", + "@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/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "requires": { + "@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/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "requires": { + "@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" + } + }, + "@float-capital/float-subgraph-uncrashable": { + "version": "0.0.0-internal-testing.5", + "resolved": "https://registry.npmjs.org/@float-capital/float-subgraph-uncrashable/-/float-subgraph-uncrashable-0.0.0-internal-testing.5.tgz", + "integrity": "sha512-yZ0H5e3EpAYKokX/AbtplzlvSxEJY7ZfpvQyDzyODkks0hakAAlDG6fQu1SlDJMWorY7bbq1j7fCiFeTWci6TA==", + "requires": { + "@rescript/std": "9.0.0", + "graphql": "^16.6.0", + "graphql-import-node": "^0.0.5", + "js-yaml": "^4.1.0" }, "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "graphql": { + "version": "16.8.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.0.tgz", + "integrity": "sha512-0oKGaR+y3qcS5mCu1vb7KG+a89vjn06C7Ihq/dDl3jA+A8B3TKomvi3CiEcVLJQGalbu8F52LxkOym7U5sSfbg==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + } + } + }, + "@graphprotocol/graph-cli": { + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.56.0.tgz", + "integrity": "sha512-bOVtYLDLJpyqjPv9RX8DwRFePOiIlzWZhQGuznb6lY7Uk+uvjc0JSBsgPOAWjwkAI+3U1Ux7GPVwgYSLIOBXoQ==", + "requires": { + "@float-capital/float-subgraph-uncrashable": "^0.0.0-alpha.4", + "@oclif/core": "2.8.6", + "@whatwg-node/fetch": "^0.8.4", + "assemblyscript": "0.19.23", + "binary-install-raw": "0.0.13", + "chalk": "3.0.0", + "chokidar": "3.5.3", + "debug": "4.3.4", + "docker-compose": "0.23.19", + "dockerode": "2.5.8", + "fs-extra": "9.1.0", + "glob": "9.3.5", + "gluegun": "5.1.2", + "graphql": "15.5.0", + "immutable": "4.2.1", + "ipfs-http-client": "55.0.0", + "jayson": "4.0.0", + "js-yaml": "3.14.1", + "prettier": "1.19.1", + "request": "2.88.2", + "semver": "7.4.0", + "sync-request": "6.1.0", + "tmp-promise": "3.0.3", + "web3-eth-abi": "1.7.0", + "which": "2.0.2", + "yaml": "1.10.2" + } + }, + "@graphprotocol/graph-ts": { + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.31.0.tgz", + "integrity": "sha512-xreRVM6ho2BtolyOh2flDkNoGZximybnzUnF53zJVp0+Ed0KnAlO1/KOCUYw06euVI9tk0c9nA2Z/D5SIQV2Rg==", + "requires": { + "assemblyscript": "0.19.10" + }, + "dependencies": { + "assemblyscript": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", + "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "requires": { + "binaryen": "101.0.0-nightly.20210723", + "long": "^4.0.0" + } + }, + "binaryen": { + "version": "101.0.0-nightly.20210723", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", + "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==" + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + } + } + }, + "@ipld/dag-cbor": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz", + "integrity": "sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==", + "requires": { + "cborg": "^1.6.0", + "multiformats": "^9.5.4" + } + }, + "@ipld/dag-json": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.11.tgz", + "integrity": "sha512-Pea7JXeYHTWXRTIhBqBlhw7G53PJ7yta3G/sizGEZyzdeEwhZRr0od5IQ0r2ZxOt1Do+2czddjeEPp+YTxDwCA==", + "requires": { + "cborg": "^1.5.4", + "multiformats": "^9.5.4" + } + }, + "@ipld/dag-pb": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.18.tgz", + "integrity": "sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg==", + "requires": { + "multiformats": "^9.5.4" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@oclif/core": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.8.6.tgz", + "integrity": "sha512-1QlPaHMhOORySCXkQyzjsIsy2GYTilOw3LkjeHkCgsPJQjAT4IclVytJusWktPbYNys9O+O4V23J44yomQvnBQ==", + "requires": { + "@types/cli-progress": "^3.11.0", + "ansi-escapes": "^4.3.2", + "ansi-styles": "^4.3.0", + "cardinal": "^2.1.1", + "chalk": "^4.1.2", + "clean-stack": "^3.0.1", + "cli-progress": "^3.12.0", + "debug": "^4.3.4", + "ejs": "^3.1.8", + "fs-extra": "^9.1.0", + "get-package-type": "^0.1.0", + "globby": "^11.1.0", + "hyperlinker": "^1.0.0", + "indent-string": "^4.0.0", + "is-wsl": "^2.2.0", + "js-yaml": "^3.14.1", + "natural-orderby": "^2.0.3", + "object-treeify": "^1.1.33", + "password-prompt": "^1.1.2", + "semver": "^7.3.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "supports-color": "^8.1.1", + "supports-hyperlinks": "^2.2.0", + "ts-node": "^10.9.1", + "tslib": "^2.5.0", + "widest-line": "^3.1.0", + "wordwrap": "^1.0.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } } } }, - "@ethersproject/strings": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", + "@peculiar/asn1-schema": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz", + "integrity": "sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA==", "requires": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0" + "asn1js": "^3.0.5", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" } }, - "@ethersproject/transactions": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", + "@peculiar/json-schema": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz", + "integrity": "sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==", "requires": { - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/rlp": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2" + "tslib": "^2.0.0" } }, - "@ethersproject/web": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", + "@peculiar/webcrypto": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.3.tgz", + "integrity": "sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==", "requires": { - "@ethersproject/base64": "^5.6.1", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "pvtsutils": "^1.3.2", + "tslib": "^2.5.0", + "webcrypto-core": "^1.7.7" } }, - "@graphprotocol/graph-cli": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.32.0.tgz", - "integrity": "sha512-40Kii/Ttype5aNCaQn81AP7utyE6JKB5bI9QtYd6WoaS3oACICqdPA89+5UB1s9t6yXiFbWojK3e7JUokPdYfA==", - "requires": { - "assemblyscript": "0.19.10", - "binary-install-raw": "0.0.13", - "chalk": "3.0.0", - "chokidar": "3.5.1", - "debug": "4.3.1", - "docker-compose": "0.23.4", - "dockerode": "2.5.8", - "fs-extra": "9.0.0", - "glob": "7.1.6", - "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", - "graphql": "15.5.0", - "immutable": "3.8.2", - "ipfs-http-client": "34.0.0", - "jayson": "3.6.6", - "js-yaml": "3.13.1", - "node-fetch": "2.6.0", - "pkginfo": "0.4.1", - "prettier": "1.19.1", - "request": "2.88.2", - "semver": "7.3.5", - "sync-request": "6.1.0", - "tmp-promise": "3.0.2", - "web3-eth-abi": "1.7.0", - "which": "2.0.2", - "yaml": "1.9.2" - } + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" }, - "@graphprotocol/graph-ts": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz", - "integrity": "sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w==", + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", "requires": { - "assemblyscript": "0.19.10" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" } }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "@rescript/std": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rescript/std/-/std-9.0.0.tgz", + "integrity": "sha512-zGzFsgtZ44mgL4Xef2gOy1hrRVdrs9mcxCOOKZrIPsmbZW14yTkaF591GXxpQvjXiHtgZ/iA9qLyWH6oSReIxQ==" + }, "@solarity/graph-lib": { "version": "1.0.0-rc.5", "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", @@ -5524,13 +6111,60 @@ "requires": { "assemblyscript": "0.19.10" } + }, + "assemblyscript": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", + "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "requires": { + "binaryen": "101.0.0-nightly.20210723", + "long": "^4.0.0" + } + }, + "binaryen": { + "version": "101.0.0-nightly.20210723", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", + "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==" + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" } } }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, + "@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + }, "@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", + "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", + "requires": { + "@types/node": "*" + } + }, + "@types/cli-progress": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.0.tgz", + "integrity": "sha512-XhXhBv1R/q2ahF3BM7qT5HLzJNlIL0wbcGyZVjqOTqAybAnsLisd7gy1UCyIqpL+5Iv6XhlSyzjLCnI2sIdbCg==", "requires": { "@types/node": "*" } @@ -5551,16 +6185,6 @@ "@types/node": "*" } }, - "@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, "@types/form-data": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", @@ -5569,15 +6193,20 @@ "@types/node": "*" } }, - "@types/lodash": { - "version": "4.14.182", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz", - "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==" + "@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" + "version": "20.5.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.7.tgz", + "integrity": "sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==" }, "@types/parse-json": { "version": "4.0.0", @@ -5597,11 +6226,6 @@ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, "@types/secp256k1": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", @@ -5618,6 +6242,35 @@ "@types/node": "*" } }, + "@whatwg-node/events": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@whatwg-node/events/-/events-0.0.3.tgz", + "integrity": "sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==" + }, + "@whatwg-node/fetch": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.8.8.tgz", + "integrity": "sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==", + "requires": { + "@peculiar/webcrypto": "^1.4.0", + "@whatwg-node/node-fetch": "^0.3.6", + "busboy": "^1.6.0", + "urlpattern-polyfill": "^8.0.0", + "web-streams-polyfill": "^3.2.1" + } + }, + "@whatwg-node/node-fetch": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.3.6.tgz", + "integrity": "sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==", + "requires": { + "@whatwg-node/events": "^0.0.3", + "busboy": "^1.6.0", + "fast-querystring": "^1.1.1", + "fast-url-parser": "^1.1.3", + "tslib": "^2.3.1" + } + }, "abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -5626,6 +6279,16 @@ "event-target-shim": "^5.0.0" } }, + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -5638,14 +6301,22 @@ } }, "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + } }, "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "4.3.0", @@ -5655,22 +6326,35 @@ "color-convert": "^2.0.1" } }, + "ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==" + }, + "any-signal": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-2.1.2.tgz", + "integrity": "sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==", + "requires": { + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.3" + } + }, "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "apisauce": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", - "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-2.1.6.tgz", + "integrity": "sha512-MdxR391op/FucS2YQRfB/NMRyCnHEPDd4h17LRIuVYi0BpGmMhpxc0shbOpfs5ahABuBEffNCGal5EcsydbBWg==", "requires": { - "axios": "^0.21.2", - "ramda": "^0.25.0" + "axios": "^0.21.4" } }, "app-module-path": { @@ -5678,6 +6362,11 @@ "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==" }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -5686,16 +6375,16 @@ "sprintf-js": "~1.0.2" } }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, - "asmcrypto.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", - "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" - }, "asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -5704,24 +6393,24 @@ "safer-buffer": "~2.1.0" } }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "asn1js": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", + "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "pvtsutils": "^1.3.2", + "pvutils": "^1.1.3", + "tslib": "^2.4.0" } }, "assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "version": "0.19.23", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", + "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", "requires": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" + "binaryen": "102.0.0-nightly.20211028", + "long": "^5.2.0", + "source-map-support": "^0.5.20" } }, "assert-plus": { @@ -5730,12 +6419,9 @@ "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" }, "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "requires": { - "lodash": "^4.17.14" - } + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, "asynckit": { "version": "0.4.0", @@ -5753,9 +6439,9 @@ "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" }, "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, "axios": { "version": "0.21.4", @@ -5789,20 +6475,8 @@ "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "requires": { "tweetnacl": "^0.14.3" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } } }, - "bignumber.js": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", - "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==" - }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -5819,25 +6493,9 @@ } }, "binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==" - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", - "requires": { - "safe-buffer": "^5.0.1" - } + "version": "102.0.0-nightly.20211028", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", + "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==" }, "bl": { "version": "1.2.3", @@ -5853,44 +6511,25 @@ "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "borc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", - "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", - "requires": { - "bignumber.js": "^9.0.0", - "buffer": "^5.5.0", - "commander": "^2.15.0", - "ieee754": "^1.1.13", - "iso-url": "~0.4.7", - "json-text-sequence": "~0.1.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "blob-to-it": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", + "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", + "requires": { + "browser-readablestream-to-it": "^1.0.3" } }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "braces": { @@ -5906,6 +6545,11 @@ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, + "browser-readablestream-to-it": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", + "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==" + }, "browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", @@ -5938,12 +6582,12 @@ } }, "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "ieee754": "^1.2.1" } }, "buffer-alloc": { @@ -5975,18 +6619,12 @@ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "streamsearch": "^1.1.0" } }, "callsites": { @@ -5994,16 +6632,25 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "requires": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + } }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, + "cborg": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.2.tgz", + "integrity": "sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==" + }, "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -6011,21 +6658,31 @@ "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "requires": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" } }, "chownr": { @@ -6033,29 +6690,6 @@ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, - "cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "requires": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -6065,10 +6699,13 @@ "safe-buffer": "^5.0.1" } }, - "class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" + "clean-stack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", + "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", + "requires": { + "escape-string-regexp": "4.0.0" + } }, "cli-cursor": { "version": "3.1.0", @@ -6078,19 +6715,27 @@ "restore-cursor": "^3.1.0" } }, + "cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "requires": { + "string-width": "^4.2.3" + } + }, "cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", + "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==" }, "cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz", + "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", "requires": { "colors": "^1.1.2", "object-assign": "^4.1.0", - "string-width": "^2.1.1" + "string-width": "^4.2.0" } }, "clone": { @@ -6112,9 +6757,9 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" }, "combined-stream": { "version": "1.0.8", @@ -6151,15 +6796,15 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "requires": { "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", + "import-fresh": "^3.2.1", "parse-json": "^5.0.0", "path-type": "^4.0.0", - "yaml": "^1.7.2" + "yaml": "^1.10.0" } }, "create-hash": { @@ -6187,6 +6832,11 @@ "sha.js": "^2.4.8" } }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -6206,22 +6856,17 @@ } }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { "ms": "2.1.2" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - }, "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "requires": { "clone": "^1.0.2" } @@ -6236,20 +6881,36 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, - "delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-over-http-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", + "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", + "requires": { + "debug": "^4.3.1", + "native-fetch": "^3.0.0", + "receptacle": "^1.3.2" + } }, "docker-compose": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", - "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==" + "version": "0.23.19", + "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.19.tgz", + "integrity": "sha512-v5vNLIdUqwj4my80wxFDkNH+4S85zsRuH29SO7dCWVWPCMt/ohZBsGN6g6KXWifT0pzQ7uOxqEKCYCDPJ8Vz4g==", + "requires": { + "yaml": "^1.10.2" + } }, "docker-modem": { "version": "1.0.9", @@ -6303,16 +6964,6 @@ "tar-fs": "~1.16.3" } }, - "drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", - "requires": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - } - }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -6323,9 +6974,20 @@ } }, "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "requires": { + "jake": "^10.8.5" + } + }, + "electron-fetch": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", + "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", + "requires": { + "encoding": "^0.1.13" + } }, "elliptic": { "version": "6.5.4", @@ -6339,6 +7001,26 @@ "inherits": "^2.0.4", "minimalistic-assert": "^1.0.1", "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "requires": { + "iconv-lite": "^0.6.2" } }, "end-of-stream": { @@ -6350,17 +7032,17 @@ } }, "enquirer": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", - "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "requires": { - "ansi-colors": "^3.2.1" + "ansi-colors": "^4.1.1" } }, "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" }, "error-ex": { "version": "1.3.2", @@ -6384,9 +7066,9 @@ } }, "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, "esprima": { "version": "4.0.1", @@ -6421,18 +7103,6 @@ "scrypt-js": "^3.0.0", "secp256k1": "^4.0.1", "setimmediate": "^1.0.5" - }, - "dependencies": { - "secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "requires": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - } } }, "ethereumjs-util": { @@ -6443,15 +7113,8 @@ "@types/bn.js": "^5.1.0", "bn.js": "^5.1.2", "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } + "ethereum-cryptography": "^0.1.3", + "rlp": "^2.2.4" } }, "ethjs-unit": { @@ -6485,27 +7148,21 @@ } }, "execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" } }, - "explain-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", - "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" - }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -6521,20 +7178,79 @@ "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==" }, + "fast-decode-uri-component": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", + "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "requires": { + "@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": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + "fast-querystring": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", + "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", + "requires": { + "fast-decode-uri-component": "^1.0.1" + } + }, + "fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "requires": { + "punycode": "^1.3.2" + } + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } }, "fill-range": { "version": "7.0.1", @@ -6544,15 +7260,10 @@ "to-regex-range": "^5.0.1" } }, - "flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" - }, "follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" }, "forever-agent": { "version": "0.6.1", @@ -6575,25 +7286,55 @@ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, "fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "requires": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", - "universalify": "^1.0.0" + "universalify": "^2.0.0" } }, "fs-jetpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", - "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-4.3.1.tgz", + "integrity": "sha512-dbeOK84F6BiQzk2yqqCVwCPWTxAvVGJ3fMQc6E2wuEohS28mR6yHngbrKuVCK1KHRx/ccByDylqu4H5PCP2urQ==", "requires": { "minimatch": "^3.0.2", "rimraf": "^2.6.3" }, "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -6610,6 +7351,16 @@ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "requires": { "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } + } } }, "fs.realpath": { @@ -6618,25 +7369,20 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "optional": true }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "get-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", + "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" }, - "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" }, "get-port": { "version": "3.2.0", @@ -6644,23 +7390,9 @@ "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" }, "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - }, - "dependencies": { - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" }, "getpass": { "version": "0.1.7", @@ -6671,16 +7403,14 @@ } }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", + "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", "requires": { "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" + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" } }, "glob-parent": { @@ -6691,21 +7421,34 @@ "is-glob": "^4.0.1" } }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "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" + } + }, "gluegun": { - "version": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", - "integrity": "sha512-BPKWUsKoAC+NeFXSNySObftw6lgKipegbbUuaKy6cPXm8z8bkHO3kbn6OVXwoJMkbCJubaFZJj9SGsevNfnJrg==", - "from": "gluegun@git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/gluegun/-/gluegun-5.1.2.tgz", + "integrity": "sha512-Cwx/8S8Z4YQg07a6AFsaGnnnmd8mN17414NcPS3OoDtZRwxgsvwRNJNg69niD6fDa8oNwslCG0xH7rEpRNNE/g==", "requires": { - "apisauce": "^1.0.1", + "apisauce": "^2.1.5", "app-module-path": "^2.2.0", - "cli-table3": "~0.5.0", - "colors": "1.3.3", - "cosmiconfig": "6.0.0", - "cross-spawn": "^7.0.0", - "ejs": "^2.6.1", - "enquirer": "2.3.4", - "execa": "^3.0.0", - "fs-jetpack": "^2.2.2", + "cli-table3": "0.6.0", + "colors": "1.4.0", + "cosmiconfig": "7.0.1", + "cross-spawn": "7.0.3", + "ejs": "3.1.6", + "enquirer": "2.3.6", + "execa": "5.1.1", + "fs-jetpack": "4.3.1", "lodash.camelcase": "^4.3.0", "lodash.kebabcase": "^4.1.1", "lodash.lowercase": "^4.3.0", @@ -6721,24 +7464,55 @@ "lodash.trimstart": "^4.5.1", "lodash.uppercase": "^4.3.0", "lodash.upperfirst": "^4.3.1", - "ora": "^4.0.0", + "ora": "4.0.2", "pluralize": "^8.0.0", - "ramdasauce": "^2.1.0", - "semver": "^7.0.0", - "which": "^2.0.0", - "yargs-parser": "^16.1.0" + "semver": "7.3.5", + "which": "2.0.2", + "yargs-parser": "^21.0.0" + }, + "dependencies": { + "ejs": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", + "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "requires": { + "jake": "^10.6.1" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "graphql": { "version": "15.5.0", "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==" }, + "graphql-import-node": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/graphql-import-node/-/graphql-import-node-0.0.5.tgz", + "integrity": "sha512-OXbou9fqh9/Lm7vwXT0XoRN9J5+WCYKnbiTalgFDvkQERITRmcfncZs6aVABedd5B85yQU5EULS4a5pnbpuI0Q==", + "requires": {} + }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -6753,24 +7527,11 @@ "har-schema": "^2.0.0" } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, "hash-base": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", @@ -6782,9 +7543,9 @@ }, "dependencies": { "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -6807,11 +7568,6 @@ "minimalistic-assert": "^1.0.1" } }, - "hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" - }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -6859,19 +7615,37 @@ } }, "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "hyperlinker": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", + "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==" + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + }, "immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==" + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.1.tgz", + "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==" }, "import-fresh": { "version": "3.3.0", @@ -6882,6 +7656,11 @@ "resolve-from": "^4.0.0" } }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -6896,290 +7675,125 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + "interface-datastore": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.1.tgz", + "integrity": "sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg==", + "requires": { + "interface-store": "^2.0.2", + "nanoid": "^3.0.2", + "uint8arrays": "^3.0.0" + } + }, + "interface-store": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", + "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==" }, "ip-regex": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" }, - "ipfs-block": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", - "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", - "requires": { - "cids": "~0.7.0", - "class-is": "^1.1.0" + "ipfs-core-types": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.9.0.tgz", + "integrity": "sha512-VJ8vJSHvI1Zm7/SxsZo03T+zzpsg8pkgiIi5hfwSJlsrJ1E2v68QPlnLshGHUSYw89Oxq0IbETYl2pGTFHTWfg==", + "requires": { + "interface-datastore": "^6.0.2", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.13" + } + }, + "ipfs-core-utils": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.13.0.tgz", + "integrity": "sha512-HP5EafxU4/dLW3U13CFsgqVO5Ika8N4sRSIb/dTg16NjLOozMH31TXV0Grtu2ZWo1T10ahTzMvrfT5f4mhioXw==", + "requires": { + "any-signal": "^2.1.2", + "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.9.0", + "ipfs-unixfs": "^6.0.3", + "ipfs-utils": "^9.0.2", + "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.4.13", + "nanoid": "^3.1.23", + "parse-duration": "^1.0.0", + "timeout-abort-controller": "^2.0.0", + "uint8arrays": "^3.0.0" } }, "ipfs-http-client": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", - "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", + "version": "55.0.0", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-55.0.0.tgz", + "integrity": "sha512-GpvEs7C7WL9M6fN/kZbjeh4Y8YN7rY8b18tVWZnKxRsVwM25cIFrRI8CwNt3Ugin9yShieI3i9sPyzYGMrLNnQ==", "requires": { + "@ipld/dag-cbor": "^7.0.0", + "@ipld/dag-json": "^8.0.1", + "@ipld/dag-pb": "^2.1.3", "abort-controller": "^3.0.0", - "async": "^2.6.1", - "bignumber.js": "^9.0.0", - "bl": "^3.0.0", - "bs58": "^4.0.1", - "buffer": "^5.4.2", - "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^2.0.0", - "explain-error": "^1.0.4", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.1", - "ipfs-utils": "~0.0.3", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.3", - "ipld-raw": "^4.0.0", - "is-ipfs": "~0.6.1", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "iso-stream-http": "~0.1.2", - "iso-url": "~0.4.6", - "iterable-ndjson": "^1.1.0", - "just-kebab-case": "^1.1.0", - "just-map-keys": "^1.1.0", - "kind-of": "^6.0.2", - "ky": "^0.11.2", - "ky-universal": "^0.2.2", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.6", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", - "once": "^1.4.0", - "peer-id": "~0.12.3", - "peer-info": "~0.15.1", - "promise-nodeify": "^3.0.1", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "pull-to-stream": "~0.1.1", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.1.1", - "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.1", - "through2": "^3.0.1" - }, - "dependencies": { - "bl": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", - "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", - "requires": { - "readable-stream": "^3.0.1" - } - }, - "concat-stream": { - "version": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", - "integrity": "sha512-GBrsRGcg6w3ac6B49frS/FGwdeuWMognaZIGxLfZ93vP2z3bIhaI/Bgn3rrS49lI7lrFznULlNUjWYP4soqgvw==", - "from": "concat-stream@github:hugomrdias/concat-stream#feat/smaller", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^3.0.2" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - } - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - } + "any-signal": "^2.1.2", + "debug": "^4.1.1", + "err-code": "^3.0.1", + "ipfs-core-types": "^0.9.0", + "ipfs-core-utils": "^0.13.0", + "ipfs-utils": "^9.0.2", + "it-first": "^1.0.6", + "it-last": "^1.0.4", + "merge-options": "^3.0.4", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.13", + "native-abort-controller": "^1.0.3", + "parse-duration": "^1.0.0", + "stream-to-it": "^0.2.2", + "uint8arrays": "^3.0.0" + } + }, + "ipfs-unixfs": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz", + "integrity": "sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ==", + "requires": { + "err-code": "^3.0.1", + "protobufjs": "^6.10.2" } }, "ipfs-utils": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", - "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", - "requires": { - "buffer": "^5.2.1", - "is-buffer": "^2.0.3", + "version": "9.0.14", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz", + "integrity": "sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg==", + "requires": { + "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", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "kind-of": "^6.0.2", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "ipld-dag-cbor": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", - "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", - "requires": { - "borc": "^2.1.2", - "buffer": "^5.5.0", - "cids": "~0.8.0", - "is-circular": "^1.0.2", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - } - }, - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - } - } - } - }, - "ipld-dag-pb": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", - "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", - "requires": { - "cids": "~0.7.0", - "class-is": "^1.1.0", - "multicodec": "~0.5.1", - "multihashing-async": "~0.7.0", - "protons": "^1.0.1", - "stable": "~0.1.8" - }, - "dependencies": { - "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" - }, - "multihashing-async": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", - "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", - "requires": { - "blakejs": "^1.1.0", - "buffer": "^5.2.1", - "err-code": "^1.1.2", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js-revisited": "^3.0.0" - } - } - } - }, - "ipld-raw": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", - "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", - "requires": { - "cids": "~0.7.0", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.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" + }, + "dependencies": { + "any-signal": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz", + "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==" } } }, @@ -7196,20 +7810,15 @@ "binary-extensions": "^2.0.0" } }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, - "is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" }, "is-electron": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", - "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", + "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==" }, "is-extglob": { "version": "2.1.1", @@ -7217,9 +7826,9 @@ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-glob": { "version": "4.0.3", @@ -7247,112 +7856,15 @@ "ip-regex": "^4.0.0" } }, - "is-ipfs": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", - "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", - "requires": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - }, - "dependencies": { - "multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "requires": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - } - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, - "is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" - }, - "is-pull-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", - "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" }, "is-stream": { "version": "2.0.1", @@ -7364,6 +7876,14 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -7374,50 +7894,92 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "iso-random-stream": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", - "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", + "iso-url": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", + "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==" + }, + "isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "requires": {} + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "it-all": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", + "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" + }, + "it-first": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", + "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==" + }, + "it-glob": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", + "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", "requires": { - "buffer": "^6.0.3", - "readable-stream": "^3.4.0" + "@types/minimatch": "^3.0.4", + "minimatch": "^3.0.4" }, "dependencies": { - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "brace-expansion": "^1.1.7" } } } }, - "iso-stream-http": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", - "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", + "it-last": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", + "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==" + }, + "it-map": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", + "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==" + }, + "it-peekable": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", + "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==" + }, + "it-to-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", + "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" + "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" }, "dependencies": { "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -7426,53 +7988,59 @@ } } }, - "iso-url": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", - "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==" - }, - "isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "requires": {} - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "iterable-ndjson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", - "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", + "jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", "requires": { - "string_decoder": "^1.2.0" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" }, "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "requires": { - "safe-buffer": "~5.2.0" + "has-flag": "^4.0.0" } } } }, "jayson": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", - "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.0.0.tgz", + "integrity": "sha512-v2RNpDCMu45fnLzSk47vx7I+QUaOsox6f5X0CUlabAFwxoP+8MfAY0NQRFwOEYXIxm8Ih5y6OaEa5KYiQMkyAA==", "requires": { "@types/connect": "^3.4.33", - "@types/express-serve-static-core": "^4.17.9", - "@types/lodash": "^4.14.159", "@types/node": "^12.12.54", "@types/ws": "^7.4.4", "commander": "^2.20.3", @@ -7482,11 +8050,15 @@ "isomorphic-ws": "^4.0.1", "json-stringify-safe": "^5.0.1", "JSONStream": "^1.3.5", - "lodash": "^4.17.20", "uuid": "^8.3.2", "ws": "^7.4.5" }, "dependencies": { + "@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" + }, "JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", @@ -7509,9 +8081,9 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -7542,14 +8114,6 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, - "json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", - "requires": { - "delimit-stream": "0.1.0" - } - }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -7557,13 +8121,6 @@ "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" - }, - "dependencies": { - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } } }, "jsonparse": { @@ -7591,20 +8148,10 @@ "verror": "1.10.0" } }, - "just-kebab-case": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", - "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" - }, - "just-map-keys": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", - "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" - }, "keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz", + "integrity": "sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==", "requires": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0", @@ -7612,9 +8159,9 @@ }, "dependencies": { "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -7623,104 +8170,11 @@ } } }, - "keypair": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", - "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "ky": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", - "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==" - }, - "ky-universal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", - "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", - "requires": { - "abort-controller": "^3.0.0", - "node-fetch": "^2.3.0" - } - }, - "libp2p-crypto": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", - "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", - "requires": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "^0.10.0", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.10.0" - }, - "dependencies": { - "multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", - "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - } - } - } - }, - "libp2p-crypto-secp256k1": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", - "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", - "requires": { - "async": "^2.6.2", - "bs58": "^4.0.1", - "multihashing-async": "~0.6.0", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.2" - }, - "dependencies": { - "multihashing-async": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", - "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", - "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - } - } - } - }, "lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, "lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", @@ -7835,6 +8289,11 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -7851,138 +8310,26 @@ } }, "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" }, - "mafmt": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", - "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", - "requires": { - "multiaddr": "^7.3.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "requires": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - } - } + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "matchstick-as": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.0.tgz", - "integrity": "sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.2.tgz", + "integrity": "sha512-fb1OVphDKEvJY06Ue02Eh1CNncuW95vp6b8tNAP7UIqplICSLoU/zgN6U7ge7R0upsoO78C7CRi4EyK/7Jxz7g==", "requires": { - "@graphprotocol/graph-ts": "^0.27.0", - "assemblyscript": "^0.19.20", "wabt": "1.0.24" - }, - "dependencies": { - "assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "requires": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - } - }, - "binaryen": { - "version": "102.0.0-nightly.20211028", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", - "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==" - }, - "long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - } } }, "md5.js": { @@ -7995,11 +8342,33 @@ "safe-buffer": "^5.1.2" } }, + "merge-options": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", + "requires": { + "is-plain-obj": "^2.1.0" + } + }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -8029,25 +8398,22 @@ "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" }, "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", + "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" } }, "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, "minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "requires": { - "yallist": "^4.0.0" - } + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==" }, "minizlib": { "version": "2.1.2", @@ -8056,6 +8422,16 @@ "requires": { "minipass": "^3.0.0", "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } + } } }, "mkdirp": { @@ -8069,135 +8445,52 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "multiaddr": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", - "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", - "requires": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "hi-base32": "~0.5.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - }, - "dependencies": { - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==" - }, - "is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", - "requires": { - "ip-regex": "^2.0.0" - } - } - } - }, - "multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", + "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" + "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" } }, - "multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", + "multiaddr-to-uri": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", + "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", "requires": { - "varint": "^5.0.0" + "multiaddr": "^10.0.0" } }, - "multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "requires": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } + "multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" }, - "multihashing-async": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", - "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", - "requires": { - "blakejs": "^1.1.0", - "buffer": "^5.4.3", - "err-code": "^2.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^1.0.1", - "murmurhash3js-revisited": "^3.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - } - } - } + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" }, - "murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==" + "native-abort-controller": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.4.tgz", + "integrity": "sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ==", + "requires": {} }, - "murmurhash3js-revisited": { + "native-fetch": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", - "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" + "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", + "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", + "requires": {} }, - "ndjson": { - "version": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", - "integrity": "sha512-4HWirDBroNYRKoq+8A7y0uvXlO0dF4p7URRRdqvPSgGjQFVpxpE4uasORXNxeRBMHQnXbTnUBVLXXagwKFH6AQ==", - "from": "ndjson@github:hugomrdias/ndjson#feat/readable-stream3", - "requires": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^3.1.0", - "through2": "^3.0.0" - } + "natural-orderby": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", + "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==" }, "node-addon-api": { "version": "2.0.2", @@ -8205,29 +8498,18 @@ "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" }, "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" - }, - "node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==" - }, - "nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "requires": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" + "whatwg-url": "^5.0.0" } }, + "node-gyp-build": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", + "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==" + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -8267,10 +8549,10 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + "object-treeify": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", + "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==" }, "once": { "version": "1.4.0", @@ -8288,48 +8570,97 @@ "mimic-fn": "^2.1.0" } }, - "optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", - "requires": { - "wordwrap": "~0.0.2" - } - }, "ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz", + "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==", "requires": { - "chalk": "^3.0.0", + "chalk": "^2.4.2", "cli-cursor": "^3.1.0", "cli-spinners": "^2.2.0", "is-interactive": "^1.0.0", "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", + "strip-ansi": "^5.2.0", "wcwidth": "^1.0.1" }, "dependencies": { "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" }, "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "ansi-regex": "^5.0.1" + "has-flag": "^3.0.0" } } } }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" + "p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" + }, + "p-fifo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", + "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", + "requires": { + "fast-fifo": "^1.0.0", + "p-defer": "^3.0.0" + } }, "parent-module": { "version": "1.0.1", @@ -8344,6 +8675,11 @@ "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" }, + "parse-duration": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.1.0.tgz", + "integrity": "sha512-z6t9dvSJYaPoQq7quMzdEagSFtpGu+utzHqqxmpVWNNZRIXnvqyCvn9XsTdh7c/w0Bqmdz3RB3YnRaKtpRtEXQ==" + }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -8355,6 +8691,15 @@ "lines-and-columns": "^1.1.6" } }, + "password-prompt": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz", + "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==", + "requires": { + "ansi-escapes": "^4.3.2", + "cross-spawn": "^7.0.3" + } + }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -8365,6 +8710,22 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, + "path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "requires": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==" + } + } + }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -8382,46 +8743,6 @@ "sha.js": "^2.4.8" } }, - "peer-id": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", - "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", - "requires": { - "async": "^2.6.3", - "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.1", - "multihashes": "~0.4.15" - } - }, - "peer-info": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", - "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", - "requires": { - "mafmt": "^6.0.2", - "multiaddr": "^6.0.3", - "peer-id": "~0.12.2", - "unique-by": "^1.0.0" - }, - "dependencies": { - "mafmt": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", - "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", - "requires": { - "multiaddr": "^6.1.0" - } - } - } - }, - "pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "requires": { - "asn1.js": "^5.0.1" - } - }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -8432,11 +8753,6 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, - "pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==" - }, "pluralize": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", @@ -8453,37 +8769,38 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "requires": { - "is-promise": "~1" + "asap": "~2.0.6" } }, - "promise-nodeify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", - "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==" - }, - "promisify-es6": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", - "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==" - }, - "protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "protons": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", - "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", - "requires": { - "buffer": "^5.5.0", - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" + "protobufjs": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", + "requires": { + "@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" + }, + "dependencies": { + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + } } }, "psl": { @@ -8491,36 +8808,6 @@ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" }, - "pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "pull-to-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", - "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", - "requires": { - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "pump": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", @@ -8531,37 +8818,32 @@ } }, "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "pvtsutils": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz", + "integrity": "sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==", "requires": { - "side-channel": "^1.0.4" + "tslib": "^2.6.1" } }, - "ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" + "pvutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", + "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==" }, - "ramdasauce": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", - "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", - "requires": { - "ramda": "^0.24.1" - }, - "dependencies": { - "ramda": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", - "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" - } - } + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, "randombytes": { "version": "2.1.0", @@ -8571,10 +8853,18 @@ "safe-buffer": "^5.1.0" } }, + "react-native-fetch-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz", + "integrity": "sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==", + "requires": { + "p-defer": "^3.0.0" + } + }, "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8586,17 +8876,28 @@ } }, "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "requires": { "picomatch": "^2.2.1" } }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "receptacle": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", + "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", + "requires": { + "ms": "^2.1.1" + } + }, + "redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", + "requires": { + "esprima": "~4.0.0" + } }, "request": { "version": "2.88.2", @@ -8625,11 +8926,6 @@ "uuid": "^3.3.2" }, "dependencies": { - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" - }, "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", @@ -8651,12 +8947,54 @@ "signal-exit": "^3.0.2" } }, + "retimer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", + "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "requires": { "glob": "^7.1.3" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "ripemd160": { @@ -8674,37 +9012,14 @@ "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", "requires": { "bn.js": "^5.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", - "requires": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" - }, - "dependencies": { - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==" - } } }, - "rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "requires": { - "optimist": "~0.3.5" + "queue-microtask": "^1.2.2" } }, "safe-buffer": { @@ -8723,26 +9038,31 @@ "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" }, "secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", "requires": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" } }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", "requires": { "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + } } }, "setimmediate": { @@ -8772,28 +9092,15 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", - "requires": { - "varint": "~5.0.0" - } + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, "source-map": { "version": "0.6.1", @@ -8814,26 +9121,6 @@ "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "requires": { - "readable-stream": "^3.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -8853,29 +9140,21 @@ "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } } }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", + "stream-to-it": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", + "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", "requires": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" + "get-iterator": "^1.0.2" } }, + "streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -8885,20 +9164,21 @@ } }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.1" } }, "strip-final-newline": { @@ -8915,13 +9195,32 @@ } }, "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "requires": { "has-flag": "^4.0.0" } }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "sync-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", @@ -8941,16 +9240,23 @@ } }, "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "version": "6.1.15", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", + "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==" + } } }, "tar-fs": { @@ -9015,14 +9321,6 @@ "version": "8.10.66", "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - }, - "promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "requires": { - "asap": "~2.0.6" - } } } }, @@ -9031,13 +9329,14 @@ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, - "through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "timeout-abort-controller": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-2.0.0.tgz", + "integrity": "sha512-2FAPXfzTPYEgw27bQGTHc0SzrbmnU2eso4qo172zMLZzaGqeu09PFa5B2FCUHM1tflgRqPgn5KQgp6+Vex4uNA==", "requires": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.4", + "retimer": "^3.0.0" } }, "tmp": { @@ -9049,9 +9348,9 @@ } }, "tmp-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", "requires": { "tmp": "^0.2.0" } @@ -9076,8 +9375,45 @@ "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + } } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "requires": { + "@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" + } + }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -9087,24 +9423,38 @@ } }, "tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, - "unique-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", - "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==" + "typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "peer": true + }, + "uint8arrays": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", + "requires": { + "multiformats": "^9.4.2" + } }, "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" }, "uri-js": { "version": "4.4.1", @@ -9112,16 +9462,19 @@ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + } } }, - "ursa-optional": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", - "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", - "requires": { - "bindings": "^1.5.0", - "nan": "^2.14.2" - } + "urlpattern-polyfill": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", + "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==" }, "utf8": { "version": "3.0.0", @@ -9138,10 +9491,15 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + }, "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" }, "verror": { "version": "1.10.0", @@ -9173,6 +9531,11 @@ "defaults": "^1.0.3" } }, + "web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" + }, "web3-eth-abi": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", @@ -9194,6 +9557,39 @@ "number-to-bn": "1.7.0", "randombytes": "^2.1.0", "utf8": "3.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "webcrypto-core": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.7.tgz", + "integrity": "sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g==", + "requires": { + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "asn1js": "^3.0.1", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, "which": { @@ -9204,10 +9600,28 @@ "isexe": "^2.0.0" } }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "requires": { + "string-width": "^4.0.0" + } + }, "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } }, "wrappy": { "version": "1.0.2", @@ -9215,9 +9629,9 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "ws": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz", - "integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==", + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", "requires": {} }, "xtend": { @@ -9231,21 +9645,19 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "requires": { - "@babel/runtime": "^7.9.2" - } + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" }, "yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" } } } diff --git a/AllInteractions/package.json b/AllInteractions/package.json index f2b2e6af..7f1211de 100644 --- a/AllInteractions/package.json +++ b/AllInteractions/package.json @@ -14,8 +14,8 @@ }, "dependencies": { "@solarity/graph-lib": "^1.0.0-rc.5", - "@graphprotocol/graph-cli": "0.32.0", - "@graphprotocol/graph-ts": "0.27.0", - "matchstick-as": "0.5.0" + "@graphprotocol/graph-cli": "0.56.0", + "@graphprotocol/graph-ts": "0.31.0", + "matchstick-as": "0.5.2" } } diff --git a/DaoPools/package-lock.json b/DaoPools/package-lock.json index 36c7e598..4d9cfd37 100644 --- a/DaoPools/package-lock.json +++ b/DaoPools/package-lock.json @@ -7,38 +7,103 @@ "name": "dexe", "license": "UNLICENSED", "dependencies": { - "@graphprotocol/graph-cli": "0.32.0", - "@graphprotocol/graph-ts": "0.27.0", + "@graphprotocol/graph-cli": "0.56.0", + "@graphprotocol/graph-ts": "0.31.0", "@solarity/graph-lib": "^1.0.0-rc.5", - "matchstick-as": "0.5.0" + "matchstick-as": "0.5.2" } }, "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", + "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -82,6 +147,14 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -101,15 +174,15 @@ "node": ">=4" } }, - "node_modules/@babel/runtime": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", - "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dependencies": { - "regenerator-runtime": "^0.13.4" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, "node_modules/@ethersproject/abi": { @@ -234,11 +307,6 @@ "bn.js": "^5.2.1" } }, - "node_modules/@ethersproject/bignumber/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, "node_modules/@ethersproject/bytes": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", @@ -336,9 +404,9 @@ ] }, "node_modules/@ethersproject/networks": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.0.tgz", - "integrity": "sha512-MG6oHSQHd4ebvJrleEQQ4HhVu8Ichr0RDYEfHzsVAVjHNM+w36x9wp9r+hf1JstMXtseXDtkiVoARAG6M959AA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", "funding": [ { "type": "individual", @@ -413,11 +481,6 @@ "hash.js": "1.1.7" } }, - "node_modules/@ethersproject/signing-key/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, "node_modules/@ethersproject/strings": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", @@ -465,9 +528,9 @@ } }, "node_modules/@ethersproject/web": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.0.tgz", - "integrity": "sha512-ApHcbbj+muRASVDSCl/tgxaH2LBkRMEYfLOLVa0COipx0+nlu0QKet7U2lEg0vdkh8XRSLf2nd1f1Uk9SrVSGA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", "funding": [ { "type": "individual", @@ -486,238 +549,678 @@ "@ethersproject/strings": "^5.7.0" } }, - "node_modules/@graphprotocol/graph-cli": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.32.0.tgz", - "integrity": "sha512-40Kii/Ttype5aNCaQn81AP7utyE6JKB5bI9QtYd6WoaS3oACICqdPA89+5UB1s9t6yXiFbWojK3e7JUokPdYfA==", + "node_modules/@float-capital/float-subgraph-uncrashable": { + "version": "0.0.0-internal-testing.5", + "resolved": "https://registry.npmjs.org/@float-capital/float-subgraph-uncrashable/-/float-subgraph-uncrashable-0.0.0-internal-testing.5.tgz", + "integrity": "sha512-yZ0H5e3EpAYKokX/AbtplzlvSxEJY7ZfpvQyDzyODkks0hakAAlDG6fQu1SlDJMWorY7bbq1j7fCiFeTWci6TA==", "dependencies": { - "assemblyscript": "0.19.10", + "@rescript/std": "9.0.0", + "graphql": "^16.6.0", + "graphql-import-node": "^0.0.5", + "js-yaml": "^4.1.0" + }, + "bin": { + "uncrashable": "bin/uncrashable" + } + }, + "node_modules/@float-capital/float-subgraph-uncrashable/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/@float-capital/float-subgraph-uncrashable/node_modules/graphql": { + "version": "16.8.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.0.tgz", + "integrity": "sha512-0oKGaR+y3qcS5mCu1vb7KG+a89vjn06C7Ihq/dDl3jA+A8B3TKomvi3CiEcVLJQGalbu8F52LxkOym7U5sSfbg==", + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/@float-capital/float-subgraph-uncrashable/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@graphprotocol/graph-cli": { + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.56.0.tgz", + "integrity": "sha512-bOVtYLDLJpyqjPv9RX8DwRFePOiIlzWZhQGuznb6lY7Uk+uvjc0JSBsgPOAWjwkAI+3U1Ux7GPVwgYSLIOBXoQ==", + "dependencies": { + "@float-capital/float-subgraph-uncrashable": "^0.0.0-alpha.4", + "@oclif/core": "2.8.6", + "@whatwg-node/fetch": "^0.8.4", + "assemblyscript": "0.19.23", "binary-install-raw": "0.0.13", "chalk": "3.0.0", - "chokidar": "3.5.1", - "debug": "4.3.1", - "docker-compose": "0.23.4", + "chokidar": "3.5.3", + "debug": "4.3.4", + "docker-compose": "0.23.19", "dockerode": "2.5.8", - "fs-extra": "9.0.0", - "glob": "7.1.6", - "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", + "fs-extra": "9.1.0", + "glob": "9.3.5", + "gluegun": "5.1.2", "graphql": "15.5.0", - "immutable": "3.8.2", - "ipfs-http-client": "34.0.0", - "jayson": "3.6.6", - "js-yaml": "3.13.1", - "node-fetch": "2.6.0", - "pkginfo": "0.4.1", + "immutable": "4.2.1", + "ipfs-http-client": "55.0.0", + "jayson": "4.0.0", + "js-yaml": "3.14.1", "prettier": "1.19.1", "request": "2.88.2", - "semver": "7.3.5", + "semver": "7.4.0", "sync-request": "6.1.0", - "tmp-promise": "3.0.2", + "tmp-promise": "3.0.3", "web3-eth-abi": "1.7.0", "which": "2.0.2", - "yaml": "1.9.2" + "yaml": "1.10.2" }, "bin": { - "graph": "bin/graph" + "graph": "bin/run" + }, + "engines": { + "node": ">=14" } }, "node_modules/@graphprotocol/graph-ts": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz", - "integrity": "sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w==", + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.31.0.tgz", + "integrity": "sha512-xreRVM6ho2BtolyOh2flDkNoGZximybnzUnF53zJVp0+Ed0KnAlO1/KOCUYw06euVI9tk0c9nA2Z/D5SIQV2Rg==", "dependencies": { "assemblyscript": "0.19.10" } }, - "node_modules/@solarity/graph-lib": { - "version": "1.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", - "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", + "node_modules/@graphprotocol/graph-ts/node_modules/assemblyscript": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", + "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", "dependencies": { - "@graphprotocol/graph-ts": "0.29.3" + "binaryen": "101.0.0-nightly.20210723", + "long": "^4.0.0" + }, + "bin": { + "asc": "bin/asc", + "asinit": "bin/asinit" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/assemblyscript" } }, - "node_modules/@solarity/graph-lib/node_modules/@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "dependencies": { - "assemblyscript": "0.19.10" + "node_modules/@graphprotocol/graph-ts/node_modules/binaryen": { + "version": "101.0.0-nightly.20210723", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", + "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==", + "bin": { + "wasm-opt": "bin/wasm-opt" } }, - "node_modules/@types/bn.js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", - "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", - "dependencies": { - "@types/node": "*" - } + "node_modules/@graphprotocol/graph-ts/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, - "node_modules/@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "node_modules/@ipld/dag-cbor": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz", + "integrity": "sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==", "dependencies": { - "@types/node": "*" + "cborg": "^1.6.0", + "multiformats": "^9.5.4" } }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "node_modules/@ipld/dag-json": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.11.tgz", + "integrity": "sha512-Pea7JXeYHTWXRTIhBqBlhw7G53PJ7yta3G/sizGEZyzdeEwhZRr0od5IQ0r2ZxOt1Do+2czddjeEPp+YTxDwCA==", "dependencies": { - "@types/node": "*" + "cborg": "^1.5.4", + "multiformats": "^9.5.4" } }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.30", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz", - "integrity": "sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==", + "node_modules/@ipld/dag-pb": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.18.tgz", + "integrity": "sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg==", "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" + "multiformats": "^9.5.4" } }, - "node_modules/@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "dependencies": { - "@types/node": "*" + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@types/lodash": { - "version": "4.14.184", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.184.tgz", - "integrity": "sha512-RoZphVtHbxPZizt4IcILciSWiC6dcn+eZ8oX9IWEYfDMcocdd42f7NPI6fQj+6zI8y4E0L7gu2pcZKLGTRaV9Q==" + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, - "node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "node_modules/@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dependencies": { - "@types/node": "*" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "node_modules/@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dependencies": { - "@types/node": "*" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@types/ws": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", - "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", - "dependencies": { - "@types/node": "*" + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" } }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dependencies": { - "event-target-shim": "^5.0.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=6.5" + "node": ">= 8" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@oclif/core": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.8.6.tgz", + "integrity": "sha512-1QlPaHMhOORySCXkQyzjsIsy2GYTilOw3LkjeHkCgsPJQjAT4IclVytJusWktPbYNys9O+O4V23J44yomQvnBQ==", + "dependencies": { + "@types/cli-progress": "^3.11.0", + "ansi-escapes": "^4.3.2", + "ansi-styles": "^4.3.0", + "cardinal": "^2.1.1", + "chalk": "^4.1.2", + "clean-stack": "^3.0.1", + "cli-progress": "^3.12.0", + "debug": "^4.3.4", + "ejs": "^3.1.8", + "fs-extra": "^9.1.0", + "get-package-type": "^0.1.0", + "globby": "^11.1.0", + "hyperlinker": "^1.0.0", + "indent-string": "^4.0.0", + "is-wsl": "^2.2.0", + "js-yaml": "^3.14.1", + "natural-orderby": "^2.0.3", + "object-treeify": "^1.1.33", + "password-prompt": "^1.1.2", + "semver": "^7.3.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "supports-color": "^8.1.1", + "supports-hyperlinks": "^2.2.0", + "ts-node": "^10.9.1", + "tslib": "^2.5.0", + "widest-line": "^3.1.0", + "wordwrap": "^1.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@oclif/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "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-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "node_modules/@oclif/core/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" + "node_modules/@peculiar/asn1-schema": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz", + "integrity": "sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA==", + "dependencies": { + "asn1js": "^3.0.5", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@peculiar/json-schema": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz", + "integrity": "sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==", "dependencies": { - "color-convert": "^2.0.1" + "tslib": "^2.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=8.0.0" } }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "node_modules/@peculiar/webcrypto": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.3.tgz", + "integrity": "sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "pvtsutils": "^1.3.2", + "tslib": "^2.5.0", + "webcrypto-core": "^1.7.7" }, "engines": { - "node": ">= 8" + "node": ">=10.12.0" } }, - "node_modules/apisauce": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", - "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", - "dependencies": { - "axios": "^0.21.2", - "ramda": "^0.25.0" - } + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@rescript/std": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rescript/std/-/std-9.0.0.tgz", + "integrity": "sha512-zGzFsgtZ44mgL4Xef2gOy1hrRVdrs9mcxCOOKZrIPsmbZW14yTkaF591GXxpQvjXiHtgZ/iA9qLyWH6oSReIxQ==" + }, + "node_modules/@solarity/graph-lib": { + "version": "1.0.0-rc.5", + "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", + "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", + "dependencies": { + "@graphprotocol/graph-ts": "0.29.3" + } + }, + "node_modules/@solarity/graph-lib/node_modules/@graphprotocol/graph-ts": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", + "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", + "dependencies": { + "assemblyscript": "0.19.10" + } + }, + "node_modules/@solarity/graph-lib/node_modules/assemblyscript": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", + "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "dependencies": { + "binaryen": "101.0.0-nightly.20210723", + "long": "^4.0.0" + }, + "bin": { + "asc": "bin/asc", + "asinit": "bin/asinit" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/assemblyscript" + } + }, + "node_modules/@solarity/graph-lib/node_modules/binaryen": { + "version": "101.0.0-nightly.20210723", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", + "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==", + "bin": { + "wasm-opt": "bin/wasm-opt" + } + }, + "node_modules/@solarity/graph-lib/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + }, + "node_modules/@types/bn.js": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", + "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cli-progress": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.0.tgz", + "integrity": "sha512-XhXhBv1R/q2ahF3BM7qT5HLzJNlIL0wbcGyZVjqOTqAybAnsLisd7gy1UCyIqpL+5Iv6XhlSyzjLCnI2sIdbCg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/form-data": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" + }, + "node_modules/@types/node": { + "version": "20.5.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.7.tgz", + "integrity": "sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/@types/pbkdf2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "node_modules/@types/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ws": { + "version": "7.4.7", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", + "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@whatwg-node/events": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@whatwg-node/events/-/events-0.0.3.tgz", + "integrity": "sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==" + }, + "node_modules/@whatwg-node/fetch": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.8.8.tgz", + "integrity": "sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==", + "dependencies": { + "@peculiar/webcrypto": "^1.4.0", + "@whatwg-node/node-fetch": "^0.3.6", + "busboy": "^1.6.0", + "urlpattern-polyfill": "^8.0.0", + "web-streams-polyfill": "^3.2.1" + } + }, + "node_modules/@whatwg-node/node-fetch": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.3.6.tgz", + "integrity": "sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==", + "dependencies": { + "@whatwg-node/events": "^0.0.3", + "busboy": "^1.6.0", + "fast-querystring": "^1.1.1", + "fast-url-parser": "^1.1.3", + "tslib": "^2.3.1" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==" + }, + "node_modules/any-signal": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-2.1.2.tgz", + "integrity": "sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==", + "dependencies": { + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.3" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/apisauce": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-2.1.6.tgz", + "integrity": "sha512-MdxR391op/FucS2YQRfB/NMRyCnHEPDd4h17LRIuVYi0BpGmMhpxc0shbOpfs5ahABuBEffNCGal5EcsydbBWg==", + "dependencies": { + "axios": "^0.21.4" + } }, "node_modules/app-module-path": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==" }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -726,16 +1229,19 @@ "sprintf-js": "~1.0.2" } }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, - "node_modules/asmcrypto.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", - "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" - }, "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -744,24 +1250,27 @@ "safer-buffer": "~2.1.0" } }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "node_modules/asn1js": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", + "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "pvtsutils": "^1.3.2", + "pvutils": "^1.1.3", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=12.0.0" } }, "node_modules/assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "version": "0.19.23", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", + "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", "dependencies": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" + "binaryen": "102.0.0-nightly.20211028", + "long": "^5.2.0", + "source-map-support": "^0.5.20" }, "bin": { "asc": "bin/asc", @@ -781,12 +1290,9 @@ } }, "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dependencies": { - "lodash": "^4.17.14" - } + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, "node_modules/asynckit": { "version": "0.4.0", @@ -810,9 +1316,9 @@ } }, "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, "node_modules/axios": { "version": "0.21.4", @@ -862,19 +1368,6 @@ "tweetnacl": "^0.14.3" } }, - "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/bignumber.js": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.0.tgz", - "integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==", - "engines": { - "node": "*" - } - }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -897,48 +1390,20 @@ } }, "node_modules/binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==", + "version": "102.0.0-nightly.20211028", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", + "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==", "bin": { "wasm-opt": "bin/wasm-opt" } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, "node_modules/bl": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", - "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", - "dependencies": { - "readable-stream": "^3.0.1" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" } }, "node_modules/blakejs": { @@ -946,48 +1411,25 @@ "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" }, - "node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/borc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", - "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", - "dependencies": { - "bignumber.js": "^9.0.0", - "buffer": "^5.5.0", - "commander": "^2.15.0", - "ieee754": "^1.1.13", - "iso-url": "~0.4.7", - "json-text-sequence": "~0.1.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/borc/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/blob-to-it": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", + "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "browser-readablestream-to-it": "^1.0.3" } }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { @@ -1006,6 +1448,11 @@ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, + "node_modules/browser-readablestream-to-it": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", + "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==" + }, "node_modules/browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", @@ -1038,9 +1485,9 @@ } }, "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "funding": [ { "type": "github", @@ -1057,7 +1504,7 @@ ], "dependencies": { "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "ieee754": "^1.2.1" } }, "node_modules/buffer-alloc": { @@ -1089,21 +1536,15 @@ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "streamsearch": "^1.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10.16.0" } }, "node_modules/callsites": { @@ -1114,12 +1555,16 @@ "node": ">=6" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" + "node_modules/cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "dependencies": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + }, + "bin": { + "cdl": "bin/cdl.js" } }, "node_modules/caseless": { @@ -1127,6 +1572,14 @@ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, + "node_modules/cborg": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.2.tgz", + "integrity": "sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==", + "bin": { + "cborg": "cli.js" + } + }, "node_modules/chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -1139,24 +1592,41 @@ "node": ">=8" } }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "dependencies": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "glob-parent": "~5.1.0", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" }, "engines": { "node": ">= 8.10.0" }, "optionalDependencies": { - "fsevents": "~2.3.1" + "fsevents": "~2.3.2" } }, "node_modules/chownr": { @@ -1167,33 +1637,6 @@ "node": ">=10" } }, - "node_modules/cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/cids/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, "node_modules/cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -1203,10 +1646,19 @@ "safe-buffer": "^5.0.1" } }, - "node_modules/class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" + "node_modules/clean-stack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", + "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", + "dependencies": { + "escape-string-regexp": "4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/cli-cursor": { "version": "3.1.0", @@ -1219,10 +1671,21 @@ "node": ">=8" } }, + "node_modules/cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "dependencies": { + "string-width": "^4.2.3" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/cli-spinners": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", - "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", + "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", "engines": { "node": ">=6" }, @@ -1231,15 +1694,15 @@ } }, "node_modules/cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz", + "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", "dependencies": { "object-assign": "^4.1.0", - "string-width": "^2.1.1" + "string-width": "^4.2.0" }, "engines": { - "node": ">=6" + "node": "10.* || >= 12.*" }, "optionalDependencies": { "colors": "^1.1.2" @@ -1270,9 +1733,9 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "engines": { "node": ">=0.1.90" } @@ -1318,18 +1781,18 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "dependencies": { "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", + "import-fresh": "^3.2.1", "parse-json": "^5.0.0", "path-type": "^4.0.0", - "yaml": "^1.7.2" + "yaml": "^1.10.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/create-hash": { @@ -1357,6 +1820,11 @@ "sha.js": "^2.4.8" } }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -1382,9 +1850,9 @@ } }, "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { "ms": "2.1.2" }, @@ -1397,20 +1865,15 @@ } } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "dependencies": { "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/delay": { @@ -1432,20 +1895,42 @@ "node": ">=0.4.0" } }, - "node_modules/delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "engines": { + "node": ">=0.3.1" + } }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-over-http-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", + "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", + "dependencies": { + "debug": "^4.3.1", + "native-fetch": "^3.0.0", + "receptacle": "^1.3.2" + } }, "node_modules/docker-compose": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", - "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==", + "version": "0.23.19", + "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.19.tgz", + "integrity": "sha512-v5vNLIdUqwj4my80wxFDkNH+4S85zsRuH29SO7dCWVWPCMt/ohZBsGN6g6KXWifT0pzQ7uOxqEKCYCDPJ8Vz4g==", + "dependencies": { + "yaml": "^1.10.2" + }, "engines": { "node": ">= 6.0.0" } @@ -1506,19 +1991,6 @@ "node": ">= 0.8" } }, - "node_modules/drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", - "dependencies": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -1529,14 +2001,30 @@ } }, "node_modules/ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "hasInstallScript": true, + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, "engines": { "node": ">=0.10.0" } }, + "node_modules/electron-fetch": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", + "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", + "dependencies": { + "encoding": "^0.1.13" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/elliptic": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", @@ -1551,6 +2039,24 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -1560,20 +2066,20 @@ } }, "node_modules/enquirer": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", - "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dependencies": { - "ansi-colors": "^3.2.1" + "ansi-colors": "^4.1.1" }, "engines": { "node": ">=8.6" } }, "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" }, "node_modules/error-ex": { "version": "1.3.2", @@ -1597,11 +2103,14 @@ } }, "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/esprima": { @@ -1646,20 +2155,6 @@ "setimmediate": "^1.0.5" } }, - "node_modules/ethereum-cryptography/node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "hasInstallScript": true, - "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -1675,11 +2170,6 @@ "node": ">=10.0.0" } }, - "node_modules/ethereumjs-util/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, "node_modules/ethjs-unit": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", @@ -1716,30 +2206,27 @@ } }, "node_modules/execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" }, "engines": { - "node": "^8.12.0 || >=9.7.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/explain-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", - "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" - }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -1761,20 +2248,83 @@ "node": "> 0.1.90" } }, + "node_modules/fast-decode-uri-component": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", + "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "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" + }, + "engines": { + "node": ">=8.6.0" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + "node_modules/fast-querystring": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", + "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", + "dependencies": { + "fast-decode-uri-component": "^1.0.1" + } + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } }, "node_modules/fill-range": { "version": "7.0.1", @@ -1787,15 +2337,10 @@ "node": ">=8" } }, - "node_modules/flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" - }, "node_modules/follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "funding": [ { "type": "individual", @@ -1838,29 +2383,65 @@ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, "node_modules/fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", - "universalify": "^1.0.0" + "universalify": "^2.0.0" }, "engines": { "node": ">=10" } }, "node_modules/fs-jetpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", - "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-4.3.1.tgz", + "integrity": "sha512-dbeOK84F6BiQzk2yqqCVwCPWTxAvVGJ3fMQc6E2wuEohS28mR6yHngbrKuVCK1KHRx/ccByDylqu4H5PCP2urQ==", "dependencies": { "minimatch": "^3.0.2", "rimraf": "^2.6.3" + } + }, + "node_modules/fs-jetpack/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/fs-jetpack/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "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" }, "engines": { - "node": ">=4" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fs-jetpack/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, "node_modules/fs-jetpack/node_modules/rimraf": { @@ -1885,15 +2466,26 @@ "node": ">= 8" } }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, "optional": true, "os": [ @@ -1903,22 +2495,17 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "node_modules/get-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", + "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" }, - "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "engines": { + "node": ">=8.0.0" } }, "node_modules/get-port": { @@ -1930,14 +2517,11 @@ } }, "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -1952,19 +2536,17 @@ } }, "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", + "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", "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" + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -1981,21 +2563,40 @@ "node": ">= 6" } }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/gluegun": { - "version": "4.3.1", - "resolved": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", - "license": "MIT", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/gluegun/-/gluegun-5.1.2.tgz", + "integrity": "sha512-Cwx/8S8Z4YQg07a6AFsaGnnnmd8mN17414NcPS3OoDtZRwxgsvwRNJNg69niD6fDa8oNwslCG0xH7rEpRNNE/g==", "dependencies": { - "apisauce": "^1.0.1", + "apisauce": "^2.1.5", "app-module-path": "^2.2.0", - "cli-table3": "~0.5.0", - "colors": "1.3.3", - "cosmiconfig": "6.0.0", - "cross-spawn": "^7.0.0", - "ejs": "^2.6.1", - "enquirer": "2.3.4", - "execa": "^3.0.0", - "fs-jetpack": "^2.2.2", + "cli-table3": "0.6.0", + "colors": "1.4.0", + "cosmiconfig": "7.0.1", + "cross-spawn": "7.0.3", + "ejs": "3.1.6", + "enquirer": "2.3.6", + "execa": "5.1.1", + "fs-jetpack": "4.3.1", "lodash.camelcase": "^4.3.0", "lodash.kebabcase": "^4.1.1", "lodash.lowercase": "^4.3.0", @@ -2011,21 +2612,59 @@ "lodash.trimstart": "^4.5.1", "lodash.uppercase": "^4.3.0", "lodash.upperfirst": "^4.3.1", - "ora": "^4.0.0", + "ora": "4.0.2", "pluralize": "^8.0.0", - "ramdasauce": "^2.1.0", - "semver": "^7.0.0", - "which": "^2.0.0", - "yargs-parser": "^16.1.0" + "semver": "7.3.5", + "which": "2.0.2", + "yargs-parser": "^21.0.0" }, "bin": { "gluegun": "bin/gluegun" } }, + "node_modules/gluegun/node_modules/ejs": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", + "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "dependencies": { + "jake": "^10.6.1" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gluegun/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gluegun/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/graphql": { "version": "15.5.0", @@ -2035,6 +2674,14 @@ "node": ">= 10.x" } }, + "node_modules/graphql-import-node": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/graphql-import-node/-/graphql-import-node-0.0.5.tgz", + "integrity": "sha512-OXbou9fqh9/Lm7vwXT0XoRN9J5+WCYKnbiTalgFDvkQERITRmcfncZs6aVABedd5B85yQU5EULS4a5pnbpuI0Q==", + "peerDependencies": { + "graphql": "*" + } + }, "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -2056,17 +2703,6 @@ "node": ">=6" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -2075,17 +2711,6 @@ "node": ">=8" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/hash-base": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", @@ -2100,9 +2725,9 @@ } }, "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -2112,6 +2737,25 @@ "node": ">= 6" } }, + "node_modules/hash-base/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/hash.js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", @@ -2121,11 +2765,6 @@ "minimalistic-assert": "^1.0.1" } }, - "node_modules/hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" - }, "node_modules/hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -2178,11 +2817,30 @@ } }, "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "engines": { - "node": ">=8.12.0" + "node": ">=10.17.0" + } + }, + "node_modules/hyperlinker": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", + "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, "node_modules/ieee754": { @@ -2204,14 +2862,19 @@ } ] }, - "node_modules/immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "engines": { - "node": ">=0.10.0" + "node": ">= 4" } }, + "node_modules/immutable": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.1.tgz", + "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==" + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -2227,6 +2890,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -2241,280 +2912,143 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + "node_modules/interface-datastore": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.1.tgz", + "integrity": "sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg==", + "dependencies": { + "interface-store": "^2.0.2", + "nanoid": "^3.0.2", + "uint8arrays": "^3.0.0" + } + }, + "node_modules/interface-store": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", + "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==" }, "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/ipfs-block": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", - "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", - "dependencies": { - "cids": "~0.7.0", - "class-is": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" + "node_modules/ipfs-core-types": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.9.0.tgz", + "integrity": "sha512-VJ8vJSHvI1Zm7/SxsZo03T+zzpsg8pkgiIi5hfwSJlsrJ1E2v68QPlnLshGHUSYw89Oxq0IbETYl2pGTFHTWfg==", + "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", + "dependencies": { + "interface-datastore": "^6.0.2", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.13" + } + }, + "node_modules/ipfs-core-utils": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.13.0.tgz", + "integrity": "sha512-HP5EafxU4/dLW3U13CFsgqVO5Ika8N4sRSIb/dTg16NjLOozMH31TXV0Grtu2ZWo1T10ahTzMvrfT5f4mhioXw==", + "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", + "dependencies": { + "any-signal": "^2.1.2", + "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.9.0", + "ipfs-unixfs": "^6.0.3", + "ipfs-utils": "^9.0.2", + "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.4.13", + "nanoid": "^3.1.23", + "parse-duration": "^1.0.0", + "timeout-abort-controller": "^2.0.0", + "uint8arrays": "^3.0.0" } }, "node_modules/ipfs-http-client": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", - "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", - "dependencies": { + "version": "55.0.0", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-55.0.0.tgz", + "integrity": "sha512-GpvEs7C7WL9M6fN/kZbjeh4Y8YN7rY8b18tVWZnKxRsVwM25cIFrRI8CwNt3Ugin9yShieI3i9sPyzYGMrLNnQ==", + "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", + "dependencies": { + "@ipld/dag-cbor": "^7.0.0", + "@ipld/dag-json": "^8.0.1", + "@ipld/dag-pb": "^2.1.3", "abort-controller": "^3.0.0", - "async": "^2.6.1", - "bignumber.js": "^9.0.0", - "bl": "^3.0.0", - "bs58": "^4.0.1", - "buffer": "^5.4.2", - "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^2.0.0", - "explain-error": "^1.0.4", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.1", - "ipfs-utils": "~0.0.3", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.3", - "ipld-raw": "^4.0.0", - "is-ipfs": "~0.6.1", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "iso-stream-http": "~0.1.2", - "iso-url": "~0.4.6", - "iterable-ndjson": "^1.1.0", - "just-kebab-case": "^1.1.0", - "just-map-keys": "^1.1.0", - "kind-of": "^6.0.2", - "ky": "^0.11.2", - "ky-universal": "^0.2.2", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.6", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", - "once": "^1.4.0", - "peer-id": "~0.12.3", - "peer-info": "~0.15.1", - "promise-nodeify": "^3.0.1", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "pull-to-stream": "~0.1.1", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.1.1", - "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.1", - "through2": "^3.0.1" - }, - "engines": { - "node": ">=8.3.0", + "any-signal": "^2.1.2", + "debug": "^4.1.1", + "err-code": "^3.0.1", + "ipfs-core-types": "^0.9.0", + "ipfs-core-utils": "^0.13.0", + "ipfs-utils": "^9.0.2", + "it-first": "^1.0.6", + "it-last": "^1.0.4", + "merge-options": "^3.0.4", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.13", + "native-abort-controller": "^1.0.3", + "parse-duration": "^1.0.0", + "stream-to-it": "^0.2.2", + "uint8arrays": "^3.0.0" + }, + "engines": { + "node": ">=14.0.0", "npm": ">=3.0.0" } }, - "node_modules/ipfs-http-client/node_modules/concat-stream": { - "version": "2.0.0", - "resolved": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^3.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/ipfs-http-client/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/ipfs-unixfs": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz", + "integrity": "sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "err-code": "^3.0.1", + "protobufjs": "^6.10.2" }, "engines": { - "node": ">= 6" + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, "node_modules/ipfs-utils": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", - "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", - "dependencies": { - "buffer": "^5.2.1", - "is-buffer": "^2.0.3", + "version": "9.0.14", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz", + "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", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "kind-of": "^6.0.2", - "readable-stream": "^3.4.0" - } - }, - "node_modules/ipfs-utils/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ipld-dag-cbor": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", - "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", - "deprecated": "This module has been superseded by @ipld/dag-cbor and multiformats", - "dependencies": { - "borc": "^2.1.2", - "buffer": "^5.5.0", - "cids": "~0.8.0", - "is-circular": "^1.0.2", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-pb": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", - "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", - "deprecated": "This module has been superseded by @ipld/dag-pb and multiformats", - "dependencies": { - "cids": "~0.7.0", - "class-is": "^1.1.0", - "multicodec": "~0.5.1", - "multihashing-async": "~0.7.0", - "protons": "^1.0.1", - "stable": "~0.1.8" + "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" }, "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-pb/node_modules/err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" - }, - "node_modules/ipld-dag-pb/node_modules/multihashing-async": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", - "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "buffer": "^5.2.1", - "err-code": "^1.1.2", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js-revisited": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-raw": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", - "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "cids": "~0.7.0", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, - "node_modules/ipld-raw/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } + "node_modules/ipfs-utils/node_modules/any-signal": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz", + "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==" }, "node_modules/is-arrayish": { "version": "0.2.1", @@ -2532,37 +3066,24 @@ "node": ">=8" } }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" - }, "node_modules/is-electron": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", - "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", + "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==" }, "node_modules/is-extglob": { "version": "2.1.1", @@ -2573,11 +3094,11 @@ } }, "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/is-glob": { @@ -2609,38 +3130,6 @@ } }, "node_modules/is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", - "dependencies": { - "ip-regex": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-ipfs": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", - "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", - "dependencies": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - } - }, - "node_modules/is-ipfs/node_modules/ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-ipfs/node_modules/is-ip": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", @@ -2651,98 +3140,6 @@ "node": ">=8" } }, - "node_modules/is-ipfs/node_modules/multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "dependencies": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -2751,15 +3148,13 @@ "node": ">=0.12.0" } }, - "node_modules/is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" - }, - "node_modules/is-pull-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", - "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } }, "node_modules/is-stream": { "version": "2.0.1", @@ -2777,78 +3172,119 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/iso-url": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", + "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==", + "engines": { + "node": ">=12" + } + }, + "node_modules/isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/it-all": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", + "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "node_modules/it-first": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", + "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==" }, - "node_modules/iso-random-stream": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", - "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", + "node_modules/it-glob": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", + "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", "dependencies": { - "buffer": "^6.0.3", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">=8" + "@types/minimatch": "^3.0.4", + "minimatch": "^3.0.4" } }, - "node_modules/iso-random-stream/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/it-glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/iso-random-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/it-glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 6" + "node": "*" } }, - "node_modules/iso-stream-http": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", - "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", + "node_modules/it-last": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", + "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==" + }, + "node_modules/it-map": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", + "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==" + }, + "node_modules/it-peekable": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", + "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==" + }, + "node_modules/it-to-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", + "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" + "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" } }, - "node_modules/iso-stream-http/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/it-to-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -2858,43 +3294,75 @@ "node": ">= 6" } }, - "node_modules/iso-url": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", - "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==", + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, "engines": { "node": ">=10" } }, - "node_modules/isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "peerDependencies": { - "ws": "*" + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "node_modules/iterable-ndjson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", - "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "string_decoder": "^1.2.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/jayson": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", - "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.0.0.tgz", + "integrity": "sha512-v2RNpDCMu45fnLzSk47vx7I+QUaOsox6f5X0CUlabAFwxoP+8MfAY0NQRFwOEYXIxm8Ih5y6OaEa5KYiQMkyAA==", "dependencies": { "@types/connect": "^3.4.33", - "@types/express-serve-static-core": "^4.17.9", - "@types/lodash": "^4.14.159", "@types/node": "^12.12.54", "@types/ws": "^7.4.4", "commander": "^2.20.3", @@ -2904,7 +3372,6 @@ "isomorphic-ws": "^4.0.1", "json-stringify-safe": "^5.0.1", "JSONStream": "^1.3.5", - "lodash": "^4.17.20", "uuid": "^8.3.2", "ws": "^7.4.5" }, @@ -2915,6 +3382,11 @@ "node": ">=8" } }, + "node_modules/jayson/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" + }, "node_modules/jayson/node_modules/JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", @@ -2941,9 +3413,9 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -2977,14 +3449,6 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, - "node_modules/json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", - "dependencies": { - "delimit-stream": "0.1.0" - } - }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -2996,14 +3460,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/jsonfile/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -3041,20 +3497,10 @@ "node": ">=0.6.0" } }, - "node_modules/just-kebab-case": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", - "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" - }, - "node_modules/just-map-keys": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", - "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" - }, "node_modules/keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz", + "integrity": "sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==", "hasInstallScript": true, "dependencies": { "node-addon-api": "^2.0.0", @@ -3066,9 +3512,9 @@ } }, "node_modules/keccak/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -3078,131 +3524,11 @@ "node": ">= 6" } }, - "node_modules/keypair": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", - "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ky": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", - "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ky-universal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", - "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", - "dependencies": { - "abort-controller": "^3.0.0", - "node-fetch": "^2.3.0" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "ky": ">=0.10.0" - } - }, - "node_modules/libp2p-crypto": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", - "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", - "dependencies": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "^0.10.0", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.10.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/libp2p-crypto-secp256k1": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", - "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", - "deprecated": "Included in libp2p-crypto, use it instead. https://github.com/libp2p/js-libp2p-crypto", - "dependencies": { - "async": "^2.6.2", - "bs58": "^4.0.1", - "multihashing-async": "~0.6.0", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.2" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/libp2p-crypto-secp256k1/node_modules/multihashing-async": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", - "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/libp2p-crypto/node_modules/multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, "node_modules/lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", @@ -3302,227 +3628,83 @@ }, "node_modules/log-symbols/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "node_modules/looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/mafmt": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", - "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", - "dependencies": { - "multiaddr": "^7.3.0" - } - }, - "node_modules/mafmt/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/mafmt/node_modules/cids/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/mafmt/node_modules/ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/mafmt/node_modules/is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dependencies": { - "ip-regex": "^4.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/mafmt/node_modules/multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", + "node_modules/log-symbols/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dependencies": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" + "color-name": "1.1.3" } }, - "node_modules/mafmt/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/log-symbols/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" } }, - "node_modules/mafmt/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" + "node_modules/log-symbols/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" } }, - "node_modules/mafmt/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", + "node_modules/log-symbols/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" + "node": ">=4" } }, - "node_modules/mafmt/node_modules/multihashes/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, + "node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + }, + "node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" + "node": "14 || >=16.14" } }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, "node_modules/matchstick-as": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.0.tgz", - "integrity": "sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.2.tgz", + "integrity": "sha512-fb1OVphDKEvJY06Ue02Eh1CNncuW95vp6b8tNAP7UIqplICSLoU/zgN6U7ge7R0upsoO78C7CRi4EyK/7Jxz7g==", "dependencies": { - "@graphprotocol/graph-ts": "^0.27.0", - "assemblyscript": "^0.19.20", "wabt": "1.0.24" } }, - "node_modules/matchstick-as/node_modules/assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "dependencies": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - }, - "bin": { - "asc": "bin/asc", - "asinit": "bin/asinit" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } - }, - "node_modules/matchstick-as/node_modules/binaryen": { - "version": "102.0.0-nightly.20211028", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", - "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==", - "bin": { - "wasm-opt": "bin/wasm-opt" - } - }, - "node_modules/matchstick-as/node_modules/long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -3533,11 +3715,42 @@ "safe-buffer": "^5.1.2" } }, + "node_modules/merge-options": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", + "dependencies": { + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -3576,37 +3789,35 @@ "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", + "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "dependencies": { - "yallist": "^4.0.0" - }, + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", "engines": { "node": ">=8" } }, - "node_modules/minipass/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", @@ -3619,10 +3830,16 @@ "node": ">= 8" } }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, "node_modules/mkdirp": { "version": "1.0.4", @@ -3641,141 +3858,72 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/multiaddr": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", - "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", - "dependencies": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "hi-base32": "~0.5.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - } - }, - "node_modules/multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "deprecated": "This module has been superseded by the multiformats module", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", + "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", + "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", "dependencies": { - "varint": "^5.0.0" - } - }, - "node_modules/multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "dependencies": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/multihashes/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" + "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" } }, - "node_modules/multihashing-async": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", - "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", - "deprecated": "This module has been superseded by the multiformats module", + "node_modules/multiaddr-to-uri": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", + "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", + "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr-to-uri", "dependencies": { - "blakejs": "^1.1.0", - "buffer": "^5.4.3", - "err-code": "^2.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^1.0.1", - "murmurhash3js-revisited": "^3.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" + "multiaddr": "^10.0.0" } }, - "node_modules/multihashing-async/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } + "node_modules/multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" }, - "node_modules/multihashing-async/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==", - "engines": { - "node": ">=0.10.0" + "node_modules/native-abort-controller": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.4.tgz", + "integrity": "sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ==", + "peerDependencies": { + "abort-controller": "*" } }, - "node_modules/murmurhash3js-revisited": { + "node_modules/native-fetch": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", - "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==", - "engines": { - "node": ">=8.0.0" + "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", + "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", + "peerDependencies": { + "node-fetch": "*" } }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "node_modules/nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" - }, - "node_modules/ndjson": { - "version": "1.5.0", - "resolved": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", - "license": "BSD-3-Clause", - "dependencies": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^3.1.0", - "through2": "^3.0.0" - }, - "bin": { - "ndjson": "cli.js" + "node_modules/natural-orderby": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", + "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==", + "engines": { + "node": "*" } }, "node_modules/node-addon-api": { @@ -3784,40 +3932,34 @@ "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" }, "node_modules/node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, "engines": { "node": "4.x || >=6.0.0" - } - }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "engines": { - "node": ">= 6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, "node_modules/node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", + "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", "node-gyp-build-test": "build-test.js" } }, - "node_modules/nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", - "dependencies": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -3860,84 +4002,164 @@ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "engines": { - "node": "*" + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-treeify": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", + "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz", + "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==", + "dependencies": { + "chalk": "^2.4.2", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.2.0", + "is-interactive": "^1.0.0", + "log-symbols": "^3.0.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" + "node_modules/ora/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" } }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/ora/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/ora/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" + "node_modules/ora/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/ora/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dependencies": { - "mimic-fn": "^2.1.0" + "ansi-regex": "^4.1.0" }, "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", - "dependencies": { - "wordwrap": "~0.0.2" } }, - "node_modules/ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "node_modules/ora/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "node_modules/p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", "engines": { "node": ">=8" } }, + "node_modules/p-fifo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", + "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", + "dependencies": { + "fast-fifo": "^1.0.0", + "p-defer": "^3.0.0" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -3954,6 +4176,11 @@ "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" }, + "node_modules/parse-duration": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.1.0.tgz", + "integrity": "sha512-z6t9dvSJYaPoQq7quMzdEagSFtpGu+utzHqqxmpVWNNZRIXnvqyCvn9XsTdh7c/w0Bqmdz3RB3YnRaKtpRtEXQ==" + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -3971,6 +4198,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/password-prompt": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz", + "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==", + "dependencies": { + "ansi-escapes": "^4.3.2", + "cross-spawn": "^7.0.3" + } + }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -3987,6 +4223,29 @@ "node": ">=8" } }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -4010,62 +4269,6 @@ "node": ">=0.12" } }, - "node_modules/peer-id": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", - "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", - "dependencies": { - "async": "^2.6.3", - "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.1", - "multihashes": "~0.4.15" - }, - "bin": { - "peer-id": "src/bin.js" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/peer-info": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", - "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", - "deprecated": "No longer supported for js-libp2p0.28.0 or later", - "dependencies": { - "mafmt": "^6.0.2", - "multiaddr": "^6.0.3", - "peer-id": "~0.12.2", - "unique-by": "^1.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/peer-info/node_modules/mafmt": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", - "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", - "dependencies": { - "multiaddr": "^6.1.0" - } - }, - "node_modules/pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "dependencies": { - "asn1.js": "^5.0.1" - }, - "bin": { - "pem-jwk": "bin/pem-jwk.js" - }, - "engines": { - "node": ">=5.10.0" - } - }, "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -4082,14 +4285,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==", - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/pluralize": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", @@ -4115,132 +4310,104 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "dependencies": { - "is-promise": "~1" - } - }, - "node_modules/promise-nodeify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", - "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==", - "engines": { - "node": ">=6", - "npm": ">=1.3.7" + "asap": "~2.0.6" } }, - "node_modules/promisify-es6": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", - "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==", - "deprecated": "Unmaintained" - }, - "node_modules/protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "node_modules/protons": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", - "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", - "deprecated": "This module is no longer maintained", + "node_modules/protobufjs": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", + "hasInstallScript": true, "dependencies": { - "buffer": "^5.5.0", - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" + "@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" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" } }, + "node_modules/protobufjs/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" }, - "node_modules/pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "node_modules/pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "node_modules/pull-to-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", - "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", - "dependencies": { - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pull-to-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/pvtsutils": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz", + "integrity": "sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==", + "dependencies": { + "tslib": "^2.6.1" + } + }, + "node_modules/pvutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", + "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==", "engines": { - "node": ">=6" + "node": ">=6.0.0" } }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "engines": { "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" - }, - "node_modules/ramdasauce": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", - "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", - "dependencies": { - "ramda": "^0.24.1" } }, - "node_modules/ramdasauce/node_modules/ramda": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", - "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/randombytes": { "version": "2.1.0", @@ -4250,10 +4417,18 @@ "safe-buffer": "^5.1.0" } }, + "node_modules/react-native-fetch-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz", + "integrity": "sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==", + "dependencies": { + "p-defer": "^3.0.0" + } + }, "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -4264,23 +4439,10 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dependencies": { "picomatch": "^2.2.1" }, @@ -4288,10 +4450,21 @@ "node": ">=8.10.0" } }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "node_modules/receptacle": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", + "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", + "dependencies": { + "esprima": "~4.0.0" + } }, "node_modules/request": { "version": "2.88.2", @@ -4324,14 +4497,6 @@ "node": ">= 6" } }, - "node_modules/request/node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "engines": { - "node": ">=0.6" - } - }, "node_modules/request/node_modules/uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", @@ -4361,20 +4526,73 @@ "node": ">=8" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/retimer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", + "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==" + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dependencies": { - "glob": "^7.1.3" + "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" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": "*" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/ripemd160": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", @@ -4395,43 +4613,10 @@ "rlp": "bin/rlp" } }, - "node_modules/rlp/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", - "dependencies": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" - } - }, - "node_modules/rsa-pem-to-jwk/node_modules/object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", - "dependencies": { - "optimist": "~0.3.5" - }, - "bin": { - "rsa-unpack": "bin/cmd.js" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "funding": [ { "type": "github", @@ -4445,7 +4630,15 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/safer-buffer": { "version": "2.1.2", @@ -4458,28 +4651,23 @@ "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" }, "node_modules/secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", "hasInstallScript": true, "dependencies": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=10.0.0" } }, "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -4501,11 +4689,6 @@ "node": ">=10" } }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", @@ -4542,30 +4725,17 @@ "node": ">=8" } }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "node_modules/signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", - "dependencies": { - "varint": "~5.0.0" + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" } }, "node_modules/source-map": { @@ -4590,27 +4760,6 @@ "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/split2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -4640,63 +4789,41 @@ "node": ">=0.10.0" } }, - "node_modules/sshpk/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" - }, - "node_modules/stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", - "dependencies": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/stream-to-it": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", + "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", "dependencies": { - "safe-buffer": "~5.2.0" + "get-iterator": "^1.0.2" } }, - "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", "engines": { - "node": ">=4" + "node": ">=10.0.0" } }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "engines": { - "node": ">=4" + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { - "ansi-regex": "^3.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/strip-ansi": { @@ -4731,6 +4858,32 @@ } }, "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -4763,19 +4916,19 @@ } }, "node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "version": "6.1.15", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", + "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "engines": { - "node": ">= 10" + "node": ">=10" } }, "node_modules/tar-fs": { @@ -4789,15 +4942,6 @@ "tar-stream": "^1.1.2" } }, - "node_modules/tar-fs/node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, "node_modules/tar-fs/node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", @@ -4814,16 +4958,7 @@ "mkdirp": "bin/cmd.js" } }, - "node_modules/tar-fs/node_modules/pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/tar-fs/node_modules/tar-stream": { + "node_modules/tar-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", @@ -4840,49 +4975,14 @@ "node": ">= 0.8.0" } }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-stream/node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/then-request": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", @@ -4909,26 +5009,19 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" }, - "node_modules/then-request/node_modules/promise": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", - "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", - "dependencies": { - "asap": "~2.0.6" - } - }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, - "node_modules/through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "node_modules/timeout-abort-controller": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-2.0.0.tgz", + "integrity": "sha512-2FAPXfzTPYEgw27bQGTHc0SzrbmnU2eso4qo172zMLZzaGqeu09PFa5B2FCUHM1tflgRqPgn5KQgp6+Vex4uNA==", "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.4", + "retimer": "^3.0.0" } }, "node_modules/tmp": { @@ -4943,9 +5036,9 @@ } }, "node_modules/tmp-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", "dependencies": { "tmp": "^0.2.0" } @@ -4978,6 +5071,66 @@ "node": ">=0.8" } }, + "node_modules/tough-cookie/node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "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" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -4990,27 +5143,51 @@ } }, "node_modules/tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, - "node_modules/unique-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", - "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==", + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, "engines": { - "node": ">= 0.10.x" + "node": ">=14.17" + } + }, + "node_modules/uint8arrays": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", + "dependencies": { + "multiformats": "^9.4.2" } }, "node_modules/universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "engines": { "node": ">= 10.0.0" } @@ -5023,19 +5200,19 @@ "punycode": "^2.1.0" } }, - "node_modules/ursa-optional": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", - "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.14.2" - }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "engines": { - "node": ">=4" + "node": ">=6" } }, + "node_modules/urlpattern-polyfill": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", + "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==" + }, "node_modules/utf8": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", @@ -5054,10 +5231,15 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + }, "node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" }, "node_modules/verror": { "version": "1.10.0", @@ -5101,6 +5283,14 @@ "defaults": "^1.0.3" } }, + "node_modules/web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "engines": { + "node": ">= 8" + } + }, "node_modules/web3-eth-abi": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", @@ -5130,6 +5320,37 @@ "node": ">=8.0.0" } }, + "node_modules/web3-utils/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/webcrypto-core": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.7.tgz", + "integrity": "sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g==", + "dependencies": { + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "asn1js": "^3.0.1", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -5144,12 +5365,36 @@ "node": ">= 8" } }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=0.4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/wrappy": { @@ -5186,52 +5431,108 @@ } }, "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "dependencies": { - "@babel/runtime": "^7.9.2" - }, + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "engines": { "node": ">= 6" } }, "node_modules/yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "engines": { + "node": ">=6" } } }, "dependencies": { "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "requires": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } } }, "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" }, "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", + "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "dependencies": { @@ -5266,6 +5567,11 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -5281,12 +5587,12 @@ } } }, - "@babel/runtime": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", - "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "requires": { - "regenerator-runtime": "^0.13.4" + "@jridgewell/trace-mapping": "0.3.9" } }, "@ethersproject/abi": { @@ -5359,13 +5665,6 @@ "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", "bn.js": "^5.2.1" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } } }, "@ethersproject/bytes": { @@ -5415,9 +5714,9 @@ "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" }, "@ethersproject/networks": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.0.tgz", - "integrity": "sha512-MG6oHSQHd4ebvJrleEQQ4HhVu8Ichr0RDYEfHzsVAVjHNM+w36x9wp9r+hf1JstMXtseXDtkiVoARAG6M959AA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", "requires": { "@ethersproject/logger": "^5.7.0" } @@ -5450,13 +5749,6 @@ "bn.js": "^5.2.1", "elliptic": "6.5.4", "hash.js": "1.1.7" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } } }, "@ethersproject/strings": { @@ -5486,9 +5778,9 @@ } }, "@ethersproject/web": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.0.tgz", - "integrity": "sha512-ApHcbbj+muRASVDSCl/tgxaH2LBkRMEYfLOLVa0COipx0+nlu0QKet7U2lEg0vdkh8XRSLf2nd1f1Uk9SrVSGA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", "requires": { "@ethersproject/base64": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -5497,46 +5789,313 @@ "@ethersproject/strings": "^5.7.0" } }, - "@graphprotocol/graph-cli": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.32.0.tgz", - "integrity": "sha512-40Kii/Ttype5aNCaQn81AP7utyE6JKB5bI9QtYd6WoaS3oACICqdPA89+5UB1s9t6yXiFbWojK3e7JUokPdYfA==", + "@float-capital/float-subgraph-uncrashable": { + "version": "0.0.0-internal-testing.5", + "resolved": "https://registry.npmjs.org/@float-capital/float-subgraph-uncrashable/-/float-subgraph-uncrashable-0.0.0-internal-testing.5.tgz", + "integrity": "sha512-yZ0H5e3EpAYKokX/AbtplzlvSxEJY7ZfpvQyDzyODkks0hakAAlDG6fQu1SlDJMWorY7bbq1j7fCiFeTWci6TA==", "requires": { - "assemblyscript": "0.19.10", + "@rescript/std": "9.0.0", + "graphql": "^16.6.0", + "graphql-import-node": "^0.0.5", + "js-yaml": "^4.1.0" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "graphql": { + "version": "16.8.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.0.tgz", + "integrity": "sha512-0oKGaR+y3qcS5mCu1vb7KG+a89vjn06C7Ihq/dDl3jA+A8B3TKomvi3CiEcVLJQGalbu8F52LxkOym7U5sSfbg==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + } + } + }, + "@graphprotocol/graph-cli": { + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.56.0.tgz", + "integrity": "sha512-bOVtYLDLJpyqjPv9RX8DwRFePOiIlzWZhQGuznb6lY7Uk+uvjc0JSBsgPOAWjwkAI+3U1Ux7GPVwgYSLIOBXoQ==", + "requires": { + "@float-capital/float-subgraph-uncrashable": "^0.0.0-alpha.4", + "@oclif/core": "2.8.6", + "@whatwg-node/fetch": "^0.8.4", + "assemblyscript": "0.19.23", "binary-install-raw": "0.0.13", "chalk": "3.0.0", - "chokidar": "3.5.1", - "debug": "4.3.1", - "docker-compose": "0.23.4", + "chokidar": "3.5.3", + "debug": "4.3.4", + "docker-compose": "0.23.19", "dockerode": "2.5.8", - "fs-extra": "9.0.0", - "glob": "7.1.6", - "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", + "fs-extra": "9.1.0", + "glob": "9.3.5", + "gluegun": "5.1.2", "graphql": "15.5.0", - "immutable": "3.8.2", - "ipfs-http-client": "34.0.0", - "jayson": "3.6.6", - "js-yaml": "3.13.1", - "node-fetch": "2.6.0", - "pkginfo": "0.4.1", + "immutable": "4.2.1", + "ipfs-http-client": "55.0.0", + "jayson": "4.0.0", + "js-yaml": "3.14.1", "prettier": "1.19.1", "request": "2.88.2", - "semver": "7.3.5", + "semver": "7.4.0", "sync-request": "6.1.0", - "tmp-promise": "3.0.2", + "tmp-promise": "3.0.3", "web3-eth-abi": "1.7.0", "which": "2.0.2", - "yaml": "1.9.2" + "yaml": "1.10.2" } }, "@graphprotocol/graph-ts": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz", - "integrity": "sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w==", + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.31.0.tgz", + "integrity": "sha512-xreRVM6ho2BtolyOh2flDkNoGZximybnzUnF53zJVp0+Ed0KnAlO1/KOCUYw06euVI9tk0c9nA2Z/D5SIQV2Rg==", "requires": { "assemblyscript": "0.19.10" + }, + "dependencies": { + "assemblyscript": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", + "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "requires": { + "binaryen": "101.0.0-nightly.20210723", + "long": "^4.0.0" + } + }, + "binaryen": { + "version": "101.0.0-nightly.20210723", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", + "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==" + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + } + } + }, + "@ipld/dag-cbor": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz", + "integrity": "sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==", + "requires": { + "cborg": "^1.6.0", + "multiformats": "^9.5.4" + } + }, + "@ipld/dag-json": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.11.tgz", + "integrity": "sha512-Pea7JXeYHTWXRTIhBqBlhw7G53PJ7yta3G/sizGEZyzdeEwhZRr0od5IQ0r2ZxOt1Do+2czddjeEPp+YTxDwCA==", + "requires": { + "cborg": "^1.5.4", + "multiformats": "^9.5.4" + } + }, + "@ipld/dag-pb": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.18.tgz", + "integrity": "sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg==", + "requires": { + "multiformats": "^9.5.4" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@oclif/core": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.8.6.tgz", + "integrity": "sha512-1QlPaHMhOORySCXkQyzjsIsy2GYTilOw3LkjeHkCgsPJQjAT4IclVytJusWktPbYNys9O+O4V23J44yomQvnBQ==", + "requires": { + "@types/cli-progress": "^3.11.0", + "ansi-escapes": "^4.3.2", + "ansi-styles": "^4.3.0", + "cardinal": "^2.1.1", + "chalk": "^4.1.2", + "clean-stack": "^3.0.1", + "cli-progress": "^3.12.0", + "debug": "^4.3.4", + "ejs": "^3.1.8", + "fs-extra": "^9.1.0", + "get-package-type": "^0.1.0", + "globby": "^11.1.0", + "hyperlinker": "^1.0.0", + "indent-string": "^4.0.0", + "is-wsl": "^2.2.0", + "js-yaml": "^3.14.1", + "natural-orderby": "^2.0.3", + "object-treeify": "^1.1.33", + "password-prompt": "^1.1.2", + "semver": "^7.3.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "supports-color": "^8.1.1", + "supports-hyperlinks": "^2.2.0", + "ts-node": "^10.9.1", + "tslib": "^2.5.0", + "widest-line": "^3.1.0", + "wordwrap": "^1.0.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + } + } + }, + "@peculiar/asn1-schema": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz", + "integrity": "sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA==", + "requires": { + "asn1js": "^3.0.5", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" + } + }, + "@peculiar/json-schema": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz", + "integrity": "sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==", + "requires": { + "tslib": "^2.0.0" + } + }, + "@peculiar/webcrypto": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.3.tgz", + "integrity": "sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==", + "requires": { + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "pvtsutils": "^1.3.2", + "tslib": "^2.5.0", + "webcrypto-core": "^1.7.7" + } + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" } }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "@rescript/std": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rescript/std/-/std-9.0.0.tgz", + "integrity": "sha512-zGzFsgtZ44mgL4Xef2gOy1hrRVdrs9mcxCOOKZrIPsmbZW14yTkaF591GXxpQvjXiHtgZ/iA9qLyWH6oSReIxQ==" + }, "@solarity/graph-lib": { "version": "1.0.0-rc.5", "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", @@ -5552,9 +6111,48 @@ "requires": { "assemblyscript": "0.19.10" } + }, + "assemblyscript": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", + "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "requires": { + "binaryen": "101.0.0-nightly.20210723", + "long": "^4.0.0" + } + }, + "binaryen": { + "version": "101.0.0-nightly.20210723", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", + "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==" + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" } } }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, + "@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + }, "@types/bn.js": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", @@ -5563,6 +6161,14 @@ "@types/node": "*" } }, + "@types/cli-progress": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.0.tgz", + "integrity": "sha512-XhXhBv1R/q2ahF3BM7qT5HLzJNlIL0wbcGyZVjqOTqAybAnsLisd7gy1UCyIqpL+5Iv6XhlSyzjLCnI2sIdbCg==", + "requires": { + "@types/node": "*" + } + }, "@types/concat-stream": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", @@ -5579,16 +6185,6 @@ "@types/node": "*" } }, - "@types/express-serve-static-core": { - "version": "4.17.30", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz", - "integrity": "sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, "@types/form-data": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", @@ -5597,15 +6193,20 @@ "@types/node": "*" } }, - "@types/lodash": { - "version": "4.14.184", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.184.tgz", - "integrity": "sha512-RoZphVtHbxPZizt4IcILciSWiC6dcn+eZ8oX9IWEYfDMcocdd42f7NPI6fQj+6zI8y4E0L7gu2pcZKLGTRaV9Q==" + "@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" + "version": "20.5.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.7.tgz", + "integrity": "sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==" }, "@types/parse-json": { "version": "4.0.0", @@ -5625,11 +6226,6 @@ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, "@types/secp256k1": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", @@ -5646,6 +6242,35 @@ "@types/node": "*" } }, + "@whatwg-node/events": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@whatwg-node/events/-/events-0.0.3.tgz", + "integrity": "sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==" + }, + "@whatwg-node/fetch": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.8.8.tgz", + "integrity": "sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==", + "requires": { + "@peculiar/webcrypto": "^1.4.0", + "@whatwg-node/node-fetch": "^0.3.6", + "busboy": "^1.6.0", + "urlpattern-polyfill": "^8.0.0", + "web-streams-polyfill": "^3.2.1" + } + }, + "@whatwg-node/node-fetch": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.3.6.tgz", + "integrity": "sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==", + "requires": { + "@whatwg-node/events": "^0.0.3", + "busboy": "^1.6.0", + "fast-querystring": "^1.1.1", + "fast-url-parser": "^1.1.3", + "tslib": "^2.3.1" + } + }, "abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -5654,6 +6279,16 @@ "event-target-shim": "^5.0.0" } }, + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -5666,9 +6301,17 @@ } }, "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + } }, "ansi-regex": { "version": "5.0.1", @@ -5683,22 +6326,35 @@ "color-convert": "^2.0.1" } }, + "ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==" + }, + "any-signal": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-2.1.2.tgz", + "integrity": "sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==", + "requires": { + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.3" + } + }, "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "apisauce": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", - "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-2.1.6.tgz", + "integrity": "sha512-MdxR391op/FucS2YQRfB/NMRyCnHEPDd4h17LRIuVYi0BpGmMhpxc0shbOpfs5ahABuBEffNCGal5EcsydbBWg==", "requires": { - "axios": "^0.21.2", - "ramda": "^0.25.0" + "axios": "^0.21.4" } }, "app-module-path": { @@ -5706,6 +6362,11 @@ "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==" }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -5714,16 +6375,16 @@ "sprintf-js": "~1.0.2" } }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, - "asmcrypto.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", - "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" - }, "asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -5732,24 +6393,24 @@ "safer-buffer": "~2.1.0" } }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "asn1js": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", + "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "pvtsutils": "^1.3.2", + "pvutils": "^1.1.3", + "tslib": "^2.4.0" } }, "assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "version": "0.19.23", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", + "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", "requires": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" + "binaryen": "102.0.0-nightly.20211028", + "long": "^5.2.0", + "source-map-support": "^0.5.20" } }, "assert-plus": { @@ -5758,12 +6419,9 @@ "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" }, "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "requires": { - "lodash": "^4.17.14" - } + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, "asynckit": { "version": "0.4.0", @@ -5781,9 +6439,9 @@ "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" }, "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, "axios": { "version": "0.21.4", @@ -5817,20 +6475,8 @@ "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "requires": { "tweetnacl": "^0.14.3" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } } }, - "bignumber.js": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.0.tgz", - "integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==" - }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -5847,44 +6493,17 @@ } }, "binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==" - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", - "requires": { - "safe-buffer": "^5.0.1" - } + "version": "102.0.0-nightly.20211028", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", + "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==" }, "bl": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", - "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "requires": { - "readable-stream": "^3.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" } }, "blakejs": { @@ -5892,44 +6511,25 @@ "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "borc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", - "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", - "requires": { - "bignumber.js": "^9.0.0", - "buffer": "^5.5.0", - "commander": "^2.15.0", - "ieee754": "^1.1.13", - "iso-url": "~0.4.7", - "json-text-sequence": "~0.1.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "blob-to-it": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", + "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", + "requires": { + "browser-readablestream-to-it": "^1.0.3" } }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "braces": { @@ -5945,6 +6545,11 @@ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, + "browser-readablestream-to-it": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", + "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==" + }, "browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", @@ -5977,12 +6582,12 @@ } }, "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "ieee754": "^1.2.1" } }, "buffer-alloc": { @@ -6014,18 +6619,12 @@ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "streamsearch": "^1.1.0" } }, "callsites": { @@ -6033,16 +6632,25 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "requires": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + } }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, + "cborg": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.2.tgz", + "integrity": "sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==" + }, "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -6050,21 +6658,31 @@ "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "requires": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" } }, "chownr": { @@ -6072,29 +6690,6 @@ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, - "cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "requires": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -6104,10 +6699,13 @@ "safe-buffer": "^5.0.1" } }, - "class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" + "clean-stack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", + "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", + "requires": { + "escape-string-regexp": "4.0.0" + } }, "cli-cursor": { "version": "3.1.0", @@ -6117,19 +6715,27 @@ "restore-cursor": "^3.1.0" } }, + "cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "requires": { + "string-width": "^4.2.3" + } + }, "cli-spinners": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", - "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==" + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", + "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==" }, "cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz", + "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", "requires": { "colors": "^1.1.2", "object-assign": "^4.1.0", - "string-width": "^2.1.1" + "string-width": "^4.2.0" } }, "clone": { @@ -6151,9 +6757,9 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" }, "combined-stream": { "version": "1.0.8", @@ -6190,15 +6796,15 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "requires": { "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", + "import-fresh": "^3.2.1", "parse-json": "^5.0.0", "path-type": "^4.0.0", - "yaml": "^1.7.2" + "yaml": "^1.10.0" } }, "create-hash": { @@ -6226,6 +6832,11 @@ "sha.js": "^2.4.8" } }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -6245,22 +6856,17 @@ } }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { "ms": "2.1.2" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - }, "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "requires": { "clone": "^1.0.2" } @@ -6275,20 +6881,36 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, - "delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-over-http-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", + "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", + "requires": { + "debug": "^4.3.1", + "native-fetch": "^3.0.0", + "receptacle": "^1.3.2" + } }, "docker-compose": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", - "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==" + "version": "0.23.19", + "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.19.tgz", + "integrity": "sha512-v5vNLIdUqwj4my80wxFDkNH+4S85zsRuH29SO7dCWVWPCMt/ohZBsGN6g6KXWifT0pzQ7uOxqEKCYCDPJ8Vz4g==", + "requires": { + "yaml": "^1.10.2" + } }, "docker-modem": { "version": "1.0.9", @@ -6342,16 +6964,6 @@ "tar-fs": "~1.16.3" } }, - "drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", - "requires": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - } - }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -6362,9 +6974,20 @@ } }, "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "requires": { + "jake": "^10.8.5" + } + }, + "electron-fetch": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", + "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", + "requires": { + "encoding": "^0.1.13" + } }, "elliptic": { "version": "6.5.4", @@ -6378,6 +7001,26 @@ "inherits": "^2.0.4", "minimalistic-assert": "^1.0.1", "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "requires": { + "iconv-lite": "^0.6.2" } }, "end-of-stream": { @@ -6389,17 +7032,17 @@ } }, "enquirer": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", - "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "requires": { - "ansi-colors": "^3.2.1" + "ansi-colors": "^4.1.1" } }, "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" }, "error-ex": { "version": "1.3.2", @@ -6423,9 +7066,9 @@ } }, "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, "esprima": { "version": "4.0.1", @@ -6460,18 +7103,6 @@ "scrypt-js": "^3.0.0", "secp256k1": "^4.0.1", "setimmediate": "^1.0.5" - }, - "dependencies": { - "secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "requires": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - } } }, "ethereumjs-util": { @@ -6484,13 +7115,6 @@ "create-hash": "^1.1.2", "ethereum-cryptography": "^0.1.3", "rlp": "^2.2.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } } }, "ethjs-unit": { @@ -6524,27 +7148,21 @@ } }, "execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" } }, - "explain-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", - "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" - }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -6560,20 +7178,79 @@ "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==" }, + "fast-decode-uri-component": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", + "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "requires": { + "@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": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + "fast-querystring": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", + "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", + "requires": { + "fast-decode-uri-component": "^1.0.1" + } + }, + "fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "requires": { + "punycode": "^1.3.2" + } + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } }, "fill-range": { "version": "7.0.1", @@ -6583,15 +7260,10 @@ "to-regex-range": "^5.0.1" } }, - "flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" - }, "follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" }, "forever-agent": { "version": "0.6.1", @@ -6614,25 +7286,55 @@ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, "fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "requires": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", - "universalify": "^1.0.0" + "universalify": "^2.0.0" } }, "fs-jetpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", - "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-4.3.1.tgz", + "integrity": "sha512-dbeOK84F6BiQzk2yqqCVwCPWTxAvVGJ3fMQc6E2wuEohS28mR6yHngbrKuVCK1KHRx/ccByDylqu4H5PCP2urQ==", "requires": { "minimatch": "^3.0.2", "rimraf": "^2.6.3" }, "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -6649,6 +7351,16 @@ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "requires": { "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } + } } }, "fs.realpath": { @@ -6657,25 +7369,20 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "optional": true }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "get-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", + "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" }, - "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" }, "get-port": { "version": "3.2.0", @@ -6683,12 +7390,9 @@ "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" }, "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - } + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" }, "getpass": { "version": "0.1.7", @@ -6699,16 +7403,14 @@ } }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", + "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", "requires": { "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" + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" } }, "glob-parent": { @@ -6719,20 +7421,34 @@ "is-glob": "^4.0.1" } }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "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" + } + }, "gluegun": { - "version": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", - "from": "gluegun@git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/gluegun/-/gluegun-5.1.2.tgz", + "integrity": "sha512-Cwx/8S8Z4YQg07a6AFsaGnnnmd8mN17414NcPS3OoDtZRwxgsvwRNJNg69niD6fDa8oNwslCG0xH7rEpRNNE/g==", "requires": { - "apisauce": "^1.0.1", + "apisauce": "^2.1.5", "app-module-path": "^2.2.0", - "cli-table3": "~0.5.0", - "colors": "1.3.3", - "cosmiconfig": "6.0.0", - "cross-spawn": "^7.0.0", - "ejs": "^2.6.1", - "enquirer": "2.3.4", - "execa": "^3.0.0", - "fs-jetpack": "^2.2.2", + "cli-table3": "0.6.0", + "colors": "1.4.0", + "cosmiconfig": "7.0.1", + "cross-spawn": "7.0.3", + "ejs": "3.1.6", + "enquirer": "2.3.6", + "execa": "5.1.1", + "fs-jetpack": "4.3.1", "lodash.camelcase": "^4.3.0", "lodash.kebabcase": "^4.1.1", "lodash.lowercase": "^4.3.0", @@ -6748,24 +7464,55 @@ "lodash.trimstart": "^4.5.1", "lodash.uppercase": "^4.3.0", "lodash.upperfirst": "^4.3.1", - "ora": "^4.0.0", + "ora": "4.0.2", "pluralize": "^8.0.0", - "ramdasauce": "^2.1.0", - "semver": "^7.0.0", - "which": "^2.0.0", - "yargs-parser": "^16.1.0" + "semver": "7.3.5", + "which": "2.0.2", + "yargs-parser": "^21.0.0" + }, + "dependencies": { + "ejs": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", + "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "requires": { + "jake": "^10.6.1" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "graphql": { "version": "15.5.0", "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==" }, + "graphql-import-node": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/graphql-import-node/-/graphql-import-node-0.0.5.tgz", + "integrity": "sha512-OXbou9fqh9/Lm7vwXT0XoRN9J5+WCYKnbiTalgFDvkQERITRmcfncZs6aVABedd5B85yQU5EULS4a5pnbpuI0Q==", + "requires": {} + }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -6780,24 +7527,11 @@ "har-schema": "^2.0.0" } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, "hash-base": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", @@ -6809,14 +7543,19 @@ }, "dependencies": { "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" } } }, @@ -6829,11 +7568,6 @@ "minimalistic-assert": "^1.0.1" } }, - "hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" - }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -6881,19 +7615,37 @@ } }, "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "hyperlinker": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", + "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==" + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + }, "immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==" + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.1.tgz", + "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==" }, "import-fresh": { "version": "3.3.0", @@ -6904,6 +7656,11 @@ "resolve-from": "^4.0.0" } }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -6918,235 +7675,125 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + "interface-datastore": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.1.tgz", + "integrity": "sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg==", + "requires": { + "interface-store": "^2.0.2", + "nanoid": "^3.0.2", + "uint8arrays": "^3.0.0" + } + }, + "interface-store": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", + "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==" }, "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" }, - "ipfs-block": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", - "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", - "requires": { - "cids": "~0.7.0", - "class-is": "^1.1.0" + "ipfs-core-types": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.9.0.tgz", + "integrity": "sha512-VJ8vJSHvI1Zm7/SxsZo03T+zzpsg8pkgiIi5hfwSJlsrJ1E2v68QPlnLshGHUSYw89Oxq0IbETYl2pGTFHTWfg==", + "requires": { + "interface-datastore": "^6.0.2", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.13" + } + }, + "ipfs-core-utils": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.13.0.tgz", + "integrity": "sha512-HP5EafxU4/dLW3U13CFsgqVO5Ika8N4sRSIb/dTg16NjLOozMH31TXV0Grtu2ZWo1T10ahTzMvrfT5f4mhioXw==", + "requires": { + "any-signal": "^2.1.2", + "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.9.0", + "ipfs-unixfs": "^6.0.3", + "ipfs-utils": "^9.0.2", + "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.4.13", + "nanoid": "^3.1.23", + "parse-duration": "^1.0.0", + "timeout-abort-controller": "^2.0.0", + "uint8arrays": "^3.0.0" } }, "ipfs-http-client": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", - "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", + "version": "55.0.0", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-55.0.0.tgz", + "integrity": "sha512-GpvEs7C7WL9M6fN/kZbjeh4Y8YN7rY8b18tVWZnKxRsVwM25cIFrRI8CwNt3Ugin9yShieI3i9sPyzYGMrLNnQ==", "requires": { + "@ipld/dag-cbor": "^7.0.0", + "@ipld/dag-json": "^8.0.1", + "@ipld/dag-pb": "^2.1.3", "abort-controller": "^3.0.0", - "async": "^2.6.1", - "bignumber.js": "^9.0.0", - "bl": "^3.0.0", - "bs58": "^4.0.1", - "buffer": "^5.4.2", - "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^2.0.0", - "explain-error": "^1.0.4", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.1", - "ipfs-utils": "~0.0.3", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.3", - "ipld-raw": "^4.0.0", - "is-ipfs": "~0.6.1", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "iso-stream-http": "~0.1.2", - "iso-url": "~0.4.6", - "iterable-ndjson": "^1.1.0", - "just-kebab-case": "^1.1.0", - "just-map-keys": "^1.1.0", - "kind-of": "^6.0.2", - "ky": "^0.11.2", - "ky-universal": "^0.2.2", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.6", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", - "once": "^1.4.0", - "peer-id": "~0.12.3", - "peer-info": "~0.15.1", - "promise-nodeify": "^3.0.1", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "pull-to-stream": "~0.1.1", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.1.1", - "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.1", - "through2": "^3.0.1" - }, - "dependencies": { - "concat-stream": { - "version": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", - "from": "concat-stream@github:hugomrdias/concat-stream#feat/smaller", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^3.0.2" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "any-signal": "^2.1.2", + "debug": "^4.1.1", + "err-code": "^3.0.1", + "ipfs-core-types": "^0.9.0", + "ipfs-core-utils": "^0.13.0", + "ipfs-utils": "^9.0.2", + "it-first": "^1.0.6", + "it-last": "^1.0.4", + "merge-options": "^3.0.4", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.13", + "native-abort-controller": "^1.0.3", + "parse-duration": "^1.0.0", + "stream-to-it": "^0.2.2", + "uint8arrays": "^3.0.0" + } + }, + "ipfs-unixfs": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz", + "integrity": "sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ==", + "requires": { + "err-code": "^3.0.1", + "protobufjs": "^6.10.2" } }, "ipfs-utils": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", - "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", - "requires": { - "buffer": "^5.2.1", - "is-buffer": "^2.0.3", + "version": "9.0.14", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz", + "integrity": "sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg==", + "requires": { + "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", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "kind-of": "^6.0.2", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "ipld-dag-cbor": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", - "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", - "requires": { - "borc": "^2.1.2", - "buffer": "^5.5.0", - "cids": "~0.8.0", - "is-circular": "^1.0.2", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - } - }, - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - } - } - } - }, - "ipld-dag-pb": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", - "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", - "requires": { - "cids": "~0.7.0", - "class-is": "^1.1.0", - "multicodec": "~0.5.1", - "multihashing-async": "~0.7.0", - "protons": "^1.0.1", - "stable": "~0.1.8" - }, - "dependencies": { - "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" - }, - "multihashing-async": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", - "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", - "requires": { - "blakejs": "^1.1.0", - "buffer": "^5.2.1", - "err-code": "^1.1.2", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js-revisited": "^3.0.0" - } - } - } - }, - "ipld-raw": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", - "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", - "requires": { - "cids": "~0.7.0", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.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" + }, + "dependencies": { + "any-signal": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz", + "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==" } } }, @@ -7163,20 +7810,15 @@ "binary-extensions": "^2.0.0" } }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, - "is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" }, "is-electron": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", - "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", + "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==" }, "is-extglob": { "version": "2.1.1", @@ -7184,9 +7826,9 @@ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-glob": { "version": "4.0.3", @@ -7207,116 +7849,11 @@ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" }, "is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", - "requires": { - "ip-regex": "^2.0.0" - } - }, - "is-ipfs": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", - "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", "requires": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - }, - "dependencies": { - "ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" - }, - "is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "requires": { - "ip-regex": "^4.0.0" - } - }, - "multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "requires": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - } - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } + "ip-regex": "^4.0.0" } }, "is-number": { @@ -7324,15 +7861,10 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, - "is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" - }, - "is-pull-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", - "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" }, "is-stream": { "version": "2.0.1", @@ -7344,6 +7876,14 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -7354,50 +7894,92 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "iso-random-stream": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", - "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", + "iso-url": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", + "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==" + }, + "isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "requires": {} + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "it-all": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", + "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" + }, + "it-first": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", + "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==" + }, + "it-glob": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", + "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", "requires": { - "buffer": "^6.0.3", - "readable-stream": "^3.4.0" + "@types/minimatch": "^3.0.4", + "minimatch": "^3.0.4" }, "dependencies": { - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "brace-expansion": "^1.1.7" } } } }, - "iso-stream-http": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", - "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", + "it-last": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", + "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==" + }, + "it-map": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", + "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==" + }, + "it-peekable": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", + "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==" + }, + "it-to-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", + "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" + "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" }, "dependencies": { "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -7406,38 +7988,59 @@ } } }, - "iso-url": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", - "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==" - }, - "isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "requires": {} - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "iterable-ndjson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", - "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", + "jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", "requires": { - "string_decoder": "^1.2.0" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jayson": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", - "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.0.0.tgz", + "integrity": "sha512-v2RNpDCMu45fnLzSk47vx7I+QUaOsox6f5X0CUlabAFwxoP+8MfAY0NQRFwOEYXIxm8Ih5y6OaEa5KYiQMkyAA==", "requires": { "@types/connect": "^3.4.33", - "@types/express-serve-static-core": "^4.17.9", - "@types/lodash": "^4.14.159", "@types/node": "^12.12.54", "@types/ws": "^7.4.4", "commander": "^2.20.3", @@ -7447,11 +8050,15 @@ "isomorphic-ws": "^4.0.1", "json-stringify-safe": "^5.0.1", "JSONStream": "^1.3.5", - "lodash": "^4.17.20", "uuid": "^8.3.2", "ws": "^7.4.5" }, "dependencies": { + "@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" + }, "JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", @@ -7474,9 +8081,9 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -7507,14 +8114,6 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, - "json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", - "requires": { - "delimit-stream": "0.1.0" - } - }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -7522,13 +8121,6 @@ "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" - }, - "dependencies": { - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } } }, "jsonparse": { @@ -7556,122 +8148,24 @@ "verror": "1.10.0" } }, - "just-kebab-case": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", - "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" - }, - "just-map-keys": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", - "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" - }, - "keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "keypair": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", - "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "ky": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", - "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==" - }, - "ky-universal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", - "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", - "requires": { - "abort-controller": "^3.0.0", - "node-fetch": "^2.3.0" - } - }, - "libp2p-crypto": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", - "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", - "requires": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "^0.10.0", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.10.0" - }, - "dependencies": { - "multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", - "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - } - } - } - }, - "libp2p-crypto-secp256k1": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", - "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", + "keccak": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz", + "integrity": "sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==", "requires": { - "async": "^2.6.2", - "bs58": "^4.0.1", - "multihashing-async": "~0.6.0", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.2" + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" }, "dependencies": { - "multihashing-async": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", - "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } } } @@ -7681,11 +8175,6 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, "lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", @@ -7800,6 +8289,11 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -7816,151 +8310,26 @@ } }, "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" }, - "mafmt": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", - "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", - "requires": { - "multiaddr": "^7.3.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" - }, - "is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "requires": { - "ip-regex": "^4.0.0" - } - }, - "multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "requires": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - } - } + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "matchstick-as": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.0.tgz", - "integrity": "sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.2.tgz", + "integrity": "sha512-fb1OVphDKEvJY06Ue02Eh1CNncuW95vp6b8tNAP7UIqplICSLoU/zgN6U7ge7R0upsoO78C7CRi4EyK/7Jxz7g==", "requires": { - "@graphprotocol/graph-ts": "^0.27.0", - "assemblyscript": "^0.19.20", "wabt": "1.0.24" - }, - "dependencies": { - "assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "requires": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - } - }, - "binaryen": { - "version": "102.0.0-nightly.20211028", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", - "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==" - }, - "long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - } } }, "md5.js": { @@ -7973,11 +8342,33 @@ "safe-buffer": "^5.1.2" } }, + "merge-options": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", + "requires": { + "is-plain-obj": "^2.1.0" + } + }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -8007,32 +8398,22 @@ "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" }, "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", + "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" } }, "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, "minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "requires": { - "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==" }, "minizlib": { "version": "2.1.2", @@ -8043,10 +8424,13 @@ "yallist": "^4.0.0" }, "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } } } }, @@ -8061,119 +8445,52 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "multiaddr": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", - "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", - "requires": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "hi-base32": "~0.5.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - } - }, - "multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", + "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" + "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" } }, - "multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", + "multiaddr-to-uri": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", + "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", "requires": { - "varint": "^5.0.0" + "multiaddr": "^10.0.0" } }, - "multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "requires": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } + "multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" }, - "multihashing-async": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", - "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", - "requires": { - "blakejs": "^1.1.0", - "buffer": "^5.4.3", - "err-code": "^2.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^1.0.1", - "murmurhash3js-revisited": "^3.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - } - } - } + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" }, - "murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==" + "native-abort-controller": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.4.tgz", + "integrity": "sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ==", + "requires": {} }, - "murmurhash3js-revisited": { + "native-fetch": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", - "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" + "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", + "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", + "requires": {} }, - "ndjson": { - "version": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", - "from": "ndjson@github:hugomrdias/ndjson#feat/readable-stream3", - "requires": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^3.1.0", - "through2": "^3.0.0" - } + "natural-orderby": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", + "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==" }, "node-addon-api": { "version": "2.0.2", @@ -8181,29 +8498,18 @@ "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" }, "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" - }, - "node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==" - }, - "nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "requires": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" + "whatwg-url": "^5.0.0" } }, + "node-gyp-build": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", + "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==" + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -8243,10 +8549,10 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + "object-treeify": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", + "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==" }, "once": { "version": "1.4.0", @@ -8264,33 +8570,97 @@ "mimic-fn": "^2.1.0" } }, - "optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", - "requires": { - "wordwrap": "~0.0.2" - } - }, "ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz", + "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==", "requires": { - "chalk": "^3.0.0", + "chalk": "^2.4.2", "cli-cursor": "^3.1.0", "cli-spinners": "^2.2.0", "is-interactive": "^1.0.0", "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", + "strip-ansi": "^5.2.0", "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } } }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" + "p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" + }, + "p-fifo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", + "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", + "requires": { + "fast-fifo": "^1.0.0", + "p-defer": "^3.0.0" + } }, "parent-module": { "version": "1.0.1", @@ -8305,6 +8675,11 @@ "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" }, + "parse-duration": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.1.0.tgz", + "integrity": "sha512-z6t9dvSJYaPoQq7quMzdEagSFtpGu+utzHqqxmpVWNNZRIXnvqyCvn9XsTdh7c/w0Bqmdz3RB3YnRaKtpRtEXQ==" + }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -8316,6 +8691,15 @@ "lines-and-columns": "^1.1.6" } }, + "password-prompt": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz", + "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==", + "requires": { + "ansi-escapes": "^4.3.2", + "cross-spawn": "^7.0.3" + } + }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -8326,6 +8710,22 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, + "path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "requires": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==" + } + } + }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -8343,46 +8743,6 @@ "sha.js": "^2.4.8" } }, - "peer-id": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", - "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", - "requires": { - "async": "^2.6.3", - "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.1", - "multihashes": "~0.4.15" - } - }, - "peer-info": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", - "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", - "requires": { - "mafmt": "^6.0.2", - "multiaddr": "^6.0.3", - "peer-id": "~0.12.2", - "unique-by": "^1.0.0" - }, - "dependencies": { - "mafmt": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", - "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", - "requires": { - "multiaddr": "^6.1.0" - } - } - } - }, - "pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "requires": { - "asn1.js": "^5.0.1" - } - }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -8393,11 +8753,6 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, - "pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==" - }, "pluralize": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", @@ -8414,115 +8769,81 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", - "requires": { - "is-promise": "~1" - } - }, - "promise-nodeify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", - "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==" - }, - "promisify-es6": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", - "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==" - }, - "protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "protons": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", - "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "requires": { - "buffer": "^5.5.0", - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" + "asap": "~2.0.6" } }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "pull-to-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", - "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", - "requires": { - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } + "protobufjs": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", + "requires": { + "@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" + }, + "dependencies": { + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" } } }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "pvtsutils": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz", + "integrity": "sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==", "requires": { - "side-channel": "^1.0.4" + "tslib": "^2.6.1" } }, - "ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" + "pvutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", + "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==" }, - "ramdasauce": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", - "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", - "requires": { - "ramda": "^0.24.1" - }, - "dependencies": { - "ramda": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", - "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" - } - } + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, "randombytes": { "version": "2.1.0", @@ -8532,10 +8853,18 @@ "safe-buffer": "^5.1.0" } }, + "react-native-fetch-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz", + "integrity": "sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==", + "requires": { + "p-defer": "^3.0.0" + } + }, "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8544,35 +8873,31 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "requires": { "picomatch": "^2.2.1" } }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "receptacle": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", + "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", + "requires": { + "ms": "^2.1.1" + } + }, + "redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", + "requires": { + "esprima": "~4.0.0" + } }, "request": { "version": "2.88.2", @@ -8601,11 +8926,6 @@ "uuid": "^3.3.2" }, "dependencies": { - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" - }, "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", @@ -8627,12 +8947,54 @@ "signal-exit": "^3.0.2" } }, + "retimer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", + "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "requires": { "glob": "^7.1.3" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "ripemd160": { @@ -8650,43 +9012,20 @@ "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", "requires": { "bn.js": "^5.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", - "requires": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" - }, - "dependencies": { - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==" - } } }, - "rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "requires": { - "optimist": "~0.3.5" + "queue-microtask": "^1.2.2" } }, "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safer-buffer": { "version": "2.1.2", @@ -8699,24 +9038,19 @@ "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" }, "secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", "requires": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" } }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", "requires": { "lru-cache": "^6.0.0" }, @@ -8728,11 +9062,6 @@ "requires": { "yallist": "^4.0.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, @@ -8763,28 +9092,15 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", - "requires": { - "varint": "~5.0.0" - } + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, "source-map": { "version": "0.6.1", @@ -8805,26 +9121,6 @@ "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "requires": { - "readable-stream": "^3.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -8844,59 +9140,37 @@ "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } } }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", + "stream-to-it": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", + "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", "requires": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" + "get-iterator": "^1.0.2" } }, + "streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" + }, "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "~5.2.0" + "safe-buffer": "~5.1.0" } }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "requires": { - "ansi-regex": "^3.0.0" - } - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, "strip-ansi": { @@ -8921,13 +9195,32 @@ } }, "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "requires": { "has-flag": "^4.0.0" } }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "sync-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", @@ -8947,22 +9240,22 @@ } }, "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "version": "6.1.15", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", + "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==" } } }, @@ -8977,15 +9270,6 @@ "tar-stream": "^1.1.2" }, "dependencies": { - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", @@ -8998,64 +9282,21 @@ "requires": { "minimist": "^1.2.6" } - }, - "pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } } } }, "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" } }, "then-request": { @@ -9080,14 +9321,6 @@ "version": "8.10.66", "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - }, - "promise": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", - "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", - "requires": { - "asap": "~2.0.6" - } } } }, @@ -9096,13 +9329,14 @@ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, - "through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "timeout-abort-controller": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-2.0.0.tgz", + "integrity": "sha512-2FAPXfzTPYEgw27bQGTHc0SzrbmnU2eso4qo172zMLZzaGqeu09PFa5B2FCUHM1tflgRqPgn5KQgp6+Vex4uNA==", "requires": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.4", + "retimer": "^3.0.0" } }, "tmp": { @@ -9114,9 +9348,9 @@ } }, "tmp-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", "requires": { "tmp": "^0.2.0" } @@ -9141,8 +9375,45 @@ "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + } } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "requires": { + "@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" + } + }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -9152,24 +9423,38 @@ } }, "tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, - "unique-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", - "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==" + "typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "peer": true + }, + "uint8arrays": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", + "requires": { + "multiformats": "^9.4.2" + } }, "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" }, "uri-js": { "version": "4.4.1", @@ -9177,16 +9462,19 @@ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + } } }, - "ursa-optional": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", - "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", - "requires": { - "bindings": "^1.5.0", - "nan": "^2.14.2" - } + "urlpattern-polyfill": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", + "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==" }, "utf8": { "version": "3.0.0", @@ -9203,10 +9491,15 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + }, "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" }, "verror": { "version": "1.10.0", @@ -9238,6 +9531,11 @@ "defaults": "^1.0.3" } }, + "web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" + }, "web3-eth-abi": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", @@ -9259,6 +9557,39 @@ "number-to-bn": "1.7.0", "randombytes": "^2.1.0", "utf8": "3.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "webcrypto-core": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.7.tgz", + "integrity": "sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g==", + "requires": { + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "asn1js": "^3.0.1", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, "which": { @@ -9269,10 +9600,28 @@ "isexe": "^2.0.0" } }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "requires": { + "string-width": "^4.0.0" + } + }, "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } }, "wrappy": { "version": "1.0.2", @@ -9291,26 +9640,24 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "requires": { - "@babel/runtime": "^7.9.2" - } + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" }, "yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" } } } diff --git a/DaoPools/package.json b/DaoPools/package.json index 30114e73..4c867914 100644 --- a/DaoPools/package.json +++ b/DaoPools/package.json @@ -14,8 +14,8 @@ }, "dependencies": { "@solarity/graph-lib": "^1.0.0-rc.5", - "@graphprotocol/graph-cli": "0.32.0", - "@graphprotocol/graph-ts": "0.27.0", - "matchstick-as": "0.5.0" + "@graphprotocol/graph-cli": "0.56.0", + "@graphprotocol/graph-ts": "0.31.0", + "matchstick-as": "0.5.2" } } diff --git a/DaoValidators/package-lock.json b/DaoValidators/package-lock.json index 80c59e98..8ff63ca8 100644 --- a/DaoValidators/package-lock.json +++ b/DaoValidators/package-lock.json @@ -7,37 +7,102 @@ "name": "dexe", "license": "UNLICENSED", "dependencies": { - "@graphprotocol/graph-cli": "0.32.0", - "@graphprotocol/graph-ts": "0.27.0", - "matchstick-as": "0.5.0" + "@graphprotocol/graph-cli": "0.56.0", + "@graphprotocol/graph-ts": "0.31.0", + "matchstick-as": "0.5.2" } }, "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", + "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -81,6 +146,14 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -100,15 +173,15 @@ "node": ">=4" } }, - "node_modules/@babel/runtime": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", - "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dependencies": { - "regenerator-runtime": "^0.13.4" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, "node_modules/@ethersproject/abi": { @@ -233,11 +306,6 @@ "bn.js": "^5.2.1" } }, - "node_modules/@ethersproject/bignumber/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, "node_modules/@ethersproject/bytes": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", @@ -335,9 +403,9 @@ ] }, "node_modules/@ethersproject/networks": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.0.tgz", - "integrity": "sha512-MG6oHSQHd4ebvJrleEQQ4HhVu8Ichr0RDYEfHzsVAVjHNM+w36x9wp9r+hf1JstMXtseXDtkiVoARAG6M959AA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", "funding": [ { "type": "individual", @@ -412,11 +480,6 @@ "hash.js": "1.1.7" } }, - "node_modules/@ethersproject/signing-key/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, "node_modules/@ethersproject/strings": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", @@ -464,9 +527,9 @@ } }, "node_modules/@ethersproject/web": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.0.tgz", - "integrity": "sha512-ApHcbbj+muRASVDSCl/tgxaH2LBkRMEYfLOLVa0COipx0+nlu0QKet7U2lEg0vdkh8XRSLf2nd1f1Uk9SrVSGA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", "funding": [ { "type": "individual", @@ -485,49 +548,381 @@ "@ethersproject/strings": "^5.7.0" } }, - "node_modules/@graphprotocol/graph-cli": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.32.0.tgz", - "integrity": "sha512-40Kii/Ttype5aNCaQn81AP7utyE6JKB5bI9QtYd6WoaS3oACICqdPA89+5UB1s9t6yXiFbWojK3e7JUokPdYfA==", + "node_modules/@float-capital/float-subgraph-uncrashable": { + "version": "0.0.0-internal-testing.5", + "resolved": "https://registry.npmjs.org/@float-capital/float-subgraph-uncrashable/-/float-subgraph-uncrashable-0.0.0-internal-testing.5.tgz", + "integrity": "sha512-yZ0H5e3EpAYKokX/AbtplzlvSxEJY7ZfpvQyDzyODkks0hakAAlDG6fQu1SlDJMWorY7bbq1j7fCiFeTWci6TA==", "dependencies": { - "assemblyscript": "0.19.10", + "@rescript/std": "9.0.0", + "graphql": "^16.6.0", + "graphql-import-node": "^0.0.5", + "js-yaml": "^4.1.0" + }, + "bin": { + "uncrashable": "bin/uncrashable" + } + }, + "node_modules/@float-capital/float-subgraph-uncrashable/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/@float-capital/float-subgraph-uncrashable/node_modules/graphql": { + "version": "16.8.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.0.tgz", + "integrity": "sha512-0oKGaR+y3qcS5mCu1vb7KG+a89vjn06C7Ihq/dDl3jA+A8B3TKomvi3CiEcVLJQGalbu8F52LxkOym7U5sSfbg==", + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/@float-capital/float-subgraph-uncrashable/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@graphprotocol/graph-cli": { + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.56.0.tgz", + "integrity": "sha512-bOVtYLDLJpyqjPv9RX8DwRFePOiIlzWZhQGuznb6lY7Uk+uvjc0JSBsgPOAWjwkAI+3U1Ux7GPVwgYSLIOBXoQ==", + "dependencies": { + "@float-capital/float-subgraph-uncrashable": "^0.0.0-alpha.4", + "@oclif/core": "2.8.6", + "@whatwg-node/fetch": "^0.8.4", + "assemblyscript": "0.19.23", "binary-install-raw": "0.0.13", "chalk": "3.0.0", - "chokidar": "3.5.1", - "debug": "4.3.1", - "docker-compose": "0.23.4", + "chokidar": "3.5.3", + "debug": "4.3.4", + "docker-compose": "0.23.19", "dockerode": "2.5.8", - "fs-extra": "9.0.0", - "glob": "7.1.6", - "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", + "fs-extra": "9.1.0", + "glob": "9.3.5", + "gluegun": "5.1.2", "graphql": "15.5.0", - "immutable": "3.8.2", - "ipfs-http-client": "34.0.0", - "jayson": "3.6.6", - "js-yaml": "3.13.1", - "node-fetch": "2.6.0", - "pkginfo": "0.4.1", + "immutable": "4.2.1", + "ipfs-http-client": "55.0.0", + "jayson": "4.0.0", + "js-yaml": "3.14.1", "prettier": "1.19.1", "request": "2.88.2", - "semver": "7.3.5", + "semver": "7.4.0", "sync-request": "6.1.0", - "tmp-promise": "3.0.2", + "tmp-promise": "3.0.3", "web3-eth-abi": "1.7.0", "which": "2.0.2", - "yaml": "1.9.2" + "yaml": "1.10.2" }, "bin": { - "graph": "bin/graph" + "graph": "bin/run" + }, + "engines": { + "node": ">=14" } }, "node_modules/@graphprotocol/graph-ts": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz", - "integrity": "sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w==", + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.31.0.tgz", + "integrity": "sha512-xreRVM6ho2BtolyOh2flDkNoGZximybnzUnF53zJVp0+Ed0KnAlO1/KOCUYw06euVI9tk0c9nA2Z/D5SIQV2Rg==", "dependencies": { "assemblyscript": "0.19.10" } }, + "node_modules/@graphprotocol/graph-ts/node_modules/assemblyscript": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", + "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "dependencies": { + "binaryen": "101.0.0-nightly.20210723", + "long": "^4.0.0" + }, + "bin": { + "asc": "bin/asc", + "asinit": "bin/asinit" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/assemblyscript" + } + }, + "node_modules/@graphprotocol/graph-ts/node_modules/binaryen": { + "version": "101.0.0-nightly.20210723", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", + "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==", + "bin": { + "wasm-opt": "bin/wasm-opt" + } + }, + "node_modules/@graphprotocol/graph-ts/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/@ipld/dag-cbor": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz", + "integrity": "sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==", + "dependencies": { + "cborg": "^1.6.0", + "multiformats": "^9.5.4" + } + }, + "node_modules/@ipld/dag-json": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.11.tgz", + "integrity": "sha512-Pea7JXeYHTWXRTIhBqBlhw7G53PJ7yta3G/sizGEZyzdeEwhZRr0od5IQ0r2ZxOt1Do+2czddjeEPp+YTxDwCA==", + "dependencies": { + "cborg": "^1.5.4", + "multiformats": "^9.5.4" + } + }, + "node_modules/@ipld/dag-pb": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.18.tgz", + "integrity": "sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg==", + "dependencies": { + "multiformats": "^9.5.4" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@oclif/core": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.8.6.tgz", + "integrity": "sha512-1QlPaHMhOORySCXkQyzjsIsy2GYTilOw3LkjeHkCgsPJQjAT4IclVytJusWktPbYNys9O+O4V23J44yomQvnBQ==", + "dependencies": { + "@types/cli-progress": "^3.11.0", + "ansi-escapes": "^4.3.2", + "ansi-styles": "^4.3.0", + "cardinal": "^2.1.1", + "chalk": "^4.1.2", + "clean-stack": "^3.0.1", + "cli-progress": "^3.12.0", + "debug": "^4.3.4", + "ejs": "^3.1.8", + "fs-extra": "^9.1.0", + "get-package-type": "^0.1.0", + "globby": "^11.1.0", + "hyperlinker": "^1.0.0", + "indent-string": "^4.0.0", + "is-wsl": "^2.2.0", + "js-yaml": "^3.14.1", + "natural-orderby": "^2.0.3", + "object-treeify": "^1.1.33", + "password-prompt": "^1.1.2", + "semver": "^7.3.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "supports-color": "^8.1.1", + "supports-hyperlinks": "^2.2.0", + "ts-node": "^10.9.1", + "tslib": "^2.5.0", + "widest-line": "^3.1.0", + "wordwrap": "^1.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@oclif/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@oclif/core/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@peculiar/asn1-schema": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz", + "integrity": "sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA==", + "dependencies": { + "asn1js": "^3.0.5", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@peculiar/json-schema": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz", + "integrity": "sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@peculiar/webcrypto": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.3.tgz", + "integrity": "sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==", + "dependencies": { + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "pvtsutils": "^1.3.2", + "tslib": "^2.5.0", + "webcrypto-core": "^1.7.7" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@rescript/std": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rescript/std/-/std-9.0.0.tgz", + "integrity": "sha512-zGzFsgtZ44mgL4Xef2gOy1hrRVdrs9mcxCOOKZrIPsmbZW14yTkaF591GXxpQvjXiHtgZ/iA9qLyWH6oSReIxQ==" + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + }, "node_modules/@types/bn.js": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", @@ -536,6 +931,14 @@ "@types/node": "*" } }, + "node_modules/@types/cli-progress": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.0.tgz", + "integrity": "sha512-XhXhBv1R/q2ahF3BM7qT5HLzJNlIL0wbcGyZVjqOTqAybAnsLisd7gy1UCyIqpL+5Iv6XhlSyzjLCnI2sIdbCg==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/concat-stream": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", @@ -552,16 +955,6 @@ "@types/node": "*" } }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.30", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz", - "integrity": "sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, "node_modules/@types/form-data": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", @@ -570,15 +963,20 @@ "@types/node": "*" } }, - "node_modules/@types/lodash": { - "version": "4.14.184", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.184.tgz", - "integrity": "sha512-RoZphVtHbxPZizt4IcILciSWiC6dcn+eZ8oX9IWEYfDMcocdd42f7NPI6fQj+6zI8y4E0L7gu2pcZKLGTRaV9Q==" + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" + "version": "20.5.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.7.tgz", + "integrity": "sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==" }, "node_modules/@types/parse-json": { "version": "4.0.0", @@ -598,11 +996,6 @@ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, "node_modules/@types/secp256k1": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", @@ -619,6 +1012,35 @@ "@types/node": "*" } }, + "node_modules/@whatwg-node/events": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@whatwg-node/events/-/events-0.0.3.tgz", + "integrity": "sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==" + }, + "node_modules/@whatwg-node/fetch": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.8.8.tgz", + "integrity": "sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==", + "dependencies": { + "@peculiar/webcrypto": "^1.4.0", + "@whatwg-node/node-fetch": "^0.3.6", + "busboy": "^1.6.0", + "urlpattern-polyfill": "^8.0.0", + "web-streams-polyfill": "^3.2.1" + } + }, + "node_modules/@whatwg-node/node-fetch": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.3.6.tgz", + "integrity": "sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==", + "dependencies": { + "@whatwg-node/events": "^0.0.3", + "busboy": "^1.6.0", + "fast-querystring": "^1.1.1", + "fast-url-parser": "^1.1.3", + "tslib": "^2.3.1" + } + }, "node_modules/abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -630,11 +1052,30 @@ "node": ">=6.5" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "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", @@ -646,13 +1087,27 @@ } }, "node_modules/ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "engines": { "node": ">=6" } }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -675,10 +1130,24 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==" + }, + "node_modules/any-signal": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-2.1.2.tgz", + "integrity": "sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==", + "dependencies": { + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.3" + } + }, "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -688,12 +1157,11 @@ } }, "node_modules/apisauce": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", - "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-2.1.6.tgz", + "integrity": "sha512-MdxR391op/FucS2YQRfB/NMRyCnHEPDd4h17LRIuVYi0BpGmMhpxc0shbOpfs5ahABuBEffNCGal5EcsydbBWg==", "dependencies": { - "axios": "^0.21.2", - "ramda": "^0.25.0" + "axios": "^0.21.4" } }, "node_modules/app-module-path": { @@ -701,6 +1169,11 @@ "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==" }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -709,16 +1182,19 @@ "sprintf-js": "~1.0.2" } }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, - "node_modules/asmcrypto.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", - "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" - }, "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -727,24 +1203,27 @@ "safer-buffer": "~2.1.0" } }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "node_modules/asn1js": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", + "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "pvtsutils": "^1.3.2", + "pvutils": "^1.1.3", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=12.0.0" } }, "node_modules/assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "version": "0.19.23", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", + "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", "dependencies": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" + "binaryen": "102.0.0-nightly.20211028", + "long": "^5.2.0", + "source-map-support": "^0.5.20" }, "bin": { "asc": "bin/asc", @@ -764,12 +1243,9 @@ } }, "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dependencies": { - "lodash": "^4.17.14" - } + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, "node_modules/asynckit": { "version": "0.4.0", @@ -793,9 +1269,9 @@ } }, "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, "node_modules/axios": { "version": "0.21.4", @@ -845,19 +1321,6 @@ "tweetnacl": "^0.14.3" } }, - "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/bignumber.js": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.0.tgz", - "integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==", - "engines": { - "node": "*" - } - }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -880,48 +1343,20 @@ } }, "node_modules/binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==", + "version": "102.0.0-nightly.20211028", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", + "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==", "bin": { "wasm-opt": "bin/wasm-opt" } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, "node_modules/bl": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", - "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", - "dependencies": { - "readable-stream": "^3.0.1" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" } }, "node_modules/blakejs": { @@ -929,48 +1364,25 @@ "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" }, - "node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/borc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", - "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", - "dependencies": { - "bignumber.js": "^9.0.0", - "buffer": "^5.5.0", - "commander": "^2.15.0", - "ieee754": "^1.1.13", - "iso-url": "~0.4.7", - "json-text-sequence": "~0.1.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/borc/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/blob-to-it": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", + "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "browser-readablestream-to-it": "^1.0.3" } }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { @@ -989,6 +1401,11 @@ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, + "node_modules/browser-readablestream-to-it": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", + "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==" + }, "node_modules/browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", @@ -1021,9 +1438,9 @@ } }, "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "funding": [ { "type": "github", @@ -1040,7 +1457,7 @@ ], "dependencies": { "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "ieee754": "^1.2.1" } }, "node_modules/buffer-alloc": { @@ -1072,21 +1489,15 @@ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "streamsearch": "^1.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10.16.0" } }, "node_modules/callsites": { @@ -1097,12 +1508,16 @@ "node": ">=6" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" + "node_modules/cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "dependencies": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + }, + "bin": { + "cdl": "bin/cdl.js" } }, "node_modules/caseless": { @@ -1110,6 +1525,14 @@ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, + "node_modules/cborg": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.2.tgz", + "integrity": "sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==", + "bin": { + "cborg": "cli.js" + } + }, "node_modules/chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -1122,24 +1545,41 @@ "node": ">=8" } }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "dependencies": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "glob-parent": "~5.1.0", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" }, "engines": { "node": ">= 8.10.0" }, "optionalDependencies": { - "fsevents": "~2.3.1" + "fsevents": "~2.3.2" } }, "node_modules/chownr": { @@ -1150,33 +1590,6 @@ "node": ">=10" } }, - "node_modules/cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/cids/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, "node_modules/cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -1186,10 +1599,19 @@ "safe-buffer": "^5.0.1" } }, - "node_modules/class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" + "node_modules/clean-stack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", + "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", + "dependencies": { + "escape-string-regexp": "4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/cli-cursor": { "version": "3.1.0", @@ -1202,10 +1624,21 @@ "node": ">=8" } }, + "node_modules/cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "dependencies": { + "string-width": "^4.2.3" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/cli-spinners": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", - "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", + "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", "engines": { "node": ">=6" }, @@ -1214,15 +1647,15 @@ } }, "node_modules/cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz", + "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", "dependencies": { "object-assign": "^4.1.0", - "string-width": "^2.1.1" + "string-width": "^4.2.0" }, "engines": { - "node": ">=6" + "node": "10.* || >= 12.*" }, "optionalDependencies": { "colors": "^1.1.2" @@ -1253,9 +1686,9 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "engines": { "node": ">=0.1.90" } @@ -1301,18 +1734,18 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "dependencies": { "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", + "import-fresh": "^3.2.1", "parse-json": "^5.0.0", "path-type": "^4.0.0", - "yaml": "^1.7.2" + "yaml": "^1.10.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/create-hash": { @@ -1340,6 +1773,11 @@ "sha.js": "^2.4.8" } }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -1365,9 +1803,9 @@ } }, "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { "ms": "2.1.2" }, @@ -1380,20 +1818,15 @@ } } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "dependencies": { "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/delay": { @@ -1415,20 +1848,42 @@ "node": ">=0.4.0" } }, - "node_modules/delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "engines": { + "node": ">=0.3.1" + } }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-over-http-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", + "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", + "dependencies": { + "debug": "^4.3.1", + "native-fetch": "^3.0.0", + "receptacle": "^1.3.2" + } }, "node_modules/docker-compose": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", - "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==", + "version": "0.23.19", + "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.19.tgz", + "integrity": "sha512-v5vNLIdUqwj4my80wxFDkNH+4S85zsRuH29SO7dCWVWPCMt/ohZBsGN6g6KXWifT0pzQ7uOxqEKCYCDPJ8Vz4g==", + "dependencies": { + "yaml": "^1.10.2" + }, "engines": { "node": ">= 6.0.0" } @@ -1489,19 +1944,6 @@ "node": ">= 0.8" } }, - "node_modules/drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", - "dependencies": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -1512,14 +1954,30 @@ } }, "node_modules/ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "hasInstallScript": true, + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, "engines": { "node": ">=0.10.0" } }, + "node_modules/electron-fetch": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", + "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", + "dependencies": { + "encoding": "^0.1.13" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/elliptic": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", @@ -1534,29 +1992,47 @@ "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } }, "node_modules/enquirer": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", - "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dependencies": { - "ansi-colors": "^3.2.1" + "ansi-colors": "^4.1.1" }, "engines": { "node": ">=8.6" } }, "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" }, "node_modules/error-ex": { "version": "1.3.2", @@ -1580,11 +2056,14 @@ } }, "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/esprima": { @@ -1629,20 +2108,6 @@ "setimmediate": "^1.0.5" } }, - "node_modules/ethereum-cryptography/node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "hasInstallScript": true, - "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -1658,11 +2123,6 @@ "node": ">=10.0.0" } }, - "node_modules/ethereumjs-util/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, "node_modules/ethjs-unit": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", @@ -1699,30 +2159,27 @@ } }, "node_modules/execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" }, "engines": { - "node": "^8.12.0 || >=9.7.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/explain-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", - "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" - }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -1744,20 +2201,83 @@ "node": "> 0.1.90" } }, + "node_modules/fast-decode-uri-component": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", + "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "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" + }, + "engines": { + "node": ">=8.6.0" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + "node_modules/fast-querystring": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", + "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", + "dependencies": { + "fast-decode-uri-component": "^1.0.1" + } + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } }, "node_modules/fill-range": { "version": "7.0.1", @@ -1770,15 +2290,10 @@ "node": ">=8" } }, - "node_modules/flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" - }, "node_modules/follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "funding": [ { "type": "individual", @@ -1821,29 +2336,65 @@ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, "node_modules/fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", - "universalify": "^1.0.0" + "universalify": "^2.0.0" }, "engines": { "node": ">=10" } }, "node_modules/fs-jetpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", - "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-4.3.1.tgz", + "integrity": "sha512-dbeOK84F6BiQzk2yqqCVwCPWTxAvVGJ3fMQc6E2wuEohS28mR6yHngbrKuVCK1KHRx/ccByDylqu4H5PCP2urQ==", "dependencies": { "minimatch": "^3.0.2", "rimraf": "^2.6.3" + } + }, + "node_modules/fs-jetpack/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/fs-jetpack/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "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" }, "engines": { - "node": ">=4" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fs-jetpack/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, "node_modules/fs-jetpack/node_modules/rimraf": { @@ -1868,15 +2419,26 @@ "node": ">= 8" } }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, "optional": true, "os": [ @@ -1886,22 +2448,17 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "node_modules/get-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", + "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" }, - "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "engines": { + "node": ">=8.0.0" } }, "node_modules/get-port": { @@ -1913,14 +2470,11 @@ } }, "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -1935,19 +2489,17 @@ } }, "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", + "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", "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" + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -1964,21 +2516,40 @@ "node": ">= 6" } }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/gluegun": { - "version": "4.3.1", - "resolved": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", - "license": "MIT", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/gluegun/-/gluegun-5.1.2.tgz", + "integrity": "sha512-Cwx/8S8Z4YQg07a6AFsaGnnnmd8mN17414NcPS3OoDtZRwxgsvwRNJNg69niD6fDa8oNwslCG0xH7rEpRNNE/g==", "dependencies": { - "apisauce": "^1.0.1", + "apisauce": "^2.1.5", "app-module-path": "^2.2.0", - "cli-table3": "~0.5.0", - "colors": "1.3.3", - "cosmiconfig": "6.0.0", - "cross-spawn": "^7.0.0", - "ejs": "^2.6.1", - "enquirer": "2.3.4", - "execa": "^3.0.0", - "fs-jetpack": "^2.2.2", + "cli-table3": "0.6.0", + "colors": "1.4.0", + "cosmiconfig": "7.0.1", + "cross-spawn": "7.0.3", + "ejs": "3.1.6", + "enquirer": "2.3.6", + "execa": "5.1.1", + "fs-jetpack": "4.3.1", "lodash.camelcase": "^4.3.0", "lodash.kebabcase": "^4.1.1", "lodash.lowercase": "^4.3.0", @@ -1994,21 +2565,59 @@ "lodash.trimstart": "^4.5.1", "lodash.uppercase": "^4.3.0", "lodash.upperfirst": "^4.3.1", - "ora": "^4.0.0", + "ora": "4.0.2", "pluralize": "^8.0.0", - "ramdasauce": "^2.1.0", - "semver": "^7.0.0", - "which": "^2.0.0", - "yargs-parser": "^16.1.0" + "semver": "7.3.5", + "which": "2.0.2", + "yargs-parser": "^21.0.0" }, "bin": { "gluegun": "bin/gluegun" } }, + "node_modules/gluegun/node_modules/ejs": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", + "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "dependencies": { + "jake": "^10.6.1" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gluegun/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gluegun/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/graphql": { "version": "15.5.0", @@ -2018,6 +2627,14 @@ "node": ">= 10.x" } }, + "node_modules/graphql-import-node": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/graphql-import-node/-/graphql-import-node-0.0.5.tgz", + "integrity": "sha512-OXbou9fqh9/Lm7vwXT0XoRN9J5+WCYKnbiTalgFDvkQERITRmcfncZs6aVABedd5B85yQU5EULS4a5pnbpuI0Q==", + "peerDependencies": { + "graphql": "*" + } + }, "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -2039,17 +2656,6 @@ "node": ">=6" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -2058,17 +2664,6 @@ "node": ">=8" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/hash-base": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", @@ -2083,9 +2678,9 @@ } }, "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -2095,6 +2690,25 @@ "node": ">= 6" } }, + "node_modules/hash-base/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/hash.js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", @@ -2104,11 +2718,6 @@ "minimalistic-assert": "^1.0.1" } }, - "node_modules/hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" - }, "node_modules/hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -2161,11 +2770,30 @@ } }, "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/hyperlinker": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", + "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, "engines": { - "node": ">=8.12.0" + "node": ">=0.10.0" } }, "node_modules/ieee754": { @@ -2187,14 +2815,19 @@ } ] }, - "node_modules/immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "engines": { - "node": ">=0.10.0" + "node": ">= 4" } }, + "node_modules/immutable": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.1.tgz", + "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==" + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -2210,6 +2843,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -2224,280 +2865,143 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + "node_modules/interface-datastore": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.1.tgz", + "integrity": "sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg==", + "dependencies": { + "interface-store": "^2.0.2", + "nanoid": "^3.0.2", + "uint8arrays": "^3.0.0" + } + }, + "node_modules/interface-store": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", + "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==" }, "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/ipfs-block": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", - "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", - "dependencies": { - "cids": "~0.7.0", - "class-is": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" + "node_modules/ipfs-core-types": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.9.0.tgz", + "integrity": "sha512-VJ8vJSHvI1Zm7/SxsZo03T+zzpsg8pkgiIi5hfwSJlsrJ1E2v68QPlnLshGHUSYw89Oxq0IbETYl2pGTFHTWfg==", + "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", + "dependencies": { + "interface-datastore": "^6.0.2", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.13" + } + }, + "node_modules/ipfs-core-utils": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.13.0.tgz", + "integrity": "sha512-HP5EafxU4/dLW3U13CFsgqVO5Ika8N4sRSIb/dTg16NjLOozMH31TXV0Grtu2ZWo1T10ahTzMvrfT5f4mhioXw==", + "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", + "dependencies": { + "any-signal": "^2.1.2", + "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.9.0", + "ipfs-unixfs": "^6.0.3", + "ipfs-utils": "^9.0.2", + "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.4.13", + "nanoid": "^3.1.23", + "parse-duration": "^1.0.0", + "timeout-abort-controller": "^2.0.0", + "uint8arrays": "^3.0.0" } }, "node_modules/ipfs-http-client": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", - "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", - "dependencies": { + "version": "55.0.0", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-55.0.0.tgz", + "integrity": "sha512-GpvEs7C7WL9M6fN/kZbjeh4Y8YN7rY8b18tVWZnKxRsVwM25cIFrRI8CwNt3Ugin9yShieI3i9sPyzYGMrLNnQ==", + "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", + "dependencies": { + "@ipld/dag-cbor": "^7.0.0", + "@ipld/dag-json": "^8.0.1", + "@ipld/dag-pb": "^2.1.3", "abort-controller": "^3.0.0", - "async": "^2.6.1", - "bignumber.js": "^9.0.0", - "bl": "^3.0.0", - "bs58": "^4.0.1", - "buffer": "^5.4.2", - "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^2.0.0", - "explain-error": "^1.0.4", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.1", - "ipfs-utils": "~0.0.3", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.3", - "ipld-raw": "^4.0.0", - "is-ipfs": "~0.6.1", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "iso-stream-http": "~0.1.2", - "iso-url": "~0.4.6", - "iterable-ndjson": "^1.1.0", - "just-kebab-case": "^1.1.0", - "just-map-keys": "^1.1.0", - "kind-of": "^6.0.2", - "ky": "^0.11.2", - "ky-universal": "^0.2.2", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.6", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", - "once": "^1.4.0", - "peer-id": "~0.12.3", - "peer-info": "~0.15.1", - "promise-nodeify": "^3.0.1", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "pull-to-stream": "~0.1.1", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.1.1", - "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.1", - "through2": "^3.0.1" - }, - "engines": { - "node": ">=8.3.0", + "any-signal": "^2.1.2", + "debug": "^4.1.1", + "err-code": "^3.0.1", + "ipfs-core-types": "^0.9.0", + "ipfs-core-utils": "^0.13.0", + "ipfs-utils": "^9.0.2", + "it-first": "^1.0.6", + "it-last": "^1.0.4", + "merge-options": "^3.0.4", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.13", + "native-abort-controller": "^1.0.3", + "parse-duration": "^1.0.0", + "stream-to-it": "^0.2.2", + "uint8arrays": "^3.0.0" + }, + "engines": { + "node": ">=14.0.0", "npm": ">=3.0.0" } }, - "node_modules/ipfs-http-client/node_modules/concat-stream": { - "version": "2.0.0", - "resolved": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^3.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/ipfs-http-client/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/ipfs-unixfs": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz", + "integrity": "sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "err-code": "^3.0.1", + "protobufjs": "^6.10.2" }, "engines": { - "node": ">= 6" + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, "node_modules/ipfs-utils": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", - "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", - "dependencies": { - "buffer": "^5.2.1", - "is-buffer": "^2.0.3", + "version": "9.0.14", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz", + "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", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "kind-of": "^6.0.2", - "readable-stream": "^3.4.0" - } - }, - "node_modules/ipfs-utils/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ipld-dag-cbor": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", - "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", - "deprecated": "This module has been superseded by @ipld/dag-cbor and multiformats", - "dependencies": { - "borc": "^2.1.2", - "buffer": "^5.5.0", - "cids": "~0.8.0", - "is-circular": "^1.0.2", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-pb": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", - "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", - "deprecated": "This module has been superseded by @ipld/dag-pb and multiformats", - "dependencies": { - "cids": "~0.7.0", - "class-is": "^1.1.0", - "multicodec": "~0.5.1", - "multihashing-async": "~0.7.0", - "protons": "^1.0.1", - "stable": "~0.1.8" + "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" }, "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, - "node_modules/ipld-dag-pb/node_modules/err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" - }, - "node_modules/ipld-dag-pb/node_modules/multihashing-async": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", - "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "buffer": "^5.2.1", - "err-code": "^1.1.2", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js-revisited": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-raw": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", - "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "cids": "~0.7.0", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - } - }, - "node_modules/ipld-raw/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } + "node_modules/ipfs-utils/node_modules/any-signal": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz", + "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==" }, "node_modules/is-arrayish": { "version": "0.2.1", @@ -2515,37 +3019,24 @@ "node": ">=8" } }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" - }, "node_modules/is-electron": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", - "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", + "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==" }, "node_modules/is-extglob": { "version": "2.1.1", @@ -2556,11 +3047,11 @@ } }, "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/is-glob": { @@ -2592,38 +3083,6 @@ } }, "node_modules/is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", - "dependencies": { - "ip-regex": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-ipfs": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", - "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", - "dependencies": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - } - }, - "node_modules/is-ipfs/node_modules/ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-ipfs/node_modules/is-ip": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", @@ -2634,98 +3093,6 @@ "node": ">=8" } }, - "node_modules/is-ipfs/node_modules/multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "dependencies": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -2734,15 +3101,13 @@ "node": ">=0.12.0" } }, - "node_modules/is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" - }, - "node_modules/is-pull-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", - "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } }, "node_modules/is-stream": { "version": "2.0.1", @@ -2760,6 +3125,17 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -2770,68 +3146,98 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "node_modules/iso-random-stream": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", - "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", - "dependencies": { - "buffer": "^6.0.3", - "readable-stream": "^3.4.0" - }, + "node_modules/iso-url": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", + "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==", "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/iso-random-stream/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/it-all": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", + "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" + }, + "node_modules/it-first": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", + "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==" + }, + "node_modules/it-glob": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", + "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "@types/minimatch": "^3.0.4", + "minimatch": "^3.0.4" } }, - "node_modules/iso-random-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/it-glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/it-glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 6" + "node": "*" } }, - "node_modules/iso-stream-http": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", - "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", + "node_modules/it-last": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", + "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==" + }, + "node_modules/it-map": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", + "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==" + }, + "node_modules/it-peekable": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", + "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==" + }, + "node_modules/it-to-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", + "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" + "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" } }, - "node_modules/iso-stream-http/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/it-to-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -2841,43 +3247,75 @@ "node": ">= 6" } }, - "node_modules/iso-url": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", - "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==", + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, "engines": { "node": ">=10" } }, - "node_modules/isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "peerDependencies": { - "ws": "*" + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "node_modules/iterable-ndjson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", - "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "string_decoder": "^1.2.0" + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/jayson": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", - "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.0.0.tgz", + "integrity": "sha512-v2RNpDCMu45fnLzSk47vx7I+QUaOsox6f5X0CUlabAFwxoP+8MfAY0NQRFwOEYXIxm8Ih5y6OaEa5KYiQMkyAA==", "dependencies": { "@types/connect": "^3.4.33", - "@types/express-serve-static-core": "^4.17.9", - "@types/lodash": "^4.14.159", "@types/node": "^12.12.54", "@types/ws": "^7.4.4", "commander": "^2.20.3", @@ -2887,7 +3325,6 @@ "isomorphic-ws": "^4.0.1", "json-stringify-safe": "^5.0.1", "JSONStream": "^1.3.5", - "lodash": "^4.17.20", "uuid": "^8.3.2", "ws": "^7.4.5" }, @@ -2898,6 +3335,11 @@ "node": ">=8" } }, + "node_modules/jayson/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" + }, "node_modules/jayson/node_modules/JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", @@ -2924,9 +3366,9 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -2958,15 +3400,7 @@ "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - }, - "node_modules/json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", - "dependencies": { - "delimit-stream": "0.1.0" - } + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, "node_modules/jsonfile": { "version": "6.1.0", @@ -2979,14 +3413,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/jsonfile/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -3024,20 +3450,10 @@ "node": ">=0.6.0" } }, - "node_modules/just-kebab-case": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", - "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" - }, - "node_modules/just-map-keys": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", - "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" - }, "node_modules/keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz", + "integrity": "sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==", "hasInstallScript": true, "dependencies": { "node-addon-api": "^2.0.0", @@ -3049,9 +3465,9 @@ } }, "node_modules/keccak/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -3061,131 +3477,11 @@ "node": ">= 6" } }, - "node_modules/keypair": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", - "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ky": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", - "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ky-universal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", - "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", - "dependencies": { - "abort-controller": "^3.0.0", - "node-fetch": "^2.3.0" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "ky": ">=0.10.0" - } - }, - "node_modules/libp2p-crypto": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", - "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", - "dependencies": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "^0.10.0", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.10.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/libp2p-crypto-secp256k1": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", - "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", - "deprecated": "Included in libp2p-crypto, use it instead. https://github.com/libp2p/js-libp2p-crypto", - "dependencies": { - "async": "^2.6.2", - "bs58": "^4.0.1", - "multihashing-async": "~0.6.0", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.2" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/libp2p-crypto-secp256k1/node_modules/multihashing-async": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", - "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/libp2p-crypto/node_modules/multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, "node_modules/lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", @@ -3309,6 +3605,14 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "node_modules/log-symbols/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/log-symbols/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -3329,183 +3633,31 @@ } }, "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "node_modules/looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/mafmt": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", - "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", - "dependencies": { - "multiaddr": "^7.3.0" - } - }, - "node_modules/mafmt/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/mafmt/node_modules/cids/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/mafmt/node_modules/ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/mafmt/node_modules/is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "dependencies": { - "ip-regex": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/mafmt/node_modules/multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "dependencies": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/mafmt/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/mafmt/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/mafmt/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" + "node": "14 || >=16.14" } }, - "node_modules/mafmt/node_modules/multihashes/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "node_modules/matchstick-as": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.0.tgz", - "integrity": "sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.2.tgz", + "integrity": "sha512-fb1OVphDKEvJY06Ue02Eh1CNncuW95vp6b8tNAP7UIqplICSLoU/zgN6U7ge7R0upsoO78C7CRi4EyK/7Jxz7g==", "dependencies": { - "@graphprotocol/graph-ts": "^0.27.0", - "assemblyscript": "^0.19.20", "wabt": "1.0.24" } }, - "node_modules/matchstick-as/node_modules/assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "dependencies": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - }, - "bin": { - "asc": "bin/asc", - "asinit": "bin/asinit" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } - }, - "node_modules/matchstick-as/node_modules/binaryen": { - "version": "102.0.0-nightly.20211028", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", - "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==", - "bin": { - "wasm-opt": "bin/wasm-opt" - } - }, - "node_modules/matchstick-as/node_modules/long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -3516,11 +3668,42 @@ "safe-buffer": "^5.1.2" } }, + "node_modules/merge-options": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", + "dependencies": { + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -3559,37 +3742,35 @@ "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", + "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "dependencies": { - "yallist": "^4.0.0" - }, + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", "engines": { "node": ">=8" } }, - "node_modules/minipass/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", @@ -3602,10 +3783,16 @@ "node": ">= 8" } }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, "node_modules/mkdirp": { "version": "1.0.4", @@ -3624,141 +3811,72 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/multiaddr": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", - "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", - "dependencies": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "hi-base32": "~0.5.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - } - }, - "node_modules/multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "varint": "^5.0.0" - } - }, - "node_modules/multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "dependencies": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/multihashes/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", + "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", + "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" + "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" } }, - "node_modules/multihashing-async": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", - "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", - "deprecated": "This module has been superseded by the multiformats module", + "node_modules/multiaddr-to-uri": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", + "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", + "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr-to-uri", "dependencies": { - "blakejs": "^1.1.0", - "buffer": "^5.4.3", - "err-code": "^2.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^1.0.1", - "murmurhash3js-revisited": "^3.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" + "multiaddr": "^10.0.0" } }, - "node_modules/multihashing-async/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } + "node_modules/multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" }, - "node_modules/multihashing-async/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==", - "engines": { - "node": ">=0.10.0" + "node_modules/native-abort-controller": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.4.tgz", + "integrity": "sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ==", + "peerDependencies": { + "abort-controller": "*" } }, - "node_modules/murmurhash3js-revisited": { + "node_modules/native-fetch": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", - "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==", - "engines": { - "node": ">=8.0.0" + "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", + "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", + "peerDependencies": { + "node-fetch": "*" } }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "node_modules/nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" - }, - "node_modules/ndjson": { - "version": "1.5.0", - "resolved": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", - "license": "BSD-3-Clause", - "dependencies": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^3.1.0", - "through2": "^3.0.0" - }, - "bin": { - "ndjson": "cli.js" + "node_modules/natural-orderby": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", + "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==", + "engines": { + "node": "*" } }, "node_modules/node-addon-api": { @@ -3767,40 +3885,34 @@ "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" }, "node_modules/node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, "engines": { "node": "4.x || >=6.0.0" - } - }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "engines": { - "node": ">= 6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, "node_modules/node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", + "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", "node-gyp-build-test": "build-test.js" } }, - "node_modules/nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", - "dependencies": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -3854,12 +3966,12 @@ "node": ">=0.10.0" } }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/object-treeify": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", + "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==", + "engines": { + "node": ">= 10" } }, "node_modules/once": { @@ -3884,43 +3996,123 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", - "dependencies": { - "wordwrap": "~0.0.2" - } - }, "node_modules/ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz", + "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==", "dependencies": { - "chalk": "^3.0.0", + "chalk": "^2.4.2", "cli-cursor": "^3.1.0", "cli-spinners": "^2.2.0", "is-interactive": "^1.0.0", "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", + "strip-ansi": "^5.2.0", "wcwidth": "^1.0.1" }, "engines": { "node": ">=8" + } + }, + "node_modules/ora/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, - "node_modules/p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "node_modules/ora/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/ora/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ora/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", "engines": { "node": ">=8" } }, + "node_modules/p-fifo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", + "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", + "dependencies": { + "fast-fifo": "^1.0.0", + "p-defer": "^3.0.0" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -3937,6 +4129,11 @@ "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" }, + "node_modules/parse-duration": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.1.0.tgz", + "integrity": "sha512-z6t9dvSJYaPoQq7quMzdEagSFtpGu+utzHqqxmpVWNNZRIXnvqyCvn9XsTdh7c/w0Bqmdz3RB3YnRaKtpRtEXQ==" + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -3954,6 +4151,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/password-prompt": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz", + "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==", + "dependencies": { + "ansi-escapes": "^4.3.2", + "cross-spawn": "^7.0.3" + } + }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -3970,6 +4176,29 @@ "node": ">=8" } }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -3993,62 +4222,6 @@ "node": ">=0.12" } }, - "node_modules/peer-id": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", - "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", - "dependencies": { - "async": "^2.6.3", - "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.1", - "multihashes": "~0.4.15" - }, - "bin": { - "peer-id": "src/bin.js" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/peer-info": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", - "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", - "deprecated": "No longer supported for js-libp2p0.28.0 or later", - "dependencies": { - "mafmt": "^6.0.2", - "multiaddr": "^6.0.3", - "peer-id": "~0.12.2", - "unique-by": "^1.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/peer-info/node_modules/mafmt": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", - "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", - "dependencies": { - "multiaddr": "^6.1.0" - } - }, - "node_modules/pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "dependencies": { - "asn1.js": "^5.0.1" - }, - "bin": { - "pem-jwk": "bin/pem-jwk.js" - }, - "engines": { - "node": ">=5.10.0" - } - }, "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -4065,14 +4238,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==", - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/pluralize": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", @@ -4098,132 +4263,104 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "dependencies": { - "is-promise": "~1" - } - }, - "node_modules/promise-nodeify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", - "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==", - "engines": { - "node": ">=6", - "npm": ">=1.3.7" + "asap": "~2.0.6" } }, - "node_modules/promisify-es6": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", - "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==", - "deprecated": "Unmaintained" - }, - "node_modules/protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "node_modules/protons": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", - "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", - "deprecated": "This module is no longer maintained", + "node_modules/protobufjs": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", + "hasInstallScript": true, "dependencies": { - "buffer": "^5.5.0", - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" + "@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" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" } }, + "node_modules/protobufjs/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" }, - "node_modules/pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "node_modules/pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "node_modules/pull-to-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", - "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", - "dependencies": { - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pull-to-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/pvtsutils": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz", + "integrity": "sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==", + "dependencies": { + "tslib": "^2.6.1" + } + }, + "node_modules/pvutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", + "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==", "engines": { - "node": ">=6" + "node": ">=6.0.0" } }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "engines": { "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" - }, - "node_modules/ramdasauce": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", - "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", - "dependencies": { - "ramda": "^0.24.1" } }, - "node_modules/ramdasauce/node_modules/ramda": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", - "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/randombytes": { "version": "2.1.0", @@ -4233,10 +4370,18 @@ "safe-buffer": "^5.1.0" } }, + "node_modules/react-native-fetch-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz", + "integrity": "sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==", + "dependencies": { + "p-defer": "^3.0.0" + } + }, "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -4247,23 +4392,10 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dependencies": { "picomatch": "^2.2.1" }, @@ -4271,10 +4403,21 @@ "node": ">=8.10.0" } }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "node_modules/receptacle": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", + "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", + "dependencies": { + "esprima": "~4.0.0" + } }, "node_modules/request": { "version": "2.88.2", @@ -4307,14 +4450,6 @@ "node": ">= 6" } }, - "node_modules/request/node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "engines": { - "node": ">=0.6" - } - }, "node_modules/request/node_modules/uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", @@ -4341,7 +4476,21 @@ "signal-exit": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=8" + } + }, + "node_modules/retimer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", + "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==" + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, "node_modules/rimraf": { @@ -4358,6 +4507,45 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/ripemd160": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", @@ -4378,43 +4566,10 @@ "rlp": "bin/rlp" } }, - "node_modules/rlp/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", - "dependencies": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" - } - }, - "node_modules/rsa-pem-to-jwk/node_modules/object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", - "dependencies": { - "optimist": "~0.3.5" - }, - "bin": { - "rsa-unpack": "bin/cmd.js" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "funding": [ { "type": "github", @@ -4428,7 +4583,15 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/safer-buffer": { "version": "2.1.2", @@ -4441,28 +4604,23 @@ "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" }, "node_modules/secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", "hasInstallScript": true, "dependencies": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=10.0.0" } }, "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -4484,11 +4642,6 @@ "node": ">=10" } }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", @@ -4525,30 +4678,17 @@ "node": ">=8" } }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "node_modules/signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", - "dependencies": { - "varint": "~5.0.0" + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" } }, "node_modules/source-map": { @@ -4573,27 +4713,6 @@ "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/split2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -4623,63 +4742,41 @@ "node": ">=0.10.0" } }, - "node_modules/sshpk/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" - }, - "node_modules/stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", - "dependencies": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/stream-to-it": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", + "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", "dependencies": { - "safe-buffer": "~5.2.0" + "get-iterator": "^1.0.2" } }, - "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", "engines": { - "node": ">=4" + "node": ">=10.0.0" } }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "engines": { - "node": ">=4" + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { - "ansi-regex": "^3.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/strip-ansi": { @@ -4714,6 +4811,32 @@ } }, "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -4746,19 +4869,19 @@ } }, "node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "version": "6.1.15", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", + "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "engines": { - "node": ">= 10" + "node": ">=10" } }, "node_modules/tar-fs": { @@ -4772,15 +4895,6 @@ "tar-stream": "^1.1.2" } }, - "node_modules/tar-fs/node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, "node_modules/tar-fs/node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", @@ -4797,16 +4911,7 @@ "mkdirp": "bin/cmd.js" } }, - "node_modules/tar-fs/node_modules/pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/tar-fs/node_modules/tar-stream": { + "node_modules/tar-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", @@ -4823,49 +4928,14 @@ "node": ">= 0.8.0" } }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-stream/node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/then-request": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", @@ -4892,26 +4962,19 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" }, - "node_modules/then-request/node_modules/promise": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", - "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", - "dependencies": { - "asap": "~2.0.6" - } - }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, - "node_modules/through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "node_modules/timeout-abort-controller": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-2.0.0.tgz", + "integrity": "sha512-2FAPXfzTPYEgw27bQGTHc0SzrbmnU2eso4qo172zMLZzaGqeu09PFa5B2FCUHM1tflgRqPgn5KQgp6+Vex4uNA==", "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.4", + "retimer": "^3.0.0" } }, "node_modules/tmp": { @@ -4926,9 +4989,9 @@ } }, "node_modules/tmp-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", "dependencies": { "tmp": "^0.2.0" } @@ -4961,6 +5024,66 @@ "node": ">=0.8" } }, + "node_modules/tough-cookie/node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "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" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -4973,27 +5096,51 @@ } }, "node_modules/tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, - "node_modules/unique-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", - "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==", + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, "engines": { - "node": ">= 0.10.x" + "node": ">=14.17" + } + }, + "node_modules/uint8arrays": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", + "dependencies": { + "multiformats": "^9.4.2" } }, "node_modules/universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "engines": { "node": ">= 10.0.0" } @@ -5006,19 +5153,19 @@ "punycode": "^2.1.0" } }, - "node_modules/ursa-optional": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", - "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.14.2" - }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "engines": { - "node": ">=4" + "node": ">=6" } }, + "node_modules/urlpattern-polyfill": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", + "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==" + }, "node_modules/utf8": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", @@ -5037,10 +5184,15 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + }, "node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" }, "node_modules/verror": { "version": "1.10.0", @@ -5084,6 +5236,14 @@ "defaults": "^1.0.3" } }, + "node_modules/web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "engines": { + "node": ">= 8" + } + }, "node_modules/web3-eth-abi": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", @@ -5113,6 +5273,37 @@ "node": ">=8.0.0" } }, + "node_modules/web3-utils/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/webcrypto-core": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.7.tgz", + "integrity": "sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g==", + "dependencies": { + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "asn1js": "^3.0.1", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -5127,12 +5318,36 @@ "node": ">= 8" } }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=0.4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/wrappy": { @@ -5169,52 +5384,108 @@ } }, "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "dependencies": { - "@babel/runtime": "^7.9.2" - }, + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "engines": { "node": ">= 6" } }, "node_modules/yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "engines": { + "node": ">=6" } } }, "dependencies": { "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "requires": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } } }, "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" }, "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", + "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "dependencies": { @@ -5249,6 +5520,11 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -5264,12 +5540,12 @@ } } }, - "@babel/runtime": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", - "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "requires": { - "regenerator-runtime": "^0.13.4" + "@jridgewell/trace-mapping": "0.3.9" } }, "@ethersproject/abi": { @@ -5342,13 +5618,6 @@ "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", "bn.js": "^5.2.1" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } } }, "@ethersproject/bytes": { @@ -5398,9 +5667,9 @@ "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" }, "@ethersproject/networks": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.0.tgz", - "integrity": "sha512-MG6oHSQHd4ebvJrleEQQ4HhVu8Ichr0RDYEfHzsVAVjHNM+w36x9wp9r+hf1JstMXtseXDtkiVoARAG6M959AA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", "requires": { "@ethersproject/logger": "^5.7.0" } @@ -5433,13 +5702,6 @@ "bn.js": "^5.2.1", "elliptic": "6.5.4", "hash.js": "1.1.7" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } } }, "@ethersproject/strings": { @@ -5469,9 +5731,9 @@ } }, "@ethersproject/web": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.0.tgz", - "integrity": "sha512-ApHcbbj+muRASVDSCl/tgxaH2LBkRMEYfLOLVa0COipx0+nlu0QKet7U2lEg0vdkh8XRSLf2nd1f1Uk9SrVSGA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", "requires": { "@ethersproject/base64": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -5480,46 +5742,333 @@ "@ethersproject/strings": "^5.7.0" } }, - "@graphprotocol/graph-cli": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.32.0.tgz", - "integrity": "sha512-40Kii/Ttype5aNCaQn81AP7utyE6JKB5bI9QtYd6WoaS3oACICqdPA89+5UB1s9t6yXiFbWojK3e7JUokPdYfA==", + "@float-capital/float-subgraph-uncrashable": { + "version": "0.0.0-internal-testing.5", + "resolved": "https://registry.npmjs.org/@float-capital/float-subgraph-uncrashable/-/float-subgraph-uncrashable-0.0.0-internal-testing.5.tgz", + "integrity": "sha512-yZ0H5e3EpAYKokX/AbtplzlvSxEJY7ZfpvQyDzyODkks0hakAAlDG6fQu1SlDJMWorY7bbq1j7fCiFeTWci6TA==", "requires": { - "assemblyscript": "0.19.10", + "@rescript/std": "9.0.0", + "graphql": "^16.6.0", + "graphql-import-node": "^0.0.5", + "js-yaml": "^4.1.0" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "graphql": { + "version": "16.8.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.0.tgz", + "integrity": "sha512-0oKGaR+y3qcS5mCu1vb7KG+a89vjn06C7Ihq/dDl3jA+A8B3TKomvi3CiEcVLJQGalbu8F52LxkOym7U5sSfbg==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + } + } + }, + "@graphprotocol/graph-cli": { + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.56.0.tgz", + "integrity": "sha512-bOVtYLDLJpyqjPv9RX8DwRFePOiIlzWZhQGuznb6lY7Uk+uvjc0JSBsgPOAWjwkAI+3U1Ux7GPVwgYSLIOBXoQ==", + "requires": { + "@float-capital/float-subgraph-uncrashable": "^0.0.0-alpha.4", + "@oclif/core": "2.8.6", + "@whatwg-node/fetch": "^0.8.4", + "assemblyscript": "0.19.23", "binary-install-raw": "0.0.13", "chalk": "3.0.0", - "chokidar": "3.5.1", - "debug": "4.3.1", - "docker-compose": "0.23.4", + "chokidar": "3.5.3", + "debug": "4.3.4", + "docker-compose": "0.23.19", "dockerode": "2.5.8", - "fs-extra": "9.0.0", - "glob": "7.1.6", - "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", + "fs-extra": "9.1.0", + "glob": "9.3.5", + "gluegun": "5.1.2", "graphql": "15.5.0", - "immutable": "3.8.2", - "ipfs-http-client": "34.0.0", - "jayson": "3.6.6", - "js-yaml": "3.13.1", - "node-fetch": "2.6.0", - "pkginfo": "0.4.1", + "immutable": "4.2.1", + "ipfs-http-client": "55.0.0", + "jayson": "4.0.0", + "js-yaml": "3.14.1", "prettier": "1.19.1", "request": "2.88.2", - "semver": "7.3.5", + "semver": "7.4.0", "sync-request": "6.1.0", - "tmp-promise": "3.0.2", + "tmp-promise": "3.0.3", "web3-eth-abi": "1.7.0", "which": "2.0.2", - "yaml": "1.9.2" + "yaml": "1.10.2" } }, "@graphprotocol/graph-ts": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz", - "integrity": "sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w==", + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.31.0.tgz", + "integrity": "sha512-xreRVM6ho2BtolyOh2flDkNoGZximybnzUnF53zJVp0+Ed0KnAlO1/KOCUYw06euVI9tk0c9nA2Z/D5SIQV2Rg==", "requires": { "assemblyscript": "0.19.10" + }, + "dependencies": { + "assemblyscript": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", + "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "requires": { + "binaryen": "101.0.0-nightly.20210723", + "long": "^4.0.0" + } + }, + "binaryen": { + "version": "101.0.0-nightly.20210723", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", + "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==" + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + } + } + }, + "@ipld/dag-cbor": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz", + "integrity": "sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==", + "requires": { + "cborg": "^1.6.0", + "multiformats": "^9.5.4" + } + }, + "@ipld/dag-json": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.11.tgz", + "integrity": "sha512-Pea7JXeYHTWXRTIhBqBlhw7G53PJ7yta3G/sizGEZyzdeEwhZRr0od5IQ0r2ZxOt1Do+2czddjeEPp+YTxDwCA==", + "requires": { + "cborg": "^1.5.4", + "multiformats": "^9.5.4" + } + }, + "@ipld/dag-pb": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.18.tgz", + "integrity": "sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg==", + "requires": { + "multiformats": "^9.5.4" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@oclif/core": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.8.6.tgz", + "integrity": "sha512-1QlPaHMhOORySCXkQyzjsIsy2GYTilOw3LkjeHkCgsPJQjAT4IclVytJusWktPbYNys9O+O4V23J44yomQvnBQ==", + "requires": { + "@types/cli-progress": "^3.11.0", + "ansi-escapes": "^4.3.2", + "ansi-styles": "^4.3.0", + "cardinal": "^2.1.1", + "chalk": "^4.1.2", + "clean-stack": "^3.0.1", + "cli-progress": "^3.12.0", + "debug": "^4.3.4", + "ejs": "^3.1.8", + "fs-extra": "^9.1.0", + "get-package-type": "^0.1.0", + "globby": "^11.1.0", + "hyperlinker": "^1.0.0", + "indent-string": "^4.0.0", + "is-wsl": "^2.2.0", + "js-yaml": "^3.14.1", + "natural-orderby": "^2.0.3", + "object-treeify": "^1.1.33", + "password-prompt": "^1.1.2", + "semver": "^7.3.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "supports-color": "^8.1.1", + "supports-hyperlinks": "^2.2.0", + "ts-node": "^10.9.1", + "tslib": "^2.5.0", + "widest-line": "^3.1.0", + "wordwrap": "^1.0.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + } + } + }, + "@peculiar/asn1-schema": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz", + "integrity": "sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA==", + "requires": { + "asn1js": "^3.0.5", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" + } + }, + "@peculiar/json-schema": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz", + "integrity": "sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==", + "requires": { + "tslib": "^2.0.0" + } + }, + "@peculiar/webcrypto": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.3.tgz", + "integrity": "sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==", + "requires": { + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "pvtsutils": "^1.3.2", + "tslib": "^2.5.0", + "webcrypto-core": "^1.7.7" + } + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" } }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "@rescript/std": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rescript/std/-/std-9.0.0.tgz", + "integrity": "sha512-zGzFsgtZ44mgL4Xef2gOy1hrRVdrs9mcxCOOKZrIPsmbZW14yTkaF591GXxpQvjXiHtgZ/iA9qLyWH6oSReIxQ==" + }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, + "@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + }, "@types/bn.js": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", @@ -5528,6 +6077,14 @@ "@types/node": "*" } }, + "@types/cli-progress": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.0.tgz", + "integrity": "sha512-XhXhBv1R/q2ahF3BM7qT5HLzJNlIL0wbcGyZVjqOTqAybAnsLisd7gy1UCyIqpL+5Iv6XhlSyzjLCnI2sIdbCg==", + "requires": { + "@types/node": "*" + } + }, "@types/concat-stream": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", @@ -5544,16 +6101,6 @@ "@types/node": "*" } }, - "@types/express-serve-static-core": { - "version": "4.17.30", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz", - "integrity": "sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, "@types/form-data": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", @@ -5562,15 +6109,20 @@ "@types/node": "*" } }, - "@types/lodash": { - "version": "4.14.184", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.184.tgz", - "integrity": "sha512-RoZphVtHbxPZizt4IcILciSWiC6dcn+eZ8oX9IWEYfDMcocdd42f7NPI6fQj+6zI8y4E0L7gu2pcZKLGTRaV9Q==" + "@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" + "version": "20.5.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.7.tgz", + "integrity": "sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==" }, "@types/parse-json": { "version": "4.0.0", @@ -5590,11 +6142,6 @@ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, "@types/secp256k1": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", @@ -5611,6 +6158,35 @@ "@types/node": "*" } }, + "@whatwg-node/events": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@whatwg-node/events/-/events-0.0.3.tgz", + "integrity": "sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==" + }, + "@whatwg-node/fetch": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.8.8.tgz", + "integrity": "sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==", + "requires": { + "@peculiar/webcrypto": "^1.4.0", + "@whatwg-node/node-fetch": "^0.3.6", + "busboy": "^1.6.0", + "urlpattern-polyfill": "^8.0.0", + "web-streams-polyfill": "^3.2.1" + } + }, + "@whatwg-node/node-fetch": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.3.6.tgz", + "integrity": "sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==", + "requires": { + "@whatwg-node/events": "^0.0.3", + "busboy": "^1.6.0", + "fast-querystring": "^1.1.1", + "fast-url-parser": "^1.1.3", + "tslib": "^2.3.1" + } + }, "abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -5619,6 +6195,16 @@ "event-target-shim": "^5.0.0" } }, + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -5631,9 +6217,17 @@ } }, "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + } }, "ansi-regex": { "version": "5.0.1", @@ -5648,22 +6242,35 @@ "color-convert": "^2.0.1" } }, + "ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==" + }, + "any-signal": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-2.1.2.tgz", + "integrity": "sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==", + "requires": { + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.3" + } + }, "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "apisauce": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", - "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-2.1.6.tgz", + "integrity": "sha512-MdxR391op/FucS2YQRfB/NMRyCnHEPDd4h17LRIuVYi0BpGmMhpxc0shbOpfs5ahABuBEffNCGal5EcsydbBWg==", "requires": { - "axios": "^0.21.2", - "ramda": "^0.25.0" + "axios": "^0.21.4" } }, "app-module-path": { @@ -5671,6 +6278,11 @@ "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==" }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -5679,16 +6291,16 @@ "sprintf-js": "~1.0.2" } }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, - "asmcrypto.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", - "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" - }, "asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -5697,24 +6309,24 @@ "safer-buffer": "~2.1.0" } }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "asn1js": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", + "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "pvtsutils": "^1.3.2", + "pvutils": "^1.1.3", + "tslib": "^2.4.0" } }, "assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "version": "0.19.23", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", + "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", "requires": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" + "binaryen": "102.0.0-nightly.20211028", + "long": "^5.2.0", + "source-map-support": "^0.5.20" } }, "assert-plus": { @@ -5723,12 +6335,9 @@ "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" }, "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "requires": { - "lodash": "^4.17.14" - } + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, "asynckit": { "version": "0.4.0", @@ -5746,9 +6355,9 @@ "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" }, "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, "axios": { "version": "0.21.4", @@ -5782,20 +6391,8 @@ "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "requires": { "tweetnacl": "^0.14.3" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } } }, - "bignumber.js": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.0.tgz", - "integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==" - }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -5812,44 +6409,17 @@ } }, "binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==" - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", - "requires": { - "safe-buffer": "^5.0.1" - } + "version": "102.0.0-nightly.20211028", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", + "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==" }, "bl": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", - "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "requires": { - "readable-stream": "^3.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" } }, "blakejs": { @@ -5857,44 +6427,25 @@ "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "borc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", - "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", - "requires": { - "bignumber.js": "^9.0.0", - "buffer": "^5.5.0", - "commander": "^2.15.0", - "ieee754": "^1.1.13", - "iso-url": "~0.4.7", - "json-text-sequence": "~0.1.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "blob-to-it": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", + "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", + "requires": { + "browser-readablestream-to-it": "^1.0.3" } }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "braces": { @@ -5910,6 +6461,11 @@ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, + "browser-readablestream-to-it": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", + "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==" + }, "browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", @@ -5942,12 +6498,12 @@ } }, "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "ieee754": "^1.2.1" } }, "buffer-alloc": { @@ -5979,18 +6535,12 @@ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "streamsearch": "^1.1.0" } }, "callsites": { @@ -5998,16 +6548,25 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "requires": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + } }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, + "cborg": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.2.tgz", + "integrity": "sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==" + }, "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -6015,21 +6574,31 @@ "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "requires": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" } }, "chownr": { @@ -6037,29 +6606,6 @@ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, - "cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "requires": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -6069,10 +6615,13 @@ "safe-buffer": "^5.0.1" } }, - "class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" + "clean-stack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", + "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", + "requires": { + "escape-string-regexp": "4.0.0" + } }, "cli-cursor": { "version": "3.1.0", @@ -6082,19 +6631,27 @@ "restore-cursor": "^3.1.0" } }, + "cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "requires": { + "string-width": "^4.2.3" + } + }, "cli-spinners": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", - "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==" + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", + "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==" }, "cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz", + "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", "requires": { "colors": "^1.1.2", "object-assign": "^4.1.0", - "string-width": "^2.1.1" + "string-width": "^4.2.0" } }, "clone": { @@ -6116,9 +6673,9 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" }, "combined-stream": { "version": "1.0.8", @@ -6155,15 +6712,15 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "requires": { "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", + "import-fresh": "^3.2.1", "parse-json": "^5.0.0", "path-type": "^4.0.0", - "yaml": "^1.7.2" + "yaml": "^1.10.0" } }, "create-hash": { @@ -6191,6 +6748,11 @@ "sha.js": "^2.4.8" } }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -6210,22 +6772,17 @@ } }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { "ms": "2.1.2" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - }, "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "requires": { "clone": "^1.0.2" } @@ -6240,20 +6797,36 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, - "delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-over-http-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", + "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", + "requires": { + "debug": "^4.3.1", + "native-fetch": "^3.0.0", + "receptacle": "^1.3.2" + } }, "docker-compose": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", - "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==" + "version": "0.23.19", + "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.19.tgz", + "integrity": "sha512-v5vNLIdUqwj4my80wxFDkNH+4S85zsRuH29SO7dCWVWPCMt/ohZBsGN6g6KXWifT0pzQ7uOxqEKCYCDPJ8Vz4g==", + "requires": { + "yaml": "^1.10.2" + } }, "docker-modem": { "version": "1.0.9", @@ -6307,16 +6880,6 @@ "tar-fs": "~1.16.3" } }, - "drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", - "requires": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - } - }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -6327,9 +6890,20 @@ } }, "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "requires": { + "jake": "^10.8.5" + } + }, + "electron-fetch": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", + "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", + "requires": { + "encoding": "^0.1.13" + } }, "elliptic": { "version": "6.5.4", @@ -6343,6 +6917,26 @@ "inherits": "^2.0.4", "minimalistic-assert": "^1.0.1", "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "requires": { + "iconv-lite": "^0.6.2" } }, "end-of-stream": { @@ -6354,17 +6948,17 @@ } }, "enquirer": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", - "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "requires": { - "ansi-colors": "^3.2.1" + "ansi-colors": "^4.1.1" } }, "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" }, "error-ex": { "version": "1.3.2", @@ -6388,9 +6982,9 @@ } }, "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, "esprima": { "version": "4.0.1", @@ -6425,18 +7019,6 @@ "scrypt-js": "^3.0.0", "secp256k1": "^4.0.1", "setimmediate": "^1.0.5" - }, - "dependencies": { - "secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "requires": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - } } }, "ethereumjs-util": { @@ -6449,13 +7031,6 @@ "create-hash": "^1.1.2", "ethereum-cryptography": "^0.1.3", "rlp": "^2.2.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } } }, "ethjs-unit": { @@ -6489,27 +7064,21 @@ } }, "execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" } }, - "explain-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", - "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" - }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -6525,20 +7094,79 @@ "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==" }, + "fast-decode-uri-component": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", + "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "requires": { + "@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": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + "fast-querystring": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", + "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", + "requires": { + "fast-decode-uri-component": "^1.0.1" + } + }, + "fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "requires": { + "punycode": "^1.3.2" + } + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } }, "fill-range": { "version": "7.0.1", @@ -6548,15 +7176,10 @@ "to-regex-range": "^5.0.1" } }, - "flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" - }, "follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" }, "forever-agent": { "version": "0.6.1", @@ -6579,25 +7202,55 @@ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, "fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "requires": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", - "universalify": "^1.0.0" + "universalify": "^2.0.0" } }, "fs-jetpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", - "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-4.3.1.tgz", + "integrity": "sha512-dbeOK84F6BiQzk2yqqCVwCPWTxAvVGJ3fMQc6E2wuEohS28mR6yHngbrKuVCK1KHRx/ccByDylqu4H5PCP2urQ==", "requires": { "minimatch": "^3.0.2", "rimraf": "^2.6.3" }, "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -6614,6 +7267,16 @@ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "requires": { "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } + } } }, "fs.realpath": { @@ -6622,25 +7285,20 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "optional": true }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "get-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", + "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" }, - "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" }, "get-port": { "version": "3.2.0", @@ -6648,12 +7306,9 @@ "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" }, "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - } + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" }, "getpass": { "version": "0.1.7", @@ -6664,16 +7319,14 @@ } }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", + "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", "requires": { "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" + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" } }, "glob-parent": { @@ -6684,20 +7337,34 @@ "is-glob": "^4.0.1" } }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "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" + } + }, "gluegun": { - "version": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", - "from": "gluegun@git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/gluegun/-/gluegun-5.1.2.tgz", + "integrity": "sha512-Cwx/8S8Z4YQg07a6AFsaGnnnmd8mN17414NcPS3OoDtZRwxgsvwRNJNg69niD6fDa8oNwslCG0xH7rEpRNNE/g==", "requires": { - "apisauce": "^1.0.1", + "apisauce": "^2.1.5", "app-module-path": "^2.2.0", - "cli-table3": "~0.5.0", - "colors": "1.3.3", - "cosmiconfig": "6.0.0", - "cross-spawn": "^7.0.0", - "ejs": "^2.6.1", - "enquirer": "2.3.4", - "execa": "^3.0.0", - "fs-jetpack": "^2.2.2", + "cli-table3": "0.6.0", + "colors": "1.4.0", + "cosmiconfig": "7.0.1", + "cross-spawn": "7.0.3", + "ejs": "3.1.6", + "enquirer": "2.3.6", + "execa": "5.1.1", + "fs-jetpack": "4.3.1", "lodash.camelcase": "^4.3.0", "lodash.kebabcase": "^4.1.1", "lodash.lowercase": "^4.3.0", @@ -6713,24 +7380,55 @@ "lodash.trimstart": "^4.5.1", "lodash.uppercase": "^4.3.0", "lodash.upperfirst": "^4.3.1", - "ora": "^4.0.0", + "ora": "4.0.2", "pluralize": "^8.0.0", - "ramdasauce": "^2.1.0", - "semver": "^7.0.0", - "which": "^2.0.0", - "yargs-parser": "^16.1.0" + "semver": "7.3.5", + "which": "2.0.2", + "yargs-parser": "^21.0.0" + }, + "dependencies": { + "ejs": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", + "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "requires": { + "jake": "^10.6.1" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "graphql": { "version": "15.5.0", "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==" }, + "graphql-import-node": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/graphql-import-node/-/graphql-import-node-0.0.5.tgz", + "integrity": "sha512-OXbou9fqh9/Lm7vwXT0XoRN9J5+WCYKnbiTalgFDvkQERITRmcfncZs6aVABedd5B85yQU5EULS4a5pnbpuI0Q==", + "requires": {} + }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -6745,24 +7443,11 @@ "har-schema": "^2.0.0" } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, "hash-base": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", @@ -6774,14 +7459,19 @@ }, "dependencies": { "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" } } }, @@ -6794,11 +7484,6 @@ "minimalistic-assert": "^1.0.1" } }, - "hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" - }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -6846,19 +7531,37 @@ } }, "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "hyperlinker": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", + "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==" + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + }, "immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==" + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.1.tgz", + "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==" }, "import-fresh": { "version": "3.3.0", @@ -6869,6 +7572,11 @@ "resolve-from": "^4.0.0" } }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -6883,235 +7591,125 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + "interface-datastore": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.1.tgz", + "integrity": "sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg==", + "requires": { + "interface-store": "^2.0.2", + "nanoid": "^3.0.2", + "uint8arrays": "^3.0.0" + } + }, + "interface-store": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", + "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==" }, "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" }, - "ipfs-block": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", - "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", - "requires": { - "cids": "~0.7.0", - "class-is": "^1.1.0" + "ipfs-core-types": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.9.0.tgz", + "integrity": "sha512-VJ8vJSHvI1Zm7/SxsZo03T+zzpsg8pkgiIi5hfwSJlsrJ1E2v68QPlnLshGHUSYw89Oxq0IbETYl2pGTFHTWfg==", + "requires": { + "interface-datastore": "^6.0.2", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.13" + } + }, + "ipfs-core-utils": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.13.0.tgz", + "integrity": "sha512-HP5EafxU4/dLW3U13CFsgqVO5Ika8N4sRSIb/dTg16NjLOozMH31TXV0Grtu2ZWo1T10ahTzMvrfT5f4mhioXw==", + "requires": { + "any-signal": "^2.1.2", + "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.9.0", + "ipfs-unixfs": "^6.0.3", + "ipfs-utils": "^9.0.2", + "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.4.13", + "nanoid": "^3.1.23", + "parse-duration": "^1.0.0", + "timeout-abort-controller": "^2.0.0", + "uint8arrays": "^3.0.0" } }, "ipfs-http-client": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", - "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", + "version": "55.0.0", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-55.0.0.tgz", + "integrity": "sha512-GpvEs7C7WL9M6fN/kZbjeh4Y8YN7rY8b18tVWZnKxRsVwM25cIFrRI8CwNt3Ugin9yShieI3i9sPyzYGMrLNnQ==", "requires": { + "@ipld/dag-cbor": "^7.0.0", + "@ipld/dag-json": "^8.0.1", + "@ipld/dag-pb": "^2.1.3", "abort-controller": "^3.0.0", - "async": "^2.6.1", - "bignumber.js": "^9.0.0", - "bl": "^3.0.0", - "bs58": "^4.0.1", - "buffer": "^5.4.2", - "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^2.0.0", - "explain-error": "^1.0.4", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.1", - "ipfs-utils": "~0.0.3", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.3", - "ipld-raw": "^4.0.0", - "is-ipfs": "~0.6.1", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "iso-stream-http": "~0.1.2", - "iso-url": "~0.4.6", - "iterable-ndjson": "^1.1.0", - "just-kebab-case": "^1.1.0", - "just-map-keys": "^1.1.0", - "kind-of": "^6.0.2", - "ky": "^0.11.2", - "ky-universal": "^0.2.2", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.6", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", - "once": "^1.4.0", - "peer-id": "~0.12.3", - "peer-info": "~0.15.1", - "promise-nodeify": "^3.0.1", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "pull-to-stream": "~0.1.1", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.1.1", - "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.1", - "through2": "^3.0.1" - }, - "dependencies": { - "concat-stream": { - "version": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", - "from": "concat-stream@github:hugomrdias/concat-stream#feat/smaller", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^3.0.2" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "any-signal": "^2.1.2", + "debug": "^4.1.1", + "err-code": "^3.0.1", + "ipfs-core-types": "^0.9.0", + "ipfs-core-utils": "^0.13.0", + "ipfs-utils": "^9.0.2", + "it-first": "^1.0.6", + "it-last": "^1.0.4", + "merge-options": "^3.0.4", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.13", + "native-abort-controller": "^1.0.3", + "parse-duration": "^1.0.0", + "stream-to-it": "^0.2.2", + "uint8arrays": "^3.0.0" + } + }, + "ipfs-unixfs": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz", + "integrity": "sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ==", + "requires": { + "err-code": "^3.0.1", + "protobufjs": "^6.10.2" } }, "ipfs-utils": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", - "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", - "requires": { - "buffer": "^5.2.1", - "is-buffer": "^2.0.3", + "version": "9.0.14", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz", + "integrity": "sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg==", + "requires": { + "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", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "kind-of": "^6.0.2", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "ipld-dag-cbor": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", - "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", - "requires": { - "borc": "^2.1.2", - "buffer": "^5.5.0", - "cids": "~0.8.0", - "is-circular": "^1.0.2", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - } - }, - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - } - } - } - }, - "ipld-dag-pb": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", - "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", - "requires": { - "cids": "~0.7.0", - "class-is": "^1.1.0", - "multicodec": "~0.5.1", - "multihashing-async": "~0.7.0", - "protons": "^1.0.1", - "stable": "~0.1.8" - }, - "dependencies": { - "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" - }, - "multihashing-async": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", - "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", - "requires": { - "blakejs": "^1.1.0", - "buffer": "^5.2.1", - "err-code": "^1.1.2", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js-revisited": "^3.0.0" - } - } - } - }, - "ipld-raw": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", - "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", - "requires": { - "cids": "~0.7.0", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.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" + }, + "dependencies": { + "any-signal": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz", + "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==" } } }, @@ -7128,20 +7726,15 @@ "binary-extensions": "^2.0.0" } }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, - "is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" }, "is-electron": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", - "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", + "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==" }, "is-extglob": { "version": "2.1.1", @@ -7149,9 +7742,9 @@ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-glob": { "version": "4.0.3", @@ -7172,116 +7765,11 @@ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" }, "is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", - "requires": { - "ip-regex": "^2.0.0" - } - }, - "is-ipfs": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", - "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", "requires": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - }, - "dependencies": { - "ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" - }, - "is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "requires": { - "ip-regex": "^4.0.0" - } - }, - "multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "requires": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - } - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } + "ip-regex": "^4.0.0" } }, "is-number": { @@ -7289,15 +7777,10 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, - "is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" - }, - "is-pull-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", - "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" }, "is-stream": { "version": "2.0.1", @@ -7309,6 +7792,14 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -7319,50 +7810,92 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "iso-random-stream": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", - "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", + "iso-url": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", + "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==" + }, + "isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "requires": {} + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "it-all": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", + "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" + }, + "it-first": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", + "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==" + }, + "it-glob": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", + "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", "requires": { - "buffer": "^6.0.3", - "readable-stream": "^3.4.0" + "@types/minimatch": "^3.0.4", + "minimatch": "^3.0.4" }, "dependencies": { - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "brace-expansion": "^1.1.7" } } } }, - "iso-stream-http": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", - "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", + "it-last": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", + "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==" + }, + "it-map": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", + "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==" + }, + "it-peekable": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", + "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==" + }, + "it-to-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", + "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" + "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" }, "dependencies": { "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -7371,38 +7904,59 @@ } } }, - "iso-url": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", - "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==" - }, - "isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "requires": {} - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "iterable-ndjson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", - "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", + "jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", "requires": { - "string_decoder": "^1.2.0" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jayson": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", - "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.0.0.tgz", + "integrity": "sha512-v2RNpDCMu45fnLzSk47vx7I+QUaOsox6f5X0CUlabAFwxoP+8MfAY0NQRFwOEYXIxm8Ih5y6OaEa5KYiQMkyAA==", "requires": { "@types/connect": "^3.4.33", - "@types/express-serve-static-core": "^4.17.9", - "@types/lodash": "^4.14.159", "@types/node": "^12.12.54", "@types/ws": "^7.4.4", "commander": "^2.20.3", @@ -7412,11 +7966,15 @@ "isomorphic-ws": "^4.0.1", "json-stringify-safe": "^5.0.1", "JSONStream": "^1.3.5", - "lodash": "^4.17.20", "uuid": "^8.3.2", "ws": "^7.4.5" }, "dependencies": { + "@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" + }, "JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", @@ -7439,9 +7997,9 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -7472,14 +8030,6 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, - "json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", - "requires": { - "delimit-stream": "0.1.0" - } - }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -7487,13 +8037,6 @@ "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" - }, - "dependencies": { - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } } }, "jsonparse": { @@ -7521,122 +8064,24 @@ "verror": "1.10.0" } }, - "just-kebab-case": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", - "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" - }, - "just-map-keys": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", - "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" - }, - "keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "keypair": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", - "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "ky": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", - "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==" - }, - "ky-universal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", - "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", - "requires": { - "abort-controller": "^3.0.0", - "node-fetch": "^2.3.0" - } - }, - "libp2p-crypto": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", - "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", - "requires": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "^0.10.0", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.10.0" - }, - "dependencies": { - "multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", - "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - } - } - } - }, - "libp2p-crypto-secp256k1": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", - "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", + "keccak": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz", + "integrity": "sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==", "requires": { - "async": "^2.6.2", - "bs58": "^4.0.1", - "multihashing-async": "~0.6.0", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.2" + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" }, "dependencies": { - "multihashing-async": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", - "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } } } @@ -7646,11 +8091,6 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, "lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", @@ -7765,6 +8205,11 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -7781,151 +8226,26 @@ } }, "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" }, - "mafmt": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", - "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", - "requires": { - "multiaddr": "^7.3.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" - }, - "is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "requires": { - "ip-regex": "^4.0.0" - } - }, - "multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "requires": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - } - } + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "matchstick-as": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.0.tgz", - "integrity": "sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.2.tgz", + "integrity": "sha512-fb1OVphDKEvJY06Ue02Eh1CNncuW95vp6b8tNAP7UIqplICSLoU/zgN6U7ge7R0upsoO78C7CRi4EyK/7Jxz7g==", "requires": { - "@graphprotocol/graph-ts": "^0.27.0", - "assemblyscript": "^0.19.20", "wabt": "1.0.24" - }, - "dependencies": { - "assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "requires": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - } - }, - "binaryen": { - "version": "102.0.0-nightly.20211028", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", - "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==" - }, - "long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - } } }, "md5.js": { @@ -7938,11 +8258,33 @@ "safe-buffer": "^5.1.2" } }, + "merge-options": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", + "requires": { + "is-plain-obj": "^2.1.0" + } + }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -7972,32 +8314,22 @@ "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" }, "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", + "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" } }, "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, "minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "requires": { - "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==" }, "minizlib": { "version": "2.1.2", @@ -8008,10 +8340,13 @@ "yallist": "^4.0.0" }, "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } } } }, @@ -8026,119 +8361,52 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "multiaddr": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", - "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", - "requires": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "hi-base32": "~0.5.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - } - }, - "multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", + "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" + "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" } }, - "multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", + "multiaddr-to-uri": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", + "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", "requires": { - "varint": "^5.0.0" + "multiaddr": "^10.0.0" } }, - "multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "requires": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } + "multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" }, - "multihashing-async": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", - "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", - "requires": { - "blakejs": "^1.1.0", - "buffer": "^5.4.3", - "err-code": "^2.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^1.0.1", - "murmurhash3js-revisited": "^3.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - } - } - } + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" }, - "murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==" + "native-abort-controller": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.4.tgz", + "integrity": "sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ==", + "requires": {} }, - "murmurhash3js-revisited": { + "native-fetch": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", - "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" + "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", + "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", + "requires": {} }, - "ndjson": { - "version": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", - "from": "ndjson@github:hugomrdias/ndjson#feat/readable-stream3", - "requires": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^3.1.0", - "through2": "^3.0.0" - } + "natural-orderby": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", + "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==" }, "node-addon-api": { "version": "2.0.2", @@ -8146,29 +8414,18 @@ "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" }, "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" - }, - "node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==" - }, - "nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "requires": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" + "whatwg-url": "^5.0.0" } }, + "node-gyp-build": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", + "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==" + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -8208,10 +8465,10 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + "object-treeify": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", + "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==" }, "once": { "version": "1.4.0", @@ -8229,33 +8486,97 @@ "mimic-fn": "^2.1.0" } }, - "optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", - "requires": { - "wordwrap": "~0.0.2" - } - }, "ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz", + "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==", "requires": { - "chalk": "^3.0.0", + "chalk": "^2.4.2", "cli-cursor": "^3.1.0", "cli-spinners": "^2.2.0", "is-interactive": "^1.0.0", "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", + "strip-ansi": "^5.2.0", "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } } }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" + "p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" + }, + "p-fifo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", + "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", + "requires": { + "fast-fifo": "^1.0.0", + "p-defer": "^3.0.0" + } }, "parent-module": { "version": "1.0.1", @@ -8270,6 +8591,11 @@ "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" }, + "parse-duration": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.1.0.tgz", + "integrity": "sha512-z6t9dvSJYaPoQq7quMzdEagSFtpGu+utzHqqxmpVWNNZRIXnvqyCvn9XsTdh7c/w0Bqmdz3RB3YnRaKtpRtEXQ==" + }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -8281,6 +8607,15 @@ "lines-and-columns": "^1.1.6" } }, + "password-prompt": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz", + "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==", + "requires": { + "ansi-escapes": "^4.3.2", + "cross-spawn": "^7.0.3" + } + }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -8291,6 +8626,22 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, + "path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "requires": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==" + } + } + }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -8308,46 +8659,6 @@ "sha.js": "^2.4.8" } }, - "peer-id": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", - "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", - "requires": { - "async": "^2.6.3", - "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.1", - "multihashes": "~0.4.15" - } - }, - "peer-info": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", - "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", - "requires": { - "mafmt": "^6.0.2", - "multiaddr": "^6.0.3", - "peer-id": "~0.12.2", - "unique-by": "^1.0.0" - }, - "dependencies": { - "mafmt": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", - "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", - "requires": { - "multiaddr": "^6.1.0" - } - } - } - }, - "pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "requires": { - "asn1.js": "^5.0.1" - } - }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -8358,11 +8669,6 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, - "pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==" - }, "pluralize": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", @@ -8379,115 +8685,81 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", - "requires": { - "is-promise": "~1" - } - }, - "promise-nodeify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", - "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==" - }, - "promisify-es6": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", - "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==" - }, - "protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "protons": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", - "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "requires": { - "buffer": "^5.5.0", - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" + "asap": "~2.0.6" } }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "pull-to-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", - "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", - "requires": { - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } + "protobufjs": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", + "requires": { + "@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" + }, + "dependencies": { + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" } } }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "pvtsutils": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz", + "integrity": "sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==", "requires": { - "side-channel": "^1.0.4" + "tslib": "^2.6.1" } }, - "ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" + "pvutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", + "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==" }, - "ramdasauce": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", - "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", - "requires": { - "ramda": "^0.24.1" - }, - "dependencies": { - "ramda": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", - "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" - } - } + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, "randombytes": { "version": "2.1.0", @@ -8497,10 +8769,18 @@ "safe-buffer": "^5.1.0" } }, + "react-native-fetch-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz", + "integrity": "sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==", + "requires": { + "p-defer": "^3.0.0" + } + }, "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8509,35 +8789,31 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "requires": { "picomatch": "^2.2.1" } }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "receptacle": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", + "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", + "requires": { + "ms": "^2.1.1" + } + }, + "redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", + "requires": { + "esprima": "~4.0.0" + } }, "request": { "version": "2.88.2", @@ -8566,11 +8842,6 @@ "uuid": "^3.3.2" }, "dependencies": { - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" - }, "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", @@ -8592,12 +8863,54 @@ "signal-exit": "^3.0.2" } }, + "retimer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", + "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "requires": { "glob": "^7.1.3" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "ripemd160": { @@ -8615,43 +8928,20 @@ "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", "requires": { "bn.js": "^5.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", - "requires": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" - }, - "dependencies": { - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==" - } } }, - "rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "requires": { - "optimist": "~0.3.5" + "queue-microtask": "^1.2.2" } }, "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safer-buffer": { "version": "2.1.2", @@ -8664,24 +8954,19 @@ "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" }, "secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", "requires": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" } }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", "requires": { "lru-cache": "^6.0.0" }, @@ -8693,11 +8978,6 @@ "requires": { "yallist": "^4.0.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, @@ -8728,28 +9008,15 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", - "requires": { - "varint": "~5.0.0" - } + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, "source-map": { "version": "0.6.1", @@ -8770,26 +9037,6 @@ "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "requires": { - "readable-stream": "^3.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -8809,59 +9056,37 @@ "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } } }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", + "stream-to-it": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", + "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", "requires": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" + "get-iterator": "^1.0.2" } }, + "streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" + }, "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "~5.2.0" + "safe-buffer": "~5.1.0" } }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "requires": { - "ansi-regex": "^3.0.0" - } - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, "strip-ansi": { @@ -8886,13 +9111,32 @@ } }, "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "requires": { "has-flag": "^4.0.0" } }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "sync-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", @@ -8912,22 +9156,22 @@ } }, "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "version": "6.1.15", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", + "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==" } } }, @@ -8942,15 +9186,6 @@ "tar-stream": "^1.1.2" }, "dependencies": { - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", @@ -8963,64 +9198,21 @@ "requires": { "minimist": "^1.2.6" } - }, - "pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } } } }, "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" } }, "then-request": { @@ -9045,14 +9237,6 @@ "version": "8.10.66", "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - }, - "promise": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", - "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", - "requires": { - "asap": "~2.0.6" - } } } }, @@ -9061,13 +9245,14 @@ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, - "through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "timeout-abort-controller": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-2.0.0.tgz", + "integrity": "sha512-2FAPXfzTPYEgw27bQGTHc0SzrbmnU2eso4qo172zMLZzaGqeu09PFa5B2FCUHM1tflgRqPgn5KQgp6+Vex4uNA==", "requires": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.4", + "retimer": "^3.0.0" } }, "tmp": { @@ -9079,9 +9264,9 @@ } }, "tmp-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", "requires": { "tmp": "^0.2.0" } @@ -9106,8 +9291,45 @@ "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + } } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "requires": { + "@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" + } + }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -9117,24 +9339,38 @@ } }, "tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, - "unique-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", - "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==" + "typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "peer": true + }, + "uint8arrays": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", + "requires": { + "multiformats": "^9.4.2" + } }, "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" }, "uri-js": { "version": "4.4.1", @@ -9142,16 +9378,19 @@ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + } } }, - "ursa-optional": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", - "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", - "requires": { - "bindings": "^1.5.0", - "nan": "^2.14.2" - } + "urlpattern-polyfill": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", + "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==" }, "utf8": { "version": "3.0.0", @@ -9168,10 +9407,15 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + }, "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" }, "verror": { "version": "1.10.0", @@ -9203,6 +9447,11 @@ "defaults": "^1.0.3" } }, + "web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" + }, "web3-eth-abi": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", @@ -9224,6 +9473,39 @@ "number-to-bn": "1.7.0", "randombytes": "^2.1.0", "utf8": "3.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "webcrypto-core": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.7.tgz", + "integrity": "sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g==", + "requires": { + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "asn1js": "^3.0.1", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, "which": { @@ -9234,10 +9516,28 @@ "isexe": "^2.0.0" } }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "requires": { + "string-width": "^4.0.0" + } + }, "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } }, "wrappy": { "version": "1.0.2", @@ -9256,26 +9556,24 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "requires": { - "@babel/runtime": "^7.9.2" - } + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" }, "yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" } } } diff --git a/DaoValidators/package.json b/DaoValidators/package.json index 60054f04..53ce0904 100644 --- a/DaoValidators/package.json +++ b/DaoValidators/package.json @@ -13,8 +13,8 @@ "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 kevandee/dexe-daovalidators" }, "dependencies": { - "@graphprotocol/graph-cli": "0.32.0", - "@graphprotocol/graph-ts": "0.27.0", - "matchstick-as": "0.5.0" + "@graphprotocol/graph-cli": "0.56.0", + "@graphprotocol/graph-ts": "0.31.0", + "matchstick-as": "0.5.2" } } diff --git a/package-lock.json b/package-lock.json index 596e68b2..7982c607 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "license": "UNLICENSED", "dependencies": { "husky": "^7.0.2", - "prettier": "^2.4.0" + "prettier": "^2.8.0" } }, "node_modules/husky": { @@ -27,9 +27,9 @@ } }, "node_modules/prettier": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.0.tgz", - "integrity": "sha512-nwoX4GMFgxoPC6diHvSwmK/4yU8FFH3V8XWtLQrbj4IBsK2pkYhG4kf/ljF/haaZ/aii+wNJqISrCDPgxGWDVQ==", + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "bin": { "prettier": "bin-prettier.js" }, @@ -48,9 +48,9 @@ "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==" }, "prettier": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.0.tgz", - "integrity": "sha512-nwoX4GMFgxoPC6diHvSwmK/4yU8FFH3V8XWtLQrbj4IBsK2pkYhG4kf/ljF/haaZ/aii+wNJqISrCDPgxGWDVQ==" + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==" } } } diff --git a/package.json b/package.json index 24a43c6e..9669a679 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,6 @@ }, "dependencies": { "husky": "^7.0.2", - "prettier": "^2.4.0" + "prettier": "^2.8.0" } } From 744067ea36a16bf8a291cd1d71edd39f02126818 Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Wed, 30 Aug 2023 17:58:05 +0300 Subject: [PATCH 23/44] Fix/dao pools handlers (#126) * fixed entities, most of handlers fixed * fixed ExpertNFT handlers * fixed onVoteChanged handler * fixed tests * fixed tests/handlers in DaoPools --- AllInteractions/tests/DaoPool.test.ts | 2 +- DaoPools/package-lock.json | 4202 +---------------- DaoPools/src/entities/DelegationHistory.ts | 4 +- .../src/entities/{ExpertNft => }/ExpertNft.ts | 6 +- DaoPools/src/entities/ExpertNft/Expert.ts | 13 - .../src/entities/ExpertNft/ExpertInPool.ts | 17 - .../src/entities/ExpertNft/GlobalExpert.ts | 13 - DaoPools/src/entities/Proposal.ts | 13 +- ...ProposalVote.ts => ProposalInteraction.ts} | 25 +- DaoPools/src/entities/TokenSale.ts | 15 +- DaoPools/src/entities/TokenSaleTier.ts | 17 +- .../src/entities/TreasuryDelegationHistory.ts | 2 +- DaoPools/src/entities/Voters/Voter.ts | 6 +- DaoPools/src/entities/Voters/VoterInPool.ts | 28 +- .../src/entities/Voters/VoterInPoolPair.ts | 11 +- .../src/entities/Voters/VoterInProposal.ts | 27 +- DaoPools/src/entities/Voters/VoterOffchain.ts | 19 - .../global/ProposalInteractionTypeEnum.ts | 11 + .../src/entities/global/RewardTypeEnum.ts | 17 + DaoPools/src/entities/global/VoteTypeEnum.ts | 12 - DaoPools/src/entities/global/globals.ts | 6 - DaoPools/src/mappings/DaoPool.ts | 290 +- DaoPools/src/mappings/DistributionProposal.ts | 5 +- DaoPools/src/mappings/ERC721Expert.ts | 44 +- DaoPools/src/mappings/GlobalERC721Expert.ts | 30 +- DaoPools/src/mappings/PoolFactory.ts | 2 +- DaoPools/src/mappings/TokenSale.ts | 18 +- DaoPools/subgraph.yaml | 2 +- DaoPools/tests/DaoPool.test.ts | 1444 +++--- DaoPools/tests/DistributionProposal.test.ts | 13 - DaoPools/tests/ERC721Expert.test.ts | 67 +- DaoPools/tests/GlobalERC721Expert.test.ts | 9 +- DaoPools/tests/TokenSale.test.ts | 71 +- 33 files changed, 875 insertions(+), 5586 deletions(-) rename DaoPools/src/entities/{ExpertNft => }/ExpertNft.ts (75%) delete mode 100644 DaoPools/src/entities/ExpertNft/Expert.ts delete mode 100644 DaoPools/src/entities/ExpertNft/ExpertInPool.ts delete mode 100644 DaoPools/src/entities/ExpertNft/GlobalExpert.ts rename DaoPools/src/entities/{ProposalVote.ts => ProposalInteraction.ts} (53%) delete mode 100644 DaoPools/src/entities/Voters/VoterOffchain.ts create mode 100644 DaoPools/src/entities/global/ProposalInteractionTypeEnum.ts create mode 100644 DaoPools/src/entities/global/RewardTypeEnum.ts delete mode 100644 DaoPools/src/entities/global/VoteTypeEnum.ts diff --git a/AllInteractions/tests/DaoPool.test.ts b/AllInteractions/tests/DaoPool.test.ts index ab8c0a4d..e97095dd 100644 --- a/AllInteractions/tests/DaoPool.test.ts +++ b/AllInteractions/tests/DaoPool.test.ts @@ -26,7 +26,7 @@ import { onOffchainResultsSaved, } from "../src/mappings/DaoPool"; import { TransactionType } from "../src/entities/global/TransactionTypeEnum"; -import { VoteType, getEnumBigInt } from "../../DaoPools/src/entities/global/VoteTypeEnum"; +import { VoteType, getEnumBigInt } from "../src/entities/global/VoteTypeEnum"; function createProposalCreated( proposalId: BigInt, diff --git a/DaoPools/package-lock.json b/DaoPools/package-lock.json index 4d9cfd37..f0143c23 100644 --- a/DaoPools/package-lock.json +++ b/DaoPools/package-lock.json @@ -1,6 +1,6 @@ { "name": "dexe", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -5459,4205 +5459,5 @@ "node": ">=6" } } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" - }, - "@babel/highlight": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", - "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", - "requires": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - } - }, - "@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "requires": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", - "requires": { - "@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": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", - "requires": { - "@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": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", - "requires": { - "@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": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", - "requires": { - "@ethersproject/bytes": "^5.7.0" - } - }, - "@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" - } - }, - "@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0" - } - }, - "@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", - "requires": { - "@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/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" - } - }, - "@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" - }, - "@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", - "requires": { - "@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/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", - "requires": { - "@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/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", - "requires": { - "@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" - } - }, - "@float-capital/float-subgraph-uncrashable": { - "version": "0.0.0-internal-testing.5", - "resolved": "https://registry.npmjs.org/@float-capital/float-subgraph-uncrashable/-/float-subgraph-uncrashable-0.0.0-internal-testing.5.tgz", - "integrity": "sha512-yZ0H5e3EpAYKokX/AbtplzlvSxEJY7ZfpvQyDzyODkks0hakAAlDG6fQu1SlDJMWorY7bbq1j7fCiFeTWci6TA==", - "requires": { - "@rescript/std": "9.0.0", - "graphql": "^16.6.0", - "graphql-import-node": "^0.0.5", - "js-yaml": "^4.1.0" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "graphql": { - "version": "16.8.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.0.tgz", - "integrity": "sha512-0oKGaR+y3qcS5mCu1vb7KG+a89vjn06C7Ihq/dDl3jA+A8B3TKomvi3CiEcVLJQGalbu8F52LxkOym7U5sSfbg==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - } - } - }, - "@graphprotocol/graph-cli": { - "version": "0.56.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.56.0.tgz", - "integrity": "sha512-bOVtYLDLJpyqjPv9RX8DwRFePOiIlzWZhQGuznb6lY7Uk+uvjc0JSBsgPOAWjwkAI+3U1Ux7GPVwgYSLIOBXoQ==", - "requires": { - "@float-capital/float-subgraph-uncrashable": "^0.0.0-alpha.4", - "@oclif/core": "2.8.6", - "@whatwg-node/fetch": "^0.8.4", - "assemblyscript": "0.19.23", - "binary-install-raw": "0.0.13", - "chalk": "3.0.0", - "chokidar": "3.5.3", - "debug": "4.3.4", - "docker-compose": "0.23.19", - "dockerode": "2.5.8", - "fs-extra": "9.1.0", - "glob": "9.3.5", - "gluegun": "5.1.2", - "graphql": "15.5.0", - "immutable": "4.2.1", - "ipfs-http-client": "55.0.0", - "jayson": "4.0.0", - "js-yaml": "3.14.1", - "prettier": "1.19.1", - "request": "2.88.2", - "semver": "7.4.0", - "sync-request": "6.1.0", - "tmp-promise": "3.0.3", - "web3-eth-abi": "1.7.0", - "which": "2.0.2", - "yaml": "1.10.2" - } - }, - "@graphprotocol/graph-ts": { - "version": "0.31.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.31.0.tgz", - "integrity": "sha512-xreRVM6ho2BtolyOh2flDkNoGZximybnzUnF53zJVp0+Ed0KnAlO1/KOCUYw06euVI9tk0c9nA2Z/D5SIQV2Rg==", - "requires": { - "assemblyscript": "0.19.10" - }, - "dependencies": { - "assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", - "requires": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" - } - }, - "binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==" - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - } - } - }, - "@ipld/dag-cbor": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz", - "integrity": "sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==", - "requires": { - "cborg": "^1.6.0", - "multiformats": "^9.5.4" - } - }, - "@ipld/dag-json": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.11.tgz", - "integrity": "sha512-Pea7JXeYHTWXRTIhBqBlhw7G53PJ7yta3G/sizGEZyzdeEwhZRr0od5IQ0r2ZxOt1Do+2czddjeEPp+YTxDwCA==", - "requires": { - "cborg": "^1.5.4", - "multiformats": "^9.5.4" - } - }, - "@ipld/dag-pb": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.18.tgz", - "integrity": "sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg==", - "requires": { - "multiformats": "^9.5.4" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@oclif/core": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.8.6.tgz", - "integrity": "sha512-1QlPaHMhOORySCXkQyzjsIsy2GYTilOw3LkjeHkCgsPJQjAT4IclVytJusWktPbYNys9O+O4V23J44yomQvnBQ==", - "requires": { - "@types/cli-progress": "^3.11.0", - "ansi-escapes": "^4.3.2", - "ansi-styles": "^4.3.0", - "cardinal": "^2.1.1", - "chalk": "^4.1.2", - "clean-stack": "^3.0.1", - "cli-progress": "^3.12.0", - "debug": "^4.3.4", - "ejs": "^3.1.8", - "fs-extra": "^9.1.0", - "get-package-type": "^0.1.0", - "globby": "^11.1.0", - "hyperlinker": "^1.0.0", - "indent-string": "^4.0.0", - "is-wsl": "^2.2.0", - "js-yaml": "^3.14.1", - "natural-orderby": "^2.0.3", - "object-treeify": "^1.1.33", - "password-prompt": "^1.1.2", - "semver": "^7.3.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "supports-color": "^8.1.1", - "supports-hyperlinks": "^2.2.0", - "ts-node": "^10.9.1", - "tslib": "^2.5.0", - "widest-line": "^3.1.0", - "wordwrap": "^1.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - } - } - }, - "@peculiar/asn1-schema": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz", - "integrity": "sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA==", - "requires": { - "asn1js": "^3.0.5", - "pvtsutils": "^1.3.2", - "tslib": "^2.4.0" - } - }, - "@peculiar/json-schema": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz", - "integrity": "sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==", - "requires": { - "tslib": "^2.0.0" - } - }, - "@peculiar/webcrypto": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.3.tgz", - "integrity": "sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==", - "requires": { - "@peculiar/asn1-schema": "^2.3.6", - "@peculiar/json-schema": "^1.1.12", - "pvtsutils": "^1.3.2", - "tslib": "^2.5.0", - "webcrypto-core": "^1.7.7" - } - }, - "@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" - }, - "@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" - }, - "@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" - }, - "@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" - }, - "@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" - }, - "@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" - }, - "@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" - }, - "@rescript/std": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@rescript/std/-/std-9.0.0.tgz", - "integrity": "sha512-zGzFsgtZ44mgL4Xef2gOy1hrRVdrs9mcxCOOKZrIPsmbZW14yTkaF591GXxpQvjXiHtgZ/iA9qLyWH6oSReIxQ==" - }, - "@solarity/graph-lib": { - "version": "1.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@solarity/graph-lib/-/graph-lib-1.0.0-rc.5.tgz", - "integrity": "sha512-mnG9YuREf7tu54oFmROEOEtXh4eDyq4S/0S0gujz2I6knepyEEz06cvx052qaOoiHbV1Dya1ZtDfIhBMOeJaSA==", - "requires": { - "@graphprotocol/graph-ts": "0.29.3" - }, - "dependencies": { - "@graphprotocol/graph-ts": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.29.3.tgz", - "integrity": "sha512-FXBLGlunOSwjiUXYEz1J9J/I2D/myldyib/9v0R+gn/NJaYqUkXD39UmIuRxqj9cBzB/FYojHzoHidIG5nYZDw==", - "requires": { - "assemblyscript": "0.19.10" - } - }, - "assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", - "requires": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" - } - }, - "binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==" - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - } - } - }, - "@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" - }, - "@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" - }, - "@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" - }, - "@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" - }, - "@types/bn.js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", - "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", - "requires": { - "@types/node": "*" - } - }, - "@types/cli-progress": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.0.tgz", - "integrity": "sha512-XhXhBv1R/q2ahF3BM7qT5HLzJNlIL0wbcGyZVjqOTqAybAnsLisd7gy1UCyIqpL+5Iv6XhlSyzjLCnI2sIdbCg==", - "requires": { - "@types/node": "*" - } - }, - "@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "requires": { - "@types/node": "*" - } - }, - "@types/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" - }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" - }, - "@types/node": { - "version": "20.5.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.7.tgz", - "integrity": "sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "requires": { - "@types/node": "*" - } - }, - "@types/ws": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", - "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", - "requires": { - "@types/node": "*" - } - }, - "@whatwg-node/events": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@whatwg-node/events/-/events-0.0.3.tgz", - "integrity": "sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==" - }, - "@whatwg-node/fetch": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.8.8.tgz", - "integrity": "sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==", - "requires": { - "@peculiar/webcrypto": "^1.4.0", - "@whatwg-node/node-fetch": "^0.3.6", - "busboy": "^1.6.0", - "urlpattern-polyfill": "^8.0.0", - "web-streams-polyfill": "^3.2.1" - } - }, - "@whatwg-node/node-fetch": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.3.6.tgz", - "integrity": "sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==", - "requires": { - "@whatwg-node/events": "^0.0.3", - "busboy": "^1.6.0", - "fast-querystring": "^1.1.1", - "fast-url-parser": "^1.1.3", - "tslib": "^2.3.1" - } - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "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": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "ansicolors": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==" - }, - "any-signal": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-2.1.2.tgz", - "integrity": "sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==", - "requires": { - "abort-controller": "^3.0.0", - "native-abort-controller": "^1.0.3" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "apisauce": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-2.1.6.tgz", - "integrity": "sha512-MdxR391op/FucS2YQRfB/NMRyCnHEPDd4h17LRIuVYi0BpGmMhpxc0shbOpfs5ahABuBEffNCGal5EcsydbBWg==", - "requires": { - "axios": "^0.21.4" - } - }, - "app-module-path": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", - "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==" - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1js": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", - "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", - "requires": { - "pvtsutils": "^1.3.2", - "pvutils": "^1.1.3", - "tslib": "^2.4.0" - } - }, - "assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "requires": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" - }, - "aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" - }, - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "requires": { - "follow-redirects": "^1.14.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "binary-install-raw": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/binary-install-raw/-/binary-install-raw-0.0.13.tgz", - "integrity": "sha512-v7ms6N/H7iciuk6QInon3/n2mu7oRX+6knJ9xFPsJ3rQePgAqcR3CRTwUheFd8SLbiq4LL7Z4G/44L9zscdt9A==", - "requires": { - "axios": "^0.21.1", - "rimraf": "^3.0.2", - "tar": "^6.1.0" - } - }, - "binaryen": { - "version": "102.0.0-nightly.20211028", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", - "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==" - }, - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "blob-to-it": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", - "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", - "requires": { - "browser-readablestream-to-it": "^1.0.3" - } - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "browser-readablestream-to-it": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", - "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==" - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "requires": { - "base-x": "^3.0.2" - } - }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" - }, - "busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "requires": { - "streamsearch": "^1.1.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "cardinal": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", - "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", - "requires": { - "ansicolors": "~0.3.2", - "redeyed": "~2.1.0" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "cborg": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.2.tgz", - "integrity": "sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==" - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "clean-stack": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", - "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", - "requires": { - "escape-string-regexp": "4.0.0" - } - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-progress": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", - "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", - "requires": { - "string-width": "^4.2.3" - } - }, - "cli-spinners": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", - "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==" - }, - "cli-table3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz", - "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", - "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", - "string-width": "^4.2.0" - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "requires": { - "clone": "^1.0.2" - } - }, - "delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "dns-over-http-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", - "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", - "requires": { - "debug": "^4.3.1", - "native-fetch": "^3.0.0", - "receptacle": "^1.3.2" - } - }, - "docker-compose": { - "version": "0.23.19", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.19.tgz", - "integrity": "sha512-v5vNLIdUqwj4my80wxFDkNH+4S85zsRuH29SO7dCWVWPCMt/ohZBsGN6g6KXWifT0pzQ7uOxqEKCYCDPJ8Vz4g==", - "requires": { - "yaml": "^1.10.2" - } - }, - "docker-modem": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.9.tgz", - "integrity": "sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw==", - "requires": { - "debug": "^3.2.6", - "JSONStream": "1.3.2", - "readable-stream": "~1.0.26-4", - "split-ca": "^1.0.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - } - } - }, - "dockerode": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.8.tgz", - "integrity": "sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==", - "requires": { - "concat-stream": "~1.6.2", - "docker-modem": "^1.0.8", - "tar-fs": "~1.16.3" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", - "requires": { - "jake": "^10.8.5" - } - }, - "electron-fetch": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", - "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", - "requires": { - "encoding": "^0.1.13" - } - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "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" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "requires": { - "iconv-lite": "^0.6.2" - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "err-code": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", - "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", - "requires": { - "es6-promise": "^4.0.3" - } - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "requires": { - "js-sha3": "^0.8.0" - } - }, - "ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "requires": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - } - }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", - "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - } - } - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" - }, - "eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==" - }, - "fast-decode-uri-component": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", - "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" - }, - "fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "requires": { - "@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": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-querystring": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", - "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", - "requires": { - "fast-decode-uri-component": "^1.0.1" - } - }, - "fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", - "requires": { - "punycode": "^1.3.2" - } - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "requires": { - "reusify": "^1.0.4" - } - }, - "filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "requires": { - "minimatch": "^5.0.1" - }, - "dependencies": { - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-jetpack": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-4.3.1.tgz", - "integrity": "sha512-dbeOK84F6BiQzk2yqqCVwCPWTxAvVGJ3fMQc6E2wuEohS28mR6yHngbrKuVCK1KHRx/ccByDylqu4H5PCP2urQ==", - "requires": { - "minimatch": "^3.0.2", - "rimraf": "^2.6.3" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "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" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "optional": true - }, - "get-iterator": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", - "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "9.3.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", - "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "minimatch": "^8.0.2", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "requires": { - "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" - } - }, - "gluegun": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/gluegun/-/gluegun-5.1.2.tgz", - "integrity": "sha512-Cwx/8S8Z4YQg07a6AFsaGnnnmd8mN17414NcPS3OoDtZRwxgsvwRNJNg69niD6fDa8oNwslCG0xH7rEpRNNE/g==", - "requires": { - "apisauce": "^2.1.5", - "app-module-path": "^2.2.0", - "cli-table3": "0.6.0", - "colors": "1.4.0", - "cosmiconfig": "7.0.1", - "cross-spawn": "7.0.3", - "ejs": "3.1.6", - "enquirer": "2.3.6", - "execa": "5.1.1", - "fs-jetpack": "4.3.1", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "lodash.lowercase": "^4.3.0", - "lodash.lowerfirst": "^4.3.1", - "lodash.pad": "^4.5.1", - "lodash.padend": "^4.6.1", - "lodash.padstart": "^4.6.1", - "lodash.repeat": "^4.1.0", - "lodash.snakecase": "^4.1.1", - "lodash.startcase": "^4.4.0", - "lodash.trim": "^4.5.1", - "lodash.trimend": "^4.5.1", - "lodash.trimstart": "^4.5.1", - "lodash.uppercase": "^4.3.0", - "lodash.upperfirst": "^4.3.1", - "ora": "4.0.2", - "pluralize": "^8.0.0", - "semver": "7.3.5", - "which": "2.0.2", - "yargs-parser": "^21.0.0" - }, - "dependencies": { - "ejs": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", - "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", - "requires": { - "jake": "^10.6.1" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "graphql": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", - "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==" - }, - "graphql-import-node": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/graphql-import-node/-/graphql-import-node-0.0.5.tgz", - "integrity": "sha512-OXbou9fqh9/Lm7vwXT0XoRN9J5+WCYKnbiTalgFDvkQERITRmcfncZs6aVABedd5B85yQU5EULS4a5pnbpuI0Q==", - "requires": {} - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - }, - "hyperlinker": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", - "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==" - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" - }, - "immutable": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.1.tgz", - "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "interface-datastore": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.1.tgz", - "integrity": "sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg==", - "requires": { - "interface-store": "^2.0.2", - "nanoid": "^3.0.2", - "uint8arrays": "^3.0.0" - } - }, - "interface-store": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", - "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==" - }, - "ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" - }, - "ipfs-core-types": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.9.0.tgz", - "integrity": "sha512-VJ8vJSHvI1Zm7/SxsZo03T+zzpsg8pkgiIi5hfwSJlsrJ1E2v68QPlnLshGHUSYw89Oxq0IbETYl2pGTFHTWfg==", - "requires": { - "interface-datastore": "^6.0.2", - "multiaddr": "^10.0.0", - "multiformats": "^9.4.13" - } - }, - "ipfs-core-utils": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.13.0.tgz", - "integrity": "sha512-HP5EafxU4/dLW3U13CFsgqVO5Ika8N4sRSIb/dTg16NjLOozMH31TXV0Grtu2ZWo1T10ahTzMvrfT5f4mhioXw==", - "requires": { - "any-signal": "^2.1.2", - "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.9.0", - "ipfs-unixfs": "^6.0.3", - "ipfs-utils": "^9.0.2", - "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.4.13", - "nanoid": "^3.1.23", - "parse-duration": "^1.0.0", - "timeout-abort-controller": "^2.0.0", - "uint8arrays": "^3.0.0" - } - }, - "ipfs-http-client": { - "version": "55.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-55.0.0.tgz", - "integrity": "sha512-GpvEs7C7WL9M6fN/kZbjeh4Y8YN7rY8b18tVWZnKxRsVwM25cIFrRI8CwNt3Ugin9yShieI3i9sPyzYGMrLNnQ==", - "requires": { - "@ipld/dag-cbor": "^7.0.0", - "@ipld/dag-json": "^8.0.1", - "@ipld/dag-pb": "^2.1.3", - "abort-controller": "^3.0.0", - "any-signal": "^2.1.2", - "debug": "^4.1.1", - "err-code": "^3.0.1", - "ipfs-core-types": "^0.9.0", - "ipfs-core-utils": "^0.13.0", - "ipfs-utils": "^9.0.2", - "it-first": "^1.0.6", - "it-last": "^1.0.4", - "merge-options": "^3.0.4", - "multiaddr": "^10.0.0", - "multiformats": "^9.4.13", - "native-abort-controller": "^1.0.3", - "parse-duration": "^1.0.0", - "stream-to-it": "^0.2.2", - "uint8arrays": "^3.0.0" - } - }, - "ipfs-unixfs": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz", - "integrity": "sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ==", - "requires": { - "err-code": "^3.0.1", - "protobufjs": "^6.10.2" - } - }, - "ipfs-utils": { - "version": "9.0.14", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz", - "integrity": "sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg==", - "requires": { - "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" - }, - "dependencies": { - "any-signal": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz", - "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==" - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - }, - "is-electron": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", - "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==" - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" - }, - "is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "requires": { - "ip-regex": "^4.0.0" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "iso-url": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", - "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==" - }, - "isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "requires": {} - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "it-all": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", - "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" - }, - "it-first": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", - "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==" - }, - "it-glob": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", - "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", - "requires": { - "@types/minimatch": "^3.0.4", - "minimatch": "^3.0.4" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "it-last": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", - "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==" - }, - "it-map": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", - "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==" - }, - "it-peekable": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", - "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==" - }, - "it-to-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", - "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", - "requires": { - "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" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", - "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jayson": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.0.0.tgz", - "integrity": "sha512-v2RNpDCMu45fnLzSk47vx7I+QUaOsox6f5X0CUlabAFwxoP+8MfAY0NQRFwOEYXIxm8Ih5y6OaEa5KYiQMkyAA==", - "requires": { - "@types/connect": "^3.4.33", - "@types/node": "^12.12.54", - "@types/ws": "^7.4.4", - "commander": "^2.20.3", - "delay": "^5.0.0", - "es6-promisify": "^5.0.0", - "eyes": "^0.1.8", - "isomorphic-ws": "^4.0.1", - "json-stringify-safe": "^5.0.1", - "JSONStream": "^1.3.5", - "uuid": "^8.3.2", - "ws": "^7.4.5" - }, - "dependencies": { - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" - }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - } - } - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==" - }, - "JSONStream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", - "integrity": "sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA==", - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "keccak": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz", - "integrity": "sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==", - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==" - }, - "lodash.lowercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.lowercase/-/lodash.lowercase-4.3.0.tgz", - "integrity": "sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA==" - }, - "lodash.lowerfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.lowerfirst/-/lodash.lowerfirst-4.3.1.tgz", - "integrity": "sha512-UUKX7VhP1/JL54NXg2aq/E1Sfnjjes8fNYTNkPU8ZmsaVeBvPHKdbNaN79Re5XRL01u6wbq3j0cbYZj71Fcu5w==" - }, - "lodash.pad": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", - "integrity": "sha512-mvUHifnLqM+03YNzeTBS1/Gr6JRFjd3rRx88FHWUvamVaT9k2O/kXha3yBSOwB9/DTQrSTLJNHvLBBt2FdX7Mg==" - }, - "lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==" - }, - "lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha512-sW73O6S8+Tg66eY56DBk85aQzzUJDtpoXFBgELMd5P/SotAguo+1kYO6RuYgXxA4HJH3LFTFPASX6ET6bjfriw==" - }, - "lodash.repeat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", - "integrity": "sha512-eWsgQW89IewS95ZOcr15HHCX6FVDxq3f2PNUIng3fyzsPev9imFQxIYdFZ6crl8L56UR6ZlGDLcEb3RZsCSSqw==" - }, - "lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" - }, - "lodash.startcase": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==" - }, - "lodash.trim": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trim/-/lodash.trim-4.5.1.tgz", - "integrity": "sha512-nJAlRl/K+eiOehWKDzoBVrSMhK0K3A3YQsUNXHQa5yIrKBAhsZgSu3KoAFoFT+mEgiyBHddZ0pRk1ITpIp90Wg==" - }, - "lodash.trimend": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimend/-/lodash.trimend-4.5.1.tgz", - "integrity": "sha512-lsD+k73XztDsMBKPKvzHXRKFNMohTjoTKIIo4ADLn5dA65LZ1BqlAvSXhR2rPEC3BgAUQnzMnorqDtqn2z4IHA==" - }, - "lodash.trimstart": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz", - "integrity": "sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ==" - }, - "lodash.uppercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.uppercase/-/lodash.uppercase-4.3.0.tgz", - "integrity": "sha512-+Nbnxkj7s8K5U8z6KnEYPGUOGp3woZbB7Ecs7v3LkkjLQSm2kP9SKIILitN1ktn2mB/tmM9oSlku06I+/lH7QA==" - }, - "lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==" - }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "requires": { - "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "long": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" - }, - "lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - }, - "matchstick-as": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.2.tgz", - "integrity": "sha512-fb1OVphDKEvJY06Ue02Eh1CNncuW95vp6b8tNAP7UIqplICSLoU/zgN6U7ge7R0upsoO78C7CRi4EyK/7Jxz7g==", - "requires": { - "wabt": "1.0.24" - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "merge-options": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", - "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", - "requires": { - "is-plain-obj": "^2.1.0" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "minimatch": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", - "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - }, - "minipass": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==" - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multiaddr": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", - "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", - "requires": { - "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" - } - }, - "multiaddr-to-uri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", - "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", - "requires": { - "multiaddr": "^10.0.0" - } - }, - "multiformats": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", - "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" - }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" - }, - "native-abort-controller": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.4.tgz", - "integrity": "sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ==", - "requires": {} - }, - "native-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", - "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", - "requires": {} - }, - "natural-orderby": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", - "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==" - }, - "node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-gyp-build": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", - "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", - "requires": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - } - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-treeify": { - "version": "1.1.33", - "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", - "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "ora": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz", - "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==", - "requires": { - "chalk": "^2.4.2", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "strip-ansi": "^5.2.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "p-defer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", - "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" - }, - "p-fifo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", - "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", - "requires": { - "fast-fifo": "^1.0.0", - "p-defer": "^3.0.0" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "parse-duration": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.1.0.tgz", - "integrity": "sha512-z6t9dvSJYaPoQq7quMzdEagSFtpGu+utzHqqxmpVWNNZRIXnvqyCvn9XsTdh7c/w0Bqmdz3RB3YnRaKtpRtEXQ==" - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "password-prompt": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz", - "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==", - "requires": { - "ansi-escapes": "^4.3.2", - "cross-spawn": "^7.0.3" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", - "requires": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "dependencies": { - "minipass": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", - "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==" - } - } - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==" - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { - "asap": "~2.0.6" - } - }, - "protobufjs": { - "version": "6.11.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", - "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", - "requires": { - "@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" - }, - "dependencies": { - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - } - } - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" - }, - "pvtsutils": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz", - "integrity": "sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==", - "requires": { - "tslib": "^2.6.1" - } - }, - "pvutils": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", - "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==" - }, - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "react-native-fetch-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz", - "integrity": "sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==", - "requires": { - "p-defer": "^3.0.0" - } - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "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": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "receptacle": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", - "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", - "requires": { - "ms": "^2.1.1" - } - }, - "redeyed": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", - "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", - "requires": { - "esprima": "~4.0.0" - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "retimer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", - "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "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" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "requires": { - "bn.js": "^5.2.0" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "requires": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - }, - "semver": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", - "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "split-ca": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", - "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "stream-to-it": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", - "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", - "requires": { - "get-iterator": "^1.0.2" - } - }, - "streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "requires": { - "get-port": "^3.1.0" - } - }, - "tar": { - "version": "6.1.15", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", - "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==" - } - } - }, - "tar-fs": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", - "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", - "requires": { - "chownr": "^1.0.1", - "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" - }, - "dependencies": { - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - } - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - }, - "then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - } - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, - "timeout-abort-controller": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-2.0.0.tgz", - "integrity": "sha512-2FAPXfzTPYEgw27bQGTHc0SzrbmnU2eso4qo172zMLZzaGqeu09PFa5B2FCUHM1tflgRqPgn5KQgp6+Vex4uNA==", - "requires": { - "abort-controller": "^3.0.0", - "native-abort-controller": "^1.0.4", - "retimer": "^3.0.0" - } - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "requires": { - "rimraf": "^3.0.0" - } - }, - "tmp-promise": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", - "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", - "requires": { - "tmp": "^0.2.0" - } - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "dependencies": { - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - } - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "requires": { - "@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" - } - }, - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", - "peer": true - }, - "uint8arrays": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", - "requires": { - "multiformats": "^9.4.2" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - } - } - }, - "urlpattern-polyfill": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", - "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==" - }, - "utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" - }, - "varint": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", - "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - } - } - }, - "wabt": { - "version": "1.0.24", - "resolved": "https://registry.npmjs.org/wabt/-/wabt-1.0.24.tgz", - "integrity": "sha512-8l7sIOd3i5GWfTWciPL0+ff/FK/deVK2Q6FN+MPz4vfUcD78i2M/49XJTwF6aml91uIiuXJEsLKWMB2cw/mtKg==" - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "requires": { - "defaults": "^1.0.3" - } - }, - "web-streams-polyfill": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" - }, - "web3-eth-abi": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", - "integrity": "sha512-heqR0bWxgCJwjWIhq2sGyNj9bwun5+Xox/LdZKe+WMyTSy0cXDXEAgv3XKNkXC4JqdDt/ZlbTEx4TWak4TRMSg==", - "requires": { - "@ethersproject/abi": "5.0.7", - "web3-utils": "1.7.0" - } - }, - "web3-utils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.0.tgz", - "integrity": "sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w==", - "requires": { - "bn.js": "^4.11.9", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } - } - }, - "webcrypto-core": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.7.tgz", - "integrity": "sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g==", - "requires": { - "@peculiar/asn1-schema": "^2.3.6", - "@peculiar/json-schema": "^1.1.12", - "asn1js": "^3.0.1", - "pvtsutils": "^1.3.2", - "tslib": "^2.4.0" - } - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "requires": { - "string-width": "^4.0.0" - } - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "requires": {} - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" - } } } diff --git a/DaoPools/src/entities/DelegationHistory.ts b/DaoPools/src/entities/DelegationHistory.ts index 25d25e37..72e8687e 100644 --- a/DaoPools/src/entities/DelegationHistory.ts +++ b/DaoPools/src/entities/DelegationHistory.ts @@ -21,8 +21,8 @@ export function getDelegationHistory( if (history == null) { history = new DelegationHistory(id); history.amount = amount; - history.from = from.id; - history.to = to.id; + history.delegator = from.id; + history.delegatee = to.id; history.type = getEnumBigInt(type); history.timestamp = timestamp; history.nfts = nfts; diff --git a/DaoPools/src/entities/ExpertNft/ExpertNft.ts b/DaoPools/src/entities/ExpertNft.ts similarity index 75% rename from DaoPools/src/entities/ExpertNft/ExpertNft.ts rename to DaoPools/src/entities/ExpertNft.ts index de8f34bb..e43384e9 100644 --- a/DaoPools/src/entities/ExpertNft/ExpertNft.ts +++ b/DaoPools/src/entities/ExpertNft.ts @@ -1,15 +1,13 @@ import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { ExpertNft } from "../../../generated/schema"; +import { ExpertNft } from "../../generated/schema"; -export function getExpertNft(expertNftAddress: Address, tokenId: BigInt, expert: Bytes = Bytes.empty()): ExpertNft { +export function getExpertNft(expertNftAddress: Address, tokenId: BigInt): ExpertNft { const id = expertNftAddress.concat(Bytes.fromByteArray(Bytes.fromBigInt(tokenId))); let expertNft = ExpertNft.load(id); if (expertNft == null) { expertNft = new ExpertNft(id); - expertNft.expert = expert; - expertNft.tokenId = tokenId; expertNft.tags = new Array(); } diff --git a/DaoPools/src/entities/ExpertNft/Expert.ts b/DaoPools/src/entities/ExpertNft/Expert.ts deleted file mode 100644 index 6975c9c1..00000000 --- a/DaoPools/src/entities/ExpertNft/Expert.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Address, Bytes } from "@graphprotocol/graph-ts"; -import { Expert } from "../../../generated/schema"; - -export function getExpert(expertAddress: Address): Expert { - let expert = Expert.load(expertAddress); - - if (expert == null) { - expert = new Expert(expertAddress); - expert.pools = new Array(); - } - - return expert; -} diff --git a/DaoPools/src/entities/ExpertNft/ExpertInPool.ts b/DaoPools/src/entities/ExpertNft/ExpertInPool.ts deleted file mode 100644 index f35bc83b..00000000 --- a/DaoPools/src/entities/ExpertNft/ExpertInPool.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { Expert, ExpertInPool } from "../../../generated/schema"; - -export function getExpertInPool(expert: Expert, pool: Bytes, tokenId: BigInt = BigInt.zero()): ExpertInPool { - const id = expert.id.concat(pool); - let expertInPool = ExpertInPool.load(id); - - if (expertInPool == null) { - expertInPool = new ExpertInPool(id); - expertInPool.tokenId = tokenId; - - expertInPool.expert = expert.id; - expertInPool.pool = pool; - } - - return expertInPool; -} diff --git a/DaoPools/src/entities/ExpertNft/GlobalExpert.ts b/DaoPools/src/entities/ExpertNft/GlobalExpert.ts deleted file mode 100644 index a89da631..00000000 --- a/DaoPools/src/entities/ExpertNft/GlobalExpert.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Address, Bytes } from "@graphprotocol/graph-ts"; -import { GlobalExpert } from "../../../generated/schema"; - -export function getGlobalExpert(expertAddress: Address, nft: Bytes = Bytes.empty()): GlobalExpert { - let expert = GlobalExpert.load(expertAddress); - - if (expert == null) { - expert = new GlobalExpert(expertAddress); - expert.nft = nft; - } - - return expert; -} diff --git a/DaoPools/src/entities/Proposal.ts b/DaoPools/src/entities/Proposal.ts index e4893500..0e2e67f3 100644 --- a/DaoPools/src/entities/Proposal.ts +++ b/DaoPools/src/entities/Proposal.ts @@ -16,21 +16,26 @@ export function getProposal( proposal = new Proposal(id); proposal.proposalId = proposalId; + proposal.creator = creator; + proposal.isFor = false; proposal.executor = Bytes.empty(); proposal.executionTimestamp = BigInt.zero(); + + proposal.rewardToken = rewardToken; + proposal.currentVotesFor = BigInt.zero(); proposal.currentVotesAgainst = BigInt.zero(); proposal.quorum = quorum; + + proposal.description = description; + proposal.votersVoted = BigInt.zero(); - proposal.settings = Bytes.empty(); proposal.voters = new Array(); - proposal.description = description; - proposal.votesCount = BigInt.zero(); - proposal.rewardToken = rewardToken; proposal.pool = pool.id; + proposal.settings = Bytes.empty(); } return proposal; diff --git a/DaoPools/src/entities/ProposalVote.ts b/DaoPools/src/entities/ProposalInteraction.ts similarity index 53% rename from DaoPools/src/entities/ProposalVote.ts rename to DaoPools/src/entities/ProposalInteraction.ts index 20289e42..93506077 100644 --- a/DaoPools/src/entities/ProposalVote.ts +++ b/DaoPools/src/entities/ProposalInteraction.ts @@ -1,29 +1,30 @@ import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { ProposalVote, VoterInProposal } from "../../generated/schema"; +import { ProposalInteraction, VoterInProposal } from "../../generated/schema"; import { increaseCounter } from "../helpers/IncreaseCounter"; import { getInteractionCount } from "./global/InteractionCount"; -export function getProposalVote( +export function getProposalInteraction( hash: Bytes, voterInProposal: VoterInProposal, timestamp: BigInt, - voteType: BigInt, - amount: BigInt, - isVoteFor: boolean -): ProposalVote { + interactionType: BigInt, + personalVote: BigInt, + micropoolVote: BigInt, + treasuryVote: BigInt +): ProposalInteraction { let counter = getInteractionCount(hash); let id = hash.concatI32(counter.count.toI32()); - let proposalVote = ProposalVote.load(id); + let proposalVote = ProposalInteraction.load(id); if (proposalVote == null) { - proposalVote = new ProposalVote(id); + proposalVote = new ProposalInteraction(id); proposalVote.hash = hash; proposalVote.timestamp = timestamp; - proposalVote.voteType = voteType; - proposalVote.amount = amount; - - proposalVote.isVoteFor = isVoteFor; + proposalVote.interactionType = interactionType; + proposalVote.personalVote = personalVote; + proposalVote.micropoolVote = micropoolVote; + proposalVote.treasuryVote = treasuryVote; proposalVote.proposal = voterInProposal.proposal; proposalVote.voter = voterInProposal.id; diff --git a/DaoPools/src/entities/TokenSale.ts b/DaoPools/src/entities/TokenSale.ts index bbdddde8..4d59777b 100644 --- a/DaoPools/src/entities/TokenSale.ts +++ b/DaoPools/src/entities/TokenSale.ts @@ -1,18 +1,13 @@ import { Address, Bytes } from "@graphprotocol/graph-ts"; -import { TokenSale } from "../../generated/schema"; +import { TokenSaleContract } from "../../generated/schema"; -export function getTokenSale( - tokenSaleAddress: Address, - poolId: Bytes = Bytes.empty(), - tokenAddress: Address = Address.zero() -): TokenSale { - let tokenSale = TokenSale.load(tokenSaleAddress); +export function getTokenSale(tokenSaleAddress: Address, poolId: Bytes = Bytes.empty()): TokenSaleContract { + let tokenSale = TokenSaleContract.load(tokenSaleAddress); if (tokenSale == null) { - tokenSale = new TokenSale(tokenSaleAddress); + tokenSale = new TokenSaleContract(tokenSaleAddress); - tokenSale.token = tokenAddress; - tokenSale.pool = poolId; + tokenSale.daoPool = poolId; } return tokenSale; diff --git a/DaoPools/src/entities/TokenSaleTier.ts b/DaoPools/src/entities/TokenSaleTier.ts index 0d10a5cd..332bcecf 100644 --- a/DaoPools/src/entities/TokenSaleTier.ts +++ b/DaoPools/src/entities/TokenSaleTier.ts @@ -1,10 +1,10 @@ import { Address, BigInt } from "@graphprotocol/graph-ts"; -import { TokenSale, TokenSaleTier } from "../../generated/schema"; +import { TokenSaleContract, TokenSaleTier } from "../../generated/schema"; export function getTokenSaleTier( - tokenSale: TokenSale, + tokenSale: TokenSaleContract, tierId: BigInt, - tierToken: Address = Address.zero() + saleToken: Address = Address.zero() ): TokenSaleTier { let id = tokenSale.id.concatI32(tierId.toI32()); let tier = TokenSaleTier.load(id); @@ -12,11 +12,14 @@ export function getTokenSaleTier( if (tier == null) { tier = new TokenSaleTier(id); + tier.saleToken = saleToken; + + tier.totalBuyersCount = BigInt.zero(); + tier.buyers = new Array(); + + tier.whitelistType = BigInt.zero(); + tier.tokenSale = tokenSale.id; - tier.totalUserCount = BigInt.zero(); - tier.tierToken = tierToken; - tier.voters = new Array(); - tier.userWhitelist = new Array(); } return tier; diff --git a/DaoPools/src/entities/TreasuryDelegationHistory.ts b/DaoPools/src/entities/TreasuryDelegationHistory.ts index b52e687a..2420fe4e 100644 --- a/DaoPools/src/entities/TreasuryDelegationHistory.ts +++ b/DaoPools/src/entities/TreasuryDelegationHistory.ts @@ -20,7 +20,7 @@ export function getTreasuryDelegationHistory( if (history == null) { history = new TreasuryDelegationHistory(id); history.amount = amount; - history.to = to.id; + history.delegatee = to.id; history.type = getEnumBigInt(type); history.timestamp = timestamp; history.nfts = nfts; diff --git a/DaoPools/src/entities/Voters/Voter.ts b/DaoPools/src/entities/Voters/Voter.ts index 7afcf9b2..0f364964 100644 --- a/DaoPools/src/entities/Voters/Voter.ts +++ b/DaoPools/src/entities/Voters/Voter.ts @@ -1,4 +1,4 @@ -import { Address, BigInt } from "@graphprotocol/graph-ts"; +import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; import { Voter } from "../../../generated/schema"; export function getVoter(voterAddress: Address): Voter { @@ -7,9 +7,11 @@ export function getVoter(voterAddress: Address): Voter { if (voter == null) { voter = new Voter(voterAddress); + voter.expertNft = Bytes.empty(); + voter.totalProposalsCreated = BigInt.zero(); voter.totalClaimedUSD = BigInt.zero(); - voter.totalUnclaimedUSD = BigInt.zero(); + voter.totalRewardedUSD = BigInt.zero(); voter.totalDelegatedUSD = BigInt.zero(); voter.totalLockedFundsUSD = BigInt.zero(); voter.totalVotedProposals = BigInt.zero(); diff --git a/DaoPools/src/entities/Voters/VoterInPool.ts b/DaoPools/src/entities/Voters/VoterInPool.ts index 15d73199..01823698 100644 --- a/DaoPools/src/entities/Voters/VoterInPool.ts +++ b/DaoPools/src/entities/Voters/VoterInPool.ts @@ -10,10 +10,9 @@ export function getVoterInPool(pool: DaoPool, voter: Voter, timestamp: BigInt): voterInPool.joinedTimestamp = timestamp; + voterInPool.expertNft = Bytes.empty(); + voterInPool.receivedDelegation = BigInt.zero(); - voterInPool.totalDPClaimed = BigInt.zero(); - voterInPool.totalClaimedUSD = BigInt.zero(); - voterInPool.claimedDPs = new Array(); voterInPool.receivedNFTDelegation = new Array(); voterInPool.receivedNFTDelegationCount = BigInt.zero(); @@ -21,27 +20,20 @@ export function getVoterInPool(pool: DaoPool, voter: Voter, timestamp: BigInt): voterInPool.receivedTreasuryNFTDelegation = new Array(); voterInPool.receivedTreasuryNFTDelegationCount = BigInt.zero(); - voterInPool.requestedTokensAmount = BigInt.zero(); - voterInPool.requestedNft = new Array(); - voterInPool.requestedNftCount = BigInt.zero(); - - voterInPool.totalDelegationRewardUSDFor = BigInt.zero(); - voterInPool.totalDelegationRewardUSDAgainst = BigInt.zero(); + voterInPool.totalLockedUSD = BigInt.zero(); + voterInPool.totalClaimedUSD = BigInt.zero(); + voterInPool.rewardedUSD = BigInt.zero(); + voterInPool.engagedProposalsCount = BigInt.zero(); voterInPool.currentDelegatorsCount = BigInt.zero(); - voterInPool.pool = pool.id; - voterInPool.voter = voter.id; - voterInPool.APR = BigInt.zero(); - voterInPool.cusum = BigInt.zero(); - voterInPool.lastUpdate = BigInt.zero(); - - voterInPool.totalLockedFundsUSD = BigInt.zero(); + voterInPool._cusum = BigInt.zero(); + voterInPool._lastUpdate = BigInt.zero(); - voterInPool.totalStakingReward = BigInt.zero(); + voterInPool.pool = pool.id; + voterInPool.voter = voter.id; - voterInPool.proposalsCount = BigInt.zero(); voterInPool.proposals = new Array(); pool.votersCount = pool.votersCount.plus(BigInt.fromI32(1)); diff --git a/DaoPools/src/entities/Voters/VoterInPoolPair.ts b/DaoPools/src/entities/Voters/VoterInPoolPair.ts index aae29d42..657d81f4 100644 --- a/DaoPools/src/entities/Voters/VoterInPoolPair.ts +++ b/DaoPools/src/entities/Voters/VoterInPoolPair.ts @@ -8,14 +8,11 @@ export function getVoterInPoolPair(from: VoterInPool, to: VoterInPool): VoterInP if (pair == null) { pair = new VoterInPoolPair(id); - pair.from = from.id; - pair.to = to.id; + pair.delegator = from.id; + pair.delegatee = to.id; - pair.delegateAmount = BigInt.zero(); - pair.delegateNfts = new Array(); - - pair.requestAmount = BigInt.zero(); - pair.requestNfts = new Array(); + pair.delegatedAmount = BigInt.zero(); + pair.delegatedNfts = new Array(); } return pair; diff --git a/DaoPools/src/entities/Voters/VoterInProposal.ts b/DaoPools/src/entities/Voters/VoterInProposal.ts index 019f974c..aa66bd52 100644 --- a/DaoPools/src/entities/Voters/VoterInProposal.ts +++ b/DaoPools/src/entities/Voters/VoterInProposal.ts @@ -7,24 +7,23 @@ export function getVoterInProposal(proposal: Proposal, voterInPool: VoterInPool) if (voterInProposal == null) { voterInProposal = new VoterInProposal(id); - voterInProposal.pool = voterInPool.pool; - voterInProposal.proposal = proposal.id; - voterInProposal.voter = voterInPool.id; - voterInProposal.totalVoteForAmount = BigInt.zero(); - voterInProposal.totalVoteAgainstAmount = BigInt.zero(); - voterInProposal.totalDelegatedVoteForAmount = BigInt.zero(); - voterInProposal.totalDelegatedVoteAgainstAmount = BigInt.zero(); + voterInProposal.isVoteFor = false; + + voterInProposal.personalVote = BigInt.zero(); + voterInProposal.micropoolVote = BigInt.zero(); + voterInProposal.treasuryVote = BigInt.zero(); - voterInProposal.totalTreasuryVoteForAmount = BigInt.zero(); - voterInProposal.totalTreasuryVoteAgainstAmount = BigInt.zero(); + voterInProposal.staticRewardUSD = BigInt.zero(); + voterInProposal.personalRewardUSD = BigInt.zero(); + voterInProposal.micropoolRewardUSD = BigInt.zero(); + voterInProposal.treasuryRewardUSD = BigInt.zero(); voterInProposal.claimedRewardUSD = BigInt.zero(); - voterInProposal.claimedDpRewardUSD = BigInt.zero(); - voterInProposal.unclaimedRewardUSDFor = BigInt.zero(); - voterInProposal.unclaimedRewardUSDAgainst = BigInt.zero(); - voterInProposal.unclaimedRewardFromDelegationsUSDFor = BigInt.zero(); - voterInProposal.unclaimedRewardFromDelegationsUSDAgainst = BigInt.zero(); + + voterInProposal.pool = voterInPool.pool; + voterInProposal.proposal = proposal.id; + voterInProposal.voter = voterInPool.id; } return voterInProposal; diff --git a/DaoPools/src/entities/Voters/VoterOffchain.ts b/DaoPools/src/entities/Voters/VoterOffchain.ts deleted file mode 100644 index 7295da0f..00000000 --- a/DaoPools/src/entities/Voters/VoterOffchain.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; -import { DaoPool, Voter, VoterOffchain } from "../../../generated/schema"; - -export function getVoterOffchain(voter: Voter, pool: DaoPool): VoterOffchain { - const id = voter.id.concat(pool.id); - let voterOffchain = VoterOffchain.load(id); - - if (voterOffchain == null) { - voterOffchain = new VoterOffchain(id); - - voterOffchain.voter = voter.id; - voterOffchain.pool = pool.id; - - voterOffchain.rewardUSD = BigInt.zero(); - voterOffchain.claimedRewardUSD = BigInt.zero(); - } - - return voterOffchain; -} diff --git a/DaoPools/src/entities/global/ProposalInteractionTypeEnum.ts b/DaoPools/src/entities/global/ProposalInteractionTypeEnum.ts new file mode 100644 index 00000000..3b2c9c6d --- /dev/null +++ b/DaoPools/src/entities/global/ProposalInteractionTypeEnum.ts @@ -0,0 +1,11 @@ +import { BigInt } from "@graphprotocol/graph-ts"; + +export enum ProposalInteractionType { + VOTE_FOR = 1, + VOTE_AGAINST = 2, + VOTE_CANCEL = 3, +} + +export function getEnumBigInt(operation: ProposalInteractionType): BigInt { + return BigInt.fromI32(operation as i32); +} diff --git a/DaoPools/src/entities/global/RewardTypeEnum.ts b/DaoPools/src/entities/global/RewardTypeEnum.ts new file mode 100644 index 00000000..8878bb25 --- /dev/null +++ b/DaoPools/src/entities/global/RewardTypeEnum.ts @@ -0,0 +1,17 @@ +import { BigInt } from "@graphprotocol/graph-ts"; + +export enum RewardType { + CREATE = 0, + VOTE_FOR = 1, + VOTE_AGAINST = 2, + VOTE_FOR_DELEGATED = 3, + VOTE_AGAINST_DELEGATED = 4, + VOTE_FOR_TREASURY = 5, + VOTE_AGAINST_TREASURY = 6, + EXECUTE = 7, + SAVE_OFFCHAIN_RESULTS = 8, +} + +export function getEnumBigInt(operation: RewardType): BigInt { + return BigInt.fromI32(operation as i32); +} diff --git a/DaoPools/src/entities/global/VoteTypeEnum.ts b/DaoPools/src/entities/global/VoteTypeEnum.ts deleted file mode 100644 index cdfe619b..00000000 --- a/DaoPools/src/entities/global/VoteTypeEnum.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; - -export enum VoteType { - PERSONAL = 1, - MICROPOOL = 2, - DELEGATED = 3, - TREASURY = 4, -} - -export function getEnumBigInt(operation: VoteType): BigInt { - return BigInt.fromI32(operation as i32); -} diff --git a/DaoPools/src/entities/global/globals.ts b/DaoPools/src/entities/global/globals.ts index 58499411..1a176d7d 100644 --- a/DaoPools/src/entities/global/globals.ts +++ b/DaoPools/src/entities/global/globals.ts @@ -6,9 +6,3 @@ export const WBNB_ADDRESS = "0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd"; export const DAY = 86400; export const YEAR = BigInt.fromI32(DAY).times(BigInt.fromI32(365)); export const PERCENTAGE_NUMERATOR = 10000; - -export const REWARD_TYPE_CREATE = 0; -export const REWARD_TYPE_VOTE_FOR = 1; -export const REWARD_TYPE_VOTE_AGAINST = 2; -export const REWARD_TYPE_VOTE_FOR_DELEGATED = 3; -export const REWARD_TYPE_VOTE_AGAINST_DELEGATED = 4; diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index 3ef82a64..eb8a8f87 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -7,37 +7,29 @@ import { OffchainResultsSaved, ProposalCreated, ProposalExecuted, - Requested, RewardClaimed, RewardCredited, - StakingRewardClaimed, - Voted, + MicropoolRewardClaimed, + VoteChanged, Withdrawn, } from "../../generated/templates/DaoPool/DaoPool"; import { getDaoPool } from "../entities/DaoPool"; import { getDelegationHistory } from "../entities/DelegationHistory"; import { getProposal } from "../entities/Proposal"; -import { getProposalVote } from "../entities/ProposalVote"; +import { getProposalInteraction } from "../entities/ProposalInteraction"; import { getVoter } from "../entities/Voters/Voter"; import { getVoterInPool } from "../entities/Voters/VoterInPool"; import { getVoterInProposal } from "../entities/Voters/VoterInProposal"; -import { - PERCENTAGE_NUMERATOR, - REWARD_TYPE_VOTE_FOR, - REWARD_TYPE_VOTE_AGAINST, - REWARD_TYPE_VOTE_FOR_DELEGATED, - REWARD_TYPE_VOTE_AGAINST_DELEGATED, - YEAR, -} from "../entities/global/globals"; +import { PERCENTAGE_NUMERATOR, YEAR } from "../entities/global/globals"; import { VoterInPool } from "../../generated/schema"; import { getProposalSettings } from "../entities/Settings/ProposalSettings"; import { getVoterInPoolPair } from "../entities/Voters/VoterInPoolPair"; import { getUSDValue } from "../helpers/PriceFeedInteractions"; -import { getVoterOffchain } from "../entities/Voters/VoterOffchain"; import { DelegationType } from "../entities/global/DelegationTypeEnum"; -import { VoteType, getEnumBigInt } from "../entities/global/VoteTypeEnum"; import { TreasuryDelegationType } from "../entities/global/TreasuryDelegationTypeEnum"; import { getTreasuryDelegationHistory } from "../entities/TreasuryDelegationHistory"; +import { RewardType } from "../entities/global/RewardTypeEnum"; +import { ProposalInteractionType, getEnumBigInt } from "../entities/global/ProposalInteractionTypeEnum"; export function onProposalCreated(event: ProposalCreated): void { let pool = getDaoPool(event.address); @@ -95,31 +87,22 @@ export function onDelegated(event: Delegated): void { delegateHistory.pair = pair.id; if (event.params.isDelegate) { - const amountToUnrequest = pair.requestAmount.lt(event.params.amount) ? pair.requestAmount : event.params.amount; - const availableAmount = event.params.amount.minus(amountToUnrequest); - from.totalDelegatedUSD = from.totalDelegatedUSD.plus(usdAmount); toVoterInPool.receivedDelegation = toVoterInPool.receivedDelegation.plus(event.params.amount); toVoterInPool.receivedNFTDelegation = pushUnique(toVoterInPool.receivedNFTDelegation, event.params.nfts); toVoterInPool.receivedNFTDelegationCount = BigInt.fromI32(toVoterInPool.receivedNFTDelegation.length); - if (pair.delegateAmount.equals(BigInt.zero()) && pair.delegateNfts.length == 0) { + if (pair.delegatedAmount.equals(BigInt.zero()) && pair.delegatedNfts.length == 0) { toVoterInPool.currentDelegatorsCount = toVoterInPool.currentDelegatorsCount.plus(BigInt.fromI32(1)); to.delegatorsCount = to.delegatorsCount.plus(BigInt.fromI32(1)); } - pair.delegateAmount = pair.delegateAmount.plus(availableAmount); - pair.delegateNfts = pushUnique(pair.delegateNfts, event.params.nfts); + pair.delegatedAmount = pair.delegatedAmount.plus(event.params.amount); + pair.delegatedNfts = pushUnique(pair.delegatedNfts, event.params.nfts); - pool.totalCurrentTokenDelegated = pool.totalCurrentTokenDelegated.plus(availableAmount); + pool.totalCurrentTokenDelegated = pool.totalCurrentTokenDelegated.plus(event.params.amount); pool.totalCurrentNFTDelegated = pushUnique(pool.totalCurrentNFTDelegated, event.params.nfts); - - pair.requestAmount = pair.requestAmount.minus(amountToUnrequest); - pair.requestNfts = remove(pair.requestNfts, event.params.nfts); - toVoterInPool.requestedTokensAmount = toVoterInPool.requestedTokensAmount.minus(amountToUnrequest); - toVoterInPool.requestedNft = remove(toVoterInPool.requestedNft, event.params.nfts); - toVoterInPool.requestedNftCount = BigInt.fromI32(toVoterInPool.requestedNft.length); } else { if (usdAmount.gt(from.totalDelegatedUSD)) { from.totalDelegatedUSD = BigInt.zero(); @@ -131,27 +114,16 @@ export function onDelegated(event: Delegated): void { toVoterInPool.receivedNFTDelegation = remove(toVoterInPool.receivedNFTDelegation, event.params.nfts); toVoterInPool.receivedNFTDelegationCount = BigInt.fromI32(toVoterInPool.receivedNFTDelegation.length); - pair.delegateAmount = pair.delegateAmount.minus(event.params.amount); - pair.delegateNfts = remove(pair.delegateNfts, event.params.nfts); + pair.delegatedAmount = pair.delegatedAmount.minus(event.params.amount); + pair.delegatedNfts = remove(pair.delegatedNfts, event.params.nfts); - if (pair.delegateAmount.equals(BigInt.zero()) && pair.delegateNfts.length == 0) { + if (pair.delegatedAmount.equals(BigInt.zero()) && pair.delegatedNfts.length == 0) { toVoterInPool.currentDelegatorsCount = toVoterInPool.currentDelegatorsCount.minus(BigInt.fromI32(1)); to.delegatorsCount = to.delegatorsCount.minus(BigInt.fromI32(1)); } pool.totalCurrentTokenDelegated = pool.totalCurrentTokenDelegated.minus(event.params.amount); pool.totalCurrentNFTDelegated = remove(pool.totalCurrentNFTDelegated, event.params.nfts); - - let amountToUnrequest = pair.requestAmount.lt(event.params.amount) ? pair.requestAmount : event.params.amount; - pair.requestAmount = pair.requestAmount.minus(amountToUnrequest); - pair.requestNfts = remove(pair.requestNfts, event.params.nfts); - - amountToUnrequest = toVoterInPool.requestedTokensAmount.lt(event.params.amount) - ? toVoterInPool.requestedTokensAmount - : event.params.amount; - toVoterInPool.requestedTokensAmount = toVoterInPool.requestedTokensAmount.minus(amountToUnrequest); - toVoterInPool.requestedNft = remove(toVoterInPool.requestedNft, event.params.nfts); - toVoterInPool.requestedNftCount = BigInt.fromI32(toVoterInPool.requestedNft.length); } if (event.params.amount.gt(BigInt.zero())) { @@ -244,78 +216,84 @@ export function onDelegatedTreasury(event: DelegatedTreasury): void { to.save(); } -export function onVoted(event: Voted): void { - let voter = getVoter(event.params.sender); +export function onVoteChanged(event: VoteChanged): void { + let voter = getVoter(event.params.voter); let pool = getDaoPool(event.address); let proposal = getProposal(pool, event.params.proposalId); let voterInPool = getVoterInPool(pool, voter, event.block.timestamp); let voterInProposal = getVoterInProposal(proposal, voterInPool); - let proposalVote = getProposalVote( + + let interactionType = event.params.isVoteFor + ? ProposalInteractionType.VOTE_FOR + : ProposalInteractionType.VOTE_AGAINST; + + if ( + isZero(event.params.votes.personal) && + isZero(event.params.votes.micropool) && + isZero(event.params.votes.treasury) + ) { + interactionType = ProposalInteractionType.VOTE_CANCEL; + } + + getProposalInteraction( event.transaction.hash, voterInProposal, event.block.timestamp, - getEnumBigInt(event.params.voteType), - event.params.amount, - event.params.isVoteFor - ); + getEnumBigInt(interactionType), + event.params.votes.personal, + event.params.votes.micropool, + event.params.votes.treasury + ).save(); - if (proposalVote.isVoteFor) { - switch (event.params.voteType) { - case VoteType.DELEGATED: - case VoteType.MICROPOOL: - voterInProposal.totalDelegatedVoteForAmount = voterInProposal.totalDelegatedVoteForAmount.plus( - event.params.amount - ); - break; - case VoteType.PERSONAL: - voterInProposal.totalVoteForAmount = voterInProposal.totalVoteForAmount.plus(event.params.amount); - break; - case VoteType.TREASURY: - voterInProposal.totalTreasuryVoteForAmount = voterInProposal.totalTreasuryVoteForAmount.plus( - event.params.amount - ); - break; + const totalVotes = event.params.votes.personal.plus(event.params.votes.micropool).plus(event.params.votes.treasury); + + if (interactionType == ProposalInteractionType.VOTE_CANCEL) { + const prevVotes = voterInProposal.personalVote + .plus(voterInProposal.micropoolVote) + .plus(voterInProposal.treasuryVote); + + if (voterInProposal.isVoteFor) { + proposal.currentVotesFor = proposal.currentVotesFor.minus(prevVotes); + } else { + proposal.currentVotesAgainst = proposal.currentVotesAgainst.minus(prevVotes); } - proposal.currentVotesFor = proposal.currentVotesFor.plus(event.params.amount); + proposal.voters = remove(proposal.voters, [voter.id]); + proposal.votersVoted = proposal.votersVoted.minus(BigInt.fromI32(1)); + + voter.totalVotedProposals = voter.totalVotedProposals.minus(BigInt.fromI32(1)); + + voterInPool.proposals = remove(voterInPool.proposals, [voterInProposal.id]); + voterInPool.engagedProposalsCount = BigInt.fromI32(voterInPool.proposals.length); + + voter.totalVotes = voter.totalVotes.minus(prevVotes); } else { - switch (event.params.voteType) { - case VoteType.MICROPOOL: - case VoteType.DELEGATED: - voterInProposal.totalDelegatedVoteAgainstAmount = voterInProposal.totalDelegatedVoteAgainstAmount.plus( - event.params.amount - ); - break; - case VoteType.PERSONAL: - voterInProposal.totalVoteAgainstAmount = voterInProposal.totalVoteAgainstAmount.plus(event.params.amount); - break; - case VoteType.TREASURY: - voterInProposal.totalTreasuryVoteAgainstAmount = voterInProposal.totalTreasuryVoteAgainstAmount.plus( - event.params.amount - ); - break; + if (interactionType == ProposalInteractionType.VOTE_FOR) { + proposal.currentVotesFor = proposal.currentVotesFor.plus(totalVotes); + } else { + proposal.currentVotesAgainst = proposal.currentVotesAgainst.plus(totalVotes); } - proposal.currentVotesAgainst = proposal.currentVotesAgainst.plus(event.params.amount); - } - - let newVoters = pushUnique(proposal.voters, [voter.id]); + let newVoters = pushUnique(proposal.voters, [voter.id]); - if (proposal.voters.length < newVoters.length) { - proposal.voters = newVoters; - proposal.votersVoted = proposal.votersVoted.plus(BigInt.fromI32(1)); + if (proposal.voters.length < newVoters.length) { + proposal.voters = newVoters; + proposal.votersVoted = proposal.votersVoted.plus(BigInt.fromI32(1)); - voter.totalVotedProposals = voter.totalVotedProposals.plus(BigInt.fromI32(1)); - } + voter.totalVotedProposals = voter.totalVotedProposals.plus(BigInt.fromI32(1)); + } - proposal.votesCount = proposal.votesCount.plus(BigInt.fromI32(1)); + voterInPool.proposals = pushUnique(voterInPool.proposals, [voterInProposal.id]); + voterInPool.engagedProposalsCount = BigInt.fromI32(voterInPool.proposals.length); - voterInPool.proposals = pushUnique(voterInPool.proposals, [voterInProposal.id]); - voterInPool.proposalsCount = BigInt.fromI32(voterInPool.proposals.length); + voter.totalVotes = voter.totalVotes.plus(totalVotes); + } - voter.totalVotes = voter.totalVotes.plus(event.params.amount); + voterInProposal.isVoteFor = event.params.isVoteFor; + voterInProposal.personalVote = event.params.votes.personal; + voterInProposal.micropoolVote = event.params.votes.micropool; + voterInProposal.treasuryVote = event.params.votes.treasury; - proposalVote.save(); voterInProposal.save(); voterInPool.save(); proposal.save(); @@ -350,11 +328,9 @@ export function onRewardClaimed(event: RewardClaimed): void { voterInProposal.save(); } else { - let voterOffchain = getVoterOffchain(voter, pool); - - voterOffchain.claimedRewardUSD = voterOffchain.claimedRewardUSD.plus(usdAmount); - - voterOffchain.save(); + // let voterOffchain = getVoterOffchain(voter, pool); + // voterOffchain.claimedRewardUSD = voterOffchain.claimedRewardUSD.plus(usdAmount); + // voterOffchain.save(); } voterInPool.totalClaimedUSD = voterInPool.totalClaimedUSD.plus(usdAmount); @@ -377,38 +353,40 @@ export function onRewardCredited(event: RewardCredited): void { let voterInProposal = getVoterInProposal(proposal, voterInPool); const rewardType = event.params.rewardType; - if (rewardType == REWARD_TYPE_VOTE_FOR_DELEGATED) { - voterInProposal.unclaimedRewardFromDelegationsUSDFor = - voterInProposal.unclaimedRewardFromDelegationsUSDFor.plus(usdAmount); - voterInPool.totalDelegationRewardUSDFor = voterInPool.totalDelegationRewardUSDFor.plus(usdAmount); - } else if (rewardType == REWARD_TYPE_VOTE_AGAINST_DELEGATED) { - voterInProposal.unclaimedRewardFromDelegationsUSDAgainst = - voterInProposal.unclaimedRewardFromDelegationsUSDAgainst.plus(usdAmount); - voterInPool.totalDelegationRewardUSDAgainst = voterInPool.totalDelegationRewardUSDAgainst.plus(usdAmount); + switch (rewardType) { + case RewardType.VOTE_FOR: + case RewardType.VOTE_AGAINST: { + voterInProposal.personalRewardUSD = voterInProposal.personalRewardUSD.plus(usdAmount); + break; + } + case RewardType.VOTE_FOR_DELEGATED: + case RewardType.VOTE_AGAINST_DELEGATED: { + voterInProposal.micropoolRewardUSD = voterInProposal.micropoolRewardUSD.plus(usdAmount); + break; + } + case RewardType.VOTE_FOR_TREASURY: + case RewardType.VOTE_AGAINST_TREASURY: { + voterInProposal.treasuryRewardUSD = voterInProposal.treasuryRewardUSD.plus(usdAmount); + break; + } + default: { + voterInProposal.staticRewardUSD = voterInProposal.staticRewardUSD.plus(usdAmount); + } } - if (rewardType == REWARD_TYPE_VOTE_FOR || rewardType == REWARD_TYPE_VOTE_FOR_DELEGATED) { - voterInProposal.unclaimedRewardUSDFor = voterInProposal.unclaimedRewardUSDFor.plus(usdAmount); - } else if (rewardType == REWARD_TYPE_VOTE_AGAINST || rewardType == REWARD_TYPE_VOTE_AGAINST_DELEGATED) { - voterInProposal.unclaimedRewardUSDAgainst = voterInProposal.unclaimedRewardUSDAgainst.plus(usdAmount); - } else { - voterInProposal.unclaimedRewardUSDFor = voterInProposal.unclaimedRewardUSDFor.plus(usdAmount); - voterInProposal.unclaimedRewardUSDAgainst = voterInProposal.unclaimedRewardUSDAgainst.plus(usdAmount); - } + voterInPool.rewardedUSD = voterInPool.rewardedUSD.plus(usdAmount); voterInPool.proposals = pushUnique(voterInPool.proposals, [voterInProposal.id]); - voterInPool.proposalsCount = BigInt.fromI32(voterInPool.proposals.length); + voterInPool.engagedProposalsCount = BigInt.fromI32(voterInPool.proposals.length); voterInProposal.save(); } else { - let voterOffchain = getVoterOffchain(voter, pool); - - voterOffchain.rewardUSD = voterOffchain.rewardUSD.plus(usdAmount); - - voterOffchain.save(); + // let voterOffchain = getVoterOffchain(voter, pool); + // voterOffchain.rewardUSD = voterOffchain.rewardUSD.plus(usdAmount); + // voterOffchain.save(); } - voter.totalUnclaimedUSD = voter.totalUnclaimedUSD.plus(usdAmount); + voter.totalRewardedUSD = voter.totalRewardedUSD.plus(usdAmount); recalculateAPR(voterInPool, usdAmount, event.block.timestamp); @@ -424,7 +402,7 @@ export function onDeposited(event: Deposited): void { let usdAmount = getUSDValue(pool.erc20Token, event.params.amount); voter.totalLockedFundsUSD = voter.totalLockedFundsUSD.plus(usdAmount); - voterInPool.totalLockedFundsUSD = voterInPool.totalLockedFundsUSD.plus(usdAmount); + voterInPool.totalLockedUSD = voterInPool.totalLockedUSD.plus(usdAmount); voterInPool.save(); voter.save(); @@ -444,10 +422,10 @@ export function onWithdrawn(event: Withdrawn): void { voter.totalLockedFundsUSD = voter.totalLockedFundsUSD.minus(usdAmount); } - if (usdAmount.gt(voterInPool.totalLockedFundsUSD)) { - voterInPool.totalLockedFundsUSD = BigInt.zero(); + if (usdAmount.gt(voterInPool.totalLockedUSD)) { + voterInPool.totalLockedUSD = BigInt.zero(); } else { - voterInPool.totalLockedFundsUSD = voterInPool.totalLockedFundsUSD.minus(usdAmount); + voterInPool.totalLockedUSD = voterInPool.totalLockedUSD.minus(usdAmount); } voterInPool.save(); @@ -455,7 +433,7 @@ export function onWithdrawn(event: Withdrawn): void { pool.save(); } -export function onStakingRewardClaimed(event: StakingRewardClaimed): void { +export function onMicropoolRewardClaimed(event: MicropoolRewardClaimed): void { let pool = getDaoPool(event.address); let voter = getVoter(event.params.user); let voterInPool = getVoterInPool(pool, voter, event.block.timestamp); @@ -463,7 +441,7 @@ export function onStakingRewardClaimed(event: StakingRewardClaimed): void { const usdAmount = getUSDValue(event.params.token, event.params.amount); voter.totalClaimedUSD = voter.totalClaimedUSD.plus(usdAmount); - voterInPool.totalStakingReward = voterInPool.totalStakingReward.plus(usdAmount); + // voterInPool.totalStakingReward = voterInPool.totalStakingReward.plus(usdAmount); voterInPool.save(); voter.save(); @@ -478,57 +456,21 @@ export function onOffchainResultsSaved(event: OffchainResultsSaved): void { pool.save(); } -export function onRequested(event: Requested): void { - let from = getVoter(event.params.from); - let to = getVoter(event.params.to); - let pool = getDaoPool(event.address); - let delegateHistory = getDelegationHistory( - event.transaction.hash, - pool, - event.block.timestamp, - from, - to, - event.params.amount, - event.params.nfts, - DelegationType.REQUEST - ); - let toVoterInPool = getVoterInPool(pool, to, event.block.timestamp); - let fromVoterInPool = getVoterInPool(pool, from, event.block.timestamp); - - let pair = getVoterInPoolPair(fromVoterInPool, toVoterInPool); - - toVoterInPool.requestedTokensAmount = toVoterInPool.requestedTokensAmount.plus(event.params.amount); - toVoterInPool.requestedNft = pushUnique(toVoterInPool.requestedNft, event.params.nfts); - toVoterInPool.requestedNftCount = BigInt.fromI32(toVoterInPool.requestedNft.length); - - pair.requestAmount = pair.requestAmount.plus(event.params.amount); - pair.requestNfts = pushUnique(pair.requestNfts, event.params.nfts); - - delegateHistory.pair = pair.id; - - pair.save(); - fromVoterInPool.save(); - toVoterInPool.save(); - delegateHistory.save(); - pool.save(); - to.save(); - from.save(); -} - function recalculateAPR(voterInPool: VoterInPool, rewardCredited: BigInt, currentTimestamp: BigInt): void { - if ( - voterInPool.totalLockedFundsUSD.notEqual(BigInt.zero()) && - currentTimestamp.notEqual(voterInPool.joinedTimestamp) - ) { - let RLRatio = rewardCredited.times(BigInt.fromI32(PERCENTAGE_NUMERATOR)).div(voterInPool.totalLockedFundsUSD); - let numerator = voterInPool.cusum - .times(voterInPool.lastUpdate.minus(voterInPool.joinedTimestamp)) + if (voterInPool.totalLockedUSD.notEqual(BigInt.zero()) && currentTimestamp.notEqual(voterInPool.joinedTimestamp)) { + let RLRatio = rewardCredited.times(BigInt.fromI32(PERCENTAGE_NUMERATOR)).div(voterInPool.totalLockedUSD); + let numerator = voterInPool._cusum + .times(voterInPool._lastUpdate.minus(voterInPool.joinedTimestamp)) .plus(RLRatio.times(currentTimestamp.minus(voterInPool.joinedTimestamp))); let denominator = currentTimestamp.minus(voterInPool.joinedTimestamp); let P = numerator.div(denominator); voterInPool.APR = P.times(YEAR).div(currentTimestamp.minus(voterInPool.joinedTimestamp)); - voterInPool.cusum = P; - voterInPool.lastUpdate = currentTimestamp; + voterInPool._cusum = P; + voterInPool._lastUpdate = currentTimestamp; } } + +function isZero(val: BigInt): boolean { + return val.equals(BigInt.zero()); +} diff --git a/DaoPools/src/mappings/DistributionProposal.ts b/DaoPools/src/mappings/DistributionProposal.ts index 67a2cd48..ca919209 100644 --- a/DaoPools/src/mappings/DistributionProposal.ts +++ b/DaoPools/src/mappings/DistributionProposal.ts @@ -25,9 +25,8 @@ export function onDistributionProposalClaimed(event: DistributionProposalClaimed event.params.amount ); - voterInPool.claimedDPs = pushUnique(voterInPool.claimedDPs, [proposal.id]); - voterInPool.totalDPClaimed = voterInPool.totalDPClaimed.plus(usdAmount); - voterInProposal.claimedDpRewardUSD = usdAmount; + voterInPool.totalClaimedUSD = voterInPool.totalClaimedUSD.plus(usdAmount); + voterInProposal.claimedRewardUSD = voterInProposal.claimedRewardUSD.plus(usdAmount); voter.totalClaimedUSD = voter.totalClaimedUSD.plus(usdAmount); diff --git a/DaoPools/src/mappings/ERC721Expert.ts b/DaoPools/src/mappings/ERC721Expert.ts index 7a80b2da..09109845 100644 --- a/DaoPools/src/mappings/ERC721Expert.ts +++ b/DaoPools/src/mappings/ERC721Expert.ts @@ -1,42 +1,40 @@ import { pushUnique, remove } from "@solarity/graph-lib"; import { Transfer, TagsAdded } from "../../generated/templates/ERC721Expert/ERC721Expert"; -import { getExpertNft } from "../entities/ExpertNft/ExpertNft"; +import { getExpertNft } from "../entities/ExpertNft"; import { Address, Bytes, store } from "@graphprotocol/graph-ts"; -import { getExpert } from "../entities/ExpertNft/Expert"; -import { getExpertInPool } from "../entities/ExpertNft/ExpertInPool"; import { getExpertNftContract } from "../entities/ExpertNftContract"; +import { getVoter } from "../entities/Voters/Voter"; +import { getVoterInPool } from "../entities/Voters/VoterInPool"; +import { getDaoPool } from "../entities/DaoPool"; +import { log } from "matchstick-as"; +import { Voter, VoterInPool } from "../../generated/schema"; export function onTransfer(event: Transfer): void { - let expertNftContract = getExpertNftContract(event.address); + const expertNftContract = getExpertNftContract(event.address); + const pool = getDaoPool(Address.fromBytes(expertNftContract.daoPool)); + const expertNft = getExpertNft(event.address, event.params.tokenId); + let voter: Voter; + let voterInPool: VoterInPool; if (event.params.from.equals(Address.zero())) { - const expert = getExpert(event.params.to); - const expertInPool = getExpertInPool(expert, expertNftContract.daoPool, event.params.tokenId); - getExpertNft(event.address, event.params.tokenId, event.params.to).save(); + voter = getVoter(event.params.to); + voterInPool = getVoterInPool(pool, voter, event.block.timestamp); - expert.pools = pushUnique(expert.pools, [expertNftContract.daoPool]); + voterInPool.expertNft = expertNft.id; - expertInPool.save(); - expert.save(); + expertNft.save(); } else { - const expert = getExpert(event.params.from); - - expert.pools = remove(expert.pools, [expertNftContract.daoPool]); + voter = getVoter(event.params.from); + voterInPool = getVoterInPool(pool, voter, event.block.timestamp); - store.remove("ExpertInPool", event.params.from.concat(expertNftContract.daoPool).toHexString()); - store.remove( - "ExpertNft", - event.address.concat(Bytes.fromByteArray(Bytes.fromBigInt(event.params.tokenId))).toHexString() - ); + voterInPool.expertNft = Bytes.empty(); - if (expert.pools.length == 0) { - store.remove("Expert", expert.id.toHexString()); - } else { - expert.save(); - } + store.remove("ExpertNft", expertNft.id.toHexString()); } expertNftContract.save(); + voterInPool.save(); + voter.save(); } export function onTagsAdded(event: TagsAdded): void { diff --git a/DaoPools/src/mappings/GlobalERC721Expert.ts b/DaoPools/src/mappings/GlobalERC721Expert.ts index 8e3a3678..40121407 100644 --- a/DaoPools/src/mappings/GlobalERC721Expert.ts +++ b/DaoPools/src/mappings/GlobalERC721Expert.ts @@ -1,23 +1,31 @@ import { pushUnique } from "@solarity/graph-lib"; import { Transfer, TagsAdded } from "../../generated/templates/ERC721Expert/ERC721Expert"; -import { getExpertNft } from "../entities/ExpertNft/ExpertNft"; import { Address, Bytes, store } from "@graphprotocol/graph-ts"; -import { getGlobalExpert } from "../entities/ExpertNft/GlobalExpert"; +import { getExpertNftContract } from "../entities/ExpertNftContract"; +import { getVoter } from "../entities/Voters/Voter"; +import { getExpertNft } from "../entities/ExpertNft"; +import { Voter } from "../../generated/schema"; export function onTransfer(event: Transfer): void { - if (event.params.from.equals(Address.zero())) { - const nft = getExpertNft(event.address, event.params.tokenId, event.params.to); + const expertNftContract = getExpertNftContract(event.address); + let voter: Voter; + const expertNft = getExpertNft(event.address, event.params.tokenId); - getGlobalExpert(event.params.to, nft.id).save(); + if (event.params.from.equals(Address.zero())) { + voter = getVoter(event.params.to); + voter.expertNft = expertNft.id; - nft.save(); + expertNft.save(); } else { - store.remove( - "ExpertNft", - event.address.concat(Bytes.fromByteArray(Bytes.fromBigInt(event.params.tokenId))).toHexString() - ); - store.remove("GlobalExpert", event.params.from.toHexString()); + voter = getVoter(event.params.from); + + voter.expertNft = Bytes.empty(); + + store.remove("ExpertNft", expertNft.id.toHexString()); } + + voter.save(); + expertNftContract.save(); } export function onTagsAdded(event: TagsAdded): void { diff --git a/DaoPools/src/mappings/PoolFactory.ts b/DaoPools/src/mappings/PoolFactory.ts index 9ac13b5d..ce9b898d 100644 --- a/DaoPools/src/mappings/PoolFactory.ts +++ b/DaoPools/src/mappings/PoolFactory.ts @@ -27,7 +27,7 @@ export function onDeployed(event: DaoPoolDeployed): void { getSettingsContract(event.params.govPoolDeps.settingsAddress, event.params.govPool).save(); getUserKeeperContract(event.params.govPoolDeps.userKeeperAddress, event.params.govPool).save(); getExpertNftContract(event.params.govPoolDeps.expertNftAddress, event.params.govPool).save(); - getTokenSale(event.params.tokenSale, event.params.govPool, event.params.token).save(); + getTokenSale(event.params.tokenSale, event.params.govPool).save(); DaoPool.create(event.params.govPool); DistributionProposal.create(event.params.distributionProposal); diff --git a/DaoPools/src/mappings/TokenSale.ts b/DaoPools/src/mappings/TokenSale.ts index 32ad4475..1a6bb212 100644 --- a/DaoPools/src/mappings/TokenSale.ts +++ b/DaoPools/src/mappings/TokenSale.ts @@ -18,27 +18,17 @@ export function onTierCreated(event: TierCreated): void { export function onBought(event: Bought): void { let tokenSale = getTokenSale(event.address); let tier = getTokenSaleTier(tokenSale, event.params.tierId); - let pool = getDaoPool(Address.fromBytes(tokenSale.pool)); + let pool = getDaoPool(Address.fromBytes(tokenSale.daoPool)); - tier.voters = pushUnique(tier.voters, [ + tier.buyers = pushUnique(tier.buyers, [ getVoterInPool(pool, getVoter(event.params.buyer), event.block.timestamp).id, ]); - if (tier.voters.length > tier.totalUserCount.toI32()) { - tier.totalUserCount = tier.totalUserCount.plus(BigInt.fromI32(tier.voters.length).minus(tier.totalUserCount)); + if (tier.buyers.length > tier.totalBuyersCount.toI32()) { + tier.totalBuyersCount = tier.totalBuyersCount.plus(BigInt.fromI32(tier.buyers.length).minus(tier.totalBuyersCount)); } tokenSale.save(); tier.save(); pool.save(); } - -export function onWhitelisted(event: Whitelisted): void { - let tokenSale = getTokenSale(event.address); - let tier = getTokenSaleTier(tokenSale, event.params.tierId); - - tier.userWhitelist = pushUnique(tier.userWhitelist, [event.params.user]); - - tier.save(); - tokenSale.save(); -} diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index 0f31c212..ab4a2e5e 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -73,7 +73,7 @@ templates: - event: DelegatedTreasury(address,uint256,uint256[],bool) handler: onDelegatedTreasury - event: VoteChanged(uint256,address,bool,(uint256,uint256,uint256)) # id, msg.sender, personalVote, delegatedVote - handler: onVoted + handler: onVoteChanged - event: ProposalExecuted(uint256,bool,address) # id, isFor, msg.sender handler: onProposalExecuted - event: RewardClaimed(uint256,address,address,uint256) # id, msg.sender, token, amount diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index 7216893e..3cc66184 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -18,42 +18,33 @@ import { ProposalExecuted, RewardClaimed, RewardCredited, - Voted, - StakingRewardClaimed, + VoteChanged, + MicropoolRewardClaimed, OffchainResultsSaved, - Requested, DelegatedTreasury, } from "../generated/templates/DaoPool/DaoPool"; import { onDelegated, onProposalCreated, onProposalExecuted, - onVoted, + onVoteChanged, onRewardClaimed, onRewardCredited, onDeposited, onWithdrawn, - onStakingRewardClaimed, + onMicropoolRewardClaimed, onOffchainResultsSaved, - onRequested, onDelegatedTreasury, } from "../src/mappings/DaoPool"; -import { - PRICE_FEED_ADDRESS, - REWARD_TYPE_CREATE, - REWARD_TYPE_VOTE_AGAINST, - REWARD_TYPE_VOTE_AGAINST_DELEGATED, - REWARD_TYPE_VOTE_FOR, - REWARD_TYPE_VOTE_FOR_DELEGATED, -} from "../src/entities/global/globals"; +import { PRICE_FEED_ADDRESS } from "../src/entities/global/globals"; import { ProposalSettings } from "../generated/schema"; import { createSetERC20 } from "./UserKeeper.test"; import { getUserKeeperContract } from "../src/entities/UserKeeperContract"; import { onSetERC20 } from "../src/mappings/UserKeeper"; import { DelegationType } from "../src/entities/global/DelegationTypeEnum"; import { getDaoPool } from "../src/entities/DaoPool"; -import { VoteType, getEnumBigInt } from "../src/entities/global/VoteTypeEnum"; import { TreasuryDelegationType } from "../src/entities/global/TreasuryDelegationTypeEnum"; +import { RewardType } from "../src/entities/global/RewardTypeEnum"; function createProposalCreated( proposalId: BigInt, @@ -135,48 +126,30 @@ function createDelegatedTreasury( return event; } -function createVoted( +function createVoteChanged( proposalId: BigInt, sender: Address, - voteType: BigInt, - amount: BigInt, + personal: BigInt, + micropool: BigInt, + treasury: BigInt, isVoteFor: boolean, contractSender: Address, block: ethereum.Block, tx: ethereum.Transaction -): Voted { - let event = changetype(newMockEvent()); +): VoteChanged { + let event = changetype(newMockEvent()); event.parameters = new Array(); - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); - event.parameters.push(new ethereum.EventParam("voteType", ethereum.Value.fromUnsignedBigInt(voteType))); - event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); - event.parameters.push(new ethereum.EventParam("isVoteFor", ethereum.Value.fromBoolean(isVoteFor))); - - event.block = block; - event.transaction = tx; - event.address = contractSender; - - return event; -} + const votes = new ethereum.Tuple(3); -function createDPCreated( - proposalId: BigInt, - sender: Address, - token: Address, - amount: BigInt, - contractSender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): DPCreated { - let event = changetype(newMockEvent()); - event.parameters = new Array(); + votes[0] = ethereum.Value.fromUnsignedBigInt(personal); + votes[1] = ethereum.Value.fromUnsignedBigInt(micropool); + votes[2] = ethereum.Value.fromUnsignedBigInt(treasury); event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); - event.parameters.push(new ethereum.EventParam("token", ethereum.Value.fromAddress(token))); - event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); + event.parameters.push(new ethereum.EventParam("voter", ethereum.Value.fromAddress(sender))); + event.parameters.push(new ethereum.EventParam("isVoteFor", ethereum.Value.fromBoolean(isVoteFor))); + event.parameters.push(new ethereum.EventParam("votes", ethereum.Value.fromTuple(votes))); event.block = block; event.transaction = tx; @@ -586,8 +559,8 @@ describe("DaoPool", () => { "timestamp", event.block.timestamp.toString() ); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "from", from.toHexString()); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "to", to.toHexString()); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "delegator", from.toHexString()); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "delegatee", to.toHexString()); assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "nfts", `[${nfts[0]}, ${nfts[1]}]`); assert.fieldEquals( @@ -600,25 +573,25 @@ describe("DaoPool", () => { assert.fieldEquals( "VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), - "from", + "delegator", from.concat(contractSender).toHexString() ); assert.fieldEquals( "VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), - "to", + "delegatee", to.concat(contractSender).toHexString() ); assert.fieldEquals( "VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), - "delegateAmount", + "delegatedAmount", amount.toString() ); assert.fieldEquals( "VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), - "delegateNfts", + "delegatedNfts", `[${nfts[0]}, ${nfts[1]}]` ); }); @@ -675,8 +648,8 @@ describe("DaoPool", () => { "timestamp", event2.block.timestamp.toString() ); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "from", from.toHexString()); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "to", to.toHexString()); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "delegator", from.toHexString()); + assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "delegatee", to.toHexString()); assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "amount", amount2.toString()); assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "nfts", `[${nfts2[0]}]`); assert.fieldEquals( @@ -689,25 +662,25 @@ describe("DaoPool", () => { assert.fieldEquals( "VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), - "from", + "delegator", from.concat(contractSender).toHexString() ); assert.fieldEquals( "VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), - "to", + "delegatee", to.concat(contractSender).toHexString() ); assert.fieldEquals( "VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), - "delegateAmount", + "delegatedAmount", amount1.minus(amount2).toString() ); assert.fieldEquals( "VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), - "delegateNfts", + "delegatedNfts", `[${nfts1[1]}]` ); }); @@ -777,7 +750,7 @@ describe("DaoPool", () => { assert.fieldEquals( "TreasuryDelegationHistory", tx.hash.concatI32(0).toHexString(), - "to", + "delegatee", to.concat(contractSender).toHexString() ); assert.fieldEquals("TreasuryDelegationHistory", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); @@ -850,7 +823,7 @@ describe("DaoPool", () => { assert.fieldEquals( "TreasuryDelegationHistory", tx.hash.concatI32(1).toHexString(), - "to", + "delegatee", to.concat(contractSender).toHexString() ); assert.fieldEquals("TreasuryDelegationHistory", tx.hash.concatI32(1).toHexString(), "amount", amount2.toString()); @@ -863,24 +836,37 @@ describe("DaoPool", () => { ); }); - test("should handle voted", () => { + test("should handle VoteChanged", () => { let proposalId = BigInt.fromI32(1); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let voteType = getEnumBigInt(VoteType.PERSONAL); - let amountFor = BigInt.fromI32(1000); + let personalFor = BigInt.fromI32(1000); + let micropoolFor = BigInt.fromI32(500); + let treasuryFor = BigInt.fromI32(200); let isVoteFor = true; - let event = createVoted(proposalId, sender, voteType, amountFor, isVoteFor, contractSender, block, tx); + let event = createVoteChanged( + proposalId, + sender, + personalFor, + micropoolFor, + treasuryFor, + isVoteFor, + contractSender, + block, + tx + ); + + onVoteChanged(event); - onVoted(event); + const totalVotesFor = personalFor.plus(micropoolFor).plus(treasuryFor); assert.fieldEquals("Voter", sender.toHexString(), "totalVotedProposals", "1"); - assert.fieldEquals("Voter", sender.toHexString(), "totalVotes", amountFor.toString()); + assert.fieldEquals("Voter", sender.toHexString(), "totalVotes", totalVotesFor.toString()); assert.fieldEquals( "Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "currentVotesFor", - amountFor.toString() + totalVotesFor.toString() ); assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "1"); @@ -890,7 +876,7 @@ describe("DaoPool", () => { "proposals", `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` ); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "engagedProposalsCount", "1"); assert.fieldEquals( "VoterInProposal", @@ -913,179 +899,68 @@ describe("DaoPool", () => { assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalVoteForAmount", - amountFor.toString() - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalVoteAgainstAmount", - "0" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "claimedRewardUSD", - BigInt.zero().toString() - ); - - let amountAgainst = BigInt.fromI32(200); - isVoteFor = false; - - const nextTx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); - - event = createVoted(proposalId, sender, voteType, amountAgainst, isVoteFor, contractSender, block, nextTx); - - onVoted(event); - - assert.fieldEquals("Voter", sender.toHexString(), "totalVotedProposals", "1"); - assert.fieldEquals("Voter", sender.toHexString(), "totalVotes", amountFor.plus(amountAgainst).toString()); - assert.fieldEquals( - "Proposal", - contractSender.concatI32(proposalId.toI32()).toHexString(), - "currentVotesAgainst", - amountAgainst.toString() - ); - assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "1"); - - assert.fieldEquals( - "VoterInPool", - sender.concat(contractSender).toHexString(), - "proposals", - `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` - ); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); - - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "pool", - contractSender.toHexString() - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "proposal", - contractSender.concatI32(proposalId.toI32()).toHexString() + "isVoteFor", + isVoteFor.toString() ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "voter", - sender.concat(contractSender).toHexString() + "personalVote", + personalFor.toString() ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalVoteForAmount", - amountFor.toString() + "micropoolVote", + micropoolFor.toString() ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalVoteAgainstAmount", - amountAgainst.toString() + "treasuryVote", + treasuryFor.toString() ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), "claimedRewardUSD", - BigInt.zero().toString() + "0" ); - voteType = getEnumBigInt(VoteType.DELEGATED); - isVoteFor = true; - - event = createVoted(proposalId, sender, voteType, amountFor, isVoteFor, contractSender, block, tx); - - onVoted(event); + let personalAgainst = BigInt.fromI32(200); + let micropoolAgainst = BigInt.fromI32(500); + let treasuryAgainst = BigInt.fromI32(1000); - assert.fieldEquals("Voter", sender.toHexString(), "totalVotedProposals", "1"); - assert.fieldEquals( - "Voter", - sender.toHexString(), - "totalVotes", - amountFor.times(BigInt.fromI32(2)).plus(amountAgainst).toString() - ); - assert.fieldEquals( - "Proposal", - contractSender.concatI32(proposalId.toI32()).toHexString(), - "currentVotesFor", - amountFor.times(BigInt.fromI32(2)).toString() - ); - assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "1"); + isVoteFor = false; + sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"); - assert.fieldEquals( - "VoterInPool", - sender.concat(contractSender).toHexString(), - "proposals", - `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` - ); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); + let nextTx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "pool", - contractSender.toHexString() - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "proposal", - contractSender.concatI32(proposalId.toI32()).toHexString() - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "voter", - sender.concat(contractSender).toHexString() - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalVoteForAmount", - amountFor.toString() - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalVoteAgainstAmount", - amountAgainst.toString() - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalDelegatedVoteForAmount", - amountFor.toString() - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalDelegatedVoteAgainstAmount", - "0" + event = createVoteChanged( + proposalId, + sender, + personalAgainst, + micropoolAgainst, + treasuryAgainst, + isVoteFor, + contractSender, + block, + nextTx ); - voteType = getEnumBigInt(VoteType.MICROPOOL); + onVoteChanged(event); - event = createVoted(proposalId, sender, voteType, amountFor, isVoteFor, contractSender, block, tx); - - onVoted(event); + const totalVotesAgainst = personalAgainst.plus(micropoolAgainst).plus(treasuryAgainst); assert.fieldEquals("Voter", sender.toHexString(), "totalVotedProposals", "1"); - assert.fieldEquals( - "Voter", - sender.toHexString(), - "totalVotes", - amountFor.times(BigInt.fromI32(3)).plus(amountAgainst).toString() - ); + assert.fieldEquals("Voter", sender.toHexString(), "totalVotes", totalVotesAgainst.toString()); assert.fieldEquals( "Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), - "currentVotesFor", - amountFor.times(BigInt.fromI32(3)).toString() + "currentVotesAgainst", + totalVotesAgainst.toString() ); - assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "1"); + assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "2"); assert.fieldEquals( "VoterInPool", @@ -1093,7 +968,7 @@ describe("DaoPool", () => { "proposals", `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` ); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "engagedProposalsCount", "1"); assert.fieldEquals( "VoterInProposal", @@ -1116,56 +991,62 @@ describe("DaoPool", () => { assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalVoteForAmount", - amountFor.toString() + "isVoteFor", + isVoteFor.toString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "personalVote", + personalAgainst.toString() ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalVoteAgainstAmount", - amountAgainst.toString() + "micropoolVote", + micropoolAgainst.toString() ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalDelegatedVoteForAmount", - amountFor.times(BigInt.fromI32(2)).toString() + "treasuryVote", + treasuryAgainst.toString() ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalDelegatedVoteAgainstAmount", + "claimedRewardUSD", "0" ); - voteType = getEnumBigInt(VoteType.TREASURY); + nextTx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); - event = createVoted(proposalId, sender, voteType, amountFor, isVoteFor, contractSender, block, tx); + event = createVoteChanged( + proposalId, + sender, + BigInt.zero(), + BigInt.zero(), + BigInt.zero(), + isVoteFor, + contractSender, + block, + nextTx + ); - onVoted(event); + onVoteChanged(event); - assert.fieldEquals("Voter", sender.toHexString(), "totalVotedProposals", "1"); - assert.fieldEquals( - "Voter", - sender.toHexString(), - "totalVotes", - amountFor.times(BigInt.fromI32(4)).plus(amountAgainst).toString() - ); + assert.fieldEquals("Voter", sender.toHexString(), "totalVotedProposals", "0"); + assert.fieldEquals("Voter", sender.toHexString(), "totalVotes", "0"); assert.fieldEquals( "Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), - "currentVotesFor", - amountFor.times(BigInt.fromI32(4)).toString() + "currentVotesAgainst", + "0" ); assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "1"); - assert.fieldEquals( - "VoterInPool", - sender.concat(contractSender).toHexString(), - "proposals", - `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` - ); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposals", `[]`); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "engagedProposalsCount", "0"); assert.fieldEquals( "VoterInProposal", @@ -1188,37 +1069,31 @@ describe("DaoPool", () => { assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalVoteForAmount", - amountFor.toString() - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalVoteAgainstAmount", - amountAgainst.toString() + "isVoteFor", + isVoteFor.toString() ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalDelegatedVoteForAmount", - amountFor.times(BigInt.fromI32(2)).toString() + "personalVote", + "0" ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalDelegatedVoteAgainstAmount", + "micropoolVote", "0" ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalTreasuryVoteForAmount", - amountFor.toString() + "treasuryVote", + "0" ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "totalTreasuryVoteAgainstAmount", + "claimedRewardUSD", "0" ); }); @@ -1267,481 +1142,481 @@ describe("DaoPool", () => { ); }); - test("should handle RewardClaimed", () => { - let proposalIds = [BigInt.fromI32(1), BigInt.fromI32(2)]; + // test("should handle RewardClaimed", () => { + // let proposalIds = [BigInt.fromI32(1), BigInt.fromI32(2)]; + // let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + // let tokens = [ + // Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"), + // Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181673"), + // ]; + // let amounts = [BigInt.fromI32(10).pow(18), BigInt.fromI32(10).pow(18).times(BigInt.fromI32(2))]; + + // let event0 = createRewardClaimed(proposalIds[0], sender, tokens[0], amounts[0], contractSender, block, tx); + // let event1 = createRewardClaimed(proposalIds[1], sender, tokens[1], amounts[1], contractSender, block, tx); + + // onRewardClaimed(event0); + + // assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", amounts[0].toString()); + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalIds[0].toI32()).toHexString(), + // "claimedRewardUSD", + // amounts[0].toString() + // ); + // assert.fieldEquals( + // "VoterInPool", + // sender.concat(contractSender).toHexString(), + // "totalClaimedUSD", + // amounts[0].toString() + // ); + + // onRewardClaimed(event1); + + // assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", amounts[0].plus(amounts[1]).toString()); + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalIds[1].toI32()).toHexString(), + // "claimedRewardUSD", + // amounts[1].toString() + // ); + // assert.fieldEquals( + // "VoterInPool", + // sender.concat(contractSender).toHexString(), + // "totalClaimedUSD", + // amounts[0].plus(amounts[1]).toString() + // ); + // }); + + // test("should handle offchain RewardClaimed", () => { + // let proposalId = BigInt.zero(); + // let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + // let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); + // let amount = BigInt.fromI32(1000); + + // let event = createRewardClaimed(proposalId, sender, rewardToken, amount, contractSender, block, tx); + + // onRewardClaimed(event); + + // assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", "200"); + + // assert.fieldEquals("VoterOffchain", sender.concat(contractSender).toHexString(), "claimedRewardUSD", `200`); + + // assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalClaimedUSD", "200"); + // }); + + // test("should handle RewardCredited", () => { + // let proposalId = BigInt.fromI32(1); + // let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + // let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); + // let amount = BigInt.fromI32(1000); + + // let event = createRewardCredited( + // proposalId, + // BigInt.fromI32(RewardType.CREATE), + // rewardToken, + // amount, + // sender, + // contractSender, + // block, + // tx + // ); + + // onRewardCredited(event); + + // assert.fieldEquals("Voter", sender.toHexString(), "totalUnclaimedUSD", "200"); + + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardUSDFor", + // "200" + // ); + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardUSDAgainst", + // "200" + // ); + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardFromDelegationsUSDFor", + // "0" + // ); + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardFromDelegationsUSDAgainst", + // "0" + // ); + // assert.fieldEquals( + // "VoterInPool", + // sender.concat(contractSender).toHexString(), + // "proposals", + // `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + // ); + // assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); + // }); + + // test("should handle RewardCredited when reward type vote for/against", () => { + // let proposalId = BigInt.fromI32(1); + // let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + // let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); + // let amount = BigInt.fromI32(1000); + + // let event = createRewardCredited( + // proposalId, + // BigInt.fromI32(RewardType.VOTE_FOR), + // rewardToken, + // amount, + // sender, + // contractSender, + // block, + // tx + // ); + + // onRewardCredited(event); + + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardFromDelegationsUSDFor", + // "0" + // ); + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardFromDelegationsUSDAgainst", + // "0" + // ); + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardUSDFor", + // "200" + // ); + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardUSDAgainst", + // "0" + // ); + // assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalDelegationRewardUSDFor", "0"); + // assert.fieldEquals( + // "VoterInPool", + // sender.concat(contractSender).toHexString(), + // "totalDelegationRewardUSDAgainst", + // "0" + // ); + // assert.fieldEquals( + // "VoterInPool", + // sender.concat(contractSender).toHexString(), + // "proposals", + // `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + // ); + // assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); + + // event = createRewardCredited( + // proposalId, + // BigInt.fromI32(RewardType.VOTE_AGAINST), + // rewardToken, + // amount, + // sender, + // contractSender, + // block, + // tx + // ); + + // onRewardCredited(event); + + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardFromDelegationsUSDFor", + // "0" + // ); + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardFromDelegationsUSDAgainst", + // "0" + // ); + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardUSDFor", + // "200" + // ); + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardUSDAgainst", + // "200" + // ); + // assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalDelegationRewardUSDFor", "0"); + // assert.fieldEquals( + // "VoterInPool", + // sender.concat(contractSender).toHexString(), + // "totalDelegationRewardUSDAgainst", + // "0" + // ); + // assert.fieldEquals( + // "VoterInPool", + // sender.concat(contractSender).toHexString(), + // "proposals", + // `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + // ); + // assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); + // }); + + // test("should handle RewardCredited when reward type vote for/against delegated", () => { + // let proposalId = BigInt.fromI32(1); + // let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + // let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); + // let amount = BigInt.fromI32(1000); + + // let event = createRewardCredited( + // proposalId, + // BigInt.fromI32(RewardType.VOTE_AGAINST_DELEGATED), + // rewardToken, + // amount, + // sender, + // contractSender, + // block, + // tx + // ); + + // onRewardCredited(event); + + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardFromDelegationsUSDFor", + // "200" + // ); + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardFromDelegationsUSDAgainst", + // "0" + // ); + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardUSDFor", + // "200" + // ); + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardUSDAgainst", + // "0" + // ); + // assert.fieldEquals( + // "VoterInPool", + // sender.concat(contractSender).toHexString(), + // "totalDelegationRewardUSDFor", + // "200" + // ); + // assert.fieldEquals( + // "VoterInPool", + // sender.concat(contractSender).toHexString(), + // "totalDelegationRewardUSDAgainst", + // "0" + // ); + // assert.fieldEquals( + // "VoterInPool", + // sender.concat(contractSender).toHexString(), + // "proposals", + // `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + // ); + // assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); + + // event = createRewardCredited( + // proposalId, + // BigInt.fromI32(RewardType.VOTE_AGAINST_DELEGATED), + // rewardToken, + // amount, + // sender, + // contractSender, + // block, + // tx + // ); + + // onRewardCredited(event); + + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardFromDelegationsUSDFor", + // "200" + // ); + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardFromDelegationsUSDAgainst", + // "200" + // ); + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardUSDFor", + // "200" + // ); + // assert.fieldEquals( + // "VoterInProposal", + // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + // "unclaimedRewardUSDAgainst", + // "200" + // ); + // assert.fieldEquals( + // "VoterInPool", + // sender.concat(contractSender).toHexString(), + // "totalDelegationRewardUSDFor", + // "200" + // ); + // assert.fieldEquals( + // "VoterInPool", + // sender.concat(contractSender).toHexString(), + // "totalDelegationRewardUSDAgainst", + // "200" + // ); + // assert.fieldEquals( + // "VoterInPool", + // sender.concat(contractSender).toHexString(), + // "proposals", + // `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + // ); + // assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); + // }); + + // test("should handle offchain RewardCredited", () => { + // let proposalId = BigInt.zero(); + // let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + // let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); + // let amount = BigInt.fromI32(1000); + + // let event = createRewardCredited( + // proposalId, + // BigInt.fromI32(RewardType.VOTE_AGAINST_DELEGATED), + // rewardToken, + // amount, + // sender, + // contractSender, + // block, + // tx + // ); + + // onRewardCredited(event); + + // assert.fieldEquals("Voter", sender.toHexString(), "totalUnclaimedUSD", "200"); + + // assert.fieldEquals("VoterOffchain", sender.concat(contractSender).toHexString(), "rewardUSD", "200"); + // assert.fieldEquals("VoterOffchain", sender.concat(contractSender).toHexString(), "claimedRewardUSD", "0"); + // }); + + test("should deposit", () => { + let userKeeperAddress = Address.fromString("0x16e08f7d84603aeb97cd1c89a80a9e914f181676"); + getUserKeeperContract(userKeeperAddress, contractSender).save(); + + let tokenAddress = Address.fromString("0x86e08f7d84603aeb97cd1c89a80a9e914f181676"); + let amount = BigInt.fromI32(1000); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let tokens = [ - Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"), - Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181673"), - ]; - let amounts = [BigInt.fromI32(10).pow(18), BigInt.fromI32(10).pow(18).times(BigInt.fromI32(2))]; - let event0 = createRewardClaimed(proposalIds[0], sender, tokens[0], amounts[0], contractSender, block, tx); - let event1 = createRewardClaimed(proposalIds[1], sender, tokens[1], amounts[1], contractSender, block, tx); + let setTokenEvent = createSetERC20(tokenAddress, userKeeperAddress, block, tx); - onRewardClaimed(event0); + onSetERC20(setTokenEvent); - assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", amounts[0].toString()); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalIds[0].toI32()).toHexString(), - "claimedRewardUSD", - amounts[0].toString() - ); - assert.fieldEquals( - "VoterInPool", - sender.concat(contractSender).toHexString(), - "totalClaimedUSD", - amounts[0].toString() - ); + let event = createDeposited(amount, [], sender, contractSender, block, tx); - onRewardClaimed(event1); + onDeposited(event); - assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", amounts[0].plus(amounts[1]).toString()); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalIds[1].toI32()).toHexString(), - "claimedRewardUSD", - amounts[1].toString() - ); - assert.fieldEquals( - "VoterInPool", - sender.concat(contractSender).toHexString(), - "totalClaimedUSD", - amounts[0].plus(amounts[1]).toString() - ); + assert.fieldEquals("Voter", sender.toHexString(), "totalLockedFundsUSD", "200"); + + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalLockedUSD", "200"); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "APR", "0"); }); - test("should handle offchain RewardClaimed", () => { - let proposalId = BigInt.zero(); + test("should withdrawn", () => { + let userKeeperAddress = Address.fromString("0x16e08f7d84603aeb97cd1c89a80a9e914f181676"); + getUserKeeperContract(userKeeperAddress, contractSender).save(); + + let tokenAddress = Address.fromString("0x86e08f7d84603aeb97cd1c89a80a9e914f181676"); + let amount1 = BigInt.fromI32(1000); + let amount2 = BigInt.fromI32(500); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); - let amount = BigInt.fromI32(1000); - let event = createRewardClaimed(proposalId, sender, rewardToken, amount, contractSender, block, tx); + let setTokenEvent = createSetERC20(tokenAddress, userKeeperAddress, block, tx); + + onSetERC20(setTokenEvent); + + let event1 = createDeposited(amount1, [], sender, contractSender, block, tx); + + onDeposited(event1); - onRewardClaimed(event); + let event2 = createWithdrawn(amount2, [], sender, contractSender, block, tx); - assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", "200"); + onWithdrawn(event2); - assert.fieldEquals("VoterOffchain", sender.concat(contractSender).toHexString(), "claimedRewardUSD", `200`); + assert.fieldEquals("Voter", sender.toHexString(), "totalLockedFundsUSD", "100"); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalClaimedUSD", "200"); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalLockedUSD", "100"); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "APR", "0"); }); - test("should handle RewardCredited", () => { - let proposalId = BigInt.fromI32(1); + test("dao apr flow", () => { + let userKeeperAddress = Address.fromString("0x16e08f7d84603aeb97cd1c89a80a9e914f181676"); + getUserKeeperContract(userKeeperAddress, contractSender).save(); + + let tokenAddress = Address.fromString("0x86e08f7d84603aeb97cd1c89a80a9e914f181676"); + let amount1 = BigInt.fromI32(1000); + let amount2 = BigInt.fromI32(3000); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + let proposalId = BigInt.fromI32(1); let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); - let amount = BigInt.fromI32(1000); + + let setTokenEvent = createSetERC20(tokenAddress, userKeeperAddress, block, tx); + + onSetERC20(setTokenEvent); + + let event1 = createDeposited(amount1, [], sender, contractSender, block, tx); + onDeposited(event1); + + let block4000 = getBlock(BigInt.fromI32(4000), BigInt.fromI32(4000)); let event = createRewardCredited( proposalId, - BigInt.fromI32(REWARD_TYPE_CREATE), + BigInt.fromI32(RewardType.VOTE_FOR), rewardToken, - amount, + amount2, sender, contractSender, - block, + block4000, tx ); onRewardCredited(event); - assert.fieldEquals("Voter", sender.toHexString(), "totalUnclaimedUSD", "200"); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "APR", "591447861"); + }); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardUSDFor", - "200" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardUSDAgainst", - "200" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardFromDelegationsUSDFor", - "0" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardFromDelegationsUSDAgainst", - "0" - ); - assert.fieldEquals( - "VoterInPool", - sender.concat(contractSender).toHexString(), - "proposals", - `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` - ); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); - }); - - test("should handle RewardCredited when reward type vote for/against", () => { - let proposalId = BigInt.fromI32(1); - let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); - let amount = BigInt.fromI32(1000); - - let event = createRewardCredited( - proposalId, - BigInt.fromI32(REWARD_TYPE_VOTE_FOR), - rewardToken, - amount, - sender, - contractSender, - block, - tx - ); - - onRewardCredited(event); - - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardFromDelegationsUSDFor", - "0" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardFromDelegationsUSDAgainst", - "0" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardUSDFor", - "200" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardUSDAgainst", - "0" - ); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalDelegationRewardUSDFor", "0"); - assert.fieldEquals( - "VoterInPool", - sender.concat(contractSender).toHexString(), - "totalDelegationRewardUSDAgainst", - "0" - ); - assert.fieldEquals( - "VoterInPool", - sender.concat(contractSender).toHexString(), - "proposals", - `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` - ); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); - - event = createRewardCredited( - proposalId, - BigInt.fromI32(REWARD_TYPE_VOTE_AGAINST), - rewardToken, - amount, - sender, - contractSender, - block, - tx - ); - - onRewardCredited(event); - - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardFromDelegationsUSDFor", - "0" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardFromDelegationsUSDAgainst", - "0" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardUSDFor", - "200" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardUSDAgainst", - "200" - ); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalDelegationRewardUSDFor", "0"); - assert.fieldEquals( - "VoterInPool", - sender.concat(contractSender).toHexString(), - "totalDelegationRewardUSDAgainst", - "0" - ); - assert.fieldEquals( - "VoterInPool", - sender.concat(contractSender).toHexString(), - "proposals", - `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` - ); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); - }); - - test("should handle RewardCredited when reward type vote for/against delegated", () => { - let proposalId = BigInt.fromI32(1); - let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); - let amount = BigInt.fromI32(1000); - - let event = createRewardCredited( - proposalId, - BigInt.fromI32(REWARD_TYPE_VOTE_FOR_DELEGATED), - rewardToken, - amount, - sender, - contractSender, - block, - tx - ); - - onRewardCredited(event); - - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardFromDelegationsUSDFor", - "200" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardFromDelegationsUSDAgainst", - "0" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardUSDFor", - "200" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardUSDAgainst", - "0" - ); - assert.fieldEquals( - "VoterInPool", - sender.concat(contractSender).toHexString(), - "totalDelegationRewardUSDFor", - "200" - ); - assert.fieldEquals( - "VoterInPool", - sender.concat(contractSender).toHexString(), - "totalDelegationRewardUSDAgainst", - "0" - ); - assert.fieldEquals( - "VoterInPool", - sender.concat(contractSender).toHexString(), - "proposals", - `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` - ); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); - - event = createRewardCredited( - proposalId, - BigInt.fromI32(REWARD_TYPE_VOTE_AGAINST_DELEGATED), - rewardToken, - amount, - sender, - contractSender, - block, - tx - ); - - onRewardCredited(event); - - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardFromDelegationsUSDFor", - "200" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardFromDelegationsUSDAgainst", - "200" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardUSDFor", - "200" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "unclaimedRewardUSDAgainst", - "200" - ); - assert.fieldEquals( - "VoterInPool", - sender.concat(contractSender).toHexString(), - "totalDelegationRewardUSDFor", - "200" - ); - assert.fieldEquals( - "VoterInPool", - sender.concat(contractSender).toHexString(), - "totalDelegationRewardUSDAgainst", - "200" - ); - assert.fieldEquals( - "VoterInPool", - sender.concat(contractSender).toHexString(), - "proposals", - `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` - ); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); - }); - - test("should handle offchain RewardCredited", () => { - let proposalId = BigInt.zero(); - let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); - let amount = BigInt.fromI32(1000); - - let event = createRewardCredited( - proposalId, - BigInt.fromI32(REWARD_TYPE_VOTE_AGAINST_DELEGATED), - rewardToken, - amount, - sender, - contractSender, - block, - tx - ); - - onRewardCredited(event); - - assert.fieldEquals("Voter", sender.toHexString(), "totalUnclaimedUSD", "200"); - - assert.fieldEquals("VoterOffchain", sender.concat(contractSender).toHexString(), "rewardUSD", "200"); - assert.fieldEquals("VoterOffchain", sender.concat(contractSender).toHexString(), "claimedRewardUSD", "0"); - }); - - test("should deposit", () => { - let userKeeperAddress = Address.fromString("0x16e08f7d84603aeb97cd1c89a80a9e914f181676"); - getUserKeeperContract(userKeeperAddress, contractSender).save(); - - let tokenAddress = Address.fromString("0x86e08f7d84603aeb97cd1c89a80a9e914f181676"); - let amount = BigInt.fromI32(1000); - let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + // test("should handle StakingRewardClaimed event", () => { + // let user = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + // let token = Address.fromString("0x86e08f7d84603aeb97cd1c89a80a9e914f181676"); + // let amount = BigInt.fromI32(3000); - let setTokenEvent = createSetERC20(tokenAddress, userKeeperAddress, block, tx); + // let event = createStakingRewardClaimed(user, token, amount, contractSender, block, tx); - onSetERC20(setTokenEvent); + // onMicropoolRewardClaimed(event); - let event = createDeposited(amount, [], sender, contractSender, block, tx); + // assert.fieldEquals("Voter", user.toHexString(), "totalClaimedUSD", "1500"); + // assert.fieldEquals("VoterInPool", user.concat(contractSender).toHexString(), "totalStakingReward", "1500"); - onDeposited(event); + // onMicropoolRewardClaimed(event); - assert.fieldEquals("Voter", sender.toHexString(), "totalLockedFundsUSD", "200"); - - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalLockedFundsUSD", "200"); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "APR", "0"); - }); - - test("should withdrawn", () => { - let userKeeperAddress = Address.fromString("0x16e08f7d84603aeb97cd1c89a80a9e914f181676"); - getUserKeeperContract(userKeeperAddress, contractSender).save(); - - let tokenAddress = Address.fromString("0x86e08f7d84603aeb97cd1c89a80a9e914f181676"); - let amount1 = BigInt.fromI32(1000); - let amount2 = BigInt.fromI32(500); - let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - - let setTokenEvent = createSetERC20(tokenAddress, userKeeperAddress, block, tx); - - onSetERC20(setTokenEvent); - - let event1 = createDeposited(amount1, [], sender, contractSender, block, tx); - - onDeposited(event1); - - let event2 = createWithdrawn(amount2, [], sender, contractSender, block, tx); - - onWithdrawn(event2); - - assert.fieldEquals("Voter", sender.toHexString(), "totalLockedFundsUSD", "100"); - - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalLockedFundsUSD", "100"); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "APR", "0"); - }); - - test("dao apr flow", () => { - let userKeeperAddress = Address.fromString("0x16e08f7d84603aeb97cd1c89a80a9e914f181676"); - getUserKeeperContract(userKeeperAddress, contractSender).save(); - - let tokenAddress = Address.fromString("0x86e08f7d84603aeb97cd1c89a80a9e914f181676"); - let amount1 = BigInt.fromI32(1000); - let amount2 = BigInt.fromI32(3000); - let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let proposalId = BigInt.fromI32(1); - let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); - - let setTokenEvent = createSetERC20(tokenAddress, userKeeperAddress, block, tx); - - onSetERC20(setTokenEvent); - - let event1 = createDeposited(amount1, [], sender, contractSender, block, tx); - onDeposited(event1); - - let block4000 = getBlock(BigInt.fromI32(4000), BigInt.fromI32(4000)); - - let event = createRewardCredited( - proposalId, - BigInt.fromI32(REWARD_TYPE_VOTE_FOR), - rewardToken, - amount2, - sender, - contractSender, - block4000, - tx - ); - - onRewardCredited(event); - - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "APR", "591447861"); - }); - - test("should handle StakingRewardClaimed event", () => { - let user = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let token = Address.fromString("0x86e08f7d84603aeb97cd1c89a80a9e914f181676"); - let amount = BigInt.fromI32(3000); - - let event = createStakingRewardClaimed(user, token, amount, contractSender, block, tx); - - onStakingRewardClaimed(event); - - assert.fieldEquals("Voter", user.toHexString(), "totalClaimedUSD", "1500"); - assert.fieldEquals("VoterInPool", user.concat(contractSender).toHexString(), "totalStakingReward", "1500"); - - onStakingRewardClaimed(event); - - assert.fieldEquals("Voter", user.toHexString(), "totalClaimedUSD", amount.toString()); - assert.fieldEquals("VoterInPool", user.concat(contractSender).toHexString(), "totalStakingReward", "3000"); - }); + // assert.fieldEquals("Voter", user.toHexString(), "totalClaimedUSD", amount.toString()); + // assert.fieldEquals("VoterInPool", user.concat(contractSender).toHexString(), "totalStakingReward", "3000"); + // }); test("should handle OffchainResultsSaved event", () => { let user = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); @@ -1778,191 +1653,4 @@ describe("DaoPool", () => { assert.fieldEquals("DaoPool", contractSender.toHexString(), "offchainResultsHash", resultsHash); }); - - test("should handle Requested event", () => { - let pool = getDaoPool(contractSender); - pool.erc20Token = Bytes.fromHexString("0x86e08f7d84603aeb97cd1c89a80a9e914f181676"); - pool.save(); - - let from = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let to = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"); - - let amount = BigInt.fromI32(1000); - let nfts = [BigInt.fromI32(1)]; - - let delegatedEvent = createDelegated(from, to, amount, nfts, true, contractSender, block, tx); - - onDelegated(delegatedEvent); - - assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentNFTDelegated", `[${nfts[0]}]`); - assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentTokenDelegatees", "1"); - assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentNFTDelegatees", "1"); - assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "receivedDelegation", amount.toString()); - assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "receivedNFTDelegation", `[${nfts[0]}]`); - assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "currentDelegatorsCount", "1"); - assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "receivedNFTDelegationCount", "1"); - assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "requestedTokensAmount", "0"); - assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "requestedNft", `[]`); - assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "requestedNftCount", `0`); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); - assert.fieldEquals( - "DelegationHistory", - tx.hash.concatI32(0).toHexString(), - "timestamp", - delegatedEvent.block.timestamp.toString() - ); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "from", from.toHexString()); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "to", to.toHexString()); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(0).toHexString(), "nfts", `[${nfts[0]}]`); - assert.fieldEquals( - "DelegationHistory", - tx.hash.concatI32(0).toHexString(), - "type", - DelegationType.DELEGATE.toString() - ); - - assert.fieldEquals( - "VoterInPoolPair", - contractSender.concat(from).concat(to).toHexString(), - "from", - from.concat(contractSender).toHexString() - ); - assert.fieldEquals( - "VoterInPoolPair", - contractSender.concat(from).concat(to).toHexString(), - "to", - to.concat(contractSender).toHexString() - ); - assert.fieldEquals( - "VoterInPoolPair", - contractSender.concat(from).concat(to).toHexString(), - "delegateAmount", - amount.toString() - ); - assert.fieldEquals( - "VoterInPoolPair", - contractSender.concat(from).concat(to).toHexString(), - "delegateNfts", - `[${nfts[0]}]` - ); - assert.fieldEquals("VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), "requestAmount", "0"); - assert.fieldEquals("VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), "requestNfts", `[]`); - - let event = createRequested(from, to, amount, nfts, contractSender, block, tx); - - onRequested(event); - - assert.fieldEquals( - "VoterInPool", - to.concat(contractSender).toHexString(), - "requestedTokensAmount", - amount.toString() - ); - assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "requestedNft", `[${nfts[0]}]`); - assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "requestedNftCount", `1`); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "pool", contractSender.toHexString()); - assert.fieldEquals( - "DelegationHistory", - tx.hash.concatI32(1).toHexString(), - "timestamp", - event.block.timestamp.toString() - ); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "from", from.toHexString()); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "to", to.toHexString()); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "amount", amount.toString()); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "nfts", `[${nfts[0]}]`); - assert.fieldEquals( - "DelegationHistory", - tx.hash.concatI32(1).toHexString(), - "type", - DelegationType.REQUEST.toString() - ); - - assert.fieldEquals( - "VoterInPoolPair", - contractSender.concat(from).concat(to).toHexString(), - "from", - from.concat(contractSender).toHexString() - ); - assert.fieldEquals( - "VoterInPoolPair", - contractSender.concat(from).concat(to).toHexString(), - "to", - to.concat(contractSender).toHexString() - ); - assert.fieldEquals( - "VoterInPoolPair", - contractSender.concat(from).concat(to).toHexString(), - "delegateAmount", - amount.toString() - ); - assert.fieldEquals( - "VoterInPoolPair", - contractSender.concat(from).concat(to).toHexString(), - "delegateNfts", - `[${nfts[0]}]` - ); - assert.fieldEquals( - "VoterInPoolPair", - contractSender.concat(from).concat(to).toHexString(), - "requestAmount", - amount.toString() - ); - assert.fieldEquals( - "VoterInPoolPair", - contractSender.concat(from).concat(to).toHexString(), - "requestNfts", - `[${nfts[0]}]` - ); - - let undelegatedEvent = createDelegated(from, to, amount, nfts, false, contractSender, block, tx); - - onDelegated(undelegatedEvent); - - assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentNFTDelegated", `[]`); - assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentTokenDelegatees", "0"); - assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentNFTDelegatees", "0"); - assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "receivedDelegation", "0"); - assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "receivedNFTDelegation", `[]`); - assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "currentDelegatorsCount", "0"); - assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "receivedNFTDelegationCount", "0"); - assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "requestedTokensAmount", "0"); - assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "requestedNft", `[]`); - assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "requestedNftCount", `0`); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(2).toHexString(), "pool", contractSender.toHexString()); - assert.fieldEquals( - "DelegationHistory", - tx.hash.concatI32(2).toHexString(), - "timestamp", - undelegatedEvent.block.timestamp.toString() - ); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(2).toHexString(), "from", from.toHexString()); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(2).toHexString(), "to", to.toHexString()); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(2).toHexString(), "amount", amount.toString()); - assert.fieldEquals("DelegationHistory", tx.hash.concatI32(2).toHexString(), "nfts", `[${nfts[0]}]`); - assert.fieldEquals( - "DelegationHistory", - tx.hash.concatI32(2).toHexString(), - "type", - DelegationType.UNDELEGATE.toString() - ); - - assert.fieldEquals( - "VoterInPoolPair", - contractSender.concat(from).concat(to).toHexString(), - "from", - from.concat(contractSender).toHexString() - ); - assert.fieldEquals( - "VoterInPoolPair", - contractSender.concat(from).concat(to).toHexString(), - "to", - to.concat(contractSender).toHexString() - ); - assert.fieldEquals("VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), "delegateAmount", "0"); - assert.fieldEquals("VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), "delegateNfts", `[]`); - assert.fieldEquals("VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), "requestAmount", "0"); - assert.fieldEquals("VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), "requestNfts", `[]`); - }); }); diff --git a/DaoPools/tests/DistributionProposal.test.ts b/DaoPools/tests/DistributionProposal.test.ts index a65f17d7..6035a55a 100644 --- a/DaoPools/tests/DistributionProposal.test.ts +++ b/DaoPools/tests/DistributionProposal.test.ts @@ -73,19 +73,6 @@ describe("DistributionProposal", () => { onDistributionProposalClaimed(event); - assert.fieldEquals( - "VoterInPool", - sender.concat(pool).toHexString(), - "claimedDPs", - `[${pool.concatI32(proposalId.toI32()).toHexString()}]` - ); - assert.fieldEquals( - "VoterInPool", - sender.concat(pool).toHexString(), - "totalDPClaimed", - BigInt.fromU64(10000000000000000000).toString() - ); - assert.fieldEquals( "Voter", sender.toHexString(), diff --git a/DaoPools/tests/ERC721Expert.test.ts b/DaoPools/tests/ERC721Expert.test.ts index be1ce36a..3039033d 100644 --- a/DaoPools/tests/ERC721Expert.test.ts +++ b/DaoPools/tests/ERC721Expert.test.ts @@ -1,5 +1,5 @@ import { Address, ethereum, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { assert, beforeAll, describe, newMockEvent, test } from "matchstick-as"; +import { assert, beforeAll, describe, logStore, newMockEvent, test } from "matchstick-as"; import { TagsAdded, Transfer } from "../generated/templates/ERC721Expert/ERC721Expert"; import { getBlock, getTransaction } from "./utils"; import { onTagsAdded, onTransfer } from "../src/mappings/ERC721Expert"; @@ -83,18 +83,13 @@ describe("ERC721Expert", () => { onTransfer(event); - assert.fieldEquals("Expert", to.toHexString(), "id", to.toHexString()); - assert.fieldEquals("Expert", to.toHexString(), "pools", `[${daoPools[0].toHexString()}]`); - + assert.fieldEquals("VoterInPool", to.concat(daoPools[0]).toHexString(), "id", to.concat(daoPools[0]).toHexString()); assert.fieldEquals( - "ExpertInPool", + "VoterInPool", to.concat(daoPools[0]).toHexString(), - "id", - to.concat(daoPools[0]).toHexString() + "expertNft", + nfts[0].concat(bytesFromBigInt(tokenId)).toHexString() ); - assert.fieldEquals("ExpertInPool", to.concat(daoPools[0]).toHexString(), "tokenId", tokenId.toString()); - assert.fieldEquals("ExpertInPool", to.concat(daoPools[0]).toHexString(), "pool", daoPools[0].toHexString()); - assert.fieldEquals("ExpertInPool", to.concat(daoPools[0]).toHexString(), "expert", to.toHexString()); assert.fieldEquals( "ExpertNft", @@ -109,29 +104,18 @@ describe("ERC721Expert", () => { tokenId.toString() ); assert.fieldEquals("ExpertNft", nfts[0].concat(bytesFromBigInt(tokenId)).toHexString(), "tags", "[]"); - assert.fieldEquals("ExpertNft", nfts[0].concat(bytesFromBigInt(tokenId)).toHexString(), "expert", to.toHexString()); event = createTransfer(from, to, tokenId, nfts[1], block, tx); onTransfer(event); - assert.fieldEquals("Expert", to.toHexString(), "id", to.toHexString()); - assert.fieldEquals( - "Expert", - to.toHexString(), - "pools", - `[${daoPools[0].toHexString()}, ${daoPools[1].toHexString()}]` - ); - + assert.fieldEquals("VoterInPool", to.concat(daoPools[1]).toHexString(), "id", to.concat(daoPools[1]).toHexString()); assert.fieldEquals( - "ExpertInPool", + "VoterInPool", to.concat(daoPools[1]).toHexString(), - "id", - to.concat(daoPools[1]).toHexString() + "expertNft", + nfts[1].concat(bytesFromBigInt(tokenId)).toHexString() ); - assert.fieldEquals("ExpertInPool", to.concat(daoPools[1]).toHexString(), "tokenId", tokenId.toString()); - assert.fieldEquals("ExpertInPool", to.concat(daoPools[1]).toHexString(), "pool", daoPools[1].toHexString()); - assert.fieldEquals("ExpertInPool", to.concat(daoPools[1]).toHexString(), "expert", to.toHexString()); assert.fieldEquals( "ExpertNft", @@ -146,7 +130,6 @@ describe("ERC721Expert", () => { tokenId.toString() ); assert.fieldEquals("ExpertNft", nfts[0].concat(bytesFromBigInt(tokenId)).toHexString(), "tags", "[]"); - assert.fieldEquals("ExpertNft", nfts[1].concat(bytesFromBigInt(tokenId)).toHexString(), "expert", to.toHexString()); }); test("should handle Transfer (burn)", () => { @@ -159,21 +142,14 @@ describe("ERC721Expert", () => { onTransfer(event); - assert.fieldEquals("Expert", from.toHexString(), "id", from.toHexString()); - assert.fieldEquals("Expert", from.toHexString(), "pools", `[${daoPools[1].toHexString()}]`); - - assert.notInStore("ExpertInPool", to.concat(daoPools[0]).toHexString()); - assert.notInStore("ExpertNft", nfts[0].concat(bytesFromBigInt(tokenId)).toHexString()); - assert.fieldEquals( - "ExpertInPool", - from.concat(daoPools[1]).toHexString(), + "VoterInPool", + from.concat(daoPools[0]).toHexString(), "id", - from.concat(daoPools[1]).toHexString() + from.concat(daoPools[0]).toHexString() ); - assert.fieldEquals("ExpertInPool", from.concat(daoPools[1]).toHexString(), "tokenId", tokenId.toString()); - assert.fieldEquals("ExpertInPool", from.concat(daoPools[1]).toHexString(), "pool", daoPools[1].toHexString()); - assert.fieldEquals("ExpertInPool", from.concat(daoPools[1]).toHexString(), "expert", from.toHexString()); + assert.fieldEquals("VoterInPool", from.concat(daoPools[0]).toHexString(), "expertNft", Bytes.empty().toHexString()); + assert.notInStore("ExpertNft", nfts[0].concat(bytesFromBigInt(tokenId)).toHexString()); assert.fieldEquals( "ExpertNft", @@ -188,19 +164,18 @@ describe("ERC721Expert", () => { tokenId.toString() ); assert.fieldEquals("ExpertNft", nfts[1].concat(bytesFromBigInt(tokenId)).toHexString(), "tags", "[]"); - assert.fieldEquals( - "ExpertNft", - nfts[1].concat(bytesFromBigInt(tokenId)).toHexString(), - "expert", - from.toHexString() - ); event = createTransfer(from, to, tokenId, nfts[1], block, tx); onTransfer(event); - assert.notInStore("Expert", from.toHexString()); - assert.notInStore("ExpertInPool", from.concat(daoPools[1]).toHexString()); + assert.fieldEquals( + "VoterInPool", + from.concat(daoPools[1]).toHexString(), + "id", + from.concat(daoPools[1]).toHexString() + ); + assert.fieldEquals("VoterInPool", from.concat(daoPools[1]).toHexString(), "expertNft", Bytes.empty().toHexString()); assert.notInStore("ExpertNft", nfts[1].concat(bytesFromBigInt(tokenId)).toHexString()); }); diff --git a/DaoPools/tests/GlobalERC721Expert.test.ts b/DaoPools/tests/GlobalERC721Expert.test.ts index 6ac07a34..6e32f6e7 100644 --- a/DaoPools/tests/GlobalERC721Expert.test.ts +++ b/DaoPools/tests/GlobalERC721Expert.test.ts @@ -62,11 +62,11 @@ describe("GlobalERC721Expert", () => { onTransfer(event); - assert.fieldEquals("GlobalExpert", to.toHexString(), "id", to.toHexString()); + assert.fieldEquals("Voter", to.toHexString(), "id", to.toHexString()); assert.fieldEquals( - "GlobalExpert", + "Voter", to.toHexString(), - "nft", + "expertNft", event.address.concat(bytesFromBigInt(tokenId)).toHexString() ); @@ -78,7 +78,6 @@ describe("GlobalERC721Expert", () => { ); assert.fieldEquals("ExpertNft", nft.concat(bytesFromBigInt(tokenId)).toHexString(), "tokenId", tokenId.toString()); assert.fieldEquals("ExpertNft", nft.concat(bytesFromBigInt(tokenId)).toHexString(), "tags", "[]"); - assert.fieldEquals("ExpertNft", nft.concat(bytesFromBigInt(tokenId)).toHexString(), "expert", to.toHexString()); }); test("should handle Transfer (burn)", () => { @@ -92,7 +91,7 @@ describe("GlobalERC721Expert", () => { onTransfer(event); assert.notInStore("ExpertNft", nft.concat(bytesFromBigInt(tokenId)).toHexString()); - assert.notInStore("GlobalExpert", from.toHexString()); + assert.fieldEquals("Voter", from.toHexString(), "expertNft", Bytes.empty().toHexString()); }); test("should handle TagsAdded", () => { diff --git a/DaoPools/tests/TokenSale.test.ts b/DaoPools/tests/TokenSale.test.ts index 8655ed3e..58a3f65c 100644 --- a/DaoPools/tests/TokenSale.test.ts +++ b/DaoPools/tests/TokenSale.test.ts @@ -4,7 +4,7 @@ import { afterEach, assert, beforeAll, describe, newMockEvent, test } from "matc import { getBlock, getNextBlock, getNextTx, getTransaction } from "./utils"; import { getDaoPool } from "../src/entities/DaoPool"; import { getTokenSale } from "../src/entities/TokenSale"; -import { onBought, onTierCreated, onWhitelisted } from "../src/mappings/TokenSale"; +import { onBought, onTierCreated } from "../src/mappings/TokenSale"; function createBought( tierId: BigInt, @@ -46,26 +46,6 @@ function createTierCreated( return event; } -function createWhitelisted( - tierId: BigInt, - user: Address, - contractSender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): Whitelisted { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("tierId", ethereum.Value.fromUnsignedBigInt(tierId))); - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); - - event.block = block; - event.transaction = tx; - event.address = contractSender; - - return event; -} - let block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); let tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); const contractSender = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181670"); @@ -74,7 +54,7 @@ const poolAddress = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f1816 describe("TokenSale", () => { beforeAll(() => { getDaoPool(poolAddress).save(); - getTokenSale(contractSender, poolAddress, poolAddress).save(); + getTokenSale(contractSender, poolAddress).save(); }); afterEach(() => { @@ -89,8 +69,7 @@ describe("TokenSale", () => { onTierCreated(event); - assert.fieldEquals("TokenSale", contractSender.toHexString(), "token", poolAddress.toHexString()); - assert.fieldEquals("TokenSale", contractSender.toHexString(), "pool", poolAddress.toHexString()); + assert.fieldEquals("TokenSaleContract", contractSender.toHexString(), "daoPool", poolAddress.toHexString()); assert.fieldEquals( "TokenSaleTier", @@ -101,7 +80,7 @@ describe("TokenSale", () => { assert.fieldEquals( "TokenSaleTier", contractSender.concatI32(tierId.toI32()).toHexString(), - "tierToken", + "saleToken", token.toHexString() ); @@ -111,8 +90,7 @@ describe("TokenSale", () => { onTierCreated(event); - assert.fieldEquals("TokenSale", contractSender.toHexString(), "token", poolAddress.toHexString()); - assert.fieldEquals("TokenSale", contractSender.toHexString(), "pool", poolAddress.toHexString()); + assert.fieldEquals("TokenSaleContract", contractSender.toHexString(), "daoPool", poolAddress.toHexString()); assert.fieldEquals( "TokenSaleTier", @@ -123,7 +101,7 @@ describe("TokenSale", () => { assert.fieldEquals( "TokenSaleTier", contractSender.concatI32(tierId.toI32()).toHexString(), - "tierToken", + "saleToken", token.toHexString() ); }); @@ -141,11 +119,16 @@ describe("TokenSale", () => { "tokenSale", contractSender.toHexString() ); - assert.fieldEquals("TokenSaleTier", contractSender.concatI32(tierId.toI32()).toHexString(), "totalUserCount", "1"); assert.fieldEquals( "TokenSaleTier", contractSender.concatI32(tierId.toI32()).toHexString(), - "voters", + "totalBuyersCount", + "1" + ); + assert.fieldEquals( + "TokenSaleTier", + contractSender.concatI32(tierId.toI32()).toHexString(), + "buyers", `[${user1.concat(poolAddress).toHexString()}]` ); @@ -160,37 +143,17 @@ describe("TokenSale", () => { "tokenSale", contractSender.toHexString() ); - assert.fieldEquals("TokenSaleTier", contractSender.concatI32(tierId.toI32()).toHexString(), "totalUserCount", "2"); assert.fieldEquals( "TokenSaleTier", contractSender.concatI32(tierId.toI32()).toHexString(), - "voters", - `[${user1.concat(poolAddress).toHexString()}, ${user2.concat(poolAddress).toHexString()}]` + "totalBuyersCount", + "2" ); - }); - - test("should add user to whitelist", () => { - let tierId = BigInt.fromI32(5); - let user1 = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181672"); - let user2 = Address.fromString("0x16e08f7d84603AEb97cd1c89A80A9e914f181672"); - let event1 = createWhitelisted(tierId, user1, contractSender, block, tx); - let event2 = createWhitelisted(tierId, user2, contractSender, block, tx); - - onWhitelisted(event1); - onWhitelisted(event2); - assert.fieldEquals( "TokenSaleTier", contractSender.concatI32(tierId.toI32()).toHexString(), - "tokenSale", - contractSender.toHexString() - ); - - assert.fieldEquals( - "TokenSaleTier", - contractSender.concatI32(tierId.toI32()).toHexString(), - "userWhitelist", - `[${user1.toHexString()}, ${user2.toHexString()}]` + "buyers", + `[${user1.concat(poolAddress).toHexString()}, ${user2.concat(poolAddress).toHexString()}]` ); }); }); From 9768b629bac7e699a0445877b321bcc6785ce859 Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Thu, 31 Aug 2023 13:58:55 +0300 Subject: [PATCH 24/44] updated abis, fixed onVoted handler, fixed tests (#127) --- AllInteractions/abis/DaoPool.json | 666 +++++++++--------- AllInteractions/abis/Insurance.json | 359 ---------- AllInteractions/abis/PoolFactory.json | 54 +- AllInteractions/schema.graphql | 12 +- .../dao-pool/DaoPoolProposalInteraction.ts | 29 + .../src/entities/dao-pool/DaoPoolVote.ts | 26 - .../global/ProposalInteractionTypeEnum.ts | 11 + .../entities/global/TransactionTypeEnum.ts | 25 +- .../src/entities/global/VoteTypeEnum.ts | 12 - AllInteractions/src/mappings/DaoPool.ts | 69 +- AllInteractions/subgraph.yaml | 10 +- AllInteractions/tests/DaoPool.test.ts | 192 +++-- 12 files changed, 595 insertions(+), 870 deletions(-) delete mode 100644 AllInteractions/abis/Insurance.json create mode 100644 AllInteractions/src/entities/dao-pool/DaoPoolProposalInteraction.ts delete mode 100644 AllInteractions/src/entities/dao-pool/DaoPoolVote.ts create mode 100644 AllInteractions/src/entities/global/ProposalInteractionTypeEnum.ts delete mode 100644 AllInteractions/src/entities/global/VoteTypeEnum.ts diff --git a/AllInteractions/abis/DaoPool.json b/AllInteractions/abis/DaoPool.json index 351d74fb..60612b4c 100644 --- a/AllInteractions/abis/DaoPool.json +++ b/AllInteractions/abis/DaoPool.json @@ -2,32 +2,49 @@ { "anonymous": false, "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "to", - "type": "address" - }, { "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "proposalId", "type": "uint256" }, { "indexed": false, - "internalType": "uint256[]", - "name": "nfts", - "type": "uint256[]" + "internalType": "address", + "name": "voter", + "type": "address" }, { "indexed": false, "internalType": "bool", - "name": "isDelegate", + "name": "isVoteFor", "type": "bool" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "personal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "micropool", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "treasury", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct IGovPool.Votes", + "name": "votes", + "type": "tuple" } ], - "name": "DelegatedTreasury", + "name": "VoteChanged", "type": "event" }, { @@ -35,14 +52,14 @@ "inputs": [ { "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" }, { "indexed": false, "internalType": "address", - "name": "token", + "name": "rewardToken", "type": "address" }, { @@ -50,19 +67,6 @@ "internalType": "uint256", "name": "amount", "type": "uint256" - } - ], - "name": "StakingRewardClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "resultsHash", - "type": "string" }, { "indexed": false, @@ -71,28 +75,9 @@ "type": "address" } ], - "name": "OffchainResultsSaved", + "name": "RewardCanceled", "type": "event" }, - { - "inputs": [ - { - "internalType": "string", - "name": "resultsHash", - "type": "string" - } - ], - "name": "getSignHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, { "anonymous": false, "inputs": [ @@ -161,6 +146,44 @@ "name": "RewardCredited", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "resultsHash", + "type": "string" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OffchainResultsSaved", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "resultsHash", + "type": "string" + } + ], + "name": "getSignHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, { "anonymous": false, "inputs": [ @@ -173,29 +196,23 @@ { "indexed": false, "internalType": "address", - "name": "sender", + "name": "user", "type": "address" }, { "indexed": false, - "internalType": "enum IGovPool.VoteType", - "name": "voteType", - "type": "uint8" + "internalType": "address", + "name": "token", + "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isVoteFor", - "type": "bool" } ], - "name": "Voted", + "name": "MicropoolRewardClaimed", "type": "event" }, { @@ -371,6 +388,12 @@ { "anonymous": false, "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "to", + "type": "address" + }, { "indexed": false, "internalType": "uint256", @@ -385,42 +408,17 @@ }, { "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "Deposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" + "internalType": "bool", + "name": "isDelegate", + "type": "bool" } ], - "name": "Initialized", + "name": "DelegatedTreasury", "type": "event" }, { "anonymous": false, "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "to", - "type": "address" - }, { "indexed": false, "internalType": "uint256", @@ -432,9 +430,28 @@ "internalType": "uint256[]", "name": "nfts", "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" } ], - "name": "Requested", + "name": "Deposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", "type": "event" }, { @@ -462,19 +479,6 @@ "name": "Withdrawn", "type": "event" }, - { - "inputs": [], - "name": "PERCENTAGE_MICROPOOL_REWARDS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -489,19 +493,24 @@ "name": "userKeeperAddress", "type": "address" }, + { + "internalType": "address payable", + "name": "validatorsAddress", + "type": "address" + }, { "internalType": "address", - "name": "distributionAddress", + "name": "expertNftAddress", "type": "address" }, { "internalType": "address", - "name": "validatorsAddress", + "name": "nftMultiplierAddress", "type": "address" }, { "internalType": "address", - "name": "expertNftAddress", + "name": "votePowerAddress", "type": "address" } ], @@ -509,21 +518,6 @@ "name": "govPoolDeps", "type": "tuple" }, - { - "internalType": "address", - "name": "nftMultiplierAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" - }, { "internalType": "address", "name": "_verifier", @@ -556,16 +550,16 @@ "type": "function" }, { - "inputs": [], - "name": "babt", - "outputs": [ + "inputs": [ { - "internalType": "contract ISBT721", - "name": "", - "type": "address" + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" } ], - "stateMutability": "view", + "name": "cancelVote", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { @@ -597,17 +591,17 @@ { "inputs": [ { - "internalType": "uint256", - "name": "regularModifier", - "type": "uint256" + "internalType": "uint256[]", + "name": "proposalIds", + "type": "uint256[]" }, { - "internalType": "uint256", - "name": "expertModifier", - "type": "uint256" + "internalType": "address", + "name": "delegatee", + "type": "address" } ], - "name": "changeVoteModifiers", + "name": "claimMicropoolRewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -645,11 +639,6 @@ "name": "_descriptionURL", "type": "string" }, - { - "internalType": "string", - "name": "misc", - "type": "string" - }, { "components": [ { @@ -723,6 +712,29 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "delegatee", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "nftIds", + "type": "uint256[]" + } + ], + "name": "delegateTreasury", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "deployerBABTid", @@ -772,19 +784,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "dexeExpertNft", - "outputs": [ - { - "internalType": "contract IERC721Expert", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -813,12 +812,29 @@ }, { "inputs": [], - "name": "expertNft", + "name": "getCreditInfo", "outputs": [ { - "internalType": "contract IERC721Expert", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "monthLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "currentWithdrawLimit", + "type": "uint256" + } + ], + "internalType": "struct IGovPool.CreditInfoView[]", "name": "", - "type": "address" + "type": "tuple[]" } ], "stateMutability": "view", @@ -826,40 +842,50 @@ }, { "inputs": [ + { + "internalType": "uint256[]", + "name": "proposalIds", + "type": "uint256[]" + }, { "internalType": "address", "name": "delegator", "type": "address" + }, + { + "internalType": "address", + "name": "delegatee", + "type": "address" } ], - "name": "getDelegatorStakingRewards", + "name": "getDelegatorRewards", "outputs": [ { - "components": [ - { - "internalType": "address", - "name": "micropool", - "type": "address" - }, + "components": [ { "internalType": "address[]", "name": "rewardTokens", "type": "address[]" }, { - "internalType": "uint256[]", - "name": "expectedRewards", - "type": "uint256[]" + "internalType": "bool[]", + "name": "isVoteFor", + "type": "bool[]" + }, + { + "internalType": "bool[]", + "name": "isClaimed", + "type": "bool[]" }, { "internalType": "uint256[]", - "name": "realRewards", + "name": "expectedRewards", "type": "uint256[]" } ], - "internalType": "struct IGovPool.UserStakeRewardsView[]", + "internalType": "struct IGovPool.DelegatorRewards", "name": "", - "type": "tuple[]" + "type": "tuple" } ], "stateMutability": "view", @@ -905,7 +931,12 @@ }, { "internalType": "address", - "name": "distributionProposal", + "name": "poolRegistry", + "type": "address" + }, + { + "internalType": "address", + "name": "votePower", "type": "address" } ], @@ -918,7 +949,35 @@ "outputs": [ { "internalType": "address", - "name": "_injector", + "name": "injector_", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getNftContracts", + "outputs": [ + { + "internalType": "address", + "name": "nftMultiplier", + "type": "address" + }, + { + "internalType": "address", + "name": "expertNft", + "type": "address" + }, + { + "internalType": "address", + "name": "dexeExpertNft", + "type": "address" + }, + { + "internalType": "address", + "name": "babt", "type": "address" } ], @@ -927,8 +986,13 @@ }, { "inputs": [], - "name": "getOffchainResultsHash", + "name": "getOffchainInfo", "outputs": [ + { + "internalType": "address", + "name": "validator", + "type": "address" + }, { "internalType": "string", "name": "resultsHash", @@ -1151,11 +1215,6 @@ "name": "settings", "type": "tuple" }, - { - "internalType": "bool", - "name": "executed", - "type": "bool" - }, { "internalType": "uint64", "name": "voteEnd", @@ -1166,6 +1225,11 @@ "name": "executeAfter", "type": "uint64" }, + { + "internalType": "uint64", + "name": "executionTime", + "type": "uint64" + }, { "internalType": "uint256", "name": "votesFor", @@ -1180,6 +1244,11 @@ "internalType": "uint256", "name": "nftPowerSnapshotId", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "givenRewards", + "type": "uint256" } ], "internalType": "struct IGovPool.ProposalCore", @@ -1303,11 +1372,6 @@ "internalType": "uint256", "name": "requiredValidatorsQuorum", "type": "uint256" - }, - { - "internalType": "uint64", - "name": "executeAfter", - "type": "uint64" } ], "internalType": "struct IGovPool.ProposalView[]", @@ -1331,9 +1395,9 @@ "type": "address" }, { - "internalType": "bool", - "name": "isMicropool", - "type": "bool" + "internalType": "enum IGovPool.VoteType", + "name": "voteType", + "type": "uint8" } ], "name": "getTotalVotes", @@ -1353,6 +1417,25 @@ "name": "", "type": "uint256" }, + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getUserActiveProposalsCount", + "outputs": [ { "internalType": "uint256", "name": "", @@ -1375,9 +1458,9 @@ "type": "address" }, { - "internalType": "bool", - "name": "isMicropool", - "type": "bool" + "internalType": "enum IGovPool.VoteType", + "name": "voteType", + "type": "uint8" } ], "name": "getUserVotes", @@ -1385,33 +1468,28 @@ { "components": [ { - "internalType": "uint256", - "name": "totalVotedFor", - "type": "uint256" + "internalType": "bool", + "name": "isVoteFor", + "type": "bool" }, { "internalType": "uint256", - "name": "totalVotedAgainst", + "name": "totalVoted", "type": "uint256" }, { "internalType": "uint256", - "name": "tokensVotedFor", + "name": "tokensVoted", "type": "uint256" }, { "internalType": "uint256", - "name": "tokensVotedAgainst", + "name": "powerVoted", "type": "uint256" }, { "internalType": "uint256[]", - "name": "nftsVotedFor", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "nftsVotedAgainst", + "name": "nftsVoted", "type": "uint256[]" } ], @@ -1423,67 +1501,12 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "getVerifier", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getVoteModifierForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVoteModifiers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { "internalType": "address", "name": "delegator", "type": "address" - }, - { - "internalType": "address", - "name": "delegatee", - "type": "address" } ], "name": "getWithdrawableAssets", @@ -1560,19 +1583,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "nftMultiplier", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -1701,22 +1711,17 @@ { "inputs": [ { - "internalType": "address", - "name": "delegatee", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" + "internalType": "string", + "name": "resultsHash", + "type": "string" }, { - "internalType": "uint256[]", - "name": "nftIds", - "type": "uint256[]" + "internalType": "bytes", + "name": "signature", + "type": "bytes" } ], - "name": "request", + "name": "saveOffchainResults", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -1724,17 +1729,17 @@ { "inputs": [ { - "internalType": "string", - "name": "resultsHash", - "type": "string" + "internalType": "address[]", + "name": "tokens", + "type": "address[]" }, { - "internalType": "bytes", - "name": "signature", - "type": "bytes" + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" } ], - "name": "saveOffchainResults", + "name": "setCreditInfo", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -1745,6 +1750,11 @@ "internalType": "address", "name": "contractsRegistry", "type": "address" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" } ], "name": "setDependencies", @@ -1756,7 +1766,7 @@ "inputs": [ { "internalType": "address", - "name": "_injector", + "name": "injector_", "type": "address" } ], @@ -1797,6 +1807,29 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "tokens", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "transferCreditAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -1824,39 +1857,34 @@ "inputs": [ { "internalType": "address", - "name": "user", + "name": "delegatee", "type": "address" }, { - "internalType": "bool", - "name": "isMicropool", - "type": "bool" + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "nftIds", + "type": "uint256[]" } ], - "name": "unlock", + "name": "undelegateTreasury", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ - { - "internalType": "uint256[]", - "name": "proposalIds", - "type": "uint256[]" - }, { "internalType": "address", "name": "user", "type": "address" - }, - { - "internalType": "bool", - "name": "isMicropool", - "type": "bool" } ], - "name": "unlockInProposals", + "name": "unlock", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -1868,33 +1896,10 @@ "name": "proposalId", "type": "uint256" }, - { - "internalType": "uint256", - "name": "voteAmount", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "voteNftIds", - "type": "uint256[]" - }, { "internalType": "bool", "name": "isVoteFor", "type": "bool" - } - ], - "name": "vote", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" }, { "internalType": "uint256", @@ -1905,14 +1910,9 @@ "internalType": "uint256[]", "name": "voteNftIds", "type": "uint256[]" - }, - { - "internalType": "bool", - "name": "isVoteFor", - "type": "bool" } ], - "name": "voteDelegated", + "name": "vote", "outputs": [], "stateMutability": "nonpayable", "type": "function" diff --git a/AllInteractions/abis/Insurance.json b/AllInteractions/abis/Insurance.json deleted file mode 100644 index eaac44c0..00000000 --- a/AllInteractions/abis/Insurance.json +++ /dev/null @@ -1,359 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "Deposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "insurancePayout", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "userStakePayout", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "Paidout", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "investor", - "type": "address" - } - ], - "name": "Withdrawn", - "type": "event" - }, - { - "inputs": [], - "name": "__Insurance_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "name": "acceptClaim", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "acceptedClaimsCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "deposit", - "type": "uint256" - } - ], - "name": "buyInsurance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getInjector", - "outputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getInsurance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxTreasuryPayout", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "deposit", - "type": "uint256" - } - ], - "name": "getReceivedInsurance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "listAcceptedClaims", - "outputs": [ - { - "internalType": "string[]", - "name": "urls", - "type": "string[]" - }, - { - "components": [ - { - "internalType": "address[]", - "name": "claimers", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "internalType": "struct IInsurance.AcceptedClaims[]", - "name": "info", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractsRegistry", - "type": "address" - } - ], - "name": "setDependencies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_injector", - "type": "address" - } - ], - "name": "setInjector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "userInfos", - "outputs": [ - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastDepositTimestamp", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amountToWithdraw", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/AllInteractions/abis/PoolFactory.json b/AllInteractions/abis/PoolFactory.json index 300d71c5..025785ee 100644 --- a/AllInteractions/abis/PoolFactory.json +++ b/AllInteractions/abis/PoolFactory.json @@ -1,4 +1,23 @@ [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + } + ], + "name": "predictTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "anonymous": false, "inputs": [ @@ -40,6 +59,11 @@ "internalType": "address", "name": "nftMultiplierAddress", "type": "address" + }, + { + "internalType": "address", + "name": "votePowerAddress", + "type": "address" } ], "indexed": false, @@ -436,7 +460,7 @@ "type": "uint256[]" } ], - "internalType": "struct IERC20Sale.ConstructorParams", + "internalType": "struct IERC20Gov.ConstructorParams", "name": "tokenParams", "type": "tuple" } @@ -446,14 +470,26 @@ "type": "tuple" }, { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" + "components": [ + { + "internalType": "enum IPoolFactory.VotePowerType", + "name": "voteType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "initData", + "type": "bytes" + }, + { + "internalType": "address", + "name": "presetAddress", + "type": "address" + } + ], + "internalType": "struct IPoolFactory.VotePowerDeployParams", + "name": "votePowerParams", + "type": "tuple" }, { "internalType": "address", diff --git a/AllInteractions/schema.graphql b/AllInteractions/schema.graphql index 258ec690..131513b8 100644 --- a/AllInteractions/schema.graphql +++ b/AllInteractions/schema.graphql @@ -21,7 +21,7 @@ type Transaction @entity { daoPoolCreate: [DaoPoolCreate!]! @derivedFrom(field: "transaction") daoPoolDelegate: [DaoPoolDelegate!]! @derivedFrom(field: "transaction") - daoPoolVote: [DaoPoolVote!]! @derivedFrom(field: "transaction") + daoPoolProposalInteraction: [DaoPoolProposalInteraction!]! @derivedFrom(field: "transaction") daoProposalCreate: [DaoProposalCreate!]! @derivedFrom(field: "transaction") daoPoolExecute: [DaoPoolExecute!]! @derivedFrom(field: "transaction") daoPoolRewardClaim: [DaoPoolRewardClaim!]! @derivedFrom(field: "transaction") @@ -74,13 +74,15 @@ type DaoPoolDelegate @entity(immutable: true) { # @param isVoteFor bool flag, if true - vote for, if false - vote against # @param amount the vote amount # @param transaction the transaction entity id -type DaoPoolVote @entity(immutable: true) { +type DaoPoolProposalInteraction @entity(immutable: true) { id: Bytes! # tx hash + interactionCount pool: Pool! - voteType: BigInt! - isVoteFor: Boolean! - amount: BigInt! + personalVote: BigInt! + micropoolVote: BigInt! + treasuryVote: BigInt! + + interactionType: BigInt! transaction: Transaction! } diff --git a/AllInteractions/src/entities/dao-pool/DaoPoolProposalInteraction.ts b/AllInteractions/src/entities/dao-pool/DaoPoolProposalInteraction.ts new file mode 100644 index 00000000..4d17ef6a --- /dev/null +++ b/AllInteractions/src/entities/dao-pool/DaoPoolProposalInteraction.ts @@ -0,0 +1,29 @@ +import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { DaoPoolProposalInteraction } from "../../../generated/schema"; + +export function getDaoPoolProposalInteraction( + hash: Bytes, + pool: Address, + interactionType: BigInt, + personal: BigInt, + micropool: BigInt, + treasury: BigInt, + count: BigInt +): DaoPoolProposalInteraction { + let id = hash.concatI32(count.toI32()); + let interaction = DaoPoolProposalInteraction.load(id); + + if (interaction == null) { + interaction = new DaoPoolProposalInteraction(id); + interaction.pool = pool; + interaction.interactionType = interactionType; + + interaction.personalVote = personal; + interaction.micropoolVote = micropool; + interaction.treasuryVote = treasury; + + interaction.transaction = Bytes.empty(); + } + + return interaction; +} diff --git a/AllInteractions/src/entities/dao-pool/DaoPoolVote.ts b/AllInteractions/src/entities/dao-pool/DaoPoolVote.ts deleted file mode 100644 index cfe8da95..00000000 --- a/AllInteractions/src/entities/dao-pool/DaoPoolVote.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { DaoPoolVote } from "../../../generated/schema"; - -export function getDaoPoolVote( - hash: Bytes, - pool: Address, - voteType: BigInt, - amount: BigInt, - count: BigInt, - isVoteFor: boolean -): DaoPoolVote { - let id = hash.concatI32(count.toI32()); - let daoPoolVote = DaoPoolVote.load(id); - - if (daoPoolVote == null) { - daoPoolVote = new DaoPoolVote(id); - daoPoolVote.pool = pool; - daoPoolVote.voteType = voteType; - daoPoolVote.amount = amount; - daoPoolVote.isVoteFor = isVoteFor; - - daoPoolVote.transaction = Bytes.empty(); - } - - return daoPoolVote; -} diff --git a/AllInteractions/src/entities/global/ProposalInteractionTypeEnum.ts b/AllInteractions/src/entities/global/ProposalInteractionTypeEnum.ts new file mode 100644 index 00000000..3b2c9c6d --- /dev/null +++ b/AllInteractions/src/entities/global/ProposalInteractionTypeEnum.ts @@ -0,0 +1,11 @@ +import { BigInt } from "@graphprotocol/graph-ts"; + +export enum ProposalInteractionType { + VOTE_FOR = 1, + VOTE_AGAINST = 2, + VOTE_CANCEL = 3, +} + +export function getEnumBigInt(operation: ProposalInteractionType): BigInt { + return BigInt.fromI32(operation as i32); +} diff --git a/AllInteractions/src/entities/global/TransactionTypeEnum.ts b/AllInteractions/src/entities/global/TransactionTypeEnum.ts index e44668a7..95832cd8 100644 --- a/AllInteractions/src/entities/global/TransactionTypeEnum.ts +++ b/AllInteractions/src/entities/global/TransactionTypeEnum.ts @@ -8,20 +8,21 @@ export enum TransactionType { DAO_POOL_CREATED = 3, DAO_POOL_PROPOSAL_CREATED = 4, DAO_POOL_PROPOSAL_VOTED = 5, - DAO_POOL_PROPOSAL_EXECUTED = 6, + DAO_POOL_PROPOSAL_VOTE_CANCELED = 6, + DAO_POOL_PROPOSAL_EXECUTED = 7, - DAO_POOL_DELEGATED = 7, - DAO_POOL_UNDELEGATED = 8, - DAO_POOL_REQUESTED = 9, - DAO_POOL_REWARD_CLAIMED = 10, - DAO_POOL_DEPOSITED = 11, - DAO_POOL_WITHDRAWN = 12, - DAO_POOL_MOVED_TO_VALIDATORS = 13, - DAO_POOL_OFFCHAIN_RESULTS_SAVED = 14, + DAO_POOL_DELEGATED = 8, + DAO_POOL_UNDELEGATED = 9, + DAO_POOL_REQUESTED = 10, + DAO_POOL_REWARD_CLAIMED = 11, + DAO_POOL_DEPOSITED = 12, + DAO_POOL_WITHDRAWN = 13, + DAO_POOL_MOVED_TO_VALIDATORS = 14, + DAO_POOL_OFFCHAIN_RESULTS_SAVED = 15, - DAO_VALIDATORS_VOTED = 15, - DAO_VALIDATORS_PROPOSAL_CREATED = 16, - DAO_VALIDATORS_PROPOSAL_EXECUTED = 17, + DAO_VALIDATORS_VOTED = 16, + DAO_VALIDATORS_PROPOSAL_CREATED = 17, + DAO_VALIDATORS_PROPOSAL_EXECUTED = 18, } export function getEnumBigInt(operation: TransactionType): BigInt { diff --git a/AllInteractions/src/entities/global/VoteTypeEnum.ts b/AllInteractions/src/entities/global/VoteTypeEnum.ts deleted file mode 100644 index cdfe619b..00000000 --- a/AllInteractions/src/entities/global/VoteTypeEnum.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { BigInt } from "@graphprotocol/graph-ts"; - -export enum VoteType { - PERSONAL = 1, - MICROPOOL = 2, - DELEGATED = 3, - TREASURY = 4, -} - -export function getEnumBigInt(operation: VoteType): BigInt { - return BigInt.fromI32(operation as i32); -} diff --git a/AllInteractions/src/mappings/DaoPool.ts b/AllInteractions/src/mappings/DaoPool.ts index 7c482281..5978789b 100644 --- a/AllInteractions/src/mappings/DaoPool.ts +++ b/AllInteractions/src/mappings/DaoPool.ts @@ -7,22 +7,25 @@ import { ProposalCreated, ProposalExecuted, RewardClaimed, - Voted, + VoteChanged, Withdrawn, - Requested, } from "../../generated/templates/DaoPool/DaoPool"; import { getDaoPoolDelegate } from "../entities/dao-pool/DaoPoolDelegate"; import { getDaoPoolVest } from "../entities/dao-pool/DaoPoolVest"; import { getDaoPoolMovedToValidators } from "../entities/dao-pool/DaoPoolMovedToValidators"; import { getDaoPoolExecute } from "../entities/dao-pool/DaoPoolProposalExecute"; import { getDaoPoolRewardClaim } from "../entities/dao-pool/DaoPoolRewardClaim"; -import { getDaoPoolVote } from "../entities/dao-pool/DaoPoolVote"; +import { getDaoPoolProposalInteraction } from "../entities/dao-pool/DaoPoolProposalInteraction"; import { getDaoProposalCreate } from "../entities/dao-pool/DaoProposalCreate"; import { getEnumBigInt, TransactionType } from "../entities/global/TransactionTypeEnum"; import { getTransaction } from "../entities/transaction/Transaction"; import { getDaoPoolOffchainResult } from "../entities/dao-pool/DaoOffchainResults"; import { push } from "../helpers/ArrayHelper"; import { getPool } from "../entities/dao-pool/Pool"; +import { + getEnumBigInt as getProposalInteractionBigInt, + ProposalInteractionType, +} from "../entities/global/ProposalInteractionTypeEnum"; export function onProposalCreated(event: ProposalCreated): void { getPool(event.address).save(); @@ -73,52 +76,46 @@ export function onDelegated(event: Delegated): void { delegated.save(); } -export function onRequested(event: Requested): void { +export function onVoteChanged(event: VoteChanged): void { getPool(event.address).save(); let transaction = getTransaction( event.transaction.hash, event.block.number, event.block.timestamp, - event.params.from, + event.params.voter, event.address ); - let delegated = getDaoPoolDelegate( - event.transaction.hash, - event.address, - event.params.amount, - transaction.interactionsCount - ); - transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.DAO_POOL_REQUESTED)); - delegated.transaction = transaction.id; - transaction.save(); - delegated.save(); -} + let txType = TransactionType.DAO_POOL_PROPOSAL_VOTED; + let interactionType = event.params.isVoteFor + ? ProposalInteractionType.VOTE_FOR + : ProposalInteractionType.VOTE_AGAINST; -export function onVoted(event: Voted): void { - getPool(event.address).save(); - let transaction = getTransaction( - event.transaction.hash, - event.block.number, - event.block.timestamp, - event.params.sender, - event.address - ); - let voted = getDaoPoolVote( + if ( + isZero(event.params.votes.personal) && + isZero(event.params.votes.micropool) && + isZero(event.params.votes.treasury) + ) { + txType = TransactionType.DAO_POOL_PROPOSAL_VOTE_CANCELED; + interactionType = ProposalInteractionType.VOTE_CANCEL; + } + + let interaction = getDaoPoolProposalInteraction( event.transaction.hash, event.address, - getEnumBigInt(event.params.voteType), - event.params.amount, - transaction.interactionsCount, - event.params.isVoteFor + getProposalInteractionBigInt(interactionType), + event.params.votes.personal, + event.params.votes.micropool, + event.params.votes.treasury, + transaction.interactionsCount ); + transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); - transaction.type = push(transaction.type, getEnumBigInt(TransactionType.DAO_POOL_PROPOSAL_VOTED)); - voted.transaction = transaction.id; + transaction.type = push(transaction.type, getEnumBigInt(txType)); + interaction.transaction = transaction.id; transaction.save(); - voted.save(); + interaction.save(); } export function onProposalExecuted(event: ProposalExecuted): void { @@ -267,3 +264,7 @@ export function onOffchainResultsSaved(event: OffchainResultsSaved): void { transaction.save(); offchainResultsSaved.save(); } + +function isZero(val: BigInt): boolean { + return val.equals(BigInt.zero()); +} diff --git a/AllInteractions/subgraph.yaml b/AllInteractions/subgraph.yaml index d761525c..5f2fa28a 100644 --- a/AllInteractions/subgraph.yaml +++ b/AllInteractions/subgraph.yaml @@ -20,7 +20,7 @@ dataSources: - name: PoolFactory file: ./abis/PoolFactory.json eventHandlers: - - event: DaoPoolDeployed(string,address,(address,address,address,address,address),address,address,address,address) + - event: DaoPoolDeployed(string,address,(address,address,address,address,address,address),address,address,address,address) handler: onDaoPoolDeployed - kind: ethereum/contract @@ -67,12 +67,14 @@ templates: handler: onProposalCreated - event: Delegated(address,address,uint256,uint256[],bool) handler: onDelegated - - event: Voted(uint256,address,uint8,uint256,bool) - handler: onVoted + - event: VoteChanged(uint256,address,bool,(uint256,uint256,uint256)) + handler: onVoteChanged - event: ProposalExecuted(uint256,bool,address) handler: onProposalExecuted - event: RewardClaimed(uint256,address,address,uint256) handler: onRewardClaimed + - event: RewardCanceled(uint256,address,uint256,address) + handler: onRewardCanceled - event: Deposited(uint256,uint256[],address) handler: onDeposited - event: Withdrawn(uint256,uint256[],address) @@ -81,8 +83,6 @@ templates: handler: onMovedToValidators - event: OffchainResultsSaved(string,address) handler: onOffchainResultsSaved - - event: Requested(address,address,uint256,uint256[]) - handler: onRequested - kind: ethereum/contract name: DaoValidators network: chapel diff --git a/AllInteractions/tests/DaoPool.test.ts b/AllInteractions/tests/DaoPool.test.ts index e97095dd..8df15950 100644 --- a/AllInteractions/tests/DaoPool.test.ts +++ b/AllInteractions/tests/DaoPool.test.ts @@ -9,16 +9,15 @@ import { ProposalCreated, ProposalExecuted, RewardClaimed, - Voted, + RewardCanceled, + VoteChanged, Withdrawn, - Requested, } from "../generated/templates/DaoPool/DaoPool"; import { onDelegated, - onRequested, onProposalCreated, onProposalExecuted, - onVoted, + onVoteChanged, onRewardClaimed, onDeposited, onWithdrawn, @@ -26,7 +25,7 @@ import { onOffchainResultsSaved, } from "../src/mappings/DaoPool"; import { TransactionType } from "../src/entities/global/TransactionTypeEnum"; -import { VoteType, getEnumBigInt } from "../src/entities/global/VoteTypeEnum"; +import { ProposalInteractionType } from "../src/entities/global/ProposalInteractionTypeEnum"; function createProposalCreated( proposalId: BigInt, @@ -85,48 +84,30 @@ function createDelegated( return event; } -function createRequested( - from: Address, - to: Address, - amount: BigInt, - nfts: Array, - contractSender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): Requested { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("from", ethereum.Value.fromAddress(from))); - event.parameters.push(new ethereum.EventParam("to", ethereum.Value.fromAddress(to))); - event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); - event.parameters.push(new ethereum.EventParam("nfts", ethereum.Value.fromUnsignedBigIntArray(nfts))); - - event.block = block; - event.transaction = tx; - event.address = contractSender; - - return event; -} - -function createVoted( +function createVoteChanged( proposalId: BigInt, sender: Address, - voteType: BigInt, - amount: BigInt, + personal: BigInt, + micropool: BigInt, + treasury: BigInt, isVoteFor: boolean, contractSender: Address, block: ethereum.Block, tx: ethereum.Transaction -): Voted { - let event = changetype(newMockEvent()); +): VoteChanged { + let event = changetype(newMockEvent()); event.parameters = new Array(); + const votes = new ethereum.Tuple(3); + + votes[0] = ethereum.Value.fromUnsignedBigInt(personal); + votes[1] = ethereum.Value.fromUnsignedBigInt(micropool); + votes[2] = ethereum.Value.fromUnsignedBigInt(treasury); + event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); - event.parameters.push(new ethereum.EventParam("voteType", ethereum.Value.fromUnsignedBigInt(voteType))); - event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); + event.parameters.push(new ethereum.EventParam("voter", ethereum.Value.fromAddress(sender))); event.parameters.push(new ethereum.EventParam("isVoteFor", ethereum.Value.fromBoolean(isVoteFor))); + event.parameters.push(new ethereum.EventParam("votes", ethereum.Value.fromTuple(votes))); event.block = block; event.transaction = tx; @@ -348,68 +329,129 @@ describe("DaoPool", () => { ); }); - test("should handle Requested", () => { - let from = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let to = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"); - let amount = BigInt.fromI32(100).pow(18); - let nfts = [BigInt.fromI32(1), BigInt.fromI32(2)]; - - let event0 = createRequested(from, to, amount, nfts, contractSender, block, tx); - - onRequested(event0); - - assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); - assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); - assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); + test("should handle VoteChanged", () => { + let proposalId = BigInt.fromI32(1); + let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + let personal = BigInt.fromI32(1000); + let micropool = BigInt.fromI32(1000); + let treasury = BigInt.fromI32(1000); + let isVoteFor = true; - assertTransaction( - tx.hash, - event0.params.from, + let event = createVoteChanged( + proposalId, + sender, + personal, + micropool, + treasury, + isVoteFor, + contractSender, block, - `[${TransactionType.DAO_POOL_REQUESTED}]`, - BigInt.fromI32(1), - contractSender + tx ); - let event1 = createRequested(from, to, amount, nfts, contractSender, block, tx); - - onRequested(event1); + onVoteChanged(event); - assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); - assert.fieldEquals("DaoPoolDelegate", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); + assert.fieldEquals( + "DaoPoolProposalInteraction", + tx.hash.concatI32(0).toHexString(), + "pool", + contractSender.toHexString() + ); + assert.fieldEquals( + "DaoPoolProposalInteraction", + tx.hash.concatI32(0).toHexString(), + "personalVote", + personal.toString() + ); + assert.fieldEquals( + "DaoPoolProposalInteraction", + tx.hash.concatI32(0).toHexString(), + "micropoolVote", + micropool.toString() + ); + assert.fieldEquals( + "DaoPoolProposalInteraction", + tx.hash.concatI32(0).toHexString(), + "treasuryVote", + treasury.toString() + ); + assert.fieldEquals( + "DaoPoolProposalInteraction", + tx.hash.concatI32(0).toHexString(), + "interactionType", + ProposalInteractionType.VOTE_FOR.toString() + ); assertTransaction( tx.hash, - event1.params.from, + event.params.voter, block, - `[${TransactionType.DAO_POOL_REQUESTED}, ${TransactionType.DAO_POOL_REQUESTED}]`, - BigInt.fromI32(2), + `[${TransactionType.DAO_POOL_PROPOSAL_VOTED}]`, + BigInt.fromI32(1), contractSender ); }); - test("should handle Voted", () => { + test("should handle VoteChanged (cancel)", () => { let proposalId = BigInt.fromI32(1); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let voteType = getEnumBigInt(VoteType.PERSONAL); - let amount = BigInt.fromI32(1000); + let personal = BigInt.fromI32(0); + let micropool = BigInt.fromI32(0); + let treasury = BigInt.fromI32(0); let isVoteFor = true; - let event = createVoted(proposalId, sender, voteType, amount, isVoteFor, contractSender, block, tx); + let event = createVoteChanged( + proposalId, + sender, + personal, + micropool, + treasury, + isVoteFor, + contractSender, + block, + tx + ); - onVoted(event); + onVoteChanged(event); assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); - assert.fieldEquals("DaoPoolVote", tx.hash.concatI32(0).toHexString(), "pool", contractSender.toHexString()); - assert.fieldEquals("DaoPoolVote", tx.hash.concatI32(0).toHexString(), "voteType", voteType.toString()); - assert.fieldEquals("DaoPoolVote", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); - assert.fieldEquals("DaoPoolVote", tx.hash.concatI32(0).toHexString(), "isVoteFor", isVoteFor.toString()); + assert.fieldEquals( + "DaoPoolProposalInteraction", + tx.hash.concatI32(0).toHexString(), + "pool", + contractSender.toHexString() + ); + assert.fieldEquals( + "DaoPoolProposalInteraction", + tx.hash.concatI32(0).toHexString(), + "personalVote", + personal.toString() + ); + assert.fieldEquals( + "DaoPoolProposalInteraction", + tx.hash.concatI32(0).toHexString(), + "micropoolVote", + micropool.toString() + ); + assert.fieldEquals( + "DaoPoolProposalInteraction", + tx.hash.concatI32(0).toHexString(), + "treasuryVote", + treasury.toString() + ); + assert.fieldEquals( + "DaoPoolProposalInteraction", + tx.hash.concatI32(0).toHexString(), + "interactionType", + ProposalInteractionType.VOTE_CANCEL.toString() + ); assertTransaction( tx.hash, - event.params.sender, + event.params.voter, block, - `[${TransactionType.DAO_POOL_PROPOSAL_VOTED}]`, + `[${TransactionType.DAO_POOL_PROPOSAL_VOTE_CANCELED}]`, BigInt.fromI32(1), contractSender ); From cad25a4466dcce9de454c29b0347a3b205b321ef Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Thu, 31 Aug 2023 15:35:14 +0300 Subject: [PATCH 25/44] added VoteCanceled event (#128) --- DaoValidators/abis/DaoValidators.json | 155 +++++++++++++-- DaoValidators/abis/PoolFactory.json | 54 +++++- DaoValidators/schema.graphql | 6 +- ...ProposalVote.ts => ProposalInteraction.ts} | 14 +- .../global/ProposalInteractionTypeEnum.ts | 11 ++ DaoValidators/src/mappings/DaoValidators.ts | 40 +++- DaoValidators/subgraph.yaml | 4 +- DaoValidators/tests/DaoValidators.test.ts | 176 ++++++++++++++++-- 8 files changed, 403 insertions(+), 57 deletions(-) rename DaoValidators/src/entities/{ProposalVote.ts => ProposalInteraction.ts} (65%) create mode 100644 DaoValidators/src/entities/global/ProposalInteractionTypeEnum.ts diff --git a/DaoValidators/abis/DaoValidators.json b/DaoValidators/abis/DaoValidators.json index 456d0a37..9011f0a0 100644 --- a/DaoValidators/abis/DaoValidators.json +++ b/DaoValidators/abis/DaoValidators.json @@ -1,4 +1,5 @@ [ + { "anonymous": false, "inputs": [ @@ -119,6 +120,31 @@ "name": "OwnershipTransferred", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isInternal", + "type": "bool" + } + ], + "name": "VoteCanceled", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -222,6 +248,11 @@ "internalType": "address", "name": "", "type": "address" + }, + { + "internalType": "bool", + "name": "", + "type": "bool" } ], "name": "addressVoted", @@ -235,6 +266,32 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "cancelVoteExternalProposal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "cancelVoteInternalProposal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -253,6 +310,29 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "name": "changeSettings", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -301,14 +381,9 @@ "type": "string" }, { - "internalType": "uint256[]", - "name": "newValues", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" + "internalType": "bytes", + "name": "data", + "type": "bytes" } ], "name": "createInternalProposal", @@ -324,7 +399,7 @@ "type": "uint256" } ], - "name": "execute", + "name": "executeExternalProposal", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -337,7 +412,7 @@ "type": "uint256" } ], - "name": "executeExternalProposal", + "name": "executeInternalProposal", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -477,14 +552,9 @@ "type": "string" }, { - "internalType": "uint256[]", - "name": "newValues", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "userAddresses", - "type": "address[]" + "internalType": "bytes", + "name": "data", + "type": "bytes" } ], "internalType": "struct IGovValidators.InternalProposal", @@ -626,6 +696,29 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "tokens", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "monthlyWithdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "owner", @@ -686,8 +779,26 @@ }, { "internalType": "bool", - "name": "isInternal", + "name": "isVoteFor", "type": "bool" + } + ], + "name": "voteExternalProposal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" }, { "internalType": "bool", @@ -695,9 +806,13 @@ "type": "bool" } ], - "name": "vote", + "name": "voteInternalProposal", "outputs": [], "stateMutability": "nonpayable", "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" } ] \ No newline at end of file diff --git a/DaoValidators/abis/PoolFactory.json b/DaoValidators/abis/PoolFactory.json index 300d71c5..025785ee 100644 --- a/DaoValidators/abis/PoolFactory.json +++ b/DaoValidators/abis/PoolFactory.json @@ -1,4 +1,23 @@ [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + } + ], + "name": "predictTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "anonymous": false, "inputs": [ @@ -40,6 +59,11 @@ "internalType": "address", "name": "nftMultiplierAddress", "type": "address" + }, + { + "internalType": "address", + "name": "votePowerAddress", + "type": "address" } ], "indexed": false, @@ -436,7 +460,7 @@ "type": "uint256[]" } ], - "internalType": "struct IERC20Sale.ConstructorParams", + "internalType": "struct IERC20Gov.ConstructorParams", "name": "tokenParams", "type": "tuple" } @@ -446,14 +470,26 @@ "type": "tuple" }, { - "internalType": "uint256", - "name": "regularVoteModifier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expertVoteModifier", - "type": "uint256" + "components": [ + { + "internalType": "enum IPoolFactory.VotePowerType", + "name": "voteType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "initData", + "type": "bytes" + }, + { + "internalType": "address", + "name": "presetAddress", + "type": "address" + } + ], + "internalType": "struct IPoolFactory.VotePowerDeployParams", + "name": "votePowerParams", + "type": "tuple" }, { "internalType": "address", diff --git a/DaoValidators/schema.graphql b/DaoValidators/schema.graphql index 159684d8..d9188326 100644 --- a/DaoValidators/schema.graphql +++ b/DaoValidators/schema.graphql @@ -61,13 +61,13 @@ type ValidatorInPool @entity { # @param isVoteFor bool flag, if true - vote for, if false - vote against # @param amount the amount of vote # @param voter the ValidatorInProposal entity id -type ProposalVote @entity(immutable: true) { +type ProposalInteraction @entity(immutable: true) { id: Bytes! # tx hash + counter hash: Bytes! timestamp: BigInt! proposal: Proposal! - isVoteFor: Boolean! + interactionType: BigInt! amount: BigInt! voter: ValidatorInProposal! @@ -88,7 +88,7 @@ type ValidatorInProposal @entity { totalVoteFor: BigInt! totalVoteAgainst: BigInt! - votes: [ProposalVote!]! @derivedFrom(field: "voter") + interactions: [ProposalInteraction!]! @derivedFrom(field: "voter") } # @notice The entity counts interactions in single tx diff --git a/DaoValidators/src/entities/ProposalVote.ts b/DaoValidators/src/entities/ProposalInteraction.ts similarity index 65% rename from DaoValidators/src/entities/ProposalVote.ts rename to DaoValidators/src/entities/ProposalInteraction.ts index ed431ccb..5aceee65 100644 --- a/DaoValidators/src/entities/ProposalVote.ts +++ b/DaoValidators/src/entities/ProposalInteraction.ts @@ -1,22 +1,22 @@ import { BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { Proposal, ProposalVote, ValidatorInProposal } from "../../generated/schema"; +import { Proposal, ProposalInteraction, ValidatorInProposal } from "../../generated/schema"; import { increaseCounter } from "../helpers/IncreaseCounter"; import { getInteractionCount } from "./global/InteractionCount"; -export function getProposalVote( +export function getProposalInteraction( hash: Bytes, timestamp: BigInt, proposal: Proposal, amount: BigInt, voter: ValidatorInProposal, - isVoteFor: boolean -): ProposalVote { + interactionType: BigInt +): ProposalInteraction { let counter = getInteractionCount(hash); let id = hash.concatI32(counter.count.toI32()); - let vote = ProposalVote.load(id); + let vote = ProposalInteraction.load(id); if (vote == null) { - vote = new ProposalVote(id); + vote = new ProposalInteraction(id); vote.hash = hash; vote.timestamp = timestamp; vote.proposal = proposal.id; @@ -24,7 +24,7 @@ export function getProposalVote( vote.voter = voter.id; - vote.isVoteFor = isVoteFor; + vote.interactionType = interactionType; increaseCounter(counter); } diff --git a/DaoValidators/src/entities/global/ProposalInteractionTypeEnum.ts b/DaoValidators/src/entities/global/ProposalInteractionTypeEnum.ts new file mode 100644 index 00000000..3b2c9c6d --- /dev/null +++ b/DaoValidators/src/entities/global/ProposalInteractionTypeEnum.ts @@ -0,0 +1,11 @@ +import { BigInt } from "@graphprotocol/graph-ts"; + +export enum ProposalInteractionType { + VOTE_FOR = 1, + VOTE_AGAINST = 2, + VOTE_CANCEL = 3, +} + +export function getEnumBigInt(operation: ProposalInteractionType): BigInt { + return BigInt.fromI32(operation as i32); +} diff --git a/DaoValidators/src/mappings/DaoValidators.ts b/DaoValidators/src/mappings/DaoValidators.ts index 9774edf9..3ddebe71 100644 --- a/DaoValidators/src/mappings/DaoValidators.ts +++ b/DaoValidators/src/mappings/DaoValidators.ts @@ -5,14 +5,16 @@ import { ExternalProposalCreated, InternalProposalCreated, InternalProposalExecuted, + VoteCanceled, Voted, } from "../../generated/templates/DaoValidators/DaoValidators"; import { getDaoPool } from "../entities/DaoPool"; import { getProposal } from "../entities/Proposal"; -import { getProposalVote } from "../entities/ProposalVote"; +import { getProposalInteraction } from "../entities/ProposalInteraction"; import { getValidatorContract } from "../entities/ValidatorContract"; import { getValidatorInPool } from "../entities/ValidatorInPool"; import { getValidatorInProposal } from "../entities/ValidatorInProposal"; +import { ProposalInteractionType, getEnumBigInt } from "../entities/global/ProposalInteractionTypeEnum"; export function onExternalProposalCreated(event: ExternalProposalCreated): void { let pool = getDaoPool(Address.fromBytes(getValidatorContract(event.address).pool)); @@ -49,16 +51,19 @@ export function onVoted(event: Voted): void { let validatorInPool = getValidatorInPool(pool, event.params.sender); let proposal = getProposal(pool, event.params.proposalId, event.params.isInternal); let validatorInProposal = getValidatorInProposal(validatorInPool, proposal); - let vote = getProposalVote( + let interactionType = event.params.isVoteFor + ? ProposalInteractionType.VOTE_FOR + : ProposalInteractionType.VOTE_AGAINST; + let vote = getProposalInteraction( event.transaction.hash, event.block.timestamp, proposal, event.params.vote, validatorInProposal, - event.params.isVoteFor + getEnumBigInt(interactionType) ); - if (vote.isVoteFor) { + if (event.params.isVoteFor) { validatorInProposal.totalVoteFor = validatorInProposal.totalVoteFor.plus(event.params.vote); proposal.totalVoteFor = proposal.totalVoteFor.plus(event.params.vote); } else { @@ -73,6 +78,33 @@ export function onVoted(event: Voted): void { pool.save(); } +export function onVoteCanceled(event: VoteCanceled): void { + let pool = getDaoPool(Address.fromBytes(getValidatorContract(event.address).pool)); + let validatorInPool = getValidatorInPool(pool, event.params.sender); + let proposal = getProposal(pool, event.params.proposalId, event.params.isInternal); + let validatorInProposal = getValidatorInProposal(validatorInPool, proposal); + let vote = getProposalInteraction( + event.transaction.hash, + event.block.timestamp, + proposal, + BigInt.zero(), + validatorInProposal, + getEnumBigInt(ProposalInteractionType.VOTE_CANCEL) + ); + + proposal.totalVoteFor = proposal.totalVoteFor.minus(validatorInProposal.totalVoteFor); + validatorInProposal.totalVoteFor = BigInt.zero(); + + proposal.totalVoteAgainst = proposal.totalVoteAgainst.minus(validatorInProposal.totalVoteAgainst); + validatorInProposal.totalVoteAgainst = BigInt.zero(); + + vote.save(); + validatorInProposal.save(); + validatorInPool.save(); + proposal.save(); + pool.save(); +} + export function onChangedValidatorsBalances(event: ChangedValidatorsBalances): void { let pool = getDaoPool(Address.fromBytes(getValidatorContract(event.address).pool)); let validatorInPool: ValidatorInPool; diff --git a/DaoValidators/subgraph.yaml b/DaoValidators/subgraph.yaml index a1feeda9..0d22963c 100644 --- a/DaoValidators/subgraph.yaml +++ b/DaoValidators/subgraph.yaml @@ -20,7 +20,7 @@ dataSources: - name: PoolFactory file: ./abis/PoolFactory.json eventHandlers: - - event: DaoPoolDeployed(string,address,(address,address,address,address,address),address,address,address,address) + - event: DaoPoolDeployed(string,address,(address,address,address,address,address,address),address,address,address,address) handler: onDeployed templates: @@ -42,6 +42,8 @@ templates: eventHandlers: - event: Voted(uint256,address,uint256,bool,bool) # id, msg.sender, vote handler: onVoted + - event: VoteCanceled(uint256,address,bool) + handler: onVoteCanceled - event: ChangedValidatorsBalances(address[],uint256[]) # validators[], newBalances[] handler: onChangedValidatorsBalances - event: ExternalProposalCreated(uint256,uint256) diff --git a/DaoValidators/tests/DaoValidators.test.ts b/DaoValidators/tests/DaoValidators.test.ts index 556b1d7a..25d14f5a 100644 --- a/DaoValidators/tests/DaoValidators.test.ts +++ b/DaoValidators/tests/DaoValidators.test.ts @@ -5,6 +5,7 @@ import { onExternalProposalCreated, onInternalProposalCreated, onInternalProposalExecuted, + onVoteCanceled, onVoted, } from "../src/mappings/DaoValidators"; import { @@ -13,11 +14,13 @@ import { ExternalProposalCreated, InternalProposalCreated, InternalProposalExecuted, + VoteCanceled, } from "../generated/templates/DaoValidators/DaoValidators"; -import { getBlock, getTransaction } from "./utils"; +import { getBlock, getNextTx, getTransaction } from "./utils"; import { DaoPoolDeployed } from "../generated/PoolFactory/PoolFactory"; import { onDeployed } from "../src/mappings/PoolFactory"; +import { ProposalInteractionType } from "../src/entities/global/ProposalInteractionTypeEnum"; function createExternalProposalCreated( proposalId: BigInt, @@ -109,6 +112,28 @@ function createVoted( return event; } +function createVoteCanceled( + proposalId: BigInt, + sender: Address, + isInternal: boolean, + contractSender: Address, + block: ethereum.Block, + tx: ethereum.Transaction +): VoteCanceled { + let event = changetype(newMockEvent()); + event.parameters = new Array(); + + event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); + event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); + event.parameters.push(new ethereum.EventParam("isInternal", ethereum.Value.fromBoolean(isInternal))); + + event.block = block; + event.transaction = tx; + event.address = contractSender; + + return event; +} + function createChangedValidatorsBalances( validators: Array
, newBalance: Array, @@ -385,18 +410,28 @@ describe("DaoValidators", () => { "totalVoteFor", vote.toString() ); - assert.fieldEquals("ProposalVote", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); - assert.fieldEquals("ProposalVote", tx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); + assert.fieldEquals("ProposalInteraction", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); assert.fieldEquals( - "ProposalVote", + "ProposalInteraction", + tx.hash.concatI32(0).toHexString(), + "timestamp", + block.timestamp.toString() + ); + assert.fieldEquals( + "ProposalInteraction", tx.hash.concatI32(0).toHexString(), "proposal", poolAddress.toHexString() + proposalId.toString() + "_" + "1" ); - assert.fieldEquals("ProposalVote", tx.hash.concatI32(0).toHexString(), "isVoteFor", isVoteFor.toString()); - assert.fieldEquals("ProposalVote", tx.hash.concatI32(0).toHexString(), "amount", vote.toString()); assert.fieldEquals( - "ProposalVote", + "ProposalInteraction", + tx.hash.concatI32(0).toHexString(), + "interactionType", + ProposalInteractionType.VOTE_FOR.toString() + ); + assert.fieldEquals("ProposalInteraction", tx.hash.concatI32(0).toHexString(), "amount", vote.toString()); + assert.fieldEquals( + "ProposalInteraction", tx.hash.concatI32(0).toHexString(), "voter", sender.concat(poolAddress).concatI32(proposalId.toI32()).toHexString() @@ -421,18 +456,133 @@ describe("DaoValidators", () => { "totalVoteFor", vote.toString() ); - assert.fieldEquals("ProposalVote", nextTx.hash.concatI32(0).toHexString(), "hash", nextTx.hash.toHexString()); - assert.fieldEquals("ProposalVote", nextTx.hash.concatI32(0).toHexString(), "timestamp", block.timestamp.toString()); assert.fieldEquals( - "ProposalVote", + "ProposalInteraction", + nextTx.hash.concatI32(0).toHexString(), + "hash", + nextTx.hash.toHexString() + ); + assert.fieldEquals( + "ProposalInteraction", + nextTx.hash.concatI32(0).toHexString(), + "timestamp", + block.timestamp.toString() + ); + assert.fieldEquals( + "ProposalInteraction", + nextTx.hash.concatI32(0).toHexString(), + "proposal", + poolAddress.toHexString() + proposalId.toString() + "_" + "1" + ); + assert.fieldEquals( + "ProposalInteraction", + nextTx.hash.concatI32(0).toHexString(), + "interactionType", + ProposalInteractionType.VOTE_AGAINST.toString() + ); + assert.fieldEquals("ProposalInteraction", nextTx.hash.concatI32(0).toHexString(), "amount", vote.toString()); + assert.fieldEquals( + "ProposalInteraction", + nextTx.hash.concatI32(0).toHexString(), + "voter", + sender.concat(poolAddress).concatI32(proposalId.toI32()).toHexString() + ); + }); + + test("should handle VoteCanceled", () => { + let proposalId = BigInt.fromI32(1); + let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181670"); + let vote = BigInt.fromI32(100); + let isInternal = true; + let isVoteFor = true; + + let votedEvent = createVoted(proposalId, sender, vote, isInternal, isVoteFor, contractSender, block, tx); + + onVoted(votedEvent); + + assert.fieldEquals( + "ValidatorInProposal", + sender.concat(poolAddress).concatI32(proposalId.toI32()).toHexString(), + "totalVoteAgainst", + "0" + ); + assert.fieldEquals( + "ValidatorInProposal", + sender.concat(poolAddress).concatI32(proposalId.toI32()).toHexString(), + "totalVoteFor", + vote.toString() + ); + assert.fieldEquals("ProposalInteraction", tx.hash.concatI32(0).toHexString(), "hash", tx.hash.toHexString()); + assert.fieldEquals( + "ProposalInteraction", + tx.hash.concatI32(0).toHexString(), + "timestamp", + block.timestamp.toString() + ); + assert.fieldEquals( + "ProposalInteraction", + tx.hash.concatI32(0).toHexString(), + "proposal", + poolAddress.toHexString() + proposalId.toString() + "_" + "1" + ); + assert.fieldEquals( + "ProposalInteraction", + tx.hash.concatI32(0).toHexString(), + "interactionType", + ProposalInteractionType.VOTE_FOR.toString() + ); + assert.fieldEquals("ProposalInteraction", tx.hash.concatI32(0).toHexString(), "amount", vote.toString()); + assert.fieldEquals( + "ProposalInteraction", + tx.hash.concatI32(0).toHexString(), + "voter", + sender.concat(poolAddress).concatI32(proposalId.toI32()).toHexString() + ); + + const nextTx = getNextTx(tx); + let event = createVoteCanceled(proposalId, sender, isInternal, contractSender, block, nextTx); + + onVoteCanceled(event); + + assert.fieldEquals( + "ValidatorInProposal", + sender.concat(poolAddress).concatI32(proposalId.toI32()).toHexString(), + "totalVoteAgainst", + "0" + ); + assert.fieldEquals( + "ValidatorInProposal", + sender.concat(poolAddress).concatI32(proposalId.toI32()).toHexString(), + "totalVoteFor", + "0" + ); + assert.fieldEquals( + "ProposalInteraction", + nextTx.hash.concatI32(0).toHexString(), + "hash", + nextTx.hash.toHexString() + ); + assert.fieldEquals( + "ProposalInteraction", + nextTx.hash.concatI32(0).toHexString(), + "timestamp", + block.timestamp.toString() + ); + assert.fieldEquals( + "ProposalInteraction", nextTx.hash.concatI32(0).toHexString(), "proposal", poolAddress.toHexString() + proposalId.toString() + "_" + "1" ); - assert.fieldEquals("ProposalVote", nextTx.hash.concatI32(0).toHexString(), "isVoteFor", isVoteFor.toString()); - assert.fieldEquals("ProposalVote", nextTx.hash.concatI32(0).toHexString(), "amount", vote.toString()); assert.fieldEquals( - "ProposalVote", + "ProposalInteraction", + nextTx.hash.concatI32(0).toHexString(), + "interactionType", + ProposalInteractionType.VOTE_CANCEL.toString() + ); + assert.fieldEquals("ProposalInteraction", nextTx.hash.concatI32(0).toHexString(), "amount", "0"); + assert.fieldEquals( + "ProposalInteraction", nextTx.hash.concatI32(0).toHexString(), "voter", sender.concat(poolAddress).concatI32(proposalId.toI32()).toHexString() From 4b5213a99907861d78beecd86c84b22bb4aa439c Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Mon, 4 Sep 2023 13:43:50 +0300 Subject: [PATCH 26/44] added DelegatorRewardsClaimed, changed rewards logic, changed voting (#129) * added DelegatorRewardsClaimed, changed rewards logic, changed voting * small fix * handled whitelistType in TokenSale --- DaoPools/abis/DaoPool.json | 106 ++- DaoPools/abis/TokenSale.json | 81 +- DaoPools/schema.graphql | 13 +- DaoPools/src/entities/ProposalInteraction.ts | 8 +- DaoPools/src/entities/TokenSaleTier.ts | 5 +- .../src/entities/Voters/VoterInProposal.ts | 8 +- .../src/entities/global/RewardTypeEnum.ts | 11 +- DaoPools/src/mappings/DaoPool.ts | 99 +-- DaoPools/src/mappings/TokenSale.ts | 7 +- DaoPools/subgraph.yaml | 15 +- DaoPools/tests/DaoPool.test.ts | 760 ++++++------------ DaoPools/tests/TokenSale.test.ts | 22 +- DaoValidators/tests/DaoValidators.test.ts | 2 +- 13 files changed, 442 insertions(+), 695 deletions(-) diff --git a/DaoPools/abis/DaoPool.json b/DaoPools/abis/DaoPool.json index 60612b4c..fc7777c2 100644 --- a/DaoPools/abis/DaoPool.json +++ b/DaoPools/abis/DaoPool.json @@ -20,62 +20,14 @@ "name": "isVoteFor", "type": "bool" }, - { - "components": [ - { - "internalType": "uint256", - "name": "personal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "micropool", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "treasury", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct IGovPool.Votes", - "name": "votes", - "type": "tuple" - } - ], - "name": "VoteChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, { "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "totalVoted", "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" } ], - "name": "RewardCanceled", + "name": "VoteChanged", "type": "event" }, { @@ -196,7 +148,13 @@ { "indexed": false, "internalType": "address", - "name": "user", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "delegatee", "type": "address" }, { @@ -212,7 +170,32 @@ "type": "uint256" } ], - "name": "MicropoolRewardClaimed", + "name": "DelegatorRewardsClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "delegatee", + "type": "address" + } + ], + "name": "DelegatorRewardsSet", "type": "event" }, { @@ -1192,12 +1175,7 @@ }, { "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", + "name": "voteRewardsCoefficient", "type": "uint256" } ], @@ -1240,6 +1218,16 @@ "name": "votesAgainst", "type": "uint256" }, + { + "internalType": "uint256", + "name": "rawVotesFor", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rawVotesAgainst", + "type": "uint256" + }, { "internalType": "uint256", "name": "nftPowerSnapshotId", @@ -1484,7 +1472,7 @@ }, { "internalType": "uint256", - "name": "powerVoted", + "name": "totalRawVoted", "type": "uint256" }, { diff --git a/DaoPools/abis/TokenSale.json b/DaoPools/abis/TokenSale.json index 0a502ed9..5b83a837 100644 --- a/DaoPools/abis/TokenSale.json +++ b/DaoPools/abis/TokenSale.json @@ -70,6 +70,12 @@ "internalType": "address", "name": "saleToken", "type": "address" + }, + { + "indexed": false, + "internalType": "enum ITokenSaleProposal.ParticipationType", + "name": "participationType", + "type": "uint8" } ], "name": "TierCreated", @@ -193,11 +199,6 @@ "internalType": "address", "name": "_govAddress", "type": "address" - }, - { - "internalType": "contract ISBT721", - "name": "_babt", - "type": "address" } ], "name": "__TokenSaleProposal_init", @@ -332,6 +333,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [], + "name": "coreProperties", + "outputs": [ + { + "internalType": "contract CoreProperties", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -453,6 +467,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [], + "name": "dexeGovAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -496,6 +523,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "getInjector", + "outputs": [ + { + "internalType": "address", + "name": "injector_", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -1138,6 +1178,37 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "contractsRegistry", + "type": "address" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "setDependencies", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "injector_", + "type": "address" + } + ], + "name": "setInjector", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index 43720758..e506c512 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -243,15 +243,12 @@ type VoterInProposal @entity { id: Bytes! # voter address + proposal entity id isVoteFor: Boolean! - personalVote: BigInt! - micropoolVote: BigInt! - treasuryVote: BigInt! + totalVote: BigInt! staticRewardUSD: BigInt! - personalRewardUSD: BigInt! - micropoolRewardUSD: BigInt! - treasuryRewardUSD: BigInt! + votingRewardUSD: BigInt! + micropoolRewardUSD: BigInt! claimedRewardUSD: BigInt! pool: DaoPool! @@ -276,9 +273,7 @@ type ProposalInteraction @entity(immutable: true) { timestamp: BigInt! interactionType: BigInt! # 0 -> vote for, 1 -> vote against, 2 -> cancel - personalVote: BigInt! - micropoolVote: BigInt! - treasuryVote: BigInt! + totalVote: BigInt! voter: VoterInProposal! proposal: Proposal! diff --git a/DaoPools/src/entities/ProposalInteraction.ts b/DaoPools/src/entities/ProposalInteraction.ts index 93506077..d98f7101 100644 --- a/DaoPools/src/entities/ProposalInteraction.ts +++ b/DaoPools/src/entities/ProposalInteraction.ts @@ -8,9 +8,7 @@ export function getProposalInteraction( voterInProposal: VoterInProposal, timestamp: BigInt, interactionType: BigInt, - personalVote: BigInt, - micropoolVote: BigInt, - treasuryVote: BigInt + totalVote: BigInt ): ProposalInteraction { let counter = getInteractionCount(hash); let id = hash.concatI32(counter.count.toI32()); @@ -22,9 +20,7 @@ export function getProposalInteraction( proposalVote.timestamp = timestamp; proposalVote.interactionType = interactionType; - proposalVote.personalVote = personalVote; - proposalVote.micropoolVote = micropoolVote; - proposalVote.treasuryVote = treasuryVote; + proposalVote.totalVote = totalVote; proposalVote.proposal = voterInProposal.proposal; proposalVote.voter = voterInProposal.id; diff --git a/DaoPools/src/entities/TokenSaleTier.ts b/DaoPools/src/entities/TokenSaleTier.ts index 332bcecf..37a39369 100644 --- a/DaoPools/src/entities/TokenSaleTier.ts +++ b/DaoPools/src/entities/TokenSaleTier.ts @@ -4,7 +4,8 @@ import { TokenSaleContract, TokenSaleTier } from "../../generated/schema"; export function getTokenSaleTier( tokenSale: TokenSaleContract, tierId: BigInt, - saleToken: Address = Address.zero() + saleToken: Address = Address.zero(), + whitelistType: BigInt = BigInt.zero() ): TokenSaleTier { let id = tokenSale.id.concatI32(tierId.toI32()); let tier = TokenSaleTier.load(id); @@ -17,7 +18,7 @@ export function getTokenSaleTier( tier.totalBuyersCount = BigInt.zero(); tier.buyers = new Array(); - tier.whitelistType = BigInt.zero(); + tier.whitelistType = whitelistType; tier.tokenSale = tokenSale.id; } diff --git a/DaoPools/src/entities/Voters/VoterInProposal.ts b/DaoPools/src/entities/Voters/VoterInProposal.ts index aa66bd52..b56d5e2b 100644 --- a/DaoPools/src/entities/Voters/VoterInProposal.ts +++ b/DaoPools/src/entities/Voters/VoterInProposal.ts @@ -10,14 +10,12 @@ export function getVoterInProposal(proposal: Proposal, voterInPool: VoterInPool) voterInProposal.isVoteFor = false; - voterInProposal.personalVote = BigInt.zero(); - voterInProposal.micropoolVote = BigInt.zero(); - voterInProposal.treasuryVote = BigInt.zero(); + voterInProposal.totalVote = BigInt.zero(); voterInProposal.staticRewardUSD = BigInt.zero(); - voterInProposal.personalRewardUSD = BigInt.zero(); + voterInProposal.votingRewardUSD = BigInt.zero(); + voterInProposal.micropoolRewardUSD = BigInt.zero(); - voterInProposal.treasuryRewardUSD = BigInt.zero(); voterInProposal.claimedRewardUSD = BigInt.zero(); diff --git a/DaoPools/src/entities/global/RewardTypeEnum.ts b/DaoPools/src/entities/global/RewardTypeEnum.ts index 8878bb25..b16e430a 100644 --- a/DaoPools/src/entities/global/RewardTypeEnum.ts +++ b/DaoPools/src/entities/global/RewardTypeEnum.ts @@ -2,14 +2,9 @@ import { BigInt } from "@graphprotocol/graph-ts"; export enum RewardType { CREATE = 0, - VOTE_FOR = 1, - VOTE_AGAINST = 2, - VOTE_FOR_DELEGATED = 3, - VOTE_AGAINST_DELEGATED = 4, - VOTE_FOR_TREASURY = 5, - VOTE_AGAINST_TREASURY = 6, - EXECUTE = 7, - SAVE_OFFCHAIN_RESULTS = 8, + VOTE = 1, + EXECUTE = 2, + SAVE_OFFCHAIN_RESULTS = 3, } export function getEnumBigInt(operation: RewardType): BigInt { diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index eb8a8f87..d17deedd 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -3,13 +3,13 @@ import { pushUnique, remove } from "@solarity/graph-lib"; import { Delegated, DelegatedTreasury, + DelegatorRewardsClaimed, Deposited, OffchainResultsSaved, ProposalCreated, ProposalExecuted, RewardClaimed, RewardCredited, - MicropoolRewardClaimed, VoteChanged, Withdrawn, } from "../../generated/templates/DaoPool/DaoPool"; @@ -227,11 +227,7 @@ export function onVoteChanged(event: VoteChanged): void { ? ProposalInteractionType.VOTE_FOR : ProposalInteractionType.VOTE_AGAINST; - if ( - isZero(event.params.votes.personal) && - isZero(event.params.votes.micropool) && - isZero(event.params.votes.treasury) - ) { + if (event.params.totalVoted.equals(BigInt.zero())) { interactionType = ProposalInteractionType.VOTE_CANCEL; } @@ -240,17 +236,11 @@ export function onVoteChanged(event: VoteChanged): void { voterInProposal, event.block.timestamp, getEnumBigInt(interactionType), - event.params.votes.personal, - event.params.votes.micropool, - event.params.votes.treasury + event.params.totalVoted ).save(); - const totalVotes = event.params.votes.personal.plus(event.params.votes.micropool).plus(event.params.votes.treasury); - if (interactionType == ProposalInteractionType.VOTE_CANCEL) { - const prevVotes = voterInProposal.personalVote - .plus(voterInProposal.micropoolVote) - .plus(voterInProposal.treasuryVote); + const prevVotes = voterInProposal.totalVote; if (voterInProposal.isVoteFor) { proposal.currentVotesFor = proposal.currentVotesFor.minus(prevVotes); @@ -269,9 +259,9 @@ export function onVoteChanged(event: VoteChanged): void { voter.totalVotes = voter.totalVotes.minus(prevVotes); } else { if (interactionType == ProposalInteractionType.VOTE_FOR) { - proposal.currentVotesFor = proposal.currentVotesFor.plus(totalVotes); + proposal.currentVotesFor = proposal.currentVotesFor.plus(event.params.totalVoted); } else { - proposal.currentVotesAgainst = proposal.currentVotesAgainst.plus(totalVotes); + proposal.currentVotesAgainst = proposal.currentVotesAgainst.plus(event.params.totalVoted); } let newVoters = pushUnique(proposal.voters, [voter.id]); @@ -286,13 +276,11 @@ export function onVoteChanged(event: VoteChanged): void { voterInPool.proposals = pushUnique(voterInPool.proposals, [voterInProposal.id]); voterInPool.engagedProposalsCount = BigInt.fromI32(voterInPool.proposals.length); - voter.totalVotes = voter.totalVotes.plus(totalVotes); + voter.totalVotes = voter.totalVotes.plus(event.params.totalVoted); } voterInProposal.isVoteFor = event.params.isVoteFor; - voterInProposal.personalVote = event.params.votes.personal; - voterInProposal.micropoolVote = event.params.votes.micropool; - voterInProposal.treasuryVote = event.params.votes.treasury; + voterInProposal.totalVote = event.params.totalVoted; voterInProposal.save(); voterInPool.save(); @@ -321,16 +309,12 @@ export function onRewardClaimed(event: RewardClaimed): void { let usdAmount = getUSDValue(event.params.token, event.params.amount); - if (event.params.proposalId.notEqual(BigInt.zero())) { + if (!event.params.proposalId.equals(BigInt.zero())) { let voterInProposal = getVoterInProposal(proposal, voterInPool); voterInProposal.claimedRewardUSD = usdAmount; voterInProposal.save(); - } else { - // let voterOffchain = getVoterOffchain(voter, pool); - // voterOffchain.claimedRewardUSD = voterOffchain.claimedRewardUSD.plus(usdAmount); - // voterOffchain.save(); } voterInPool.totalClaimedUSD = voterInPool.totalClaimedUSD.plus(usdAmount); @@ -341,32 +325,40 @@ export function onRewardClaimed(event: RewardClaimed): void { pool.save(); } +export function onDelegatorRewardsClaimed(event: DelegatorRewardsClaimed): void { + let pool = getDaoPool(event.address); + let delegator = getVoter(event.params.delegator); + let voterInPool = getVoterInPool(pool, delegator, event.block.timestamp); + let proposal = getProposal(pool, event.params.proposalId); + let voterInProposal = getVoterInProposal(proposal, voterInPool); + + let usdAmount = getUSDValue(event.params.token, event.params.amount); + + voterInProposal.micropoolRewardUSD = voterInProposal.micropoolRewardUSD.plus(usdAmount); + voterInProposal.claimedRewardUSD = voterInProposal.claimedRewardUSD.plus(usdAmount); + + voterInProposal.save(); + voterInPool.save(); + delegator.save(); + pool.save(); +} + export function onRewardCredited(event: RewardCredited): void { let pool = getDaoPool(event.address); let voter = getVoter(event.params.sender); let voterInPool = getVoterInPool(pool, voter, event.block.timestamp); - let proposal = getProposal(pool, event.params.proposalId); let usdAmount = getUSDValue(event.params.rewardToken, event.params.amount); - if (event.params.proposalId.notEqual(BigInt.zero())) { + if (!event.params.proposalId.equals(BigInt.zero())) { + let proposal = getProposal(pool, event.params.proposalId); + let voterInProposal = getVoterInProposal(proposal, voterInPool); const rewardType = event.params.rewardType; switch (rewardType) { - case RewardType.VOTE_FOR: - case RewardType.VOTE_AGAINST: { - voterInProposal.personalRewardUSD = voterInProposal.personalRewardUSD.plus(usdAmount); - break; - } - case RewardType.VOTE_FOR_DELEGATED: - case RewardType.VOTE_AGAINST_DELEGATED: { - voterInProposal.micropoolRewardUSD = voterInProposal.micropoolRewardUSD.plus(usdAmount); - break; - } - case RewardType.VOTE_FOR_TREASURY: - case RewardType.VOTE_AGAINST_TREASURY: { - voterInProposal.treasuryRewardUSD = voterInProposal.treasuryRewardUSD.plus(usdAmount); + case RewardType.VOTE: { + voterInProposal.votingRewardUSD = voterInProposal.votingRewardUSD.plus(usdAmount); break; } default: { @@ -374,18 +366,14 @@ export function onRewardCredited(event: RewardCredited): void { } } - voterInPool.rewardedUSD = voterInPool.rewardedUSD.plus(usdAmount); - voterInPool.proposals = pushUnique(voterInPool.proposals, [voterInProposal.id]); voterInPool.engagedProposalsCount = BigInt.fromI32(voterInPool.proposals.length); voterInProposal.save(); - } else { - // let voterOffchain = getVoterOffchain(voter, pool); - // voterOffchain.rewardUSD = voterOffchain.rewardUSD.plus(usdAmount); - // voterOffchain.save(); } + voterInPool.rewardedUSD = voterInPool.rewardedUSD.plus(usdAmount); + voter.totalRewardedUSD = voter.totalRewardedUSD.plus(usdAmount); recalculateAPR(voterInPool, usdAmount, event.block.timestamp); @@ -433,21 +421,6 @@ export function onWithdrawn(event: Withdrawn): void { pool.save(); } -export function onMicropoolRewardClaimed(event: MicropoolRewardClaimed): void { - let pool = getDaoPool(event.address); - let voter = getVoter(event.params.user); - let voterInPool = getVoterInPool(pool, voter, event.block.timestamp); - - const usdAmount = getUSDValue(event.params.token, event.params.amount); - voter.totalClaimedUSD = voter.totalClaimedUSD.plus(usdAmount); - - // voterInPool.totalStakingReward = voterInPool.totalStakingReward.plus(usdAmount); - - voterInPool.save(); - voter.save(); - pool.save(); -} - export function onOffchainResultsSaved(event: OffchainResultsSaved): void { let pool = getDaoPool(event.address); @@ -470,7 +443,3 @@ function recalculateAPR(voterInPool: VoterInPool, rewardCredited: BigInt, curren voterInPool._lastUpdate = currentTimestamp; } } - -function isZero(val: BigInt): boolean { - return val.equals(BigInt.zero()); -} diff --git a/DaoPools/src/mappings/TokenSale.ts b/DaoPools/src/mappings/TokenSale.ts index 1a6bb212..b25f916c 100644 --- a/DaoPools/src/mappings/TokenSale.ts +++ b/DaoPools/src/mappings/TokenSale.ts @@ -9,7 +9,12 @@ import { getVoterInPool } from "../entities/Voters/VoterInPool"; export function onTierCreated(event: TierCreated): void { let tokenSale = getTokenSale(event.address); - let tier = getTokenSaleTier(tokenSale, event.params.tierId, event.params.saleToken); + let tier = getTokenSaleTier( + tokenSale, + event.params.tierId, + event.params.saleToken, + BigInt.fromI32(event.params.participationType) + ); tier.save(); tokenSale.save(); diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index ab4a2e5e..981c52c1 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -36,7 +36,6 @@ dataSources: file: ./src/mappings/GlobalERC721Expert.ts entities: - ExpertNFTContract - - GlobalExpert - ExpertNft abis: - name: ERC721Expert @@ -72,7 +71,9 @@ templates: handler: onDelegated - event: DelegatedTreasury(address,uint256,uint256[],bool) handler: onDelegatedTreasury - - event: VoteChanged(uint256,address,bool,(uint256,uint256,uint256)) # id, msg.sender, personalVote, delegatedVote + - event: DelegatorRewardsClaimed(uint256,address,address,address,uint256) + handler: onDelegatorRewardsClaimed + - event: VoteChanged(uint256,address,bool,uint256) # id, msg.sender, personalVote, delegatedVote handler: onVoteChanged - event: ProposalExecuted(uint256,bool,address) # id, isFor, msg.sender handler: onProposalExecuted @@ -80,10 +81,6 @@ templates: handler: onRewardClaimed - event: RewardCredited(uint256,uint8,address,uint256,address) # id, type, token, amount, to handler: onRewardCredited - - event: RewardCanceled(uint256,address,uint256,address) - handler: onRewardCanceled - - event: MicropoolRewardClaimed(uint256,address,address,uint256) - handler: onMicropoolRewardClaimed - event: OffchainResultsSaved(string,address) handler: onOffchainResultsSaved @@ -164,12 +161,10 @@ templates: - name: TokenSaleProposal file: ./abis/TokenSale.json eventHandlers: - - event: TierCreated(uint256,address) + - event: TierCreated(uint256,address,uint8) handler: onTierCreated - event: Bought(uint256,address) handler: onBought - - event: Whitelisted(uint256,address) - handler: onWhitelisted - kind: ethereum/contract name: ERC721Expert network: chapel @@ -182,8 +177,6 @@ templates: file: ./src/mappings/ERC721Expert.ts entities: - ExpertNFTContract - - Expert - - ExpertInPool - ExpertNft abis: - name: ERC721Expert diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index 3cc66184..b51ecaff 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -19,9 +19,9 @@ import { RewardClaimed, RewardCredited, VoteChanged, - MicropoolRewardClaimed, OffchainResultsSaved, DelegatedTreasury, + DelegatorRewardsClaimed, } from "../generated/templates/DaoPool/DaoPool"; import { onDelegated, @@ -32,9 +32,9 @@ import { onRewardCredited, onDeposited, onWithdrawn, - onMicropoolRewardClaimed, onOffchainResultsSaved, onDelegatedTreasury, + onDelegatorRewardsClaimed, } from "../src/mappings/DaoPool"; import { PRICE_FEED_ADDRESS } from "../src/entities/global/globals"; import { ProposalSettings } from "../generated/schema"; @@ -129,9 +129,7 @@ function createDelegatedTreasury( function createVoteChanged( proposalId: BigInt, sender: Address, - personal: BigInt, - micropool: BigInt, - treasury: BigInt, + totalVoted: BigInt, isVoteFor: boolean, contractSender: Address, block: ethereum.Block, @@ -140,16 +138,10 @@ function createVoteChanged( let event = changetype(newMockEvent()); event.parameters = new Array(); - const votes = new ethereum.Tuple(3); - - votes[0] = ethereum.Value.fromUnsignedBigInt(personal); - votes[1] = ethereum.Value.fromUnsignedBigInt(micropool); - votes[2] = ethereum.Value.fromUnsignedBigInt(treasury); - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); event.parameters.push(new ethereum.EventParam("voter", ethereum.Value.fromAddress(sender))); event.parameters.push(new ethereum.EventParam("isVoteFor", ethereum.Value.fromBoolean(isVoteFor))); - event.parameters.push(new ethereum.EventParam("votes", ethereum.Value.fromTuple(votes))); + event.parameters.push(new ethereum.EventParam("totalVoted", ethereum.Value.fromUnsignedBigInt(totalVoted))); event.block = block; event.transaction = tx; @@ -275,18 +267,22 @@ function createWithdrawn( return event; } -function createStakingRewardClaimed( - user: Address, - token: Address, +function createDelegatorRewardsClaimed( + proposalId: BigInt, + delegator: Address, + delegatee: Address, amount: BigInt, + token: Address, contractSender: Address, block: ethereum.Block, tx: ethereum.Transaction -): StakingRewardClaimed { - let event = changetype(newMockEvent()); +): DelegatorRewardsClaimed { + let event = changetype(newMockEvent()); event.parameters = new Array(); - event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); + event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); + event.parameters.push(new ethereum.EventParam("delegator", ethereum.Value.fromAddress(delegator))); + event.parameters.push(new ethereum.EventParam("delegatee", ethereum.Value.fromAddress(delegatee))); event.parameters.push(new ethereum.EventParam("token", ethereum.Value.fromAddress(token))); event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); @@ -317,30 +313,6 @@ function createOffchainResultsSaved( return event; } -function createRequested( - from: Address, - to: Address, - amount: BigInt, - nfts: BigInt[], - contractSender: Address, - block: ethereum.Block, - tx: ethereum.Transaction -): Requested { - let event = changetype(newMockEvent()); - event.parameters = new Array(); - - event.parameters.push(new ethereum.EventParam("from", ethereum.Value.fromAddress(from))); - event.parameters.push(new ethereum.EventParam("to", ethereum.Value.fromAddress(to))); - event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); - event.parameters.push(new ethereum.EventParam("nfts", ethereum.Value.fromUnsignedBigIntArray(nfts))); - - event.block = block; - event.transaction = tx; - event.address = contractSender; - - return event; -} - const block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); const contractSender = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181670"); @@ -839,34 +811,20 @@ describe("DaoPool", () => { test("should handle VoteChanged", () => { let proposalId = BigInt.fromI32(1); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let personalFor = BigInt.fromI32(1000); - let micropoolFor = BigInt.fromI32(500); - let treasuryFor = BigInt.fromI32(200); + let votedFor = BigInt.fromI32(1000); let isVoteFor = true; - let event = createVoteChanged( - proposalId, - sender, - personalFor, - micropoolFor, - treasuryFor, - isVoteFor, - contractSender, - block, - tx - ); + let event = createVoteChanged(proposalId, sender, votedFor, isVoteFor, contractSender, block, tx); onVoteChanged(event); - const totalVotesFor = personalFor.plus(micropoolFor).plus(treasuryFor); - assert.fieldEquals("Voter", sender.toHexString(), "totalVotedProposals", "1"); - assert.fieldEquals("Voter", sender.toHexString(), "totalVotes", totalVotesFor.toString()); + assert.fieldEquals("Voter", sender.toHexString(), "totalVotes", votedFor.toString()); assert.fieldEquals( "Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "currentVotesFor", - totalVotesFor.toString() + votedFor.toString() ); assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "1"); @@ -905,20 +863,8 @@ describe("DaoPool", () => { assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "personalVote", - personalFor.toString() - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "micropoolVote", - micropoolFor.toString() - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "treasuryVote", - treasuryFor.toString() + "totalVote", + votedFor.toString() ); assert.fieldEquals( "VoterInProposal", @@ -927,38 +873,24 @@ describe("DaoPool", () => { "0" ); - let personalAgainst = BigInt.fromI32(200); - let micropoolAgainst = BigInt.fromI32(500); - let treasuryAgainst = BigInt.fromI32(1000); + let votedAgainst = BigInt.fromI32(200); isVoteFor = false; sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"); let nextTx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); - event = createVoteChanged( - proposalId, - sender, - personalAgainst, - micropoolAgainst, - treasuryAgainst, - isVoteFor, - contractSender, - block, - nextTx - ); + event = createVoteChanged(proposalId, sender, votedAgainst, isVoteFor, contractSender, block, nextTx); onVoteChanged(event); - const totalVotesAgainst = personalAgainst.plus(micropoolAgainst).plus(treasuryAgainst); - assert.fieldEquals("Voter", sender.toHexString(), "totalVotedProposals", "1"); - assert.fieldEquals("Voter", sender.toHexString(), "totalVotes", totalVotesAgainst.toString()); + assert.fieldEquals("Voter", sender.toHexString(), "totalVotes", votedAgainst.toString()); assert.fieldEquals( "Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "currentVotesAgainst", - totalVotesAgainst.toString() + votedAgainst.toString() ); assert.fieldEquals("Proposal", contractSender.concatI32(proposalId.toI32()).toHexString(), "votersVoted", "2"); @@ -997,20 +929,8 @@ describe("DaoPool", () => { assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "personalVote", - personalAgainst.toString() - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "micropoolVote", - micropoolAgainst.toString() - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "treasuryVote", - treasuryAgainst.toString() + "totalVote", + votedAgainst.toString() ); assert.fieldEquals( "VoterInProposal", @@ -1021,17 +941,7 @@ describe("DaoPool", () => { nextTx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); - event = createVoteChanged( - proposalId, - sender, - BigInt.zero(), - BigInt.zero(), - BigInt.zero(), - isVoteFor, - contractSender, - block, - nextTx - ); + event = createVoteChanged(proposalId, sender, BigInt.zero(), isVoteFor, contractSender, block, nextTx); onVoteChanged(event); @@ -1075,19 +985,7 @@ describe("DaoPool", () => { assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "personalVote", - "0" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "micropoolVote", - "0" - ); - assert.fieldEquals( - "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "treasuryVote", + "totalVote", "0" ); assert.fieldEquals( @@ -1142,378 +1040,216 @@ describe("DaoPool", () => { ); }); - // test("should handle RewardClaimed", () => { - // let proposalIds = [BigInt.fromI32(1), BigInt.fromI32(2)]; - // let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - // let tokens = [ - // Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"), - // Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181673"), - // ]; - // let amounts = [BigInt.fromI32(10).pow(18), BigInt.fromI32(10).pow(18).times(BigInt.fromI32(2))]; - - // let event0 = createRewardClaimed(proposalIds[0], sender, tokens[0], amounts[0], contractSender, block, tx); - // let event1 = createRewardClaimed(proposalIds[1], sender, tokens[1], amounts[1], contractSender, block, tx); - - // onRewardClaimed(event0); - - // assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", amounts[0].toString()); - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalIds[0].toI32()).toHexString(), - // "claimedRewardUSD", - // amounts[0].toString() - // ); - // assert.fieldEquals( - // "VoterInPool", - // sender.concat(contractSender).toHexString(), - // "totalClaimedUSD", - // amounts[0].toString() - // ); - - // onRewardClaimed(event1); - - // assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", amounts[0].plus(amounts[1]).toString()); - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalIds[1].toI32()).toHexString(), - // "claimedRewardUSD", - // amounts[1].toString() - // ); - // assert.fieldEquals( - // "VoterInPool", - // sender.concat(contractSender).toHexString(), - // "totalClaimedUSD", - // amounts[0].plus(amounts[1]).toString() - // ); - // }); - - // test("should handle offchain RewardClaimed", () => { - // let proposalId = BigInt.zero(); - // let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - // let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); - // let amount = BigInt.fromI32(1000); - - // let event = createRewardClaimed(proposalId, sender, rewardToken, amount, contractSender, block, tx); - - // onRewardClaimed(event); - - // assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", "200"); - - // assert.fieldEquals("VoterOffchain", sender.concat(contractSender).toHexString(), "claimedRewardUSD", `200`); - - // assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalClaimedUSD", "200"); - // }); - - // test("should handle RewardCredited", () => { - // let proposalId = BigInt.fromI32(1); - // let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - // let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); - // let amount = BigInt.fromI32(1000); - - // let event = createRewardCredited( - // proposalId, - // BigInt.fromI32(RewardType.CREATE), - // rewardToken, - // amount, - // sender, - // contractSender, - // block, - // tx - // ); - - // onRewardCredited(event); - - // assert.fieldEquals("Voter", sender.toHexString(), "totalUnclaimedUSD", "200"); - - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardUSDFor", - // "200" - // ); - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardUSDAgainst", - // "200" - // ); - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardFromDelegationsUSDFor", - // "0" - // ); - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardFromDelegationsUSDAgainst", - // "0" - // ); - // assert.fieldEquals( - // "VoterInPool", - // sender.concat(contractSender).toHexString(), - // "proposals", - // `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` - // ); - // assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); - // }); - - // test("should handle RewardCredited when reward type vote for/against", () => { - // let proposalId = BigInt.fromI32(1); - // let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - // let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); - // let amount = BigInt.fromI32(1000); - - // let event = createRewardCredited( - // proposalId, - // BigInt.fromI32(RewardType.VOTE_FOR), - // rewardToken, - // amount, - // sender, - // contractSender, - // block, - // tx - // ); - - // onRewardCredited(event); - - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardFromDelegationsUSDFor", - // "0" - // ); - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardFromDelegationsUSDAgainst", - // "0" - // ); - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardUSDFor", - // "200" - // ); - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardUSDAgainst", - // "0" - // ); - // assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalDelegationRewardUSDFor", "0"); - // assert.fieldEquals( - // "VoterInPool", - // sender.concat(contractSender).toHexString(), - // "totalDelegationRewardUSDAgainst", - // "0" - // ); - // assert.fieldEquals( - // "VoterInPool", - // sender.concat(contractSender).toHexString(), - // "proposals", - // `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` - // ); - // assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); - - // event = createRewardCredited( - // proposalId, - // BigInt.fromI32(RewardType.VOTE_AGAINST), - // rewardToken, - // amount, - // sender, - // contractSender, - // block, - // tx - // ); - - // onRewardCredited(event); - - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardFromDelegationsUSDFor", - // "0" - // ); - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardFromDelegationsUSDAgainst", - // "0" - // ); - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardUSDFor", - // "200" - // ); - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardUSDAgainst", - // "200" - // ); - // assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalDelegationRewardUSDFor", "0"); - // assert.fieldEquals( - // "VoterInPool", - // sender.concat(contractSender).toHexString(), - // "totalDelegationRewardUSDAgainst", - // "0" - // ); - // assert.fieldEquals( - // "VoterInPool", - // sender.concat(contractSender).toHexString(), - // "proposals", - // `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` - // ); - // assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); - // }); - - // test("should handle RewardCredited when reward type vote for/against delegated", () => { - // let proposalId = BigInt.fromI32(1); - // let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - // let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); - // let amount = BigInt.fromI32(1000); - - // let event = createRewardCredited( - // proposalId, - // BigInt.fromI32(RewardType.VOTE_AGAINST_DELEGATED), - // rewardToken, - // amount, - // sender, - // contractSender, - // block, - // tx - // ); - - // onRewardCredited(event); - - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardFromDelegationsUSDFor", - // "200" - // ); - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardFromDelegationsUSDAgainst", - // "0" - // ); - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardUSDFor", - // "200" - // ); - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardUSDAgainst", - // "0" - // ); - // assert.fieldEquals( - // "VoterInPool", - // sender.concat(contractSender).toHexString(), - // "totalDelegationRewardUSDFor", - // "200" - // ); - // assert.fieldEquals( - // "VoterInPool", - // sender.concat(contractSender).toHexString(), - // "totalDelegationRewardUSDAgainst", - // "0" - // ); - // assert.fieldEquals( - // "VoterInPool", - // sender.concat(contractSender).toHexString(), - // "proposals", - // `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` - // ); - // assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); - - // event = createRewardCredited( - // proposalId, - // BigInt.fromI32(RewardType.VOTE_AGAINST_DELEGATED), - // rewardToken, - // amount, - // sender, - // contractSender, - // block, - // tx - // ); - - // onRewardCredited(event); - - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardFromDelegationsUSDFor", - // "200" - // ); - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardFromDelegationsUSDAgainst", - // "200" - // ); - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardUSDFor", - // "200" - // ); - // assert.fieldEquals( - // "VoterInProposal", - // sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - // "unclaimedRewardUSDAgainst", - // "200" - // ); - // assert.fieldEquals( - // "VoterInPool", - // sender.concat(contractSender).toHexString(), - // "totalDelegationRewardUSDFor", - // "200" - // ); - // assert.fieldEquals( - // "VoterInPool", - // sender.concat(contractSender).toHexString(), - // "totalDelegationRewardUSDAgainst", - // "200" - // ); - // assert.fieldEquals( - // "VoterInPool", - // sender.concat(contractSender).toHexString(), - // "proposals", - // `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` - // ); - // assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "proposalsCount", "1"); - // }); - - // test("should handle offchain RewardCredited", () => { - // let proposalId = BigInt.zero(); - // let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - // let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); - // let amount = BigInt.fromI32(1000); - - // let event = createRewardCredited( - // proposalId, - // BigInt.fromI32(RewardType.VOTE_AGAINST_DELEGATED), - // rewardToken, - // amount, - // sender, - // contractSender, - // block, - // tx - // ); - - // onRewardCredited(event); - - // assert.fieldEquals("Voter", sender.toHexString(), "totalUnclaimedUSD", "200"); - - // assert.fieldEquals("VoterOffchain", sender.concat(contractSender).toHexString(), "rewardUSD", "200"); - // assert.fieldEquals("VoterOffchain", sender.concat(contractSender).toHexString(), "claimedRewardUSD", "0"); - // }); + test("should handle DelegatorRewardsClaimed", () => { + let proposalId = BigInt.fromI32(1); + let delegator = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + let delegatee = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"); + let token = Address.fromString("0x86e08f7d84603aeb97cd1c89a80a9e914f181676"); + let amount = BigInt.fromI32(1000); + + let event = createDelegatorRewardsClaimed( + proposalId, + delegator, + delegatee, + amount, + token, + contractSender, + block, + tx + ); + + onDelegatorRewardsClaimed(event); + + assert.fieldEquals( + "VoterInProposal", + delegator.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "micropoolRewardUSD", + "200" + ); + assert.fieldEquals( + "VoterInProposal", + delegator.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "claimedRewardUSD", + "200" + ); + }); + + test("should handle RewardClaimed", () => { + let proposalIds = [BigInt.fromI32(1), BigInt.fromI32(2)]; + let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + let tokens = [ + Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"), + Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181673"), + ]; + let amounts = [BigInt.fromI32(10).pow(18), BigInt.fromI32(10).pow(18).times(BigInt.fromI32(2))]; + + let event0 = createRewardClaimed(proposalIds[0], sender, tokens[0], amounts[0], contractSender, block, tx); + let event1 = createRewardClaimed(proposalIds[1], sender, tokens[1], amounts[1], contractSender, block, tx); + + onRewardClaimed(event0); + + assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", amounts[0].toString()); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalIds[0].toI32()).toHexString(), + "claimedRewardUSD", + amounts[0].toString() + ); + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "totalClaimedUSD", + amounts[0].toString() + ); + + onRewardClaimed(event1); + + assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", amounts[0].plus(amounts[1]).toString()); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalIds[1].toI32()).toHexString(), + "claimedRewardUSD", + amounts[1].toString() + ); + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "totalClaimedUSD", + amounts[0].plus(amounts[1]).toString() + ); + }); + + test("should handle offchain RewardClaimed", () => { + let proposalId = BigInt.zero(); + let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); + let amount = BigInt.fromI32(1000); + + let event = createRewardClaimed(proposalId, sender, rewardToken, amount, contractSender, block, tx); + + onRewardClaimed(event); + + assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", "200"); + + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalClaimedUSD", "200"); + }); + + test("should handle RewardCredited", () => { + let proposalId = BigInt.fromI32(1); + let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); + let amount = BigInt.fromI32(1000); + + let event = createRewardCredited( + proposalId, + BigInt.fromI32(RewardType.CREATE), + rewardToken, + amount, + sender, + contractSender, + block, + tx + ); + + onRewardCredited(event); + + assert.fieldEquals("Voter", sender.toHexString(), "totalRewardedUSD", "200"); + + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "staticRewardUSD", + "200" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "votingRewardUSD", + "0" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "micropoolRewardUSD", + "0" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "claimedRewardUSD", + "0" + ); + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "proposals", + `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + ); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "engagedProposalsCount", "1"); + }); + + test("should handle RewardCredited when reward type is vote", () => { + let proposalId = BigInt.fromI32(1); + let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); + let amount = BigInt.fromI32(1000); + + let event = createRewardCredited( + proposalId, + BigInt.fromI32(RewardType.VOTE), + rewardToken, + amount, + sender, + contractSender, + block, + tx + ); + + onRewardCredited(event); + + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "votingRewardUSD", + "200" + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + "staticRewardUSD", + "0" + ); + + assert.fieldEquals( + "VoterInPool", + sender.concat(contractSender).toHexString(), + "proposals", + `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + ); + assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "engagedProposalsCount", "1"); + }); + + test("should handle offchain RewardCredited", () => { + let proposalId = BigInt.zero(); + let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); + let amount = BigInt.fromI32(1000); + + let event = createRewardCredited( + proposalId, + BigInt.fromI32(RewardType.SAVE_OFFCHAIN_RESULTS), + rewardToken, + amount, + sender, + contractSender, + block, + tx + ); + + onRewardCredited(event); + + assert.fieldEquals("Voter", sender.toHexString(), "totalRewardedUSD", "200"); + }); test("should deposit", () => { let userKeeperAddress = Address.fromString("0x16e08f7d84603aeb97cd1c89a80a9e914f181676"); @@ -1586,7 +1322,7 @@ describe("DaoPool", () => { let event = createRewardCredited( proposalId, - BigInt.fromI32(RewardType.VOTE_FOR), + BigInt.fromI32(RewardType.VOTE), rewardToken, amount2, sender, @@ -1600,24 +1336,6 @@ describe("DaoPool", () => { assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "APR", "591447861"); }); - // test("should handle StakingRewardClaimed event", () => { - // let user = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - // let token = Address.fromString("0x86e08f7d84603aeb97cd1c89a80a9e914f181676"); - // let amount = BigInt.fromI32(3000); - - // let event = createStakingRewardClaimed(user, token, amount, contractSender, block, tx); - - // onMicropoolRewardClaimed(event); - - // assert.fieldEquals("Voter", user.toHexString(), "totalClaimedUSD", "1500"); - // assert.fieldEquals("VoterInPool", user.concat(contractSender).toHexString(), "totalStakingReward", "1500"); - - // onMicropoolRewardClaimed(event); - - // assert.fieldEquals("Voter", user.toHexString(), "totalClaimedUSD", amount.toString()); - // assert.fieldEquals("VoterInPool", user.concat(contractSender).toHexString(), "totalStakingReward", "3000"); - // }); - test("should handle OffchainResultsSaved event", () => { let user = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); let resultsHash = "hash1"; diff --git a/DaoPools/tests/TokenSale.test.ts b/DaoPools/tests/TokenSale.test.ts index 58a3f65c..22cea1b4 100644 --- a/DaoPools/tests/TokenSale.test.ts +++ b/DaoPools/tests/TokenSale.test.ts @@ -29,6 +29,7 @@ function createBought( function createTierCreated( tierId: BigInt, saleToken: Address, + participationType: BigInt, contractSender: Address, block: ethereum.Block, tx: ethereum.Transaction @@ -38,6 +39,9 @@ function createTierCreated( event.parameters.push(new ethereum.EventParam("tierId", ethereum.Value.fromUnsignedBigInt(tierId))); event.parameters.push(new ethereum.EventParam("saleToken", ethereum.Value.fromAddress(saleToken))); + event.parameters.push( + new ethereum.EventParam("participationType", ethereum.Value.fromUnsignedBigInt(participationType)) + ); event.block = block; event.transaction = tx; @@ -65,7 +69,8 @@ describe("TokenSale", () => { test("should handle tierCreated", () => { let tierId = BigInt.fromI32(5); let token = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181674"); - let event = createTierCreated(tierId, token, contractSender, block, tx); + let participationType = BigInt.fromI32(1); + let event = createTierCreated(tierId, token, participationType, contractSender, block, tx); onTierCreated(event); @@ -83,10 +88,17 @@ describe("TokenSale", () => { "saleToken", token.toHexString() ); + assert.fieldEquals( + "TokenSaleTier", + contractSender.concatI32(tierId.toI32()).toHexString(), + "whitelistType", + participationType.toString() + ); tierId = BigInt.fromI32(6); token = Address.fromString("0xfF42F3B569cdB6dF9dC260473Ec2ef63Ca971d63"); - event = createTierCreated(tierId, token, contractSender, block, tx); + participationType = BigInt.fromI32(2); + event = createTierCreated(tierId, token, participationType, contractSender, block, tx); onTierCreated(event); @@ -104,6 +116,12 @@ describe("TokenSale", () => { "saleToken", token.toHexString() ); + assert.fieldEquals( + "TokenSaleTier", + contractSender.concatI32(tierId.toI32()).toHexString(), + "whitelistType", + participationType.toString() + ); }); test("should handle bought", () => { diff --git a/DaoValidators/tests/DaoValidators.test.ts b/DaoValidators/tests/DaoValidators.test.ts index 25d14f5a..5a819507 100644 --- a/DaoValidators/tests/DaoValidators.test.ts +++ b/DaoValidators/tests/DaoValidators.test.ts @@ -387,7 +387,7 @@ describe("DaoValidators", () => { ); }); - test("should handle Voted", () => { + test("should handle Vote", () => { let proposalId = BigInt.fromI32(1); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181670"); let vote = BigInt.fromI32(100); From eb3da2c78bcd589cf6595d0b1ae8755232b313f7 Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Mon, 4 Sep 2023 16:49:38 +0300 Subject: [PATCH 27/44] updated abis, fixed VoteChanged event in AllInteractions (#130) --- AllInteractions/abis/DaoPool.json | 106 +++--- AllInteractions/abis/DaoValidators.json | 154 +++++++- AllInteractions/abis/PoolFactory.json | 26 +- AllInteractions/schema.graphql | 4 +- .../dao-pool/DaoPoolProposalInteraction.ts | 8 +- AllInteractions/src/mappings/DaoPool.ts | 14 +- AllInteractions/subgraph.yaml | 4 +- AllInteractions/tests/DaoPool.test.ts | 77 +--- DaoPools/abis/DaoSettings.json | 54 +-- DaoPools/abis/DistributionProposal.json | 36 ++ DaoPools/abis/ERC721Expert.json | 32 ++ DaoPools/abis/PoolFactory.json | 26 +- DaoPools/abis/UserKeeper.json | 341 +++++++----------- DaoValidators/abis/DaoValidators.json | 1 - DaoValidators/abis/PoolFactory.json | 26 +- 15 files changed, 397 insertions(+), 512 deletions(-) diff --git a/AllInteractions/abis/DaoPool.json b/AllInteractions/abis/DaoPool.json index 60612b4c..fc7777c2 100644 --- a/AllInteractions/abis/DaoPool.json +++ b/AllInteractions/abis/DaoPool.json @@ -20,62 +20,14 @@ "name": "isVoteFor", "type": "bool" }, - { - "components": [ - { - "internalType": "uint256", - "name": "personal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "micropool", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "treasury", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct IGovPool.Votes", - "name": "votes", - "type": "tuple" - } - ], - "name": "VoteChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, { "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "totalVoted", "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" } ], - "name": "RewardCanceled", + "name": "VoteChanged", "type": "event" }, { @@ -196,7 +148,13 @@ { "indexed": false, "internalType": "address", - "name": "user", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "delegatee", "type": "address" }, { @@ -212,7 +170,32 @@ "type": "uint256" } ], - "name": "MicropoolRewardClaimed", + "name": "DelegatorRewardsClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "delegatee", + "type": "address" + } + ], + "name": "DelegatorRewardsSet", "type": "event" }, { @@ -1192,12 +1175,7 @@ }, { "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", + "name": "voteRewardsCoefficient", "type": "uint256" } ], @@ -1240,6 +1218,16 @@ "name": "votesAgainst", "type": "uint256" }, + { + "internalType": "uint256", + "name": "rawVotesFor", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rawVotesAgainst", + "type": "uint256" + }, { "internalType": "uint256", "name": "nftPowerSnapshotId", @@ -1484,7 +1472,7 @@ }, { "internalType": "uint256", - "name": "powerVoted", + "name": "totalRawVoted", "type": "uint256" }, { diff --git a/AllInteractions/abis/DaoValidators.json b/AllInteractions/abis/DaoValidators.json index 456d0a37..41067054 100644 --- a/AllInteractions/abis/DaoValidators.json +++ b/AllInteractions/abis/DaoValidators.json @@ -119,6 +119,31 @@ "name": "OwnershipTransferred", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isInternal", + "type": "bool" + } + ], + "name": "VoteCanceled", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -222,6 +247,11 @@ "internalType": "address", "name": "", "type": "address" + }, + { + "internalType": "bool", + "name": "", + "type": "bool" } ], "name": "addressVoted", @@ -235,6 +265,32 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "cancelVoteExternalProposal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "cancelVoteInternalProposal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -253,6 +309,29 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "duration", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "executionDelay", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "quorum", + "type": "uint128" + } + ], + "name": "changeSettings", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -301,14 +380,9 @@ "type": "string" }, { - "internalType": "uint256[]", - "name": "newValues", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "users", - "type": "address[]" + "internalType": "bytes", + "name": "data", + "type": "bytes" } ], "name": "createInternalProposal", @@ -324,7 +398,7 @@ "type": "uint256" } ], - "name": "execute", + "name": "executeExternalProposal", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -337,7 +411,7 @@ "type": "uint256" } ], - "name": "executeExternalProposal", + "name": "executeInternalProposal", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -477,14 +551,9 @@ "type": "string" }, { - "internalType": "uint256[]", - "name": "newValues", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "userAddresses", - "type": "address[]" + "internalType": "bytes", + "name": "data", + "type": "bytes" } ], "internalType": "struct IGovValidators.InternalProposal", @@ -626,6 +695,29 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "tokens", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "monthlyWithdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "owner", @@ -686,8 +778,26 @@ }, { "internalType": "bool", - "name": "isInternal", + "name": "isVoteFor", "type": "bool" + } + ], + "name": "voteExternalProposal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" }, { "internalType": "bool", @@ -695,9 +805,13 @@ "type": "bool" } ], - "name": "vote", + "name": "voteInternalProposal", "outputs": [], "stateMutability": "nonpayable", "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" } ] \ No newline at end of file diff --git a/AllInteractions/abis/PoolFactory.json b/AllInteractions/abis/PoolFactory.json index 025785ee..1a83c0c6 100644 --- a/AllInteractions/abis/PoolFactory.json +++ b/AllInteractions/abis/PoolFactory.json @@ -1,23 +1,4 @@ [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "predictTokenAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "anonymous": false, "inputs": [ @@ -176,12 +157,7 @@ }, { "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", + "name": "voteRewardsCoefficient", "type": "uint256" } ], diff --git a/AllInteractions/schema.graphql b/AllInteractions/schema.graphql index 131513b8..51ddcd81 100644 --- a/AllInteractions/schema.graphql +++ b/AllInteractions/schema.graphql @@ -78,9 +78,7 @@ type DaoPoolProposalInteraction @entity(immutable: true) { id: Bytes! # tx hash + interactionCount pool: Pool! - personalVote: BigInt! - micropoolVote: BigInt! - treasuryVote: BigInt! + totalVote: BigInt! interactionType: BigInt! diff --git a/AllInteractions/src/entities/dao-pool/DaoPoolProposalInteraction.ts b/AllInteractions/src/entities/dao-pool/DaoPoolProposalInteraction.ts index 4d17ef6a..823e8440 100644 --- a/AllInteractions/src/entities/dao-pool/DaoPoolProposalInteraction.ts +++ b/AllInteractions/src/entities/dao-pool/DaoPoolProposalInteraction.ts @@ -5,9 +5,7 @@ export function getDaoPoolProposalInteraction( hash: Bytes, pool: Address, interactionType: BigInt, - personal: BigInt, - micropool: BigInt, - treasury: BigInt, + totalVote: BigInt, count: BigInt ): DaoPoolProposalInteraction { let id = hash.concatI32(count.toI32()); @@ -18,9 +16,7 @@ export function getDaoPoolProposalInteraction( interaction.pool = pool; interaction.interactionType = interactionType; - interaction.personalVote = personal; - interaction.micropoolVote = micropool; - interaction.treasuryVote = treasury; + interaction.totalVote = totalVote; interaction.transaction = Bytes.empty(); } diff --git a/AllInteractions/src/mappings/DaoPool.ts b/AllInteractions/src/mappings/DaoPool.ts index 5978789b..44487637 100644 --- a/AllInteractions/src/mappings/DaoPool.ts +++ b/AllInteractions/src/mappings/DaoPool.ts @@ -91,11 +91,7 @@ export function onVoteChanged(event: VoteChanged): void { ? ProposalInteractionType.VOTE_FOR : ProposalInteractionType.VOTE_AGAINST; - if ( - isZero(event.params.votes.personal) && - isZero(event.params.votes.micropool) && - isZero(event.params.votes.treasury) - ) { + if (event.params.totalVoted.equals(BigInt.zero())) { txType = TransactionType.DAO_POOL_PROPOSAL_VOTE_CANCELED; interactionType = ProposalInteractionType.VOTE_CANCEL; } @@ -104,9 +100,7 @@ export function onVoteChanged(event: VoteChanged): void { event.transaction.hash, event.address, getProposalInteractionBigInt(interactionType), - event.params.votes.personal, - event.params.votes.micropool, - event.params.votes.treasury, + event.params.totalVoted, transaction.interactionsCount ); @@ -264,7 +258,3 @@ export function onOffchainResultsSaved(event: OffchainResultsSaved): void { transaction.save(); offchainResultsSaved.save(); } - -function isZero(val: BigInt): boolean { - return val.equals(BigInt.zero()); -} diff --git a/AllInteractions/subgraph.yaml b/AllInteractions/subgraph.yaml index 5f2fa28a..32ccde2c 100644 --- a/AllInteractions/subgraph.yaml +++ b/AllInteractions/subgraph.yaml @@ -67,14 +67,12 @@ templates: handler: onProposalCreated - event: Delegated(address,address,uint256,uint256[],bool) handler: onDelegated - - event: VoteChanged(uint256,address,bool,(uint256,uint256,uint256)) + - event: VoteChanged(uint256,address,bool,uint256) handler: onVoteChanged - event: ProposalExecuted(uint256,bool,address) handler: onProposalExecuted - event: RewardClaimed(uint256,address,address,uint256) handler: onRewardClaimed - - event: RewardCanceled(uint256,address,uint256,address) - handler: onRewardCanceled - event: Deposited(uint256,uint256[],address) handler: onDeposited - event: Withdrawn(uint256,uint256[],address) diff --git a/AllInteractions/tests/DaoPool.test.ts b/AllInteractions/tests/DaoPool.test.ts index 8df15950..76a146ae 100644 --- a/AllInteractions/tests/DaoPool.test.ts +++ b/AllInteractions/tests/DaoPool.test.ts @@ -9,7 +9,6 @@ import { ProposalCreated, ProposalExecuted, RewardClaimed, - RewardCanceled, VoteChanged, Withdrawn, } from "../generated/templates/DaoPool/DaoPool"; @@ -87,9 +86,7 @@ function createDelegated( function createVoteChanged( proposalId: BigInt, sender: Address, - personal: BigInt, - micropool: BigInt, - treasury: BigInt, + totalVoted: BigInt, isVoteFor: boolean, contractSender: Address, block: ethereum.Block, @@ -98,16 +95,10 @@ function createVoteChanged( let event = changetype(newMockEvent()); event.parameters = new Array(); - const votes = new ethereum.Tuple(3); - - votes[0] = ethereum.Value.fromUnsignedBigInt(personal); - votes[1] = ethereum.Value.fromUnsignedBigInt(micropool); - votes[2] = ethereum.Value.fromUnsignedBigInt(treasury); - event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); event.parameters.push(new ethereum.EventParam("voter", ethereum.Value.fromAddress(sender))); event.parameters.push(new ethereum.EventParam("isVoteFor", ethereum.Value.fromBoolean(isVoteFor))); - event.parameters.push(new ethereum.EventParam("votes", ethereum.Value.fromTuple(votes))); + event.parameters.push(new ethereum.EventParam("totalVoted", ethereum.Value.fromUnsignedBigInt(totalVoted))); event.block = block; event.transaction = tx; @@ -332,22 +323,10 @@ describe("DaoPool", () => { test("should handle VoteChanged", () => { let proposalId = BigInt.fromI32(1); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let personal = BigInt.fromI32(1000); - let micropool = BigInt.fromI32(1000); - let treasury = BigInt.fromI32(1000); + let totalVote = BigInt.fromI32(1000); let isVoteFor = true; - let event = createVoteChanged( - proposalId, - sender, - personal, - micropool, - treasury, - isVoteFor, - contractSender, - block, - tx - ); + let event = createVoteChanged(proposalId, sender, totalVote, isVoteFor, contractSender, block, tx); onVoteChanged(event); @@ -361,20 +340,8 @@ describe("DaoPool", () => { assert.fieldEquals( "DaoPoolProposalInteraction", tx.hash.concatI32(0).toHexString(), - "personalVote", - personal.toString() - ); - assert.fieldEquals( - "DaoPoolProposalInteraction", - tx.hash.concatI32(0).toHexString(), - "micropoolVote", - micropool.toString() - ); - assert.fieldEquals( - "DaoPoolProposalInteraction", - tx.hash.concatI32(0).toHexString(), - "treasuryVote", - treasury.toString() + "totalVote", + totalVote.toString() ); assert.fieldEquals( "DaoPoolProposalInteraction", @@ -396,22 +363,10 @@ describe("DaoPool", () => { test("should handle VoteChanged (cancel)", () => { let proposalId = BigInt.fromI32(1); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let personal = BigInt.fromI32(0); - let micropool = BigInt.fromI32(0); - let treasury = BigInt.fromI32(0); + let totalVote = BigInt.fromI32(0); let isVoteFor = true; - let event = createVoteChanged( - proposalId, - sender, - personal, - micropool, - treasury, - isVoteFor, - contractSender, - block, - tx - ); + let event = createVoteChanged(proposalId, sender, totalVote, isVoteFor, contractSender, block, tx); onVoteChanged(event); @@ -425,20 +380,8 @@ describe("DaoPool", () => { assert.fieldEquals( "DaoPoolProposalInteraction", tx.hash.concatI32(0).toHexString(), - "personalVote", - personal.toString() - ); - assert.fieldEquals( - "DaoPoolProposalInteraction", - tx.hash.concatI32(0).toHexString(), - "micropoolVote", - micropool.toString() - ); - assert.fieldEquals( - "DaoPoolProposalInteraction", - tx.hash.concatI32(0).toHexString(), - "treasuryVote", - treasury.toString() + "totalVote", + totalVote.toString() ); assert.fieldEquals( "DaoPoolProposalInteraction", diff --git a/DaoPools/abis/DaoSettings.json b/DaoPools/abis/DaoSettings.json index aef9a558..7c32350f 100644 --- a/DaoPools/abis/DaoSettings.json +++ b/DaoPools/abis/DaoSettings.json @@ -76,11 +76,6 @@ "name": "govPoolAddress", "type": "address" }, - { - "internalType": "address", - "name": "distributionProposalAddress", - "type": "address" - }, { "internalType": "address", "name": "validatorsAddress", @@ -162,12 +157,7 @@ }, { "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", + "name": "voteRewardsCoefficient", "type": "uint256" } ], @@ -269,12 +259,7 @@ }, { "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", + "name": "voteRewardsCoefficient", "type": "uint256" } ], @@ -394,12 +379,7 @@ }, { "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", + "name": "voteRewardsCoefficient", "type": "uint256" } ], @@ -517,12 +497,7 @@ }, { "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", + "name": "voteRewardsCoefficient", "type": "uint256" } ], @@ -625,12 +600,7 @@ }, { "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", + "name": "voteRewardsCoefficient", "type": "uint256" } ], @@ -727,12 +697,7 @@ }, { "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", + "name": "voteRewardsCoefficient", "type": "uint256" } ], @@ -866,12 +831,7 @@ }, { "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", + "name": "voteRewardsCoefficient", "type": "uint256" } ], diff --git a/DaoPools/abis/DistributionProposal.json b/DaoPools/abis/DistributionProposal.json index 1d2c260f..66f93db9 100644 --- a/DaoPools/abis/DistributionProposal.json +++ b/DaoPools/abis/DistributionProposal.json @@ -181,5 +181,41 @@ ], "stateMutability": "view", "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "executor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct IGovPool.ProposalAction[]", + "name": "actions", + "type": "tuple[]" + } + ], + "name": "validate", + "outputs": [ + { + "internalType": "bool", + "name": "valid", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" } ] \ No newline at end of file diff --git a/DaoPools/abis/ERC721Expert.json b/DaoPools/abis/ERC721Expert.json index 29922e17..4cb339de 100644 --- a/DaoPools/abis/ERC721Expert.json +++ b/DaoPools/abis/ERC721Expert.json @@ -49,6 +49,25 @@ "name": "ApprovalForAll", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_fromTokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_toTokenId", + "type": "uint256" + } + ], + "name": "BatchMetadataUpdate", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -93,6 +112,19 @@ "name": "Issued", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "MetadataUpdate", + "type": "event" + }, { "anonymous": false, "inputs": [ diff --git a/DaoPools/abis/PoolFactory.json b/DaoPools/abis/PoolFactory.json index 025785ee..1a83c0c6 100644 --- a/DaoPools/abis/PoolFactory.json +++ b/DaoPools/abis/PoolFactory.json @@ -1,23 +1,4 @@ [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "predictTokenAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "anonymous": false, "inputs": [ @@ -176,12 +157,7 @@ }, { "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", + "name": "voteRewardsCoefficient", "type": "uint256" } ], diff --git a/DaoPools/abis/UserKeeper.json b/DaoPools/abis/UserKeeper.json index a7530c69..94b47331 100644 --- a/DaoPools/abis/UserKeeper.json +++ b/DaoPools/abis/UserKeeper.json @@ -93,9 +93,9 @@ "type": "address" }, { - "internalType": "bool", - "name": "useDelegated", - "type": "bool" + "internalType": "enum IGovPool.VoteType", + "name": "voteType", + "type": "uint8" }, { "internalType": "uint256", @@ -119,45 +119,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [ - { - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "internalType": "bool", - "name": "isMicropool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "useDelegated", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "requiredVotes", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "snapshotId", - "type": "uint256" - } - ], - "name": "canVote", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "createNftPowerSnapshot", @@ -194,6 +155,24 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "delegatee", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "nftIds", + "type": "uint256[]" + } + ], + "name": "delegateNftsTreasury", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -217,12 +196,35 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "delegatee", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "delegateTokensTreasury", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" + }, + { + "internalType": "bool", + "name": "perNftPowerArray", + "type": "bool" } ], "name": "delegations", @@ -258,16 +260,6 @@ "internalType": "uint256[]", "name": "perNftPower", "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "requestedTokens", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "requestedNfts", - "type": "uint256[]" } ], "internalType": "struct IGovUserKeeper.DelegationInfoView[]", @@ -337,31 +329,17 @@ "type": "address" } ], - "name": "getDelegatedStakeAmount", + "name": "getDelegatedAssets", "outputs": [ { "internalType": "uint256", - "name": "", + "name": "tokenAmount", "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegator", - "type": "address" - } - ], - "name": "getDelegatees", - "outputs": [ + }, { - "internalType": "address[]", - "name": "", - "type": "address[]" + "internalType": "uint256[]", + "name": "nftIds", + "type": "uint256[]" } ], "stateMutability": "view", @@ -434,45 +412,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegator", - "type": "address" - }, - { - "internalType": "address", - "name": "delegatee", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "lockedProposals", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "unlockedNfts", - "type": "uint256[]" - } - ], - "name": "getUndelegateableAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "undelegateableTokens", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "undelegateableNfts", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -515,14 +454,9 @@ "type": "address" }, { - "internalType": "bool", - "name": "isMicropool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "useDelegated", - "type": "bool" + "internalType": "enum IGovPool.VoteType", + "name": "voteType", + "type": "uint8" }, { "internalType": "uint256[]", @@ -547,11 +481,6 @@ "name": "voter", "type": "address" }, - { - "internalType": "bool", - "name": "isMicropool", - "type": "bool" - }, { "internalType": "uint256", "name": "amount", @@ -569,11 +498,6 @@ "internalType": "address", "name": "voter", "type": "address" - }, - { - "internalType": "bool", - "name": "isMicropool", - "type": "bool" } ], "name": "maxLockedAmount", @@ -608,14 +532,9 @@ "type": "address" }, { - "internalType": "bool", - "name": "isMicropool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "useDelegated", - "type": "bool" + "internalType": "enum IGovPool.VoteType", + "name": "voteType", + "type": "uint8" } ], "name": "nftBalance", @@ -642,14 +561,9 @@ "type": "address" }, { - "internalType": "bool", - "name": "isMicropool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "useDelegated", - "type": "bool" + "internalType": "enum IGovPool.VoteType", + "name": "voteType", + "type": "uint8" } ], "name": "nftExactBalance", @@ -693,6 +607,11 @@ "internalType": "uint256[]", "name": "nftIds", "type": "uint256[]" + }, + { + "internalType": "bool", + "name": "perNftPowerArray", + "type": "bool" } ], "name": "nftVotingPower", @@ -765,52 +684,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegator", - "type": "address" - }, - { - "internalType": "address", - "name": "delegatee", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "nftIds", - "type": "uint256[]" - } - ], - "name": "requestNfts", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegator", - "type": "address" - }, - { - "internalType": "address", - "name": "delegatee", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "requestTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [ { @@ -868,14 +741,9 @@ "type": "address" }, { - "internalType": "bool", - "name": "isMicropool", - "type": "bool" - }, - { - "internalType": "bool", - "name": "useDelegated", - "type": "bool" + "internalType": "enum IGovPool.VoteType", + "name": "voteType", + "type": "uint8" } ], "name": "tokenBalance", @@ -930,6 +798,24 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "delegatee", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "nftIds", + "type": "uint256[]" + } + ], + "name": "undelegateNftsTreasury", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -953,6 +839,24 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "delegatee", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "undelegateTokensTreasury", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -978,20 +882,14 @@ "name": "voter", "type": "address" }, - { - "internalType": "bool", - "name": "isMicropool", - "type": "bool" - } - ], - "name": "unlockTokens", - "outputs": [ { "internalType": "uint256", - "name": "unlockedAmount", + "name": "amount", "type": "uint256" } ], + "name": "unlockTokens", + "outputs": [], "stateMutability": "nonpayable", "type": "function" }, @@ -1006,11 +904,6 @@ "internalType": "address", "name": "voter", "type": "address" - }, - { - "internalType": "bool", - "name": "isMicropool", - "type": "bool" } ], "name": "updateMaxTokenLockedAmount", @@ -1039,14 +932,14 @@ "type": "address[]" }, { - "internalType": "bool[]", - "name": "isMicropools", - "type": "bool[]" + "internalType": "enum IGovPool.VoteType[]", + "name": "voteTypes", + "type": "uint8[]" }, { - "internalType": "bool[]", - "name": "useDelegated", - "type": "bool[]" + "internalType": "bool", + "name": "perNftPowerArray", + "type": "bool" } ], "name": "votingPower", @@ -1058,11 +951,21 @@ "name": "power", "type": "uint256" }, + { + "internalType": "uint256", + "name": "rawPower", + "type": "uint256" + }, { "internalType": "uint256", "name": "nftPower", "type": "uint256" }, + { + "internalType": "uint256", + "name": "rawNftPower", + "type": "uint256" + }, { "internalType": "uint256[]", "name": "perNftPower", diff --git a/DaoValidators/abis/DaoValidators.json b/DaoValidators/abis/DaoValidators.json index 9011f0a0..41067054 100644 --- a/DaoValidators/abis/DaoValidators.json +++ b/DaoValidators/abis/DaoValidators.json @@ -1,5 +1,4 @@ [ - { "anonymous": false, "inputs": [ diff --git a/DaoValidators/abis/PoolFactory.json b/DaoValidators/abis/PoolFactory.json index 025785ee..1a83c0c6 100644 --- a/DaoValidators/abis/PoolFactory.json +++ b/DaoValidators/abis/PoolFactory.json @@ -1,23 +1,4 @@ [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "predictTokenAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "anonymous": false, "inputs": [ @@ -176,12 +157,7 @@ }, { "internalType": "uint256", - "name": "voteForRewardsCoefficient", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteAgainstRewardsCoefficient", + "name": "voteRewardsCoefficient", "type": "uint256" } ], From a5965ca91e87a6447c4b89dd0d3829b752e3bdcb Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Wed, 6 Sep 2023 16:24:32 +0300 Subject: [PATCH 28/44] added handler for Whitelisted event (#131) --- AllInteractions/subgraph.yaml | 8 ++--- DaoPools/schema.graphql | 2 ++ DaoPools/src/entities/TokenSaleTier.ts | 3 +- DaoPools/src/mappings/TokenSale.ts | 10 ++++++ DaoPools/subgraph.yaml | 10 +++--- DaoPools/tests/TokenSale.test.ts | 47 +++++++++++++++++++++++++- DaoValidators/subgraph.yaml | 4 +-- 7 files changed, 72 insertions(+), 12 deletions(-) diff --git a/AllInteractions/subgraph.yaml b/AllInteractions/subgraph.yaml index 32ccde2c..75e89c72 100644 --- a/AllInteractions/subgraph.yaml +++ b/AllInteractions/subgraph.yaml @@ -6,9 +6,9 @@ dataSources: name: PoolFactory network: chapel source: - address: "0x11d12802D7b5281addE998E81e7a3db97B133d07" + address: "0x892cc1e2c0C93A74711707eA0057aae25ad07700" abi: PoolFactory - startBlock: 32093342 + startBlock: 32954665 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -27,9 +27,9 @@ dataSources: name: UserRegistry network: chapel source: - address: "0xaecE31B655bD313708e5818fA947b16414c9CAa7" + address: "0x6eaE6952e057FA147b1f8BA99428d6771dC5fb75" abi: UserRegistry - startBlock: 32093342 + startBlock: 32954665 mapping: kind: ethereum/events apiVersion: 0.0.6 diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index e506c512..addb5105 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -344,7 +344,9 @@ type TokenSaleTier @entity { id: Bytes! saleToken: Bytes! + whitelistType: BigInt! + whitelist: [Bytes!]! totalBuyersCount: BigInt! buyers: [VoterInPool!]! diff --git a/DaoPools/src/entities/TokenSaleTier.ts b/DaoPools/src/entities/TokenSaleTier.ts index 37a39369..9487c128 100644 --- a/DaoPools/src/entities/TokenSaleTier.ts +++ b/DaoPools/src/entities/TokenSaleTier.ts @@ -1,4 +1,4 @@ -import { Address, BigInt } from "@graphprotocol/graph-ts"; +import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; import { TokenSaleContract, TokenSaleTier } from "../../generated/schema"; export function getTokenSaleTier( @@ -19,6 +19,7 @@ export function getTokenSaleTier( tier.buyers = new Array(); tier.whitelistType = whitelistType; + tier.whitelist = new Array(); tier.tokenSale = tokenSale.id; } diff --git a/DaoPools/src/mappings/TokenSale.ts b/DaoPools/src/mappings/TokenSale.ts index b25f916c..e2021768 100644 --- a/DaoPools/src/mappings/TokenSale.ts +++ b/DaoPools/src/mappings/TokenSale.ts @@ -37,3 +37,13 @@ export function onBought(event: Bought): void { tier.save(); pool.save(); } + +export function onWhitelisted(event: Whitelisted): void { + let tokenSale = getTokenSale(event.address); + let tier = getTokenSaleTier(tokenSale, event.params.tierId); + + tier.whitelist = pushUnique(tier.whitelist, [event.params.user]); + + tier.save(); + tokenSale.save(); +} diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index 981c52c1..948b986b 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -6,9 +6,9 @@ dataSources: name: PoolFactory network: chapel source: - address: "0x11d12802D7b5281addE998E81e7a3db97B133d07" + address: "0x892cc1e2c0C93A74711707eA0057aae25ad07700" abi: PoolFactory - startBlock: 32093342 + startBlock: 32954665 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -26,9 +26,9 @@ dataSources: name: ERC721Expert network: chapel source: - address: "0xe8ac0EB409c15d1429e490F538a5513B789f4A0F" + address: "0xBd5fd8866588FA0da3331Ab1587D39bBC0e89a8a" abi: ERC721Expert - startBlock: 32093342 + startBlock: 32954665 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -165,6 +165,8 @@ templates: handler: onTierCreated - event: Bought(uint256,address) handler: onBought + - event: Whitelisted(uint256,address) + handler: onWhitelisted - kind: ethereum/contract name: ERC721Expert network: chapel diff --git a/DaoPools/tests/TokenSale.test.ts b/DaoPools/tests/TokenSale.test.ts index 22cea1b4..79fa2dc6 100644 --- a/DaoPools/tests/TokenSale.test.ts +++ b/DaoPools/tests/TokenSale.test.ts @@ -4,7 +4,7 @@ import { afterEach, assert, beforeAll, describe, newMockEvent, test } from "matc import { getBlock, getNextBlock, getNextTx, getTransaction } from "./utils"; import { getDaoPool } from "../src/entities/DaoPool"; import { getTokenSale } from "../src/entities/TokenSale"; -import { onBought, onTierCreated } from "../src/mappings/TokenSale"; +import { onBought, onTierCreated, onWhitelisted } from "../src/mappings/TokenSale"; function createBought( tierId: BigInt, @@ -50,6 +50,26 @@ function createTierCreated( return event; } +function createWhitelisted( + tierId: BigInt, + user: Address, + contractSender: Address, + block: ethereum.Block, + tx: ethereum.Transaction +): Whitelisted { + let event = changetype(newMockEvent()); + event.parameters = new Array(); + + event.parameters.push(new ethereum.EventParam("tierId", ethereum.Value.fromUnsignedBigInt(tierId))); + event.parameters.push(new ethereum.EventParam("user", ethereum.Value.fromAddress(user))); + + event.block = block; + event.transaction = tx; + event.address = contractSender; + + return event; +} + let block = getBlock(BigInt.fromI32(1), BigInt.fromI32(1)); let tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1)))); const contractSender = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181670"); @@ -174,4 +194,29 @@ describe("TokenSale", () => { `[${user1.concat(poolAddress).toHexString()}, ${user2.concat(poolAddress).toHexString()}]` ); }); + + test("should add user to whitelist", () => { + let tierId = BigInt.fromI32(5); + let user1 = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181672"); + let user2 = Address.fromString("0x16e08f7d84603AEb97cd1c89A80A9e914f181672"); + let event1 = createWhitelisted(tierId, user1, contractSender, block, tx); + let event2 = createWhitelisted(tierId, user2, contractSender, block, tx); + + onWhitelisted(event1); + onWhitelisted(event2); + + assert.fieldEquals( + "TokenSaleTier", + contractSender.concatI32(tierId.toI32()).toHexString(), + "tokenSale", + contractSender.toHexString() + ); + + assert.fieldEquals( + "TokenSaleTier", + contractSender.concatI32(tierId.toI32()).toHexString(), + "whitelist", + `[${user1.toHexString()}, ${user2.toHexString()}]` + ); + }); }); diff --git a/DaoValidators/subgraph.yaml b/DaoValidators/subgraph.yaml index 0d22963c..ed948fda 100644 --- a/DaoValidators/subgraph.yaml +++ b/DaoValidators/subgraph.yaml @@ -6,9 +6,9 @@ dataSources: name: PoolFactory network: chapel source: - address: "0x11d12802D7b5281addE998E81e7a3db97B133d07" + address: "0x892cc1e2c0C93A74711707eA0057aae25ad07700" abi: PoolFactory - startBlock: 32093342 + startBlock: 32954665 mapping: kind: ethereum/events apiVersion: 0.0.6 From 26a133c64952b98937c72773db7ae555c174b42b Mon Sep 17 00:00:00 2001 From: Anton Chaika Date: Wed, 6 Sep 2023 18:24:56 +0300 Subject: [PATCH 29/44] fixed expertNft field in Voter and VoterInPool --- DaoPools/schema.graphql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index addb5105..aba79e06 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -119,7 +119,7 @@ type Executor @entity { # @param id forms from user address type Voter @entity { id: Bytes! # voter address - expertNft: ExpertNft! + expertNft: ExpertNft totalProposalsCreated: BigInt! totalClaimedUSD: BigInt! @@ -197,7 +197,7 @@ type VoterInPool @entity { id: Bytes! # voter address + pool address joinedTimestamp: BigInt! - expertNft: ExpertNft! + expertNft: ExpertNft receivedDelegation: BigInt! receivedNFTDelegation: [BigInt!]! From b9aa683334089a685a8227623fdc467c37fd0343 Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Fri, 8 Sep 2023 16:49:37 +0300 Subject: [PATCH 30/44] added delegatedUSD field to VoterInPoolPair entity (#132) * added delegatedUSD field to VoterInPoolPair entity * added creationTimestamp field to VoterInPoolPair entity * Update DaoPools/src/mappings/DaoPool.ts --------- Co-authored-by: Artem Chystiakov <47551140+Arvolear@users.noreply.github.com> --- DaoPools/schema.graphql | 3 +++ DaoPools/src/entities/Voters/VoterInPoolPair.ts | 5 ++++- DaoPools/src/mappings/DaoPool.ts | 9 ++++++++- DaoPools/tests/DaoPool.test.ts | 14 ++++++++++++++ 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index aba79e06..a322d2d7 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -325,10 +325,13 @@ type TreasuryDelegationHistory @entity(immutable: true) { # @param delegateNfts the current delegated nfts type VoterInPoolPair @entity { id: Bytes! # pool address + from address + to address + creationTimestamp: BigInt! + delegator: VoterInPool! delegatee: VoterInPool! delegatedAmount: BigInt! + delegatedUSD: BigInt! delegatedNfts: [BigInt!]! history: [DelegationHistory!]! @derivedFrom(field: "pair") diff --git a/DaoPools/src/entities/Voters/VoterInPoolPair.ts b/DaoPools/src/entities/Voters/VoterInPoolPair.ts index 657d81f4..8dd0ac5c 100644 --- a/DaoPools/src/entities/Voters/VoterInPoolPair.ts +++ b/DaoPools/src/entities/Voters/VoterInPoolPair.ts @@ -1,17 +1,20 @@ import { BigInt } from "@graphprotocol/graph-ts"; import { VoterInPool, VoterInPoolPair } from "../../../generated/schema"; -export function getVoterInPoolPair(from: VoterInPool, to: VoterInPool): VoterInPoolPair { +export function getVoterInPoolPair(from: VoterInPool, to: VoterInPool, timestamp: BigInt): VoterInPoolPair { let id = from.pool.concat(from.voter).concat(to.voter); let pair = VoterInPoolPair.load(id); if (pair == null) { pair = new VoterInPoolPair(id); + pair.creationTimestamp = timestamp; + pair.delegator = from.id; pair.delegatee = to.id; pair.delegatedAmount = BigInt.zero(); + pair.delegatedUSD = BigInt.zero(); pair.delegatedNfts = new Array(); } diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index d17deedd..41378623 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -80,7 +80,7 @@ export function onDelegated(event: Delegated): void { let toVoterInPool = getVoterInPool(pool, to, event.block.timestamp); let fromVoterInPool = getVoterInPool(pool, from, event.block.timestamp); - let pair = getVoterInPoolPair(fromVoterInPool, toVoterInPool); + let pair = getVoterInPoolPair(fromVoterInPool, toVoterInPool, event.block.timestamp); const usdAmount = getUSDValue(pool.erc20Token, event.params.amount); @@ -100,6 +100,7 @@ export function onDelegated(event: Delegated): void { pair.delegatedAmount = pair.delegatedAmount.plus(event.params.amount); pair.delegatedNfts = pushUnique(pair.delegatedNfts, event.params.nfts); + pair.delegatedUSD = pair.delegatedUSD.plus(usdAmount); pool.totalCurrentTokenDelegated = pool.totalCurrentTokenDelegated.plus(event.params.amount); pool.totalCurrentNFTDelegated = pushUnique(pool.totalCurrentNFTDelegated, event.params.nfts); @@ -116,6 +117,12 @@ export function onDelegated(event: Delegated): void { pair.delegatedAmount = pair.delegatedAmount.minus(event.params.amount); pair.delegatedNfts = remove(pair.delegatedNfts, event.params.nfts); + + if (usdAmount.gt(pair.delegatedUSD)) { + pair.delegatedUSD = BigInt.zero(); + } else { + pair.delegatedUSD = pair.delegatedUSD.minus(usdAmount); + } if (pair.delegatedAmount.equals(BigInt.zero()) && pair.delegatedNfts.length == 0) { toVoterInPool.currentDelegatorsCount = toVoterInPool.currentDelegatorsCount.minus(BigInt.fromI32(1)); diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index b51ecaff..59326b92 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -542,6 +542,12 @@ describe("DaoPool", () => { DelegationType.DELEGATE.toString() ); + assert.fieldEquals( + "VoterInPoolPair", + contractSender.concat(from).concat(to).toHexString(), + "creationTimestamp", + block.timestamp.toString() + ); assert.fieldEquals( "VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), @@ -560,6 +566,7 @@ describe("DaoPool", () => { "delegatedAmount", amount.toString() ); + assert.fieldEquals("VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), "delegatedUSD", "200"); assert.fieldEquals( "VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), @@ -631,6 +638,12 @@ describe("DaoPool", () => { DelegationType.UNDELEGATE.toString() ); + assert.fieldEquals( + "VoterInPoolPair", + contractSender.concat(from).concat(to).toHexString(), + "creationTimestamp", + block.timestamp.toString() + ); assert.fieldEquals( "VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), @@ -649,6 +662,7 @@ describe("DaoPool", () => { "delegatedAmount", amount1.minus(amount2).toString() ); + assert.fieldEquals("VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), "delegatedUSD", "100"); assert.fieldEquals( "VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), From 14ee33130903f63def1f20cbe0b532a68cb31415 Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Mon, 11 Sep 2023 14:49:31 +0300 Subject: [PATCH 31/44] added delegated vote info, delegatees count, totalMicropoolRewardUSD (#133) * added delegated vote info, delegatees count, totalMicropoolRewardUSD * small fix --- DaoPools/schema.graphql | 8 +++ DaoPools/src/entities/DaoPool.ts | 4 +- DaoPools/src/entities/Voters/Voter.ts | 4 ++ DaoPools/src/entities/Voters/VoterInPool.ts | 1 + .../src/entities/Voters/VoterInPoolPair.ts | 1 + DaoPools/src/entities/global/globals.ts | 2 +- .../src/helpers/UserKeeperInteractions.ts | 26 +++++++ DaoPools/src/mappings/DaoPool.ts | 36 +++++++++- DaoPools/src/mappings/PoolFactory.ts | 3 +- DaoPools/tests/DaoPool.test.ts | 71 +++++++++++++++++++ 10 files changed, 152 insertions(+), 4 deletions(-) create mode 100644 DaoPools/src/helpers/UserKeeperInteractions.ts diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index a322d2d7..acfb1cfc 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -74,6 +74,8 @@ type DaoPool @entity { id: Bytes! # pool address name: String! + userKeeper: Bytes! + erc20Token: Bytes! erc721Token: Bytes! nftMultiplier: Bytes! @@ -122,6 +124,7 @@ type Voter @entity { expertNft: ExpertNft totalProposalsCreated: BigInt! + totalMicropoolRewardUSD: BigInt! totalClaimedUSD: BigInt! totalRewardedUSD: BigInt! totalDelegatedUSD: BigInt! @@ -129,6 +132,9 @@ type Voter @entity { totalVotedProposals: BigInt! totalVotes: BigInt! + currentVotesDelegated: BigInt! + currentVotesReceived: BigInt! + delegateesCount: BigInt! delegatorsCount: BigInt! pools: [VoterInPool!]! @derivedFrom(field: "voter") @@ -212,6 +218,7 @@ type VoterInPool @entity { rewardedUSD: BigInt! engagedProposalsCount: BigInt! + currentDelegateesCount: BigInt! currentDelegatorsCount: BigInt! APR: BigInt! @@ -330,6 +337,7 @@ type VoterInPoolPair @entity { delegator: VoterInPool! delegatee: VoterInPool! + delegatedVotes: BigInt! delegatedAmount: BigInt! delegatedUSD: BigInt! delegatedNfts: [BigInt!]! diff --git a/DaoPools/src/entities/DaoPool.ts b/DaoPools/src/entities/DaoPool.ts index f6951535..0a6d1b4e 100644 --- a/DaoPools/src/entities/DaoPool.ts +++ b/DaoPools/src/entities/DaoPool.ts @@ -6,7 +6,8 @@ export function getDaoPool( name: string = "", timestamp: BigInt = BigInt.zero(), blockNumber: BigInt = BigInt.zero(), - nftMultiplier: Bytes = Bytes.empty() + nftMultiplier: Bytes = Bytes.empty(), + userKeeper: Bytes = Bytes.empty() ): DaoPool { let pool = DaoPool.load(poolAddress); @@ -21,6 +22,7 @@ export function getDaoPool( pool.erc20Token = Bytes.empty(); pool.erc721Token = Bytes.empty(); pool.nftMultiplier = nftMultiplier; + pool.userKeeper = userKeeper; pool.totalCurrentTokenDelegated = BigInt.zero(); pool.totalCurrentNFTDelegated = new Array(); diff --git a/DaoPools/src/entities/Voters/Voter.ts b/DaoPools/src/entities/Voters/Voter.ts index 0f364964..4e6abd64 100644 --- a/DaoPools/src/entities/Voters/Voter.ts +++ b/DaoPools/src/entities/Voters/Voter.ts @@ -10,12 +10,16 @@ export function getVoter(voterAddress: Address): Voter { voter.expertNft = Bytes.empty(); voter.totalProposalsCreated = BigInt.zero(); + voter.totalMicropoolRewardUSD = BigInt.zero(); voter.totalClaimedUSD = BigInt.zero(); voter.totalRewardedUSD = BigInt.zero(); voter.totalDelegatedUSD = BigInt.zero(); voter.totalLockedFundsUSD = BigInt.zero(); voter.totalVotedProposals = BigInt.zero(); voter.totalVotes = BigInt.zero(); + voter.currentVotesDelegated = BigInt.zero(); + voter.currentVotesReceived = BigInt.zero(); + voter.delegateesCount = BigInt.zero(); voter.delegatorsCount = BigInt.zero(); } diff --git a/DaoPools/src/entities/Voters/VoterInPool.ts b/DaoPools/src/entities/Voters/VoterInPool.ts index 01823698..9cc3a1de 100644 --- a/DaoPools/src/entities/Voters/VoterInPool.ts +++ b/DaoPools/src/entities/Voters/VoterInPool.ts @@ -25,6 +25,7 @@ export function getVoterInPool(pool: DaoPool, voter: Voter, timestamp: BigInt): voterInPool.rewardedUSD = BigInt.zero(); voterInPool.engagedProposalsCount = BigInt.zero(); + voterInPool.currentDelegateesCount = BigInt.zero(); voterInPool.currentDelegatorsCount = BigInt.zero(); voterInPool.APR = BigInt.zero(); diff --git a/DaoPools/src/entities/Voters/VoterInPoolPair.ts b/DaoPools/src/entities/Voters/VoterInPoolPair.ts index 8dd0ac5c..bf1e1dd6 100644 --- a/DaoPools/src/entities/Voters/VoterInPoolPair.ts +++ b/DaoPools/src/entities/Voters/VoterInPoolPair.ts @@ -13,6 +13,7 @@ export function getVoterInPoolPair(from: VoterInPool, to: VoterInPool, timestamp pair.delegator = from.id; pair.delegatee = to.id; + pair.delegatedVotes = BigInt.zero(); pair.delegatedAmount = BigInt.zero(); pair.delegatedUSD = BigInt.zero(); pair.delegatedNfts = new Array(); diff --git a/DaoPools/src/entities/global/globals.ts b/DaoPools/src/entities/global/globals.ts index 1a176d7d..bc22f8fb 100644 --- a/DaoPools/src/entities/global/globals.ts +++ b/DaoPools/src/entities/global/globals.ts @@ -1,6 +1,6 @@ import { BigInt } from "@graphprotocol/graph-ts"; -export const PRICE_FEED_ADDRESS = "0x56d8412b75434671FbC6ad9c6b91Ba2d5E3817c1"; +export const PRICE_FEED_ADDRESS = "0x4eFE132BB9FFECf8A44011E8626FAe4227aA64A0"; export const BNB_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"; export const WBNB_ADDRESS = "0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd"; export const DAY = 86400; diff --git a/DaoPools/src/helpers/UserKeeperInteractions.ts b/DaoPools/src/helpers/UserKeeperInteractions.ts new file mode 100644 index 00000000..d28d9a16 --- /dev/null +++ b/DaoPools/src/helpers/UserKeeperInteractions.ts @@ -0,0 +1,26 @@ +import { Address, BigInt, log } from "@graphprotocol/graph-ts"; +import { UserKeeper } from "../../generated/templates/UserKeeper/UserKeeper"; + +export function getNftsVotePower(userKeeper: Address, nftIds: BigInt[]): BigInt { + let pfPrototype = UserKeeper.bind(userKeeper); + + let resp = pfPrototype.try_nftVotingPower(nftIds, false); + + if (resp.reverted) { + log.warning("try_nftVotingPower reverted. UserKeeper: {}, nftIds: {}", [ + userKeeper.toHexString(), + nftIds.toString(), + ]); + + return BigInt.zero(); + } else { + if (resp.value.value0.length == 0) { + log.warning("try_nftVotingPower returned 0 voting power. UserKeeper: {}, nftIds: {}", [ + userKeeper.toHexString(), + nftIds.toString(), + ]); + } + + return resp.value.value0; + } +} diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index 41378623..d5665796 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -30,6 +30,7 @@ import { TreasuryDelegationType } from "../entities/global/TreasuryDelegationTyp import { getTreasuryDelegationHistory } from "../entities/TreasuryDelegationHistory"; import { RewardType } from "../entities/global/RewardTypeEnum"; import { ProposalInteractionType, getEnumBigInt } from "../entities/global/ProposalInteractionTypeEnum"; +import { getNftsVotePower } from "../helpers/UserKeeperInteractions"; export function onProposalCreated(event: ProposalCreated): void { let pool = getDaoPool(event.address); @@ -83,21 +84,29 @@ export function onDelegated(event: Delegated): void { let pair = getVoterInPoolPair(fromVoterInPool, toVoterInPool, event.block.timestamp); const usdAmount = getUSDValue(pool.erc20Token, event.params.amount); + const votePower = getNftsVotePower(Address.fromBytes(pool.userKeeper), event.params.nfts).plus(event.params.amount); delegateHistory.pair = pair.id; if (event.params.isDelegate) { from.totalDelegatedUSD = from.totalDelegatedUSD.plus(usdAmount); + from.currentVotesDelegated = from.currentVotesDelegated.plus(votePower); + + to.currentVotesReceived = to.currentVotesReceived.plus(votePower); toVoterInPool.receivedDelegation = toVoterInPool.receivedDelegation.plus(event.params.amount); toVoterInPool.receivedNFTDelegation = pushUnique(toVoterInPool.receivedNFTDelegation, event.params.nfts); toVoterInPool.receivedNFTDelegationCount = BigInt.fromI32(toVoterInPool.receivedNFTDelegation.length); if (pair.delegatedAmount.equals(BigInt.zero()) && pair.delegatedNfts.length == 0) { + fromVoterInPool.currentDelegateesCount = fromVoterInPool.currentDelegateesCount.plus(BigInt.fromI32(1)); + from.delegateesCount = from.delegateesCount.plus(BigInt.fromI32(1)); + toVoterInPool.currentDelegatorsCount = toVoterInPool.currentDelegatorsCount.plus(BigInt.fromI32(1)); to.delegatorsCount = to.delegatorsCount.plus(BigInt.fromI32(1)); } + pair.delegatedVotes = pair.delegatedVotes.plus(votePower); pair.delegatedAmount = pair.delegatedAmount.plus(event.params.amount); pair.delegatedNfts = pushUnique(pair.delegatedNfts, event.params.nfts); pair.delegatedUSD = pair.delegatedUSD.plus(usdAmount); @@ -111,20 +120,41 @@ export function onDelegated(event: Delegated): void { from.totalDelegatedUSD = from.totalDelegatedUSD.minus(usdAmount); } + if (votePower.gt(from.currentVotesDelegated)) { + from.currentVotesDelegated = BigInt.zero(); + } else { + from.currentVotesDelegated = from.currentVotesDelegated.minus(votePower); + } + + if (votePower.gt(to.currentVotesReceived)) { + to.currentVotesReceived = BigInt.zero(); + } else { + to.currentVotesReceived = to.currentVotesReceived.minus(votePower); + } + toVoterInPool.receivedDelegation = toVoterInPool.receivedDelegation.minus(event.params.amount); toVoterInPool.receivedNFTDelegation = remove(toVoterInPool.receivedNFTDelegation, event.params.nfts); toVoterInPool.receivedNFTDelegationCount = BigInt.fromI32(toVoterInPool.receivedNFTDelegation.length); pair.delegatedAmount = pair.delegatedAmount.minus(event.params.amount); pair.delegatedNfts = remove(pair.delegatedNfts, event.params.nfts); - + if (usdAmount.gt(pair.delegatedUSD)) { pair.delegatedUSD = BigInt.zero(); } else { pair.delegatedUSD = pair.delegatedUSD.minus(usdAmount); } + if (votePower.gt(pair.delegatedVotes)) { + pair.delegatedVotes = BigInt.zero(); + } else { + pair.delegatedVotes = pair.delegatedVotes.minus(votePower); + } + if (pair.delegatedAmount.equals(BigInt.zero()) && pair.delegatedNfts.length == 0) { + fromVoterInPool.currentDelegateesCount = fromVoterInPool.currentDelegateesCount.minus(BigInt.fromI32(1)); + from.delegateesCount = from.delegateesCount.minus(BigInt.fromI32(1)); + toVoterInPool.currentDelegatorsCount = toVoterInPool.currentDelegatorsCount.minus(BigInt.fromI32(1)); to.delegatorsCount = to.delegatorsCount.minus(BigInt.fromI32(1)); } @@ -341,6 +371,10 @@ export function onDelegatorRewardsClaimed(event: DelegatorRewardsClaimed): void let usdAmount = getUSDValue(event.params.token, event.params.amount); + delegator.totalMicropoolRewardUSD = delegator.totalMicropoolRewardUSD.plus(usdAmount); + delegator.totalClaimedUSD = delegator.totalClaimedUSD.plus(usdAmount); + delegator.totalRewardedUSD = delegator.totalRewardedUSD.plus(usdAmount); + voterInProposal.micropoolRewardUSD = voterInProposal.micropoolRewardUSD.plus(usdAmount); voterInProposal.claimedRewardUSD = voterInProposal.claimedRewardUSD.plus(usdAmount); diff --git a/DaoPools/src/mappings/PoolFactory.ts b/DaoPools/src/mappings/PoolFactory.ts index ce9b898d..bd690d8f 100644 --- a/DaoPools/src/mappings/PoolFactory.ts +++ b/DaoPools/src/mappings/PoolFactory.ts @@ -20,7 +20,8 @@ export function onDeployed(event: DaoPoolDeployed): void { event.params.name, event.block.timestamp, event.block.number, - event.params.govPoolDeps.nftMultiplierAddress + event.params.govPoolDeps.nftMultiplierAddress, + event.params.govPoolDeps.userKeeperAddress ).save(); getDPContract(event.params.distributionProposal, event.params.govPool).save(); diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index 59326b92..62d9b278 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -318,6 +318,8 @@ const tx = getTransaction(Bytes.fromByteArray(Bytes.fromBigInt(BigInt.fromI32(1) const contractSender = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181670"); const settingsId = BigInt.fromI32(2); +const USER_KEEPER_ADDRESS = "0x96e08f7d84603AEb97cd1c89A80A9e914f181670"; + describe("DaoPool", () => { beforeAll(() => { createMockedFunction( @@ -390,6 +392,25 @@ describe("DaoPool", () => { ethereum.Value.fromAddressArray([contractSender, contractSender]), ]); + createMockedFunction( + Address.fromString(USER_KEEPER_ADDRESS), + "nftVotingPower", + "nftVotingPower(uint256[],bool):(uint256,uint256[])" + ) + .withArgs([ethereum.Value.fromUnsignedBigIntArray([BigInt.fromI32(1)]), ethereum.Value.fromBoolean(false)]) + .returns([ethereum.Value.fromUnsignedBigInt(BigInt.fromU64(1500)), ethereum.Value.fromUnsignedBigIntArray([])]); + + createMockedFunction( + Address.fromString(USER_KEEPER_ADDRESS), + "nftVotingPower", + "nftVotingPower(uint256[],bool):(uint256,uint256[])" + ) + .withArgs([ + ethereum.Value.fromUnsignedBigIntArray([BigInt.fromI32(1), BigInt.fromI32(2)]), + ethereum.Value.fromBoolean(false), + ]) + .returns([ethereum.Value.fromUnsignedBigInt(BigInt.fromU64(3000)), ethereum.Value.fromUnsignedBigIntArray([])]); + let settings = new ProposalSettings(contractSender.concatI32(settingsId.toI32())); settings.settingsId = settingsId; settings.pool = contractSender; @@ -482,6 +503,7 @@ describe("DaoPool", () => { test("should handle Delegated", () => { let pool = getDaoPool(contractSender); pool.erc20Token = Bytes.fromHexString("0x86e08f7d84603aeb97cd1c89a80a9e914f181676"); + pool.userKeeper = Bytes.fromHexString(USER_KEEPER_ADDRESS); pool.save(); let from = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); @@ -495,8 +517,15 @@ describe("DaoPool", () => { assert.fieldEquals("Voter", from.toHexString(), "id", from.toHexString()); assert.fieldEquals("Voter", from.toHexString(), "totalDelegatedUSD", "200"); + assert.fieldEquals("Voter", from.toHexString(), "currentVotesDelegated", "4000"); + assert.fieldEquals("Voter", from.toHexString(), "currentVotesReceived", "0"); + assert.fieldEquals("Voter", from.toHexString(), "delegateesCount", "1"); + assert.fieldEquals("Voter", from.toHexString(), "delegatorsCount", "0"); assert.fieldEquals("Voter", to.toHexString(), "id", to.toHexString()); + assert.fieldEquals("Voter", to.toHexString(), "delegateesCount", "0"); assert.fieldEquals("Voter", to.toHexString(), "delegatorsCount", "1"); + assert.fieldEquals("Voter", to.toHexString(), "currentVotesDelegated", "0"); + assert.fieldEquals("Voter", to.toHexString(), "currentVotesReceived", "4000"); assert.fieldEquals("DaoPool", contractSender.toHexString(), "votersCount", "2"); assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentTokenDelegated", amount.toString()); assert.fieldEquals("DaoPool", contractSender.toHexString(), "totalCurrentNFTDelegated", `[${nfts[0]}, ${nfts[1]}]`); @@ -509,6 +538,7 @@ describe("DaoPool", () => { "receivedNFTDelegation", `[${nfts[0]}, ${nfts[1]}]` ); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "currentDelegateesCount", "0"); assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "currentDelegatorsCount", "1"); assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "receivedNFTDelegationCount", "2"); assert.fieldEquals( @@ -517,6 +547,8 @@ describe("DaoPool", () => { "joinedTimestamp", block.timestamp.toString() ); + assert.fieldEquals("VoterInPool", from.concat(contractSender).toHexString(), "currentDelegateesCount", "1"); + assert.fieldEquals("VoterInPool", from.concat(contractSender).toHexString(), "currentDelegatorsCount", "0"); assert.fieldEquals( "VoterInPool", from.concat(contractSender).toHexString(), @@ -560,6 +592,12 @@ describe("DaoPool", () => { "delegatee", to.concat(contractSender).toHexString() ); + assert.fieldEquals( + "VoterInPoolPair", + contractSender.concat(from).concat(to).toHexString(), + "delegatedVotes", + "4000" + ); assert.fieldEquals( "VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), @@ -578,6 +616,7 @@ describe("DaoPool", () => { test("should handle Undelegated", () => { let pool = getDaoPool(contractSender); pool.erc20Token = Bytes.fromHexString("0x86e08f7d84603aeb97cd1c89a80a9e914f181676"); + pool.userKeeper = Bytes.fromHexString(USER_KEEPER_ADDRESS); pool.save(); let from = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); @@ -591,12 +630,31 @@ describe("DaoPool", () => { let event2 = createDelegated(from, to, amount2, nfts2, false, contractSender, block, tx); onDelegated(event1); + + assert.fieldEquals("Voter", from.toHexString(), "currentVotesDelegated", "4000"); + assert.fieldEquals("Voter", from.toHexString(), "currentVotesReceived", "0"); + assert.fieldEquals("Voter", to.toHexString(), "currentVotesDelegated", "0"); + assert.fieldEquals("Voter", to.toHexString(), "currentVotesReceived", "4000"); + assert.fieldEquals( + "VoterInPoolPair", + contractSender.concat(from).concat(to).toHexString(), + "delegatedVotes", + "4000" + ); + onDelegated(event2); assert.fieldEquals("Voter", from.toHexString(), "id", from.toHexString()); assert.fieldEquals("Voter", from.toHexString(), "totalDelegatedUSD", "100"); + assert.fieldEquals("Voter", from.toHexString(), "delegateesCount", "1"); + assert.fieldEquals("Voter", from.toHexString(), "delegatorsCount", "0"); + assert.fieldEquals("Voter", from.toHexString(), "currentVotesDelegated", "2000"); + assert.fieldEquals("Voter", from.toHexString(), "currentVotesReceived", "0"); assert.fieldEquals("Voter", to.toHexString(), "id", to.toHexString()); + assert.fieldEquals("Voter", to.toHexString(), "delegateesCount", "0"); assert.fieldEquals("Voter", to.toHexString(), "delegatorsCount", "1"); + assert.fieldEquals("Voter", to.toHexString(), "currentVotesDelegated", "0"); + assert.fieldEquals("Voter", to.toHexString(), "currentVotesReceived", "2000"); assert.fieldEquals( "DaoPool", contractSender.toHexString(), @@ -618,6 +676,9 @@ describe("DaoPool", () => { "receivedNFTDelegation", `[${nfts1[1]}]` ); + assert.fieldEquals("VoterInPool", from.concat(contractSender).toHexString(), "currentDelegateesCount", "1"); + assert.fieldEquals("VoterInPool", from.concat(contractSender).toHexString(), "currentDelegatorsCount", "0"); + assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "currentDelegateesCount", "0"); assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "currentDelegatorsCount", "1"); assert.fieldEquals("VoterInPool", to.concat(contractSender).toHexString(), "receivedNFTDelegationCount", "1"); assert.fieldEquals("DelegationHistory", tx.hash.concatI32(1).toHexString(), "pool", contractSender.toHexString()); @@ -656,6 +717,12 @@ describe("DaoPool", () => { "delegatee", to.concat(contractSender).toHexString() ); + assert.fieldEquals( + "VoterInPoolPair", + contractSender.concat(from).concat(to).toHexString(), + "delegatedVotes", + "2000" + ); assert.fieldEquals( "VoterInPoolPair", contractSender.concat(from).concat(to).toHexString(), @@ -1074,6 +1141,10 @@ describe("DaoPool", () => { onDelegatorRewardsClaimed(event); + assert.fieldEquals("Voter", delegator.toHexString(), "totalMicropoolRewardUSD", "200"); + assert.fieldEquals("Voter", delegator.toHexString(), "totalClaimedUSD", "200"); + assert.fieldEquals("Voter", delegator.toHexString(), "totalRewardedUSD", "200"); + assert.fieldEquals( "VoterInProposal", delegator.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), From eb3c8e4519ccf8382a7ee0f355752ec93825f819 Mon Sep 17 00:00:00 2001 From: Anton Chaika Date: Mon, 11 Sep 2023 16:04:54 +0300 Subject: [PATCH 32/44] updated PriceFeed address, fixed subgraph.yaml in DaoPools --- AllInteractions/src/entities/global/globals.ts | 2 +- DaoPools/subgraph.yaml | 2 ++ DaoValidators/src/entities/global/globals.ts | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/AllInteractions/src/entities/global/globals.ts b/AllInteractions/src/entities/global/globals.ts index 4b21374a..dac4f902 100644 --- a/AllInteractions/src/entities/global/globals.ts +++ b/AllInteractions/src/entities/global/globals.ts @@ -1 +1 @@ -export const PRICE_FEED_ADDRESS = "0x56d8412b75434671FbC6ad9c6b91Ba2d5E3817c1"; +export const PRICE_FEED_ADDRESS = "0x4eFE132BB9FFECf8A44011E8626FAe4227aA64A0"; diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index 948b986b..e86116c8 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -62,6 +62,8 @@ templates: abis: - name: DaoPool file: ./abis/DaoPool.json + - name: UserKeeper + file: ./abis/UserKeeper.json - name: PriceFeed file: ./abis/PriceFeed.json eventHandlers: diff --git a/DaoValidators/src/entities/global/globals.ts b/DaoValidators/src/entities/global/globals.ts index 4b21374a..dac4f902 100644 --- a/DaoValidators/src/entities/global/globals.ts +++ b/DaoValidators/src/entities/global/globals.ts @@ -1 +1 @@ -export const PRICE_FEED_ADDRESS = "0x56d8412b75434671FbC6ad9c6b91Ba2d5E3817c1"; +export const PRICE_FEED_ADDRESS = "0x4eFE132BB9FFECf8A44011E8626FAe4227aA64A0"; From 0955e735accd9c687e814372fcb4f6e0a30841da Mon Sep 17 00:00:00 2001 From: Anton Chaika Date: Fri, 15 Sep 2023 17:55:39 +0300 Subject: [PATCH 33/44] removed RewardCredited, added QuorumReached, updated RewardClaimed --- DaoPools/abis/DaoPool.json | 104 +++++--- DaoPools/abis/UserKeeper.json | 29 ++ DaoPools/schema.graphql | 10 +- DaoPools/src/entities/Proposal.ts | 1 + DaoPools/src/entities/Voters/VoterInPool.ts | 4 + .../src/entities/Voters/VoterInProposal.ts | 5 +- DaoPools/src/mappings/DaoPool.ts | 107 ++++---- DaoPools/subgraph.yaml | 6 +- DaoPools/tests/DaoPool.test.ts | 247 +++++++++++------- 9 files changed, 328 insertions(+), 185 deletions(-) diff --git a/DaoPools/abis/DaoPool.json b/DaoPools/abis/DaoPool.json index fc7777c2..e9086432 100644 --- a/DaoPools/abis/DaoPool.json +++ b/DaoPools/abis/DaoPool.json @@ -1,4 +1,23 @@ [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "name": "QuorumReached", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -54,7 +73,7 @@ { "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "rewards", "type": "uint256" } ], @@ -70,32 +89,43 @@ "name": "proposalId", "type": "uint256" }, - { - "indexed": false, - "internalType": "enum IGovPool.RewardType", - "name": "rewardType", - "type": "uint8" - }, { "indexed": false, "internalType": "address", - "name": "rewardToken", + "name": "sender", "type": "address" }, { "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" + "internalType": "address", + "name": "token", + "type": "address" }, { + "components": [ + { + "internalType": "uint256", + "name": "personal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "micropool", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "treasury", + "type": "uint256" + } + ], "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" + "internalType": "struct IGovPool.VotingRewards", + "name": "rewards", + "type": "tuple" } ], - "name": "RewardCredited", + "name": "VotingRewardClaimed", "type": "event" }, { @@ -173,31 +203,6 @@ "name": "DelegatorRewardsClaimed", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "delegatee", - "type": "address" - } - ], - "name": "DelegatorRewardsSet", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -571,6 +576,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "votePower", + "type": "address" + } + ], + "name": "changeVotePower", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -1204,9 +1222,9 @@ "type": "uint64" }, { - "internalType": "uint64", - "name": "executionTime", - "type": "uint64" + "internalType": "bool", + "name": "executed", + "type": "bool" }, { "internalType": "uint256", diff --git a/DaoPools/abis/UserKeeper.json b/DaoPools/abis/UserKeeper.json index 94b47331..827adf80 100644 --- a/DaoPools/abis/UserKeeper.json +++ b/DaoPools/abis/UserKeeper.json @@ -1040,5 +1040,34 @@ "outputs": [], "stateMutability": "nonpayable", "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "nftIds", + "type": "uint256[]" + }, + { + "internalType": "bool", + "name": "perNftPowerArray", + "type": "bool" + } + ], + "name": "nftVotingPower", + "outputs": [ + { + "internalType": "uint256", + "name": "nftPower", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "perNftPower", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" } ] \ No newline at end of file diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index acfb1cfc..4614adc9 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -164,6 +164,7 @@ type Proposal @entity { isFor: Boolean! executor: Bytes! executionTimestamp: BigInt! + quorumReachedTimestamp: BigInt! rewardToken: Bytes! @@ -217,6 +218,10 @@ type VoterInPool @entity { totalClaimedUSD: BigInt! rewardedUSD: BigInt! + totalPersonalVotingRewardUSD: BigInt! + totalMicropoolVotingRewardUSD: BigInt! + totalTreasuryVotingRewardUSD: BigInt! + engagedProposalsCount: BigInt! currentDelegateesCount: BigInt! currentDelegatorsCount: BigInt! @@ -253,7 +258,10 @@ type VoterInProposal @entity { totalVote: BigInt! staticRewardUSD: BigInt! - votingRewardUSD: BigInt! + + personalVotingRewardUSD: BigInt! + micropoolVotingRewardUSD: BigInt! + treasuryVotingRewardUSD: BigInt! micropoolRewardUSD: BigInt! claimedRewardUSD: BigInt! diff --git a/DaoPools/src/entities/Proposal.ts b/DaoPools/src/entities/Proposal.ts index 0e2e67f3..22658e3d 100644 --- a/DaoPools/src/entities/Proposal.ts +++ b/DaoPools/src/entities/Proposal.ts @@ -22,6 +22,7 @@ export function getProposal( proposal.isFor = false; proposal.executor = Bytes.empty(); proposal.executionTimestamp = BigInt.zero(); + proposal.quorumReachedTimestamp = BigInt.zero(); proposal.rewardToken = rewardToken; diff --git a/DaoPools/src/entities/Voters/VoterInPool.ts b/DaoPools/src/entities/Voters/VoterInPool.ts index 9cc3a1de..71fb47a4 100644 --- a/DaoPools/src/entities/Voters/VoterInPool.ts +++ b/DaoPools/src/entities/Voters/VoterInPool.ts @@ -24,6 +24,10 @@ export function getVoterInPool(pool: DaoPool, voter: Voter, timestamp: BigInt): voterInPool.totalClaimedUSD = BigInt.zero(); voterInPool.rewardedUSD = BigInt.zero(); + voterInPool.totalPersonalVotingRewardUSD = BigInt.zero(); + voterInPool.totalMicropoolVotingRewardUSD = BigInt.zero(); + voterInPool.totalTreasuryVotingRewardUSD = BigInt.zero(); + voterInPool.engagedProposalsCount = BigInt.zero(); voterInPool.currentDelegateesCount = BigInt.zero(); voterInPool.currentDelegatorsCount = BigInt.zero(); diff --git a/DaoPools/src/entities/Voters/VoterInProposal.ts b/DaoPools/src/entities/Voters/VoterInProposal.ts index b56d5e2b..5cc673c2 100644 --- a/DaoPools/src/entities/Voters/VoterInProposal.ts +++ b/DaoPools/src/entities/Voters/VoterInProposal.ts @@ -13,7 +13,10 @@ export function getVoterInProposal(proposal: Proposal, voterInPool: VoterInPool) voterInProposal.totalVote = BigInt.zero(); voterInProposal.staticRewardUSD = BigInt.zero(); - voterInProposal.votingRewardUSD = BigInt.zero(); + + voterInProposal.personalVotingRewardUSD = BigInt.zero(); + voterInProposal.micropoolVotingRewardUSD = BigInt.zero(); + voterInProposal.treasuryVotingRewardUSD = BigInt.zero(); voterInProposal.micropoolRewardUSD = BigInt.zero(); diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index d5665796..d83fbbca 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -8,9 +8,10 @@ import { OffchainResultsSaved, ProposalCreated, ProposalExecuted, + QuorumReached, RewardClaimed, - RewardCredited, VoteChanged, + VotingRewardClaimed, Withdrawn, } from "../../generated/templates/DaoPool/DaoPool"; import { getDaoPool } from "../entities/DaoPool"; @@ -342,21 +343,69 @@ export function onRewardClaimed(event: RewardClaimed): void { let pool = getDaoPool(event.address); let voter = getVoter(event.params.sender); let voterInPool = getVoterInPool(pool, voter, event.block.timestamp); - let proposal = getProposal(pool, event.params.proposalId); - let usdAmount = getUSDValue(event.params.token, event.params.amount); + let usdAmount = getUSDValue(event.params.token, event.params.rewards); if (!event.params.proposalId.equals(BigInt.zero())) { + let proposal = getProposal(pool, event.params.proposalId); let voterInProposal = getVoterInProposal(proposal, voterInPool); - voterInProposal.claimedRewardUSD = usdAmount; + voterInProposal.claimedRewardUSD = voterInProposal.claimedRewardUSD.plus(usdAmount); + + voterInProposal.staticRewardUSD = voterInProposal.staticRewardUSD.plus(usdAmount); + + voterInPool.proposals = pushUnique(voterInPool.proposals, [voterInProposal.id]); + voterInPool.engagedProposalsCount = BigInt.fromI32(voterInPool.proposals.length); voterInProposal.save(); + proposal.save(); } + voterInPool.rewardedUSD = voterInPool.rewardedUSD.plus(usdAmount); voterInPool.totalClaimedUSD = voterInPool.totalClaimedUSD.plus(usdAmount); + voter.totalRewardedUSD = voter.totalRewardedUSD.plus(usdAmount); voter.totalClaimedUSD = voter.totalClaimedUSD.plus(usdAmount); + recalculateAPR(voterInPool, usdAmount, event.block.timestamp); + + voterInPool.save(); + voter.save(); + pool.save(); +} + +export function onVotingRewardClaimed(event: VotingRewardClaimed): void { + let pool = getDaoPool(event.address); + let voter = getVoter(event.params.sender); + let voterInPool = getVoterInPool(pool, voter, event.block.timestamp); + let proposal = getProposal(pool, event.params.proposalId); + let voterInProposal = getVoterInProposal(proposal, voterInPool); + + let personalUsdAmount = getUSDValue(event.params.token, event.params.rewards.personal); + let micropoolUsdAmount = getUSDValue(event.params.token, event.params.rewards.micropool); + let treasuryUsdAmount = getUSDValue(event.params.token, event.params.rewards.treasury); + let totalUsdAmount = personalUsdAmount.plus(micropoolUsdAmount).plus(treasuryUsdAmount); + + voterInProposal.personalVotingRewardUSD = personalUsdAmount; + voterInProposal.micropoolVotingRewardUSD = micropoolUsdAmount; + voterInProposal.treasuryVotingRewardUSD = treasuryUsdAmount; + + voterInProposal.claimedRewardUSD = voterInProposal.claimedRewardUSD.plus(totalUsdAmount); + + voterInPool.totalPersonalVotingRewardUSD = voterInPool.totalPersonalVotingRewardUSD.plus(personalUsdAmount); + voterInPool.totalMicropoolVotingRewardUSD = voterInPool.totalMicropoolVotingRewardUSD.plus(micropoolUsdAmount); + voterInPool.totalTreasuryVotingRewardUSD = voterInPool.totalTreasuryVotingRewardUSD.plus(treasuryUsdAmount); + + voterInPool.rewardedUSD = voterInPool.rewardedUSD.plus(totalUsdAmount); + voterInPool.totalClaimedUSD = voterInPool.totalClaimedUSD.plus(totalUsdAmount); + voter.totalRewardedUSD = voter.totalRewardedUSD.plus(totalUsdAmount); + voter.totalClaimedUSD = voter.totalClaimedUSD.plus(totalUsdAmount); + + voterInPool.proposals = pushUnique(voterInPool.proposals, [voterInProposal.id]); + voterInPool.engagedProposalsCount = BigInt.fromI32(voterInPool.proposals.length); + + recalculateAPR(voterInPool, totalUsdAmount, event.block.timestamp); + + voterInProposal.save(); voterInPool.save(); voter.save(); pool.save(); @@ -384,46 +433,6 @@ export function onDelegatorRewardsClaimed(event: DelegatorRewardsClaimed): void pool.save(); } -export function onRewardCredited(event: RewardCredited): void { - let pool = getDaoPool(event.address); - let voter = getVoter(event.params.sender); - let voterInPool = getVoterInPool(pool, voter, event.block.timestamp); - - let usdAmount = getUSDValue(event.params.rewardToken, event.params.amount); - - if (!event.params.proposalId.equals(BigInt.zero())) { - let proposal = getProposal(pool, event.params.proposalId); - - let voterInProposal = getVoterInProposal(proposal, voterInPool); - const rewardType = event.params.rewardType; - - switch (rewardType) { - case RewardType.VOTE: { - voterInProposal.votingRewardUSD = voterInProposal.votingRewardUSD.plus(usdAmount); - break; - } - default: { - voterInProposal.staticRewardUSD = voterInProposal.staticRewardUSD.plus(usdAmount); - } - } - - voterInPool.proposals = pushUnique(voterInPool.proposals, [voterInProposal.id]); - voterInPool.engagedProposalsCount = BigInt.fromI32(voterInPool.proposals.length); - - voterInProposal.save(); - } - - voterInPool.rewardedUSD = voterInPool.rewardedUSD.plus(usdAmount); - - voter.totalRewardedUSD = voter.totalRewardedUSD.plus(usdAmount); - - recalculateAPR(voterInPool, usdAmount, event.block.timestamp); - - voterInPool.save(); - voter.save(); - pool.save(); -} - export function onDeposited(event: Deposited): void { let pool = getDaoPool(event.address); let voter = getVoter(event.params.sender); @@ -470,6 +479,16 @@ export function onOffchainResultsSaved(event: OffchainResultsSaved): void { pool.save(); } +export function onQuorumReached(event: QuorumReached): void { + let pool = getDaoPool(event.address); + let proposal = getProposal(pool, event.params.proposalId); + + proposal.quorumReachedTimestamp = event.params.timestamp; + + proposal.save(); + pool.save(); +} + function recalculateAPR(voterInPool: VoterInPool, rewardCredited: BigInt, currentTimestamp: BigInt): void { if (voterInPool.totalLockedUSD.notEqual(BigInt.zero()) && currentTimestamp.notEqual(voterInPool.joinedTimestamp)) { let RLRatio = rewardCredited.times(BigInt.fromI32(PERCENTAGE_NUMERATOR)).div(voterInPool.totalLockedUSD); diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index e86116c8..5aba465c 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -79,10 +79,12 @@ templates: handler: onVoteChanged - event: ProposalExecuted(uint256,bool,address) # id, isFor, msg.sender handler: onProposalExecuted + - event: QuorumReached(uint256,uint256) + handler: onQuorumReached - event: RewardClaimed(uint256,address,address,uint256) # id, msg.sender, token, amount handler: onRewardClaimed - - event: RewardCredited(uint256,uint8,address,uint256,address) # id, type, token, amount, to - handler: onRewardCredited + - event: VotingRewardClaimed(uint256,address,address,(uint256,uint256,uint256)) + handler: onVotingRewardClaimed - event: OffchainResultsSaved(string,address) handler: onOffchainResultsSaved diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index 62d9b278..fe8e75f9 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -17,11 +17,12 @@ import { ProposalCreated, ProposalExecuted, RewardClaimed, - RewardCredited, VoteChanged, OffchainResultsSaved, DelegatedTreasury, DelegatorRewardsClaimed, + QuorumReached, + VotingRewardClaimed, } from "../generated/templates/DaoPool/DaoPool"; import { onDelegated, @@ -29,12 +30,13 @@ import { onProposalExecuted, onVoteChanged, onRewardClaimed, - onRewardCredited, onDeposited, onWithdrawn, onOffchainResultsSaved, onDelegatedTreasury, onDelegatorRewardsClaimed, + onQuorumReached, + onVotingRewardClaimed, } from "../src/mappings/DaoPool"; import { PRICE_FEED_ADDRESS } from "../src/entities/global/globals"; import { ProposalSettings } from "../generated/schema"; @@ -187,7 +189,7 @@ function createRewardClaimed( event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); event.parameters.push(new ethereum.EventParam("token", ethereum.Value.fromAddress(token))); - event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); + event.parameters.push(new ethereum.EventParam("rewards", ethereum.Value.fromUnsignedBigInt(amount))); event.block = block; event.transaction = tx; @@ -196,25 +198,50 @@ function createRewardClaimed( return event; } -function createRewardCredited( +function createVotingRewardClaimed( proposalId: BigInt, - rewardType: BigInt, - rewardToken: Address, - amount: BigInt, sender: Address, + token: Address, + personalAmount: BigInt, + micropoolAmount: BigInt, + treasuryAmount: BigInt, contractSender: Address, block: ethereum.Block, tx: ethereum.Transaction -): RewardCredited { - rewardType; - let event = changetype(newMockEvent()); +): VotingRewardClaimed { + let event = changetype(newMockEvent()); event.parameters = new Array(); + const rewards = new ethereum.Tuple(3); + + rewards[0] = ethereum.Value.fromUnsignedBigInt(personalAmount); + rewards[1] = ethereum.Value.fromUnsignedBigInt(micropoolAmount); + rewards[2] = ethereum.Value.fromUnsignedBigInt(treasuryAmount); + event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); - event.parameters.push(new ethereum.EventParam("rewardType", ethereum.Value.fromUnsignedBigInt(rewardType))); - event.parameters.push(new ethereum.EventParam("rewardToken", ethereum.Value.fromAddress(rewardToken))); - event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); + event.parameters.push(new ethereum.EventParam("token", ethereum.Value.fromAddress(token))); + event.parameters.push(new ethereum.EventParam("rewards", ethereum.Value.fromTuple(rewards))); + + event.block = block; + event.transaction = tx; + event.address = contractSender; + + return event; +} + +function createQuorumReached( + proposalId: BigInt, + timestamp: BigInt, + contractSender: Address, + block: ethereum.Block, + tx: ethereum.Transaction +): QuorumReached { + let event = changetype(newMockEvent()); + event.parameters = new Array(); + + event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); + event.parameters.push(new ethereum.EventParam("timestamp", ethereum.Value.fromUnsignedBigInt(timestamp))); event.block = block; event.transaction = tx; @@ -1077,6 +1104,27 @@ describe("DaoPool", () => { ); }); + test("should handle QuorumReached", () => { + let proposalId = BigInt.fromI32(1); + + let event = createQuorumReached(proposalId, block.timestamp, contractSender, block, tx); + + onQuorumReached(event); + + assert.fieldEquals( + "Proposal", + contractSender.concatI32(proposalId.toI32()).toHexString(), + "id", + contractSender.concatI32(proposalId.toI32()).toHexString() + ); + assert.fieldEquals( + "Proposal", + contractSender.concatI32(proposalId.toI32()).toHexString(), + "quorumReachedTimestamp", + block.timestamp.toString() + ); + }); + test("should handle ProposalExecuted", () => { let proposalId = BigInt.fromI32(1); let isFor = true; @@ -1174,6 +1222,12 @@ describe("DaoPool", () => { onRewardClaimed(event0); assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", amounts[0].toString()); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalIds[0].toI32()).toHexString(), + "staticRewardUSD", + amounts[0].toString() + ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalIds[0].toI32()).toHexString(), @@ -1190,6 +1244,12 @@ describe("DaoPool", () => { onRewardClaimed(event1); assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", amounts[0].plus(amounts[1]).toString()); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalIds[1].toI32()).toHexString(), + "staticRewardUSD", + amounts[1].toString() + ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalIds[1].toI32()).toHexString(), @@ -1219,121 +1279,129 @@ describe("DaoPool", () => { assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "totalClaimedUSD", "200"); }); - test("should handle RewardCredited", () => { - let proposalId = BigInt.fromI32(1); + test("should handle VotingRewardClaimed", () => { + let proposalIds = [BigInt.fromI32(1), BigInt.fromI32(2)]; let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); - let amount = BigInt.fromI32(1000); + let tokens = [ + Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"), + Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181673"), + ]; - let event = createRewardCredited( - proposalId, - BigInt.fromI32(RewardType.CREATE), - rewardToken, - amount, + let personalAmount = BigInt.fromI32(10).pow(18); + let micropoolAmount = BigInt.fromI32(10).pow(18); + let treasuryAmount = BigInt.fromI32(10).pow(18); + + let totalAmount = personalAmount.plus(micropoolAmount).plus(treasuryAmount); + + let event0 = createVotingRewardClaimed( + proposalIds[0], sender, + tokens[0], + personalAmount, + micropoolAmount, + treasuryAmount, contractSender, block, tx ); - onRewardCredited(event); - - assert.fieldEquals("Voter", sender.toHexString(), "totalRewardedUSD", "200"); + onVotingRewardClaimed(event0); + assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", totalAmount.toString()); assert.fieldEquals( "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), + sender.concat(contractSender).concatI32(proposalIds[0].toI32()).toHexString(), "staticRewardUSD", - "200" + "0" ); assert.fieldEquals( "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "votingRewardUSD", - "0" + sender.concat(contractSender).concatI32(proposalIds[0].toI32()).toHexString(), + "claimedRewardUSD", + totalAmount.toString() ); assert.fieldEquals( "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "micropoolRewardUSD", - "0" + sender.concat(contractSender).concatI32(proposalIds[0].toI32()).toHexString(), + "personalVotingRewardUSD", + personalAmount.toString() ); assert.fieldEquals( "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "claimedRewardUSD", - "0" + sender.concat(contractSender).concatI32(proposalIds[0].toI32()).toHexString(), + "micropoolVotingRewardUSD", + micropoolAmount.toString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalIds[0].toI32()).toHexString(), + "treasuryVotingRewardUSD", + treasuryAmount.toString() ); assert.fieldEquals( "VoterInPool", sender.concat(contractSender).toHexString(), - "proposals", - `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` + "totalClaimedUSD", + totalAmount.toString() ); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "engagedProposalsCount", "1"); - }); - test("should handle RewardCredited when reward type is vote", () => { - let proposalId = BigInt.fromI32(1); - let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); - let amount = BigInt.fromI32(1000); + let personalAmount1 = BigInt.fromI32(10).pow(18).times(BigInt.fromI32(2)); + let micropoolAmount1 = BigInt.fromI32(10).pow(18).times(BigInt.fromI32(2)); + let treasuryAmount1 = BigInt.fromI32(10).pow(18).times(BigInt.fromI32(2)); - let event = createRewardCredited( - proposalId, - BigInt.fromI32(RewardType.VOTE), - rewardToken, - amount, + let totalAmount1 = personalAmount1.plus(micropoolAmount1).plus(treasuryAmount1); + + let event1 = createVotingRewardClaimed( + proposalIds[1], sender, + tokens[1], + personalAmount1, + micropoolAmount1, + treasuryAmount1, contractSender, block, tx ); - onRewardCredited(event); + onVotingRewardClaimed(event1); + assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", totalAmount.plus(totalAmount1).toString()); assert.fieldEquals( "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "votingRewardUSD", - "200" + sender.concat(contractSender).concatI32(proposalIds[1].toI32()).toHexString(), + "staticRewardUSD", + "0" ); assert.fieldEquals( "VoterInProposal", - sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString(), - "staticRewardUSD", - "0" + sender.concat(contractSender).concatI32(proposalIds[1].toI32()).toHexString(), + "personalVotingRewardUSD", + personalAmount1.toString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalIds[1].toI32()).toHexString(), + "micropoolVotingRewardUSD", + micropoolAmount1.toString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalIds[1].toI32()).toHexString(), + "treasuryVotingRewardUSD", + treasuryAmount1.toString() + ); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalIds[1].toI32()).toHexString(), + "claimedRewardUSD", + totalAmount1.toString() ); - assert.fieldEquals( "VoterInPool", sender.concat(contractSender).toHexString(), - "proposals", - `[${sender.concat(contractSender).concatI32(proposalId.toI32()).toHexString()}]` - ); - assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "engagedProposalsCount", "1"); - }); - - test("should handle offchain RewardCredited", () => { - let proposalId = BigInt.zero(); - let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); - let rewardToken = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181676"); - let amount = BigInt.fromI32(1000); - - let event = createRewardCredited( - proposalId, - BigInt.fromI32(RewardType.SAVE_OFFCHAIN_RESULTS), - rewardToken, - amount, - sender, - contractSender, - block, - tx + "totalClaimedUSD", + totalAmount.plus(totalAmount1).toString() ); - - onRewardCredited(event); - - assert.fieldEquals("Voter", sender.toHexString(), "totalRewardedUSD", "200"); }); test("should deposit", () => { @@ -1405,18 +1473,9 @@ describe("DaoPool", () => { let block4000 = getBlock(BigInt.fromI32(4000), BigInt.fromI32(4000)); - let event = createRewardCredited( - proposalId, - BigInt.fromI32(RewardType.VOTE), - rewardToken, - amount2, - sender, - contractSender, - block4000, - tx - ); + let event = createRewardClaimed(proposalId, sender, rewardToken, amount2, contractSender, block4000, tx); - onRewardCredited(event); + onRewardClaimed(event); assert.fieldEquals("VoterInPool", sender.concat(contractSender).toHexString(), "APR", "591447861"); }); From 6d6a74b8c460e758684944859f6beff4c16aa184 Mon Sep 17 00:00:00 2001 From: Anton Chaika Date: Fri, 15 Sep 2023 18:28:19 +0300 Subject: [PATCH 34/44] updated TierCreated event --- DaoPools/abis/TokenSale.json | 89 +++++++++++++++++++++----- DaoPools/schema.graphql | 3 +- DaoPools/src/entities/TokenSaleTier.ts | 6 +- DaoPools/src/helpers/ArrayHelper.ts | 4 ++ DaoPools/src/mappings/TokenSale.ts | 13 ++-- DaoPools/subgraph.yaml | 2 +- DaoPools/tests/TokenSale.test.ts | 51 ++++++--------- 7 files changed, 111 insertions(+), 57 deletions(-) create mode 100644 DaoPools/src/helpers/ArrayHelper.ts diff --git a/DaoPools/abis/TokenSale.json b/DaoPools/abis/TokenSale.json index 5b83a837..432f068e 100644 --- a/DaoPools/abis/TokenSale.json +++ b/DaoPools/abis/TokenSale.json @@ -72,10 +72,22 @@ "type": "address" }, { + "components": [ + { + "internalType": "enum ITokenSaleProposal.ParticipationType", + "name": "participationType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], "indexed": false, - "internalType": "enum ITokenSaleProposal.ParticipationType", - "name": "participationType", - "type": "uint8" + "internalType": "struct ITokenSaleProposal.ParticipationDetails[]", + "name": "participationDetails", + "type": "tuple[]" } ], "name": "TierCreated", @@ -452,9 +464,9 @@ "type": "bytes" } ], - "internalType": "struct ITokenSaleProposal.ParticipationDetails", + "internalType": "struct ITokenSaleProposal.ParticipationDetails[]", "name": "participationDetails", - "type": "tuple" + "type": "tuple[]" } ], "internalType": "struct ITokenSaleProposal.TierInitParams[]", @@ -710,9 +722,9 @@ "type": "bytes" } ], - "internalType": "struct ITokenSaleProposal.ParticipationDetails", + "internalType": "struct ITokenSaleProposal.ParticipationDetails[]", "name": "participationDetails", - "type": "tuple" + "type": "tuple[]" } ], "internalType": "struct ITokenSaleProposal.TierInitParams", @@ -817,14 +829,24 @@ "type": "uint256" }, { - "internalType": "uint256", - "name": "lockedAmount", - "type": "uint256" + "internalType": "address[]", + "name": "lockedTokenAddresses", + "type": "address[]" }, { - "internalType": "uint256", - "name": "lockedId", - "type": "uint256" + "internalType": "uint256[]", + "name": "lockedTokenAmounts", + "type": "uint256[]" + }, + { + "internalType": "address[]", + "name": "lockedNftAddresses", + "type": "address[]" + }, + { + "internalType": "uint256[][]", + "name": "lockedNftIds", + "type": "uint256[][]" }, { "internalType": "address[]", @@ -974,9 +996,14 @@ "type": "uint256" }, { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" + "internalType": "address", + "name": "nftToLock", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "nftIdsToLock", + "type": "uint256[]" } ], "name": "lockParticipationNft", @@ -990,6 +1017,16 @@ "internalType": "uint256", "name": "tierId", "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenToLock", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amountToLock", + "type": "uint256" } ], "name": "lockParticipationTokens", @@ -1253,6 +1290,16 @@ "internalType": "uint256", "name": "tierId", "type": "uint256" + }, + { + "internalType": "address", + "name": "nftToUnlock", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "nftIdsToUnlock", + "type": "uint256[]" } ], "name": "unlockParticipationNft", @@ -1266,6 +1313,16 @@ "internalType": "uint256", "name": "tierId", "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenToUnlock", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amountToUnlock", + "type": "uint256" } ], "name": "unlockParticipationTokens", diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index 4614adc9..4b8aaa05 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -364,7 +364,8 @@ type TokenSaleTier @entity { saleToken: Bytes! - whitelistType: BigInt! + whitelistTypes: [BigInt!]! + data: [Bytes!]! whitelist: [Bytes!]! totalBuyersCount: BigInt! diff --git a/DaoPools/src/entities/TokenSaleTier.ts b/DaoPools/src/entities/TokenSaleTier.ts index 9487c128..a9a9a2f5 100644 --- a/DaoPools/src/entities/TokenSaleTier.ts +++ b/DaoPools/src/entities/TokenSaleTier.ts @@ -4,8 +4,7 @@ import { TokenSaleContract, TokenSaleTier } from "../../generated/schema"; export function getTokenSaleTier( tokenSale: TokenSaleContract, tierId: BigInt, - saleToken: Address = Address.zero(), - whitelistType: BigInt = BigInt.zero() + saleToken: Address = Address.zero() ): TokenSaleTier { let id = tokenSale.id.concatI32(tierId.toI32()); let tier = TokenSaleTier.load(id); @@ -18,7 +17,8 @@ export function getTokenSaleTier( tier.totalBuyersCount = BigInt.zero(); tier.buyers = new Array(); - tier.whitelistType = whitelistType; + tier.whitelistTypes = new Array(); + tier.data = new Array(); tier.whitelist = new Array(); tier.tokenSale = tokenSale.id; diff --git a/DaoPools/src/helpers/ArrayHelper.ts b/DaoPools/src/helpers/ArrayHelper.ts new file mode 100644 index 00000000..c78dfd08 --- /dev/null +++ b/DaoPools/src/helpers/ArrayHelper.ts @@ -0,0 +1,4 @@ +export function push(array: Array, item: T): Array { + array.push(item); + return array; +} diff --git a/DaoPools/src/mappings/TokenSale.ts b/DaoPools/src/mappings/TokenSale.ts index e2021768..fea2eddb 100644 --- a/DaoPools/src/mappings/TokenSale.ts +++ b/DaoPools/src/mappings/TokenSale.ts @@ -6,15 +6,16 @@ import { getTokenSale } from "../entities/TokenSale"; import { getTokenSaleTier } from "../entities/TokenSaleTier"; import { getVoter } from "../entities/Voters/Voter"; import { getVoterInPool } from "../entities/Voters/VoterInPool"; +import { push } from "../helpers/ArrayHelper"; export function onTierCreated(event: TierCreated): void { let tokenSale = getTokenSale(event.address); - let tier = getTokenSaleTier( - tokenSale, - event.params.tierId, - event.params.saleToken, - BigInt.fromI32(event.params.participationType) - ); + let tier = getTokenSaleTier(tokenSale, event.params.tierId, event.params.saleToken); + let participationDetails = event.params.participationDetails; + for (let i = 0; i < participationDetails.length; i++) { + tier.whitelistTypes = push(tier.whitelistTypes, BigInt.fromI32(participationDetails[i].participationType)); + tier.data = push(tier.data, participationDetails[i].data); + } tier.save(); tokenSale.save(); diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index 5aba465c..48785efd 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -165,7 +165,7 @@ templates: - name: TokenSaleProposal file: ./abis/TokenSale.json eventHandlers: - - event: TierCreated(uint256,address,uint8) + - event: TierCreated(uint256,address,(uint8,bytes)[]) handler: onTierCreated - event: Bought(uint256,address) handler: onBought diff --git a/DaoPools/tests/TokenSale.test.ts b/DaoPools/tests/TokenSale.test.ts index 79fa2dc6..04b022d2 100644 --- a/DaoPools/tests/TokenSale.test.ts +++ b/DaoPools/tests/TokenSale.test.ts @@ -29,7 +29,8 @@ function createBought( function createTierCreated( tierId: BigInt, saleToken: Address, - participationType: BigInt, + participationTypes: BigInt[], + data: Bytes[], contractSender: Address, block: ethereum.Block, tx: ethereum.Transaction @@ -37,10 +38,21 @@ function createTierCreated( let event = changetype(newMockEvent()); event.parameters = new Array(); + let participationTypesArray = new Array(participationTypes.length); + + for (let i = 0; i < participationTypes.length; i++) { + let tuple = new ethereum.Tuple(2); + + tuple[0] = ethereum.Value.fromUnsignedBigInt(participationTypes[i]); + tuple[1] = ethereum.Value.fromBytes(data[i]); + + participationTypesArray[i] = tuple; + } + event.parameters.push(new ethereum.EventParam("tierId", ethereum.Value.fromUnsignedBigInt(tierId))); event.parameters.push(new ethereum.EventParam("saleToken", ethereum.Value.fromAddress(saleToken))); event.parameters.push( - new ethereum.EventParam("participationType", ethereum.Value.fromUnsignedBigInt(participationType)) + new ethereum.EventParam("participationTypes", ethereum.Value.fromTupleArray(participationTypesArray)) ); event.block = block; @@ -89,8 +101,9 @@ describe("TokenSale", () => { test("should handle tierCreated", () => { let tierId = BigInt.fromI32(5); let token = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181674"); - let participationType = BigInt.fromI32(1); - let event = createTierCreated(tierId, token, participationType, contractSender, block, tx); + let participationTypes = [BigInt.fromI32(1), BigInt.fromI32(2)]; + let data = [Bytes.fromI32(1), Bytes.fromI32(2)]; + let event = createTierCreated(tierId, token, participationTypes, data, contractSender, block, tx); onTierCreated(event); @@ -111,36 +124,14 @@ describe("TokenSale", () => { assert.fieldEquals( "TokenSaleTier", contractSender.concatI32(tierId.toI32()).toHexString(), - "whitelistType", - participationType.toString() - ); - - tierId = BigInt.fromI32(6); - token = Address.fromString("0xfF42F3B569cdB6dF9dC260473Ec2ef63Ca971d63"); - participationType = BigInt.fromI32(2); - event = createTierCreated(tierId, token, participationType, contractSender, block, tx); - - onTierCreated(event); - - assert.fieldEquals("TokenSaleContract", contractSender.toHexString(), "daoPool", poolAddress.toHexString()); - - assert.fieldEquals( - "TokenSaleTier", - contractSender.concatI32(tierId.toI32()).toHexString(), - "tokenSale", - contractSender.toHexString() - ); - assert.fieldEquals( - "TokenSaleTier", - contractSender.concatI32(tierId.toI32()).toHexString(), - "saleToken", - token.toHexString() + "whitelistTypes", + `[${participationTypes[0].toString()}, ${participationTypes[1].toString()}]` ); assert.fieldEquals( "TokenSaleTier", contractSender.concatI32(tierId.toI32()).toHexString(), - "whitelistType", - participationType.toString() + "data", + `[${data[0].toHexString()}, ${data[1].toHexString()}]` ); }); From 4ca28e77f82dcf860e0bec3203a7c001fb323fcf Mon Sep 17 00:00:00 2001 From: Anton Chaika Date: Fri, 15 Sep 2023 19:00:00 +0300 Subject: [PATCH 35/44] added QuorumUnreached event --- DaoPools/abis/DaoPool.json | 13 +++++++ DaoPools/src/mappings/DaoPool.ts | 11 ++++++ DaoPools/subgraph.yaml | 2 ++ DaoPools/tests/DaoPool.test.ts | 58 ++++++++++++++++++++++++++++++++ 4 files changed, 84 insertions(+) diff --git a/DaoPools/abis/DaoPool.json b/DaoPools/abis/DaoPool.json index e9086432..f2a0f09a 100644 --- a/DaoPools/abis/DaoPool.json +++ b/DaoPools/abis/DaoPool.json @@ -18,6 +18,19 @@ "name": "QuorumReached", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "QuorumUnreached", + "type": "event" + }, { "anonymous": false, "inputs": [ diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index d83fbbca..ab5a9ee2 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -9,6 +9,7 @@ import { ProposalCreated, ProposalExecuted, QuorumReached, + QuorumUnreached, RewardClaimed, VoteChanged, VotingRewardClaimed, @@ -489,6 +490,16 @@ export function onQuorumReached(event: QuorumReached): void { pool.save(); } +export function onQuorumUnreached(event: QuorumUnreached): void { + let pool = getDaoPool(event.address); + let proposal = getProposal(pool, event.params.proposalId); + + proposal.quorumReachedTimestamp = BigInt.zero(); + + proposal.save(); + pool.save(); +} + function recalculateAPR(voterInPool: VoterInPool, rewardCredited: BigInt, currentTimestamp: BigInt): void { if (voterInPool.totalLockedUSD.notEqual(BigInt.zero()) && currentTimestamp.notEqual(voterInPool.joinedTimestamp)) { let RLRatio = rewardCredited.times(BigInt.fromI32(PERCENTAGE_NUMERATOR)).div(voterInPool.totalLockedUSD); diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index 48785efd..8a978fee 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -81,6 +81,8 @@ templates: handler: onProposalExecuted - event: QuorumReached(uint256,uint256) handler: onQuorumReached + - event: QuorumUnreached(uint256) + handler: onQuorumUnreached - event: RewardClaimed(uint256,address,address,uint256) # id, msg.sender, token, amount handler: onRewardClaimed - event: VotingRewardClaimed(uint256,address,address,(uint256,uint256,uint256)) diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index fe8e75f9..42860eee 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -23,6 +23,7 @@ import { DelegatorRewardsClaimed, QuorumReached, VotingRewardClaimed, + QuorumUnreached, } from "../generated/templates/DaoPool/DaoPool"; import { onDelegated, @@ -37,6 +38,7 @@ import { onDelegatorRewardsClaimed, onQuorumReached, onVotingRewardClaimed, + onQuorumUnreached, } from "../src/mappings/DaoPool"; import { PRICE_FEED_ADDRESS } from "../src/entities/global/globals"; import { ProposalSettings } from "../generated/schema"; @@ -250,6 +252,24 @@ function createQuorumReached( return event; } +function createQuorumUnreached( + proposalId: BigInt, + contractSender: Address, + block: ethereum.Block, + tx: ethereum.Transaction +): QuorumUnreached { + let event = changetype(newMockEvent()); + event.parameters = new Array(); + + event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); + + event.block = block; + event.transaction = tx; + event.address = contractSender; + + return event; +} + function createDeposited( amount: BigInt, nfts: Array, @@ -1125,6 +1145,44 @@ describe("DaoPool", () => { ); }); + test("should handle QuorumUnreached", () => { + let proposalId = BigInt.fromI32(1); + + let reachedEvent = createQuorumReached(proposalId, block.timestamp, contractSender, block, tx); + + onQuorumReached(reachedEvent); + + assert.fieldEquals( + "Proposal", + contractSender.concatI32(proposalId.toI32()).toHexString(), + "id", + contractSender.concatI32(proposalId.toI32()).toHexString() + ); + assert.fieldEquals( + "Proposal", + contractSender.concatI32(proposalId.toI32()).toHexString(), + "quorumReachedTimestamp", + block.timestamp.toString() + ); + + let unreachedEvent = createQuorumUnreached(proposalId, contractSender, block, tx); + + onQuorumUnreached(unreachedEvent); + + assert.fieldEquals( + "Proposal", + contractSender.concatI32(proposalId.toI32()).toHexString(), + "id", + contractSender.concatI32(proposalId.toI32()).toHexString() + ); + assert.fieldEquals( + "Proposal", + contractSender.concatI32(proposalId.toI32()).toHexString(), + "quorumReachedTimestamp", + "0" + ); + }); + test("should handle ProposalExecuted", () => { let proposalId = BigInt.fromI32(1); let isFor = true; From ab30d7d62b54148bd5bf634dc6a286115f5fb851 Mon Sep 17 00:00:00 2001 From: Anton Chaika Date: Fri, 15 Sep 2023 19:21:39 +0300 Subject: [PATCH 36/44] removed revardedUSD, totalRewardUSD fields --- DaoPools/schema.graphql | 2 -- DaoPools/src/entities/Voters/Voter.ts | 1 - DaoPools/src/entities/Voters/VoterInPool.ts | 1 - DaoPools/src/mappings/DaoPool.ts | 5 ----- DaoPools/tests/DaoPool.test.ts | 1 - 5 files changed, 10 deletions(-) diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index 4b8aaa05..20fb4a99 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -126,7 +126,6 @@ type Voter @entity { totalProposalsCreated: BigInt! totalMicropoolRewardUSD: BigInt! totalClaimedUSD: BigInt! - totalRewardedUSD: BigInt! totalDelegatedUSD: BigInt! totalLockedFundsUSD: BigInt! totalVotedProposals: BigInt! @@ -216,7 +215,6 @@ type VoterInPool @entity { totalLockedUSD: BigInt! totalClaimedUSD: BigInt! - rewardedUSD: BigInt! totalPersonalVotingRewardUSD: BigInt! totalMicropoolVotingRewardUSD: BigInt! diff --git a/DaoPools/src/entities/Voters/Voter.ts b/DaoPools/src/entities/Voters/Voter.ts index 4e6abd64..a69debb5 100644 --- a/DaoPools/src/entities/Voters/Voter.ts +++ b/DaoPools/src/entities/Voters/Voter.ts @@ -12,7 +12,6 @@ export function getVoter(voterAddress: Address): Voter { voter.totalProposalsCreated = BigInt.zero(); voter.totalMicropoolRewardUSD = BigInt.zero(); voter.totalClaimedUSD = BigInt.zero(); - voter.totalRewardedUSD = BigInt.zero(); voter.totalDelegatedUSD = BigInt.zero(); voter.totalLockedFundsUSD = BigInt.zero(); voter.totalVotedProposals = BigInt.zero(); diff --git a/DaoPools/src/entities/Voters/VoterInPool.ts b/DaoPools/src/entities/Voters/VoterInPool.ts index 71fb47a4..03e9eb07 100644 --- a/DaoPools/src/entities/Voters/VoterInPool.ts +++ b/DaoPools/src/entities/Voters/VoterInPool.ts @@ -22,7 +22,6 @@ export function getVoterInPool(pool: DaoPool, voter: Voter, timestamp: BigInt): voterInPool.totalLockedUSD = BigInt.zero(); voterInPool.totalClaimedUSD = BigInt.zero(); - voterInPool.rewardedUSD = BigInt.zero(); voterInPool.totalPersonalVotingRewardUSD = BigInt.zero(); voterInPool.totalMicropoolVotingRewardUSD = BigInt.zero(); diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index ab5a9ee2..141eedd6 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -362,9 +362,7 @@ export function onRewardClaimed(event: RewardClaimed): void { proposal.save(); } - voterInPool.rewardedUSD = voterInPool.rewardedUSD.plus(usdAmount); voterInPool.totalClaimedUSD = voterInPool.totalClaimedUSD.plus(usdAmount); - voter.totalRewardedUSD = voter.totalRewardedUSD.plus(usdAmount); voter.totalClaimedUSD = voter.totalClaimedUSD.plus(usdAmount); recalculateAPR(voterInPool, usdAmount, event.block.timestamp); @@ -396,9 +394,7 @@ export function onVotingRewardClaimed(event: VotingRewardClaimed): void { voterInPool.totalMicropoolVotingRewardUSD = voterInPool.totalMicropoolVotingRewardUSD.plus(micropoolUsdAmount); voterInPool.totalTreasuryVotingRewardUSD = voterInPool.totalTreasuryVotingRewardUSD.plus(treasuryUsdAmount); - voterInPool.rewardedUSD = voterInPool.rewardedUSD.plus(totalUsdAmount); voterInPool.totalClaimedUSD = voterInPool.totalClaimedUSD.plus(totalUsdAmount); - voter.totalRewardedUSD = voter.totalRewardedUSD.plus(totalUsdAmount); voter.totalClaimedUSD = voter.totalClaimedUSD.plus(totalUsdAmount); voterInPool.proposals = pushUnique(voterInPool.proposals, [voterInProposal.id]); @@ -423,7 +419,6 @@ export function onDelegatorRewardsClaimed(event: DelegatorRewardsClaimed): void delegator.totalMicropoolRewardUSD = delegator.totalMicropoolRewardUSD.plus(usdAmount); delegator.totalClaimedUSD = delegator.totalClaimedUSD.plus(usdAmount); - delegator.totalRewardedUSD = delegator.totalRewardedUSD.plus(usdAmount); voterInProposal.micropoolRewardUSD = voterInProposal.micropoolRewardUSD.plus(usdAmount); voterInProposal.claimedRewardUSD = voterInProposal.claimedRewardUSD.plus(usdAmount); diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index 42860eee..6680c61c 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -1249,7 +1249,6 @@ describe("DaoPool", () => { assert.fieldEquals("Voter", delegator.toHexString(), "totalMicropoolRewardUSD", "200"); assert.fieldEquals("Voter", delegator.toHexString(), "totalClaimedUSD", "200"); - assert.fieldEquals("Voter", delegator.toHexString(), "totalRewardedUSD", "200"); assert.fieldEquals( "VoterInProposal", From 7647bd52fd6a59b78c4c17f1abba43cf9f9797a7 Mon Sep 17 00:00:00 2001 From: Anton Chaika Date: Fri, 15 Sep 2023 20:17:52 +0300 Subject: [PATCH 37/44] updated abis, addresses --- AllInteractions/abis/DaoPool.json | 146 ++++++++++++------ AllInteractions/abis/PoolFactory.json | 27 +++- .../src/entities/global/globals.ts | 2 +- AllInteractions/subgraph.yaml | 4 +- DaoPools/abis/DaoPool.json | 29 +++- DaoPools/abis/PoolFactory.json | 27 +++- DaoPools/src/entities/global/globals.ts | 2 +- DaoPools/subgraph.yaml | 2 +- DaoValidators/src/entities/global/globals.ts | 2 +- DaoValidators/subgraph.yaml | 2 +- 10 files changed, 183 insertions(+), 60 deletions(-) diff --git a/AllInteractions/abis/DaoPool.json b/AllInteractions/abis/DaoPool.json index fc7777c2..9e3eff2c 100644 --- a/AllInteractions/abis/DaoPool.json +++ b/AllInteractions/abis/DaoPool.json @@ -1,4 +1,36 @@ [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "name": "QuorumReached", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "QuorumUnreached", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -54,7 +86,7 @@ { "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "rewards", "type": "uint256" } ], @@ -70,32 +102,43 @@ "name": "proposalId", "type": "uint256" }, - { - "indexed": false, - "internalType": "enum IGovPool.RewardType", - "name": "rewardType", - "type": "uint8" - }, { "indexed": false, "internalType": "address", - "name": "rewardToken", + "name": "sender", "type": "address" }, { "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" + "internalType": "address", + "name": "token", + "type": "address" }, { + "components": [ + { + "internalType": "uint256", + "name": "personal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "micropool", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "treasury", + "type": "uint256" + } + ], "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" + "internalType": "struct IGovPool.VotingRewards", + "name": "rewards", + "type": "tuple" } ], - "name": "RewardCredited", + "name": "VotingRewardClaimed", "type": "event" }, { @@ -173,31 +216,6 @@ "name": "DelegatorRewardsClaimed", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "delegatee", - "type": "address" - } - ], - "name": "DelegatorRewardsSet", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -571,6 +589,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "votePower", + "type": "address" + } + ], + "name": "changeVotePower", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -1021,11 +1052,38 @@ "outputs": [ { "components": [ + { + "internalType": "address[]", + "name": "onchainTokens", + "type": "address[]" + }, { "internalType": "uint256[]", - "name": "onchainRewards", + "name": "staticRewards", "type": "uint256[]" }, + { + "components": [ + { + "internalType": "uint256", + "name": "personal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "micropool", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "treasury", + "type": "uint256" + } + ], + "internalType": "struct IGovPool.VotingRewards[]", + "name": "votingRewards", + "type": "tuple[]" + }, { "internalType": "uint256[]", "name": "offchainRewards", @@ -1204,9 +1262,9 @@ "type": "uint64" }, { - "internalType": "uint64", - "name": "executionTime", - "type": "uint64" + "internalType": "bool", + "name": "executed", + "type": "bool" }, { "internalType": "uint256", diff --git a/AllInteractions/abis/PoolFactory.json b/AllInteractions/abis/PoolFactory.json index 1a83c0c6..7749a12a 100644 --- a/AllInteractions/abis/PoolFactory.json +++ b/AllInteractions/abis/PoolFactory.json @@ -1,4 +1,23 @@ [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + } + ], + "name": "predictTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "anonymous": false, "inputs": [ @@ -367,9 +386,9 @@ "type": "bytes" } ], - "internalType": "struct ITokenSaleProposal.ParticipationDetails", + "internalType": "struct ITokenSaleProposal.ParticipationDetails[]", "name": "participationDetails", - "type": "tuple" + "type": "tuple[]" } ], "internalType": "struct ITokenSaleProposal.TierInitParams[]", @@ -535,12 +554,12 @@ }, { "internalType": "address", - "name": "govToken", + "name": "govTokenSale", "type": "address" }, { "internalType": "address", - "name": "govTokenSale", + "name": "govToken", "type": "address" }, { diff --git a/AllInteractions/src/entities/global/globals.ts b/AllInteractions/src/entities/global/globals.ts index dac4f902..848bfb13 100644 --- a/AllInteractions/src/entities/global/globals.ts +++ b/AllInteractions/src/entities/global/globals.ts @@ -1 +1 @@ -export const PRICE_FEED_ADDRESS = "0x4eFE132BB9FFECf8A44011E8626FAe4227aA64A0"; +export const PRICE_FEED_ADDRESS = "0x7Bc604663D1cedB045d746fF3BE50d0380E1a69c"; diff --git a/AllInteractions/subgraph.yaml b/AllInteractions/subgraph.yaml index 75e89c72..d9f6de07 100644 --- a/AllInteractions/subgraph.yaml +++ b/AllInteractions/subgraph.yaml @@ -6,7 +6,7 @@ dataSources: name: PoolFactory network: chapel source: - address: "0x892cc1e2c0C93A74711707eA0057aae25ad07700" + address: "0x433F3d397055503fB2320584b9F027931ECba762" abi: PoolFactory startBlock: 32954665 mapping: @@ -27,7 +27,7 @@ dataSources: name: UserRegistry network: chapel source: - address: "0x6eaE6952e057FA147b1f8BA99428d6771dC5fb75" + address: "0x4748e4e294c6e11D7Ff0062290628Caa56bACaB1" abi: UserRegistry startBlock: 32954665 mapping: diff --git a/DaoPools/abis/DaoPool.json b/DaoPools/abis/DaoPool.json index f2a0f09a..9e3eff2c 100644 --- a/DaoPools/abis/DaoPool.json +++ b/DaoPools/abis/DaoPool.json @@ -1052,11 +1052,38 @@ "outputs": [ { "components": [ + { + "internalType": "address[]", + "name": "onchainTokens", + "type": "address[]" + }, { "internalType": "uint256[]", - "name": "onchainRewards", + "name": "staticRewards", "type": "uint256[]" }, + { + "components": [ + { + "internalType": "uint256", + "name": "personal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "micropool", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "treasury", + "type": "uint256" + } + ], + "internalType": "struct IGovPool.VotingRewards[]", + "name": "votingRewards", + "type": "tuple[]" + }, { "internalType": "uint256[]", "name": "offchainRewards", diff --git a/DaoPools/abis/PoolFactory.json b/DaoPools/abis/PoolFactory.json index 1a83c0c6..7749a12a 100644 --- a/DaoPools/abis/PoolFactory.json +++ b/DaoPools/abis/PoolFactory.json @@ -1,4 +1,23 @@ [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + } + ], + "name": "predictTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "anonymous": false, "inputs": [ @@ -367,9 +386,9 @@ "type": "bytes" } ], - "internalType": "struct ITokenSaleProposal.ParticipationDetails", + "internalType": "struct ITokenSaleProposal.ParticipationDetails[]", "name": "participationDetails", - "type": "tuple" + "type": "tuple[]" } ], "internalType": "struct ITokenSaleProposal.TierInitParams[]", @@ -535,12 +554,12 @@ }, { "internalType": "address", - "name": "govToken", + "name": "govTokenSale", "type": "address" }, { "internalType": "address", - "name": "govTokenSale", + "name": "govToken", "type": "address" }, { diff --git a/DaoPools/src/entities/global/globals.ts b/DaoPools/src/entities/global/globals.ts index bc22f8fb..a9275a4a 100644 --- a/DaoPools/src/entities/global/globals.ts +++ b/DaoPools/src/entities/global/globals.ts @@ -1,6 +1,6 @@ import { BigInt } from "@graphprotocol/graph-ts"; -export const PRICE_FEED_ADDRESS = "0x4eFE132BB9FFECf8A44011E8626FAe4227aA64A0"; +export const PRICE_FEED_ADDRESS = "0x7Bc604663D1cedB045d746fF3BE50d0380E1a69c"; export const BNB_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"; export const WBNB_ADDRESS = "0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd"; export const DAY = 86400; diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index 8a978fee..40d911b3 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -6,7 +6,7 @@ dataSources: name: PoolFactory network: chapel source: - address: "0x892cc1e2c0C93A74711707eA0057aae25ad07700" + address: "0x433F3d397055503fB2320584b9F027931ECba762" abi: PoolFactory startBlock: 32954665 mapping: diff --git a/DaoValidators/src/entities/global/globals.ts b/DaoValidators/src/entities/global/globals.ts index dac4f902..848bfb13 100644 --- a/DaoValidators/src/entities/global/globals.ts +++ b/DaoValidators/src/entities/global/globals.ts @@ -1 +1 @@ -export const PRICE_FEED_ADDRESS = "0x4eFE132BB9FFECf8A44011E8626FAe4227aA64A0"; +export const PRICE_FEED_ADDRESS = "0x7Bc604663D1cedB045d746fF3BE50d0380E1a69c"; diff --git a/DaoValidators/subgraph.yaml b/DaoValidators/subgraph.yaml index ed948fda..75497b24 100644 --- a/DaoValidators/subgraph.yaml +++ b/DaoValidators/subgraph.yaml @@ -6,7 +6,7 @@ dataSources: name: PoolFactory network: chapel source: - address: "0x892cc1e2c0C93A74711707eA0057aae25ad07700" + address: "0x433F3d397055503fB2320584b9F027931ECba762" abi: PoolFactory startBlock: 32954665 mapping: From d9d2eeb6d0b88dc891e3012769d6ddca6f236872 Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Mon, 2 Oct 2023 13:32:15 +0300 Subject: [PATCH 38/44] New docs for schemas (#135) * New docs for schemas * small fixes --- AllInteractions/schema.graphql | 188 +++++++++++-------- DaoPools/schema.graphql | 325 +++++++++++++++++++++------------ DaoValidators/schema.graphql | 93 ++++++---- 3 files changed, 377 insertions(+), 229 deletions(-) diff --git a/AllInteractions/schema.graphql b/AllInteractions/schema.graphql index 51ddcd81..1fccaa3a 100644 --- a/AllInteractions/schema.graphql +++ b/AllInteractions/schema.graphql @@ -1,213 +1,249 @@ #################################### Transaction History #################################### -# @noitce The entity holds information about Transaction -# @param id forms from tx hash -# @param timestamp the timestamp of block -# @param block the number of block -# @param type the number associated with enum of interactions type -# @param user the address of sender -# @param interactionsCount the interactions count +""" +The entity holds information about Transaction +""" type Transaction @entity { + "The tx hash" id: Bytes! # tx hash + "The timestamp of block" timestamp: BigInt! + "The number of block" block: BigInt! + "The number associated with enum of interactions type" type: [BigInt!]! - + "The address of sender" user: Bytes! - + "The pool with which the user interacted entity id" interactedWithPool: Pool! - + "Count of interactions in tx" interactionsCount: BigInt! + "All interaction entity ids of DaoPool creation" daoPoolCreate: [DaoPoolCreate!]! @derivedFrom(field: "transaction") + "All delegation interaction entity ids in DaoPool" daoPoolDelegate: [DaoPoolDelegate!]! @derivedFrom(field: "transaction") + "All proposal interaction entity ids in DaoPool" daoPoolProposalInteraction: [DaoPoolProposalInteraction!]! @derivedFrom(field: "transaction") + "All proposal creation interaction entity ids in DaoPool" daoProposalCreate: [DaoProposalCreate!]! @derivedFrom(field: "transaction") + "All proposal execution interaction entity ids in DaoPool" daoPoolExecute: [DaoPoolExecute!]! @derivedFrom(field: "transaction") + "All proposal execution interaction entity ids in DaoPool" daoPoolRewardClaim: [DaoPoolRewardClaim!]! @derivedFrom(field: "transaction") + "All deposit/withdraw interaction entity ids in DaoPool" daoPoolVest: [DaoPoolVest!]! @derivedFrom(field: "transaction") + "All interaction entity ids of moving proposals to validators in DaoPool" daoPoolMovedToValidators: [DaoPoolMovedToValidators!]! @derivedFrom(field: "transaction") + "All interaction entity ids of saving offchain results in DaoPool" daoPoolOffchainResultsSaved: [DaoPoolOffchainResultsSaved!]! @derivedFrom(field: "transaction") + "All validator proposal creation interaction entity ids in DaoPool" daoValidatorProposalCreate: [DaoValidatorProposalCreate!]! @derivedFrom(field: "transaction") + "All voting interaction entity ids in validator proposals in DaoPool" daoValidatorProposalVote: [DaoValidatorProposalVote!]! @derivedFrom(field: "transaction") + "All validator proposal execution interaction entity ids in DaoPool" daoValidatorProposalExecute: [DaoValidatorProposalExecute!]! @derivedFrom(field: "transaction") } #################################### DAO interactions #################################### -# @notice The entity holds information about dao pool -# @param id forms from pool address +""" +The entity holds information about dao pool +""" type Pool @entity(immutable: true) { - id: Bytes! # pool address + "The pool address" + id: Bytes! } -# @notice The entity holds information about creation of dao pool -# @param id forms from tx hash + interactionCount -# @param pool the pool address -# @param name the name of pool -# @param transaction the transaction entity id +"The entity holds information about creation of dao pool" type DaoPoolCreate @entity(immutable: true) { + "id forms from tx hash + interactionCount" id: Bytes! # tx hash + interactionCount + "The pool address" pool: Pool! + "The name of pool" name: String! + "The transaction entity id" transaction: Transaction! } -# @notice The entity holds information about delegation on dao pool -# @param id forms from tx hash + interactionCount -# @param pool the pool address -# @param amount the delegation amount -# @param transaction the transaction entity id +""" +The entity holds information about delegation on dao pool +""" type DaoPoolDelegate @entity(immutable: true) { + "id forms from tx hash + interactionCount" id: Bytes! # tx hash + interactionCount + "The pool address" pool: Pool! + "The delegation amount" amount: BigInt! + "The transaction entity id" transaction: Transaction! } -# @notice The entity holds information about vote in dao pool -# @param id forms from tx hash + interactionCount -# @param pool the pool address -# @param isVoteFor bool flag, if true - vote for, if false - vote against -# @param amount the vote amount -# @param transaction the transaction entity id +""" +The entity holds information about interaction with proposal in dao pool +""" type DaoPoolProposalInteraction @entity(immutable: true) { + "id forms from tx hash + interactionCount" id: Bytes! # tx hash + interactionCount + "The pool address" pool: Pool! + "The vote amount" totalVote: BigInt! + "The number associated with enum of proposal interactions type" interactionType: BigInt! + "The transaction entity id" transaction: Transaction! } -# @notice The entity holds information about dao pool creation -# @param id forms from tx hash + interactionCount -# @param pool the pool address -# @param proposalId the id of proposal -# @param transaction the transaction entity id +""" +The entity holds information about dao pool creation +""" type DaoProposalCreate @entity(immutable: true) { + "id forms from tx hash + interactionCount" id: Bytes! # tx hash + interactionCount + "The pool address" pool: Pool! + "The id of proposal" proposalId: BigInt! + "The transaction entity id" transaction: Transaction! } -# @notice The entity holds information about exchange in dao pool -# @param id forms from tx hash + interactionCount -# @param pool the pool address -# @param proposalId the id of proposal -# @param transaction the transaction entity id +""" +The entity holds information about exchange in dao pool +""" type DaoPoolExecute @entity(immutable: true) { + "id forms from tx hash + interactionCount" id: Bytes! # tx hash + interactionCount + "The pool address" pool: Pool! + "The id of proposal" proposalId: BigInt! + "The transaction entity id" transaction: Transaction! } -# @notice The entity holds information about claims in dao pool -# @param id forms from tx hash + interactionCount -# @param pool the pool address -# @param proposalId the id of proposal -# @param transaction the transaction entity id +""" +The entity holds information about claims in dao pool +""" type DaoPoolRewardClaim @entity(immutable: true) { + "id forms from tx hash + interactionCount" id: Bytes! # tx hash + interactionCount + "The pool address" pool: Pool! + "The id of proposal" proposalId: BigInt! + "The transaction entity id" transaction: Transaction! } -# @notice The entity holds information about deposit/withdraw -# @param id forms from tx hash + interactionCount -# @param pool the pool address -# @param nfts the array of nft ids -# @param amount the amount of deposit -# @param transaction the transaction entity id +""" +The entity holds information about deposit/withdraw +""" type DaoPoolVest @entity(immutable: true) { + "id forms from tx hash + interactionCount" id: Bytes! + "The pool address" pool: Pool! + "The array of NFT ids" nfts: [BigInt!]! + "The amount of deposit" amount: BigInt! + "The transaction entity id" transaction: Transaction! } -# @notice The entity holds information about move proposal to validators -# @param id forms from tx hash + interactionCount -# @param pool the pool address -# @param proposalId the id of proposal -# @param transaction the transaction entity id +""" +The entity holds information about move proposal to validators +""" type DaoPoolMovedToValidators @entity(immutable: true) { + "id forms from tx hash + interactionCount" id: Bytes! + "The pool address" pool: Pool! + "The id of proposal" proposalId: BigInt! + "The transaction entity id" transaction: Transaction! } -# @notice The entity holds information about save offchain results -# @param id forms from tx hash + interactionCount -# @param pool the pool address -# @param transaction the transaction entity id +""" +The entity holds information about save offchain results +""" type DaoPoolOffchainResultsSaved @entity(immutable: true) { + "id forms from tx hash + interactionCount" id: Bytes! + "The pool address" pool: Pool! + "The transaction entity id" transaction: Transaction! } -# @notice The entity holds information about vote in dao pool -# @param id forms from tx hash + interactionCount -# @param pool the pool address -# @param proposalId the id of proposal -# @param transaction the transaction entity id +""" +The entity holds information about vote in dao pool +""" type DaoValidatorProposalCreate @entity(immutable: true) { + "id forms from tx hash + interactionCount" id: Bytes! + "The pool address" pool: Pool! + "The id of proposal" proposalId: BigInt! + "The transaction entity id" transaction: Transaction! } -# @notice The entity holds information about validators vote in proposal -# @param id forms from tx hash + interactionCount -# @param pool the pool address -# @param proposalId the id of proposal -# @param isVoteFor bool flag, if true - vote for, if false - vote against -# @param amount the vote amount -# @param transaction the transaction entity id +""" +The entity holds information about validators vote in proposal +""" type DaoValidatorProposalVote @entity(immutable: true) { + "id forms from tx hash + interactionCount" id: Bytes! + "The pool address" pool: Pool! + "The id of proposal" proposalId: BigInt! + "Boolean flag, if true - vote for, if false - vote against" isVoteFor: Boolean! + "The vote amount" amount: BigInt! + "The transaction entity id" transaction: Transaction! } -# @notice The entity holds information about execution of proposal in dao pool -# @param id forms from tx hash + interactionCount -# @param pool the pool address -# @param proposalId the id of proposal -# @param transaction the transaction entity id +""" +The entity holds information about execution of proposal in dao pool +""" type DaoValidatorProposalExecute @entity(immutable: true) { + "id forms from tx hash + interactionCount" id: Bytes! + "The pool address" pool: Pool! + "The id of proposal" proposalId: BigInt! + "The transaction entity id" transaction: Transaction! } diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index 20fb4a99..65b105b0 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -1,381 +1,476 @@ -# @notice The entity holds information about settings contract -# @param id forms from settings contract address -# @param daoPool the daoPool address +""" +The entity holds information about settings contract +""" type SettingsContract @entity(immutable: true) { + "The settings contract address" id: Bytes! # settings contract address + "The daoPool address" daoPool: Bytes! } -# @notice The entity holds information about user keeper contract -# @param id forms from user keeper contract address -# @param daoPool the daoPool address +""" +The entity holds information about user keeper contract +""" type UserKeeperContract @entity(immutable: true) { + "The user keeper contract address" id: Bytes! # user keeper contract + "The daoPool address" daoPool: Bytes! } +""" +The entity holds information about Expert NFT contract +""" type ExpertNftContract @entity(immutable: true) { + "The Expert NFT contract address" id: Bytes! # contract address + "The daoPool address" daoPool: DaoPool! } -# @notice The entity holds information about DP contract -# @param id forms from DP contract address -# @param daoPool the daoPool address +""" +The entity holds information about DP contract +""" type DPContract @entity(immutable: true) { + "The DP contract address" id: Bytes! # DP contract address + "The daoPool address" daoPool: Bytes! } -# @notice The entity holds information about token sale -# @param id forms from TokenSale address -# @param token the token address -# @param pool the dao pool entity id +""" +The entity holds information about token sale +""" type TokenSaleContract @entity { + "The TokenSale contract address" id: Bytes! + "The daoPool address" daoPool: Bytes! + "All token sale tier entity ids" tiers: [TokenSaleTier!]! @derivedFrom(field: "tokenSale") } -# @notice The entity holds historical information proposal settings -# @param id forms from pool address + settingsId -# @param settingsId the settings id -# @param executorDescription the url of description -# @param pool the dao pool entity id +""" +The entity holds historical information proposal settings +""" type ProposalSettings @entity { + "id forms from pool address + settingsId" id: Bytes! # pool address + settingsId + "The settings id" settingsId: BigInt! + "The URL of description" executorDescription: String! + "All executor entity ids" executors: [Executor!]! @derivedFrom(field: "settings") + "The dao pool entity id" pool: DaoPool! } +""" +The entity holds information about Expert NFT +""" type ExpertNft @entity { + "id forms from ExpertNft address + token id" id: Bytes! # ExpertNft address + token id + "The token id" tokenId: BigInt! + "All tags of Expert NFT" tags: [String!]! } -# @notice The entity holds information about dao pool -# @param id forms from pool address -# @param name the name of pool -# @param votersCount the number of users, which voted -# @param creationTime the timestamp of creation -# @param creationBlock the block number of creation -# @param proposalCount the number of proposals -# @param totalCurrentTokenDelegated the number of delegated tokens -# @param totalCurrentNFTDelegated the number of delegated nfts -# @param totalCurrentTokenDelegatees the number of delegatees for tokens -# @param totalCurrentNFTDelegatees the number of delegatees for nfts +""" +The entity holds information about dao pool +""" type DaoPool @entity { + "id forms from pool address" id: Bytes! # pool address + "The name of pool" name: String! + "The UserKeeper contract address" userKeeper: Bytes! + "The ERC20 token contract address" erc20Token: Bytes! + "The ERC721 token contract address" erc721Token: Bytes! + "The NFT Multiplier contract address" nftMultiplier: Bytes! + "The number of users, which voted" votersCount: BigInt! + "The timestamp of creation" creationTime: BigInt! + "The block number of creation" creationBlock: BigInt! + "The number of proposals" proposalCount: BigInt! + "The number of delegated tokens" totalCurrentTokenDelegated: BigInt! + "The number of delegated NFTs" totalCurrentNFTDelegated: [BigInt!]! + "The number of delegated treasury tokens" totalCurrentTokenDelegatedTreasury: BigInt! + "The number of delegated treasury NFTs" totalCurrentNFTDelegatedTreasury: [BigInt!]! + "The number of delegatees for tokens" totalCurrentTokenDelegatees: BigInt! + "The number of delegatees for nfts" totalCurrentNFTDelegatees: BigInt! offchainResultsHash: String! - + "All voter entity ids" voters: [VoterInPool!]! @derivedFrom(field: "pool") + "All proposal entity ids" proposals: [Proposal!]! @derivedFrom(field: "pool") + "All settings entity ids" settings: [ProposalSettings!]! @derivedFrom(field: "pool") + "All executer entity ids" executors: [Executor!]! @derivedFrom(field: "pool") } -# @notice The entity holds information about executor -# @param id forms from pool address + executor address -# @param executorAddress the address of executor -# @param settings the ProposalSettings entity id -# @param pool the pool entity id +""" +The entity holds information about executor +""" type Executor @entity { + "id forms from pool address + executor address" id: Bytes! # dao pool address + executor address + "The address of executor" executorAddress: Bytes! + "The ProposalSettings entity id" settings: ProposalSettings! + "The pool entity id" pool: DaoPool! } -# @notice The entity holds information about voter -# @param id forms from user address +""" +The entity holds information about voter +""" type Voter @entity { + "The voter address" id: Bytes! # voter address + "The ExpertNFT entity id (0x00000000 if voter is not an expert)" expertNft: ExpertNft + "The number of created proposals" totalProposalsCreated: BigInt! + "The total amount of claimed rewards in USD as delegator" totalMicropoolRewardUSD: BigInt! + "The total amount of claimed rewards in USD" totalClaimedUSD: BigInt! + "The total amount of delegated tokens in USD" totalDelegatedUSD: BigInt! + "The total amount of vested tokens in USD" totalLockedFundsUSD: BigInt! + "The total count of proposals voted on" totalVotedProposals: BigInt! + "The total amount of votes in proposals" totalVotes: BigInt! + "The current amount of votes the voter has delegated" currentVotesDelegated: BigInt! + "The current amount of votes the voter has received from delegators" currentVotesReceived: BigInt! + "The total voter delegatees count" delegateesCount: BigInt! + "The total voter delegators count" delegatorsCount: BigInt! + "Array of VoterInPool entity ids" pools: [VoterInPool!]! @derivedFrom(field: "voter") + "Array of created Proposal entity ids" createdProposals: [Proposal!]! @derivedFrom(field: "creator") } -# @notice The entity holds information about proposal -# @param id forms from pool address + proposalId -# @param isDP the bool flag, if true proposal is DP -# @param creator the address of creator -# @param isFor bool flag, if true - proposal succeded for, if false - proposal succeded against -# @param executor the address of executor -# @param executionTimestamp the timestamp of execution -# @param currentVotes the current number of votes -# @param quorum the percentage of total votes to confirm the proposal -# @param description the url of description -# @param votersVoted the number of voters addresses -# @param pool the pool entity id -# @param settings the settings entity id -# @param voters the array of voters, which voted for proposals +""" +The entity holds information about proposal +""" type Proposal @entity { + "id forms from pool address + proposalId" id: Bytes! # pool address + porposalId + "The id of proposal" proposalId: BigInt! + "The address of creator" creator: Voter! + "Boolean flag, if true - proposal succeded for, if false - proposal succeded against" isFor: Boolean! + "The address of executor" executor: Bytes! + "The timestamp of execution" executionTimestamp: BigInt! + "The timestamp of reaching quorum" quorumReachedTimestamp: BigInt! + "The reward ERC20 token contract address" rewardToken: Bytes! + "The current number of votes for proposal" currentVotesFor: BigInt! + "The current number of votes against proposal" currentVotesAgainst: BigInt! + "The percentage of total votes required to decide whether to confirm the proposal or not" quorum: BigInt! + "The URL of description" description: String! + "The number of voters addresses" votersVoted: BigInt! + "The array of voters, which voted in proposal" voters: [Voter!]! + "The pool entity id" pool: DaoPool! + "The settings entity id" settings: ProposalSettings! + "The array of ProposalInteraction entity ids" interactions: [ProposalInteraction!]! @derivedFrom(field: "proposal") } -# @notice The entity holds information about voter's actions in pool -# @param id forms from voter address + pool address -# @param joinedTimestamp the timestamp of first interaction with pool -# @param receivedDelegation the amount of received erc20 as delegation in this pool -# @param receivedNFTDelegation the ids of received erc721 as delegation in this pool -# @param totalDPClaimed the total usd amount claimed from DPs -# @param totalClaimedUSD the total usd amount claimed from rewards -# @param totalDelegationRewardUSD the total amount of rewards from delegation voting -# @param currentDelegatorsCount the current numbers of received delegations -# @param APR the APR of user in pool -# @param cusum the cumulative sum for APR calculations -# @param lastUpdate the timestamp of last cusum update -# @param totalLockedFundsUSD the total locked amount in USD -# @param totalStakingReward the total reward from staking in USD -# @param pool the pool entity id -# @param voter the voter entity id -# @param claimedDPs the array of claimed dp ids +""" +The entity holds information about voter's actions in pool +""" type VoterInPool @entity { + "id forms from voter address + pool address" id: Bytes! # voter address + pool address + "The timestamp of first interaction with pool" joinedTimestamp: BigInt! + "The ExpertNFT entity id (0x00000000 if voter is not an expert)" expertNft: ExpertNft + "The amount of received ERC20 as delegation in this pool" receivedDelegation: BigInt! + "The ids of received ERC721 as delegation in this pool" receivedNFTDelegation: [BigInt!]! + "The number of received ERC721 as delegation in this pool" receivedNFTDelegationCount: BigInt! + "The amount of received ERC20 as treasury delegation in this pool" receivedTreasuryDelegation: BigInt! + "The ids of received ERC721 as delegation treasury in this pool" receivedTreasuryNFTDelegation: [BigInt!]! + "The number of received ERC721 as delegation treasury in this pool" receivedTreasuryNFTDelegationCount: BigInt! + "The total locked amount in USD" totalLockedUSD: BigInt! + "The total claimed rewards amount in USD" totalClaimedUSD: BigInt! + "The total claimed reward amount for voting with personal tokens in USD" totalPersonalVotingRewardUSD: BigInt! + "The total claimed reward amount for voting with delegated tokens voting in USD" totalMicropoolVotingRewardUSD: BigInt! + "The total claimed reward amount for voting with treasury tokens voting in USD" totalTreasuryVotingRewardUSD: BigInt! + "The total number of proposals the voter interacted with" engagedProposalsCount: BigInt! + "The current number of voter delegatees" currentDelegateesCount: BigInt! + "The current number of voter delegators" currentDelegatorsCount: BigInt! + "The APR of user in pool" APR: BigInt! + "The cumulative sum for APR calculations" _cusum: BigInt! + "The timestamp of last cusum update" _lastUpdate: BigInt! + "The pool entity id" pool: DaoPool! + "The voter entity id" voter: Voter! + "Array of VoterInProposal entity ids (proposals the voter interacted with)" proposals: [VoterInProposal!]! + "Array of TreasuryDelegationHistory entity ids" treasuryDelegationHistory: [TreasuryDelegationHistory!]! @derivedFrom(field: "delegatee") } -# @notice The entity holds information about voter's actions in proposal -# @param id forms from voter address + proposal entity id -# @param pool the pool entity id -# @param proposal the proposal entity id -# @param voter the VoterInPool entity id -# @param totalVoteAmountFor the total personal amount of vote for the proposal -# @param totalVoteAmountAgainst the total personal amount of vote against the proposal -# @param totalDelegatedVoteAmountFor the total delegated amount of vote for the proposal -# @param totalDelegatedVoteAmountAgainst the total delegated amount of vote against the proposal -# @param unclaimedRewardUSD the amount of credited reward in usd -# @param unclaimedRewardFromDelegationsUSD the amount of credited reward from delegations in usd -# @param claimedRewardUSD the amount of claimed reward -# @param claimedDpRewardUSD the amount of dp rewards in usd +""" +The entity holds information about voter's actions in proposal +""" type VoterInProposal @entity { + "id forms from voter address + proposal entity id" id: Bytes! # voter address + proposal entity id isVoteFor: Boolean! + "The total amount of vote for the proposal" totalVote: BigInt! + "The claimed reward amount for creating/executing/saving offchain results in USD" staticRewardUSD: BigInt! + "The claimed reward amount for voting with personal tokens in USD" personalVotingRewardUSD: BigInt! + "The claimed reward amount for voting with delegated tokens voting in USD" micropoolVotingRewardUSD: BigInt! + "The claimed reward amount for voting with treasury tokens voting in USD" treasuryVotingRewardUSD: BigInt! + "The claimed reward amount in USD as delegator" micropoolRewardUSD: BigInt! + "The claimed reward amount in USD" claimedRewardUSD: BigInt! + "The pool entity id" pool: DaoPool! + "The proposal entity id" proposal: Proposal! + "The VoterInPool entity id" voter: VoterInPool! + "The array of ProposalInteraction entity ids" interactions: [ProposalInteraction!]! @derivedFrom(field: "voter") } -# @notice The entity holds information about vote -# @param id forms from tx hash + counter -# @param hash the tx hash -# @param timestamp the timestamp of tx -# @param isVoteFor bool flag, if true - vote for, if false - vote against -# @param personalAmount the personal amount of vote -# @param delegatedAmount the delegated amount of vote -# @param voter the VoterInProposal entity id -# @param proposal the Proposal entity id +""" +The entity holds information about vote +""" type ProposalInteraction @entity(immutable: true) { + "id forms from tx hash + counter" id: Bytes! # tx hash + counter + "The tx hash" hash: Bytes! + "The timestamp of tx" timestamp: BigInt! + "The number associated with enum of proposal interaction type" interactionType: BigInt! # 0 -> vote for, 1 -> vote against, 2 -> cancel + "The amount of votes (0 if cancel)" totalVote: BigInt! + "The VoterInProposal entity id" voter: VoterInProposal! + "The Proposal entity id" proposal: Proposal! } -# @notice The entity holds historical information about delegations -# @param id forms from tx hash + counter -# @param pool the pool entiy id -# @param timestamp the timestamp of delegation -# @param from the delegator address -# @param to the delegatee address -# @param isDelegate the bool flag, if true - delegate, false - undelegate -# @param amount the amount of delegation -# @param nfts the delegated nfts -# @param pair the VoterInPoolPair entity id +""" +The entity holds historical information about delegations +""" type DelegationHistory @entity(immutable: true) { + "id forms from tx hash + interactionCount" id: Bytes! # tx hash + counter + "The timestamp of delegation" timestamp: BigInt! + "The delegator Voter entity id" delegator: Voter! + "The delegatee Voter entity id" delegatee: Voter! + "The number associated with enum of delegation type" type: BigInt! + "The amount of delegation" amount: BigInt! + "The delegated NFTs" nfts: [BigInt!]! + "The pool entity id" pool: DaoPool! + "The VoterInPoolPair entity id" pair: VoterInPoolPair! } +""" +The entity holds historical information about treasury delegations +""" type TreasuryDelegationHistory @entity(immutable: true) { + "id forms from tx hash + interactionCount" id: Bytes! # tx hash + counter + "The timestamp of delegation" timestamp: BigInt! + "The delegatee VoterInPool entity id" delegatee: VoterInPool! + "The number associated with enum of treasury delegation type" type: BigInt! + "The amount of delegation" amount: BigInt! + "The delegated NFTs" nfts: [BigInt!]! + "The pool entity id" pool: DaoPool! } -# @notice The entity holds information about current state of delegation -# @param id forms from pool address + from address + to address -# @param from the VoterInPool entity id -# @param to the VoterInPool entity id -# @param delegateAmount the current delegated amount -# @param delegateNfts the current delegated nfts +""" +The entity holds information about current state of delegation +""" type VoterInPoolPair @entity { + "id forms from pool address + from address + to address" id: Bytes! # pool address + from address + to address + "The pair creation timestamp" creationTimestamp: BigInt! + "The delegator VoterInPool entity id" delegator: VoterInPool! + "The delegatee VoterInPool entity id" delegatee: VoterInPool! + "The current delegated votes amount" delegatedVotes: BigInt! + "The current delegated ERC20 tokens amount" delegatedAmount: BigInt! + "The current delegated USD amount" delegatedUSD: BigInt! + "The current delegated NFTs" delegatedNfts: [BigInt!]! + "Array of DelegationHistory entity ids" history: [DelegationHistory!]! @derivedFrom(field: "pair") } -# @notice The entity holds information about token sale tier -# @param id forms from token sale address + tier id -# @param tokenSale the token sale -# @param userWhitelist the array with whitelisted addresses -# @param totalUserCount the number users -# @param voters the array of VoterInPool ids +""" +The entity holds information about token sale tier +""" type TokenSaleTier @entity { + "id forms from token sale address + tier id" id: Bytes! + "The sale token contract address" saleToken: Bytes! + "The number associated with enum of whitelist type" whitelistTypes: [BigInt!]! + "The actions to get on the whitelist" data: [Bytes!]! + "The array with whitelisted addresses" whitelist: [Bytes!]! + "The number of buyers" totalBuyersCount: BigInt! + "The array of buyers (VoterInPool entity ids)" buyers: [VoterInPool!]! + "The TokenSaleContract entity id" tokenSale: TokenSaleContract! } -# @notice The entity counts interactions in single tx -# @param id forms from tx hash -# @param count the counter of interactions in single tx +""" +The entity counts interactions in single tx +""" type InteractionCount @entity { + "The tx hash" id: Bytes! + "The counter of interactions in single tx" count: BigInt! } diff --git a/DaoValidators/schema.graphql b/DaoValidators/schema.graphql index d9188326..38dbb4d4 100644 --- a/DaoValidators/schema.graphql +++ b/DaoValidators/schema.graphql @@ -1,100 +1,117 @@ -# @notice The entity that holds informations about pool -# @param id the pool address +""" +The entity that holds informations about pool +""" type DaoPool @entity { + "The pool address" id: Bytes! # pool address + "Array of ValidatorInPool entity ids" validators: [ValidatorInPool!]! @derivedFrom(field: "pool") } -# @notice The entity that holds informations about validators contract -# @param id the validators contract address -# @param pool the pool address +""" +The entity that holds informations about validators contract +""" type ValidatorsContract @entity(immutable: true) { + "The validators contract address" id: Bytes! # validators contract address + "The pool address" pool: Bytes! } -# @notice The entity that holds informations about validators proposal -# @param id the pool address + proposalId + isInternal -# @param proposalId the id of proposal -# @param isInternal bool flag, if true - internal for validators -# @param quorum the percentage of total votes to confirm the proposal -# @param totalVoteFor the current number of votes for the proposal -# @param totalVoteAgainst the current number of votes against the proposal -# @param description the url of description -# @param creator the address of creator -# @param executor the address of executor +""" +The entity that holds informations about validators proposal +""" type Proposal @entity { + "id forms from pool address + proposalId + isInternal" id: ID! # pool address + proposalId + isInternal + "The id of proposal" proposalId: BigInt! + "Boolean flag, if true - internal for validators" isInternal: Boolean! + "The percentage of total votes required to decide whether to confirm the proposal or not" quorum: BigInt! + "The current number of votes for the proposal" totalVoteFor: BigInt! + "The current number of votes against the proposal" totalVoteAgainst: BigInt! - # only internal values + "The URL of description" description: String! + "The address of creator" creator: Bytes! + "The address of executor" executor: Bytes! + "Array of ValidatorInProposal entity ids" voters: [ValidatorInProposal!]! @derivedFrom(field: "proposal") } -# @notice The entity that holds informations about validator's actions in pool -# @param id the validator address + pool address -# @param validatorAddress the address of validator -# @param balance the amount of validators token -# @param pool the pool entity id +""" +The entity that holds informations about validator's actions in pool +""" type ValidatorInPool @entity { + "id forms from the validator address + pool address" id: Bytes! # validator address + pool address + "The address of validator" validatorAddress: Bytes! + "The amount of validators token" balance: BigInt! + "The pool entity id" pool: DaoPool! } -# @notice The entity that holds informations about vote -# @param id the tx hash + counter -# @param hash the tx hash -# @param timestamp the timestamp of transaction -# @param proposal the proposal entity id -# @param isVoteFor bool flag, if true - vote for, if false - vote against -# @param amount the amount of vote -# @param voter the ValidatorInProposal entity id +""" +The entity that holds informations about vote +""" type ProposalInteraction @entity(immutable: true) { + "id forms from the tx hash + interactionCount" id: Bytes! # tx hash + counter + "The tx hash" hash: Bytes! + "The timestamp of transaction" timestamp: BigInt! + "The proposal entity id" proposal: Proposal! + "The number associated with enum of proposal interaction type" interactionType: BigInt! + "The amount of vote" amount: BigInt! + "The ValidatorInProposal entity id" voter: ValidatorInProposal! } -# @notice The entity that holds informations about vote -# @param id the user address + pool address + proposal id -# @param pool the pool entity id -# @param proposal the proposal entity id -# @param validator the ValidatorInPool entity id -# @param totalVote the total amount of votes in this proposal +""" +The entity that holds informations about vote +""" type ValidatorInProposal @entity { + "id forms from the validator address + pool address + proposal id" id: Bytes! # user address + pool address + proposal id + "The pool entity id" pool: DaoPool! + "The proposal entity id" proposal: Proposal! + "The ValidatorInPool entity id" validator: ValidatorInPool! + "The total amount of votes for this proposal" totalVoteFor: BigInt! + "The total amount of votes against this proposal" totalVoteAgainst: BigInt! + "The array of ProposalInteraction entity ids" interactions: [ProposalInteraction!]! @derivedFrom(field: "voter") } -# @notice The entity counts interactions in single tx -# @param id forms from tx hash -# @param count the counter of interactions in single tx +""" +The entity counts interactions in single tx +""" type InteractionCount @entity { + "The tx hash" id: Bytes! + "The counter of interactions in single tx" count: BigInt! } From 87df21c6b50649a470a99cc93be3e5717a0e815f Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Mon, 2 Oct 2023 17:15:48 +0300 Subject: [PATCH 39/44] Added DelegatedTreasury event (#136) * Added DelegatedTreasury event * Added VotingRewardClaimed event --- AllInteractions/schema.graphql | 32 +++ .../dao-pool/DaoPoolTreasuryDelegate.ts | 22 +++ .../dao-pool/DaoPoolVotingRewardClaim.ts | 22 +++ .../entities/global/TransactionTypeEnum.ts | 20 +- AllInteractions/src/mappings/DaoPool.ts | 57 ++++++ AllInteractions/subgraph.yaml | 4 + AllInteractions/tests/DaoPool.test.ts | 185 ++++++++++++++++++ 7 files changed, 333 insertions(+), 9 deletions(-) create mode 100644 AllInteractions/src/entities/dao-pool/DaoPoolTreasuryDelegate.ts create mode 100644 AllInteractions/src/entities/dao-pool/DaoPoolVotingRewardClaim.ts diff --git a/AllInteractions/schema.graphql b/AllInteractions/schema.graphql index 1fccaa3a..91131ac9 100644 --- a/AllInteractions/schema.graphql +++ b/AllInteractions/schema.graphql @@ -84,6 +84,22 @@ type DaoPoolDelegate @entity(immutable: true) { transaction: Transaction! } +""" +The entity holds information about treasury delegation on dao pool +""" +type DaoPoolTreasuryDelegate @entity(immutable: true) { + "id forms from tx hash + interactionCount" + id: Bytes! # tx hash + interactionCount + "The pool address" + pool: Pool! + + "The treasury delegation amount" + amount: BigInt! + + "The transaction entity id" + transaction: Transaction! +} + """ The entity holds information about interaction with proposal in dao pool """ @@ -151,6 +167,22 @@ type DaoPoolRewardClaim @entity(immutable: true) { transaction: Transaction! } +""" +The entity holds information about voting reward claims in dao pool +""" +type DaoPoolVotingRewardClaim @entity(immutable: true) { + "id forms from tx hash + interactionCount" + id: Bytes! # tx hash + interactionCount + "The pool address" + pool: Pool! + + "The id of proposal" + proposalId: BigInt! + + "The transaction entity id" + transaction: Transaction! +} + """ The entity holds information about deposit/withdraw """ diff --git a/AllInteractions/src/entities/dao-pool/DaoPoolTreasuryDelegate.ts b/AllInteractions/src/entities/dao-pool/DaoPoolTreasuryDelegate.ts new file mode 100644 index 00000000..e2106338 --- /dev/null +++ b/AllInteractions/src/entities/dao-pool/DaoPoolTreasuryDelegate.ts @@ -0,0 +1,22 @@ +import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { DaoPoolTreasuryDelegate } from "../../../generated/schema"; + +export function getDaoPoolTreasuryDelegate( + hash: Bytes, + pool: Address, + amount: BigInt, + count: BigInt +): DaoPoolTreasuryDelegate { + let id = hash.concatI32(count.toI32()); + let daoPoolDelegate = DaoPoolTreasuryDelegate.load(id); + + if (daoPoolDelegate == null) { + daoPoolDelegate = new DaoPoolTreasuryDelegate(id); + daoPoolDelegate.pool = pool; + daoPoolDelegate.amount = amount; + + daoPoolDelegate.transaction = Bytes.empty(); + } + + return daoPoolDelegate; +} diff --git a/AllInteractions/src/entities/dao-pool/DaoPoolVotingRewardClaim.ts b/AllInteractions/src/entities/dao-pool/DaoPoolVotingRewardClaim.ts new file mode 100644 index 00000000..e51eae6b --- /dev/null +++ b/AllInteractions/src/entities/dao-pool/DaoPoolVotingRewardClaim.ts @@ -0,0 +1,22 @@ +import { Address, BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { DaoPoolVotingRewardClaim } from "../../../generated/schema"; + +export function getDaoPoolVotingRewardClaim( + hash: Bytes, + pool: Address, + proposalId: BigInt, + count: BigInt +): DaoPoolVotingRewardClaim { + let id = hash.concatI32(count.toI32()); + let claimed = DaoPoolVotingRewardClaim.load(id); + + if (claimed == null) { + claimed = new DaoPoolVotingRewardClaim(id); + claimed.pool = pool; + claimed.proposalId = proposalId; + + claimed.transaction = Bytes.empty(); + } + + return claimed; +} diff --git a/AllInteractions/src/entities/global/TransactionTypeEnum.ts b/AllInteractions/src/entities/global/TransactionTypeEnum.ts index 95832cd8..6e9a2bb6 100644 --- a/AllInteractions/src/entities/global/TransactionTypeEnum.ts +++ b/AllInteractions/src/entities/global/TransactionTypeEnum.ts @@ -13,16 +13,18 @@ export enum TransactionType { DAO_POOL_DELEGATED = 8, DAO_POOL_UNDELEGATED = 9, - DAO_POOL_REQUESTED = 10, - DAO_POOL_REWARD_CLAIMED = 11, - DAO_POOL_DEPOSITED = 12, - DAO_POOL_WITHDRAWN = 13, - DAO_POOL_MOVED_TO_VALIDATORS = 14, - DAO_POOL_OFFCHAIN_RESULTS_SAVED = 15, + DAO_POOL_DELEGATED_TREASURY = 10, + DAO_POOL_UNDELEGATED_TREASURY = 11, + DAO_POOL_REWARD_CLAIMED = 12, + DAO_POOL_VOTING_REWARD_CLAIMED = 13, + DAO_POOL_DEPOSITED = 14, + DAO_POOL_WITHDRAWN = 15, + DAO_POOL_MOVED_TO_VALIDATORS = 16, + DAO_POOL_OFFCHAIN_RESULTS_SAVED = 17, - DAO_VALIDATORS_VOTED = 16, - DAO_VALIDATORS_PROPOSAL_CREATED = 17, - DAO_VALIDATORS_PROPOSAL_EXECUTED = 18, + DAO_VALIDATORS_VOTED = 18, + DAO_VALIDATORS_PROPOSAL_CREATED = 19, + DAO_VALIDATORS_PROPOSAL_EXECUTED = 20, } export function getEnumBigInt(operation: TransactionType): BigInt { diff --git a/AllInteractions/src/mappings/DaoPool.ts b/AllInteractions/src/mappings/DaoPool.ts index 44487637..911ece48 100644 --- a/AllInteractions/src/mappings/DaoPool.ts +++ b/AllInteractions/src/mappings/DaoPool.ts @@ -1,6 +1,7 @@ import { BigInt } from "@graphprotocol/graph-ts"; import { Delegated, + DelegatedTreasury, Deposited, MovedToValidators, OffchainResultsSaved, @@ -8,6 +9,7 @@ import { ProposalExecuted, RewardClaimed, VoteChanged, + VotingRewardClaimed, Withdrawn, } from "../../generated/templates/DaoPool/DaoPool"; import { getDaoPoolDelegate } from "../entities/dao-pool/DaoPoolDelegate"; @@ -26,6 +28,8 @@ import { getEnumBigInt as getProposalInteractionBigInt, ProposalInteractionType, } from "../entities/global/ProposalInteractionTypeEnum"; +import { getDaoPoolTreasuryDelegate } from "../entities/dao-pool/DaoPoolTreasuryDelegate"; +import { getDaoPoolVotingRewardClaim } from "../entities/dao-pool/DaoPoolVotingRewardClaim"; export function onProposalCreated(event: ProposalCreated): void { getPool(event.address).save(); @@ -76,6 +80,36 @@ export function onDelegated(event: Delegated): void { delegated.save(); } +export function onDelegatedTreasury(event: DelegatedTreasury): void { + getPool(event.address).save(); + let transaction = getTransaction( + event.transaction.hash, + event.block.number, + event.block.timestamp, + event.address, + event.address + ); + let delegatedTreasury = getDaoPoolTreasuryDelegate( + event.transaction.hash, + event.address, + event.params.amount, + transaction.interactionsCount + ); + transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); + transaction.type = push( + transaction.type, + getEnumBigInt( + event.params.isDelegate + ? TransactionType.DAO_POOL_DELEGATED_TREASURY + : TransactionType.DAO_POOL_UNDELEGATED_TREASURY + ) + ); + delegatedTreasury.transaction = transaction.id; + + transaction.save(); + delegatedTreasury.save(); +} + export function onVoteChanged(event: VoteChanged): void { getPool(event.address).save(); let transaction = getTransaction( @@ -158,6 +192,29 @@ export function onRewardClaimed(event: RewardClaimed): void { claimed.save(); } +export function onVotingRewardClaimed(event: VotingRewardClaimed): void { + getPool(event.address).save(); + let transaction = getTransaction( + event.transaction.hash, + event.block.number, + event.block.timestamp, + event.params.sender, + event.address + ); + let claimed = getDaoPoolVotingRewardClaim( + event.transaction.hash, + event.address, + event.params.proposalId, + transaction.interactionsCount + ); + transaction.interactionsCount = transaction.interactionsCount.plus(BigInt.fromI32(1)); + transaction.type = push(transaction.type, getEnumBigInt(TransactionType.DAO_POOL_VOTING_REWARD_CLAIMED)); + claimed.transaction = transaction.id; + + transaction.save(); + claimed.save(); +} + export function onDeposited(event: Deposited): void { getPool(event.address).save(); let transaction = getTransaction( diff --git a/AllInteractions/subgraph.yaml b/AllInteractions/subgraph.yaml index d9f6de07..209bf5a2 100644 --- a/AllInteractions/subgraph.yaml +++ b/AllInteractions/subgraph.yaml @@ -67,12 +67,16 @@ templates: handler: onProposalCreated - event: Delegated(address,address,uint256,uint256[],bool) handler: onDelegated + - event: DelegatedTreasury(address,uint256,uint256[],bool) + handler: onDelegatedTreasury - event: VoteChanged(uint256,address,bool,uint256) handler: onVoteChanged - event: ProposalExecuted(uint256,bool,address) handler: onProposalExecuted - event: RewardClaimed(uint256,address,address,uint256) handler: onRewardClaimed + - event: VotingRewardClaimed(uint256,address,address,(uint256,uint256,uint256)) + handler: onVotingRewardClaimed - event: Deposited(uint256,uint256[],address) handler: onDeposited - event: Withdrawn(uint256,uint256[],address) diff --git a/AllInteractions/tests/DaoPool.test.ts b/AllInteractions/tests/DaoPool.test.ts index 76a146ae..ef86e1b3 100644 --- a/AllInteractions/tests/DaoPool.test.ts +++ b/AllInteractions/tests/DaoPool.test.ts @@ -3,6 +3,7 @@ import { afterEach, assert, clearStore, describe, newMockEvent, test } from "mat import { assertTransaction, getBlock, getNextTx, getTransaction } from "./utils"; import { Delegated, + DelegatedTreasury, Deposited, MovedToValidators, OffchainResultsSaved, @@ -10,6 +11,7 @@ import { ProposalExecuted, RewardClaimed, VoteChanged, + VotingRewardClaimed, Withdrawn, } from "../generated/templates/DaoPool/DaoPool"; import { @@ -22,6 +24,8 @@ import { onWithdrawn, onMovedToValidators, onOffchainResultsSaved, + onDelegatedTreasury, + onVotingRewardClaimed, } from "../src/mappings/DaoPool"; import { TransactionType } from "../src/entities/global/TransactionTypeEnum"; import { ProposalInteractionType } from "../src/entities/global/ProposalInteractionTypeEnum"; @@ -83,6 +87,30 @@ function createDelegated( return event; } +function createDelegatedTreasury( + to: Address, + amount: BigInt, + nfts: Array, + flag: boolean, + contractSender: Address, + block: ethereum.Block, + tx: ethereum.Transaction +): DelegatedTreasury { + let event = changetype(newMockEvent()); + event.parameters = new Array(); + + event.parameters.push(new ethereum.EventParam("to", ethereum.Value.fromAddress(to))); + event.parameters.push(new ethereum.EventParam("amount", ethereum.Value.fromUnsignedBigInt(amount))); + event.parameters.push(new ethereum.EventParam("nfts", ethereum.Value.fromUnsignedBigIntArray(nfts))); + event.parameters.push(new ethereum.EventParam("isDelegate", ethereum.Value.fromBoolean(flag))); + + event.block = block; + event.transaction = tx; + event.address = contractSender; + + return event; +} + function createVoteChanged( proposalId: BigInt, sender: Address, @@ -152,6 +180,36 @@ function createRewardClaimed( return event; } +function createVotingRewardClaimed( + proposalId: BigInt, + sender: Address, + token: Address, + amount: BigInt, + contractSender: Address, + block: ethereum.Block, + tx: ethereum.Transaction +): VotingRewardClaimed { + let event: VotingRewardClaimed = changetype(newMockEvent()); + event.parameters = new Array(); + + let rewards = new ethereum.Tuple(3); + + rewards[0] = ethereum.Value.fromUnsignedBigInt(BigInt.zero()); + rewards[1] = ethereum.Value.fromUnsignedBigInt(BigInt.zero()); + rewards[2] = ethereum.Value.fromUnsignedBigInt(BigInt.zero()); + + event.parameters.push(new ethereum.EventParam("proposalId", ethereum.Value.fromUnsignedBigInt(proposalId))); + event.parameters.push(new ethereum.EventParam("sender", ethereum.Value.fromAddress(sender))); + event.parameters.push(new ethereum.EventParam("token", ethereum.Value.fromAddress(token))); + event.parameters.push(new ethereum.EventParam("rewards", ethereum.Value.fromTuple(rewards))); + + event.block = block; + event.transaction = tx; + event.address = contractSender; + + return event; +} + function createDeposited( amount: BigInt, nfts: Array, @@ -320,6 +378,56 @@ describe("DaoPool", () => { ); }); + test("should handle DelegatedTreasury", () => { + let to = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"); + let amount = BigInt.fromI32(100).pow(18); + let nfts = [BigInt.fromI32(1), BigInt.fromI32(2)]; + + let event0 = createDelegatedTreasury(to, amount, nfts, true, contractSender, block, tx); + + onDelegatedTreasury(event0); + + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); + assert.fieldEquals( + "DaoPoolTreasuryDelegate", + tx.hash.concatI32(0).toHexString(), + "pool", + contractSender.toHexString() + ); + assert.fieldEquals("DaoPoolTreasuryDelegate", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); + + assertTransaction( + tx.hash, + contractSender, + block, + `[${TransactionType.DAO_POOL_DELEGATED_TREASURY}]`, + BigInt.fromI32(1), + contractSender + ); + + let event1 = createDelegatedTreasury(to, amount, nfts, false, contractSender, block, tx); + + onDelegatedTreasury(event1); + + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); + assert.fieldEquals( + "DaoPoolTreasuryDelegate", + tx.hash.concatI32(0).toHexString(), + "pool", + contractSender.toHexString() + ); + assert.fieldEquals("DaoPoolTreasuryDelegate", tx.hash.concatI32(0).toHexString(), "amount", amount.toString()); + + assertTransaction( + tx.hash, + contractSender, + block, + `[${TransactionType.DAO_POOL_DELEGATED_TREASURY}, ${TransactionType.DAO_POOL_UNDELEGATED_TREASURY}]`, + BigInt.fromI32(2), + contractSender + ); + }); + test("should handle VoteChanged", () => { let proposalId = BigInt.fromI32(1); let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); @@ -515,6 +623,83 @@ describe("DaoPool", () => { ); }); + test("should handle VotingRewardClaimed", () => { + let proposalIds = [BigInt.fromI32(1), BigInt.fromI32(2)]; + let sender = Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181671"); + let tokens = [ + Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181672"), + Address.fromString("0x86e08f7d84603AEb97cd1c89A80A9e914f181673"), + ]; + let amounts = [BigInt.fromI32(10).pow(18), BigInt.fromI32(10).pow(18).times(BigInt.fromI32(2))]; + + let event = createVotingRewardClaimed(proposalIds[0], sender, tokens[0], amounts[0], contractSender, block, tx); + + onVotingRewardClaimed(event); + + assert.fieldEquals("Pool", contractSender.toHexString(), "id", contractSender.toHexString()); + assert.fieldEquals( + "DaoPoolVotingRewardClaim", + tx.hash.concatI32(0).toHexString(), + "pool", + contractSender.toHexString() + ); + assert.fieldEquals( + "DaoPoolVotingRewardClaim", + tx.hash.concatI32(0).toHexString(), + "proposalId", + proposalIds[0].toString() + ); + assert.fieldEquals( + "DaoPoolVotingRewardClaim", + tx.hash.concatI32(0).toHexString(), + "transaction", + tx.hash.toHexString() + ); + + assertTransaction( + tx.hash, + event.params.sender, + block, + `[${TransactionType.DAO_POOL_VOTING_REWARD_CLAIMED}]`, + BigInt.fromI32(1), + contractSender + ); + + const nextTx = getNextTx(tx); + + event = createVotingRewardClaimed(proposalIds[1], sender, tokens[1], amounts[1], contractSender, block, nextTx); + + onVotingRewardClaimed(event); + + assert.fieldEquals( + "DaoPoolVotingRewardClaim", + nextTx.hash.concatI32(0).toHexString(), + "pool", + contractSender.toHexString() + ); + assert.fieldEquals( + "DaoPoolVotingRewardClaim", + nextTx.hash.concatI32(0).toHexString(), + "proposalId", + proposalIds[1].toString() + ); + assert.fieldEquals( + "DaoPoolVotingRewardClaim", + nextTx.hash.concatI32(0).toHexString(), + "transaction", + nextTx.hash.toHexString() + ); + + assertTransaction( + nextTx.hash, + event.params.sender, + block, + `[${TransactionType.DAO_POOL_VOTING_REWARD_CLAIMED}]`, + BigInt.fromI32(1), + contractSender + ); + }); + test("should handle Deposited", () => { let amount = BigInt.fromI32(100).pow(18); let nfts = [BigInt.fromI32(1), BigInt.fromI32(2)]; From 59095c913f76e150bd6cd50fc33978452dd1774e Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Tue, 3 Oct 2023 11:50:45 +0300 Subject: [PATCH 40/44] added claimed field to VoterInProposal entity (#137) --- DaoPools/schema.graphql | 3 +++ .../src/entities/Voters/VoterInProposal.ts | 2 ++ DaoPools/src/mappings/DaoPool.ts | 4 ++++ DaoPools/tests/DaoPool.test.ts | 24 +++++++++++++++++++ 4 files changed, 33 insertions(+) diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index 65b105b0..f2443a7b 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -309,7 +309,10 @@ The entity holds information about voter's actions in proposal type VoterInProposal @entity { "id forms from voter address + proposal entity id" id: Bytes! # voter address + proposal entity id + "Boolean flag, if true - voter voted for the proposal" isVoteFor: Boolean! + "Boolean flag, if true - rewards claimed" + claimed: Boolean! "The total amount of vote for the proposal" totalVote: BigInt! diff --git a/DaoPools/src/entities/Voters/VoterInProposal.ts b/DaoPools/src/entities/Voters/VoterInProposal.ts index 5cc673c2..17f9aeff 100644 --- a/DaoPools/src/entities/Voters/VoterInProposal.ts +++ b/DaoPools/src/entities/Voters/VoterInProposal.ts @@ -10,6 +10,8 @@ export function getVoterInProposal(proposal: Proposal, voterInPool: VoterInPool) voterInProposal.isVoteFor = false; + voterInProposal.claimed = false; + voterInProposal.totalVote = BigInt.zero(); voterInProposal.staticRewardUSD = BigInt.zero(); diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index 141eedd6..51a2378d 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -351,6 +351,8 @@ export function onRewardClaimed(event: RewardClaimed): void { let proposal = getProposal(pool, event.params.proposalId); let voterInProposal = getVoterInProposal(proposal, voterInPool); + voterInProposal.claimed = true; + voterInProposal.claimedRewardUSD = voterInProposal.claimedRewardUSD.plus(usdAmount); voterInProposal.staticRewardUSD = voterInProposal.staticRewardUSD.plus(usdAmount); @@ -384,6 +386,8 @@ export function onVotingRewardClaimed(event: VotingRewardClaimed): void { let treasuryUsdAmount = getUSDValue(event.params.token, event.params.rewards.treasury); let totalUsdAmount = personalUsdAmount.plus(micropoolUsdAmount).plus(treasuryUsdAmount); + voterInProposal.claimed = true; + voterInProposal.personalVotingRewardUSD = personalUsdAmount; voterInProposal.micropoolVotingRewardUSD = micropoolUsdAmount; voterInProposal.treasuryVotingRewardUSD = treasuryUsdAmount; diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index 6680c61c..d5fa62e0 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -1279,6 +1279,12 @@ describe("DaoPool", () => { onRewardClaimed(event0); assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", amounts[0].toString()); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalIds[0].toI32()).toHexString(), + "claimed", + "true" + ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalIds[0].toI32()).toHexString(), @@ -1301,6 +1307,12 @@ describe("DaoPool", () => { onRewardClaimed(event1); assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", amounts[0].plus(amounts[1]).toString()); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalIds[1].toI32()).toHexString(), + "claimed", + "true" + ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalIds[1].toI32()).toHexString(), @@ -1365,6 +1377,12 @@ describe("DaoPool", () => { onVotingRewardClaimed(event0); assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", totalAmount.toString()); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalIds[0].toI32()).toHexString(), + "claimed", + "true" + ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalIds[0].toI32()).toHexString(), @@ -1423,6 +1441,12 @@ describe("DaoPool", () => { onVotingRewardClaimed(event1); assert.fieldEquals("Voter", sender.toHexString(), "totalClaimedUSD", totalAmount.plus(totalAmount1).toString()); + assert.fieldEquals( + "VoterInProposal", + sender.concat(contractSender).concatI32(proposalIds[1].toI32()).toHexString(), + "claimed", + "true" + ); assert.fieldEquals( "VoterInProposal", sender.concat(contractSender).concatI32(proposalIds[1].toI32()).toHexString(), From 350ceea042b038618464213a2832ca22b218284c Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Fri, 20 Oct 2023 10:53:29 +0300 Subject: [PATCH 41/44] added executionHash to Proposal entity, creationHash to TokenSaleTier (#138) --- DaoPools/schema.graphql | 5 +++++ DaoPools/src/entities/Proposal.ts | 1 + DaoPools/src/entities/TokenSaleTier.ts | 2 ++ DaoPools/src/mappings/DaoPool.ts | 1 + DaoPools/src/mappings/TokenSale.ts | 3 +++ DaoPools/tests/DaoPool.test.ts | 6 ++++++ DaoPools/tests/TokenSale.test.ts | 6 ++++++ 7 files changed, 24 insertions(+) diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index f2443a7b..2484eaaf 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -209,6 +209,8 @@ type Proposal @entity { executor: Bytes! "The timestamp of execution" executionTimestamp: BigInt! + "The hash of proposal execution tx" + executionHash: Bytes! "The timestamp of reaching quorum" quorumReachedTimestamp: BigInt! @@ -449,6 +451,9 @@ type TokenSaleTier @entity { "id forms from token sale address + tier id" id: Bytes! + "The hash of tier creation tx" + creationHash: Bytes! + "The sale token contract address" saleToken: Bytes! diff --git a/DaoPools/src/entities/Proposal.ts b/DaoPools/src/entities/Proposal.ts index 22658e3d..59b5b854 100644 --- a/DaoPools/src/entities/Proposal.ts +++ b/DaoPools/src/entities/Proposal.ts @@ -22,6 +22,7 @@ export function getProposal( proposal.isFor = false; proposal.executor = Bytes.empty(); proposal.executionTimestamp = BigInt.zero(); + proposal.executionHash = Bytes.empty(); proposal.quorumReachedTimestamp = BigInt.zero(); proposal.rewardToken = rewardToken; diff --git a/DaoPools/src/entities/TokenSaleTier.ts b/DaoPools/src/entities/TokenSaleTier.ts index a9a9a2f5..5c829e70 100644 --- a/DaoPools/src/entities/TokenSaleTier.ts +++ b/DaoPools/src/entities/TokenSaleTier.ts @@ -14,6 +14,8 @@ export function getTokenSaleTier( tier.saleToken = saleToken; + tier.creationHash = Bytes.empty(); + tier.totalBuyersCount = BigInt.zero(); tier.buyers = new Array(); diff --git a/DaoPools/src/mappings/DaoPool.ts b/DaoPools/src/mappings/DaoPool.ts index 51a2378d..2f50cebc 100644 --- a/DaoPools/src/mappings/DaoPool.ts +++ b/DaoPools/src/mappings/DaoPool.ts @@ -335,6 +335,7 @@ export function onProposalExecuted(event: ProposalExecuted): void { proposal.isFor = event.params.isFor; proposal.executor = event.params.sender; proposal.executionTimestamp = event.block.timestamp; + proposal.executionHash = event.transaction.hash; proposal.save(); pool.save(); diff --git a/DaoPools/src/mappings/TokenSale.ts b/DaoPools/src/mappings/TokenSale.ts index fea2eddb..70af7aa3 100644 --- a/DaoPools/src/mappings/TokenSale.ts +++ b/DaoPools/src/mappings/TokenSale.ts @@ -11,6 +11,9 @@ import { push } from "../helpers/ArrayHelper"; export function onTierCreated(event: TierCreated): void { let tokenSale = getTokenSale(event.address); let tier = getTokenSaleTier(tokenSale, event.params.tierId, event.params.saleToken); + + tier.creationHash = event.transaction.hash; + let participationDetails = event.params.participationDetails; for (let i = 0; i < participationDetails.length; i++) { tier.whitelistTypes = push(tier.whitelistTypes, BigInt.fromI32(participationDetails[i].participationType)); diff --git a/DaoPools/tests/DaoPool.test.ts b/DaoPools/tests/DaoPool.test.ts index d5fa62e0..48d95e20 100644 --- a/DaoPools/tests/DaoPool.test.ts +++ b/DaoPools/tests/DaoPool.test.ts @@ -1205,6 +1205,12 @@ describe("DaoPool", () => { "executionTimestamp", block.timestamp.toString() ); + assert.fieldEquals( + "Proposal", + contractSender.concatI32(proposalId.toI32()).toHexString(), + "executionHash", + tx.hash.toHexString() + ); proposalId = BigInt.fromI32(2); isFor = false; diff --git a/DaoPools/tests/TokenSale.test.ts b/DaoPools/tests/TokenSale.test.ts index 04b022d2..5c72f041 100644 --- a/DaoPools/tests/TokenSale.test.ts +++ b/DaoPools/tests/TokenSale.test.ts @@ -115,6 +115,12 @@ describe("TokenSale", () => { "tokenSale", contractSender.toHexString() ); + assert.fieldEquals( + "TokenSaleTier", + contractSender.concatI32(tierId.toI32()).toHexString(), + "creationHash", + tx.hash.toHexString() + ); assert.fieldEquals( "TokenSaleTier", contractSender.concatI32(tierId.toI32()).toHexString(), From 364a71622414106a5234eac099841e35e10622d9 Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Wed, 25 Oct 2023 15:00:24 +0300 Subject: [PATCH 42/44] added TokenSaleTierBuyHistory (#139) --- .../src/entities/global/globals.ts | 2 +- AllInteractions/subgraph.yaml | 8 +-- DaoPools/schema.graphql | 18 +++++++ .../src/entities/TokenSaleTierBuyHistory.ts | 29 +++++++++++ DaoPools/src/entities/global/globals.ts | 2 +- DaoPools/src/mappings/TokenSale.ts | 9 ++-- DaoPools/subgraph.yaml | 8 +-- DaoPools/tests/TokenSale.test.ts | 50 +++++++++++++++++++ DaoValidators/src/entities/global/globals.ts | 2 +- DaoValidators/subgraph.yaml | 4 +- 10 files changed, 116 insertions(+), 16 deletions(-) create mode 100644 DaoPools/src/entities/TokenSaleTierBuyHistory.ts diff --git a/AllInteractions/src/entities/global/globals.ts b/AllInteractions/src/entities/global/globals.ts index 848bfb13..621ea99f 100644 --- a/AllInteractions/src/entities/global/globals.ts +++ b/AllInteractions/src/entities/global/globals.ts @@ -1 +1 @@ -export const PRICE_FEED_ADDRESS = "0x7Bc604663D1cedB045d746fF3BE50d0380E1a69c"; +export const PRICE_FEED_ADDRESS = "0x80852Edd95423C3BD37F94EF795e7Da8E1ED465e"; diff --git a/AllInteractions/subgraph.yaml b/AllInteractions/subgraph.yaml index 209bf5a2..26bde3da 100644 --- a/AllInteractions/subgraph.yaml +++ b/AllInteractions/subgraph.yaml @@ -6,9 +6,9 @@ dataSources: name: PoolFactory network: chapel source: - address: "0x433F3d397055503fB2320584b9F027931ECba762" + address: "0xc5A750E8e3361D186236D7f708Cb1C92b944Ce48" abi: PoolFactory - startBlock: 32954665 + startBlock: 34202816 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -27,9 +27,9 @@ dataSources: name: UserRegistry network: chapel source: - address: "0x4748e4e294c6e11D7Ff0062290628Caa56bACaB1" + address: "0x7d090C1a5A5f8f1742F32C15BeB03980B3bfb1Dc" abi: UserRegistry - startBlock: 32954665 + startBlock: 34202816 mapping: kind: ethereum/events apiVersion: 0.0.6 diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index 2484eaaf..9274c4e8 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -473,6 +473,24 @@ type TokenSaleTier @entity { tokenSale: TokenSaleContract! } +""" +The entity holds information about token buying +""" +type TokenSaleTierBuyHistory @entity { + "id forms from tx hash + interactionCount" + id: Bytes! + + "tx hash" + hash: Bytes! + "timestamp of token buying" + timestamp: BigInt! + + "The buyer VoterInPool entity id" + buyer: VoterInPool! + "The TokenSaleTier id" + tier: TokenSaleTier! +} + """ The entity counts interactions in single tx """ diff --git a/DaoPools/src/entities/TokenSaleTierBuyHistory.ts b/DaoPools/src/entities/TokenSaleTierBuyHistory.ts new file mode 100644 index 00000000..4b1c5fea --- /dev/null +++ b/DaoPools/src/entities/TokenSaleTierBuyHistory.ts @@ -0,0 +1,29 @@ +import { BigInt, Bytes } from "@graphprotocol/graph-ts"; +import { TokenSaleTierBuyHistory, TokenSaleTier, VoterInPool } from "../../generated/schema"; +import { increaseCounter } from "../helpers/IncreaseCounter"; +import { getInteractionCount } from "./global/InteractionCount"; + +export function getTokenSaleTierBuyHistory( + hash: Bytes, + timestamp: BigInt, + tokenSaleTier: TokenSaleTier, + buyer: VoterInPool +): TokenSaleTierBuyHistory { + let counter = getInteractionCount(hash); + let id = hash.concatI32(counter.count.toI32()); + + let history = TokenSaleTierBuyHistory.load(id); + + if (history == null) { + history = new TokenSaleTierBuyHistory(id); + + history.hash = hash; + history.timestamp = timestamp; + + history.buyer = buyer.id; + history.tier = tokenSaleTier.id; + increaseCounter(counter); + } + + return history; +} diff --git a/DaoPools/src/entities/global/globals.ts b/DaoPools/src/entities/global/globals.ts index a9275a4a..33df9401 100644 --- a/DaoPools/src/entities/global/globals.ts +++ b/DaoPools/src/entities/global/globals.ts @@ -1,6 +1,6 @@ import { BigInt } from "@graphprotocol/graph-ts"; -export const PRICE_FEED_ADDRESS = "0x7Bc604663D1cedB045d746fF3BE50d0380E1a69c"; +export const PRICE_FEED_ADDRESS = "0x80852Edd95423C3BD37F94EF795e7Da8E1ED465e"; export const BNB_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"; export const WBNB_ADDRESS = "0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd"; export const DAY = 86400; diff --git a/DaoPools/src/mappings/TokenSale.ts b/DaoPools/src/mappings/TokenSale.ts index 70af7aa3..99ad88f9 100644 --- a/DaoPools/src/mappings/TokenSale.ts +++ b/DaoPools/src/mappings/TokenSale.ts @@ -7,6 +7,7 @@ import { getTokenSaleTier } from "../entities/TokenSaleTier"; import { getVoter } from "../entities/Voters/Voter"; import { getVoterInPool } from "../entities/Voters/VoterInPool"; import { push } from "../helpers/ArrayHelper"; +import { getTokenSaleTierBuyHistory } from "../entities/TokenSaleTierBuyHistory"; export function onTierCreated(event: TierCreated): void { let tokenSale = getTokenSale(event.address); @@ -28,15 +29,17 @@ export function onBought(event: Bought): void { let tokenSale = getTokenSale(event.address); let tier = getTokenSaleTier(tokenSale, event.params.tierId); let pool = getDaoPool(Address.fromBytes(tokenSale.daoPool)); + let buyer = getVoterInPool(pool, getVoter(event.params.buyer), event.block.timestamp); - tier.buyers = pushUnique(tier.buyers, [ - getVoterInPool(pool, getVoter(event.params.buyer), event.block.timestamp).id, - ]); + tier.buyers = pushUnique(tier.buyers, [buyer.id]); if (tier.buyers.length > tier.totalBuyersCount.toI32()) { tier.totalBuyersCount = tier.totalBuyersCount.plus(BigInt.fromI32(tier.buyers.length).minus(tier.totalBuyersCount)); } + getTokenSaleTierBuyHistory(event.transaction.hash, event.block.timestamp, tier, buyer).save(); + + buyer.save(); tokenSale.save(); tier.save(); pool.save(); diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index 40d911b3..3432f5be 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -6,9 +6,9 @@ dataSources: name: PoolFactory network: chapel source: - address: "0x433F3d397055503fB2320584b9F027931ECba762" + address: "0xc5A750E8e3361D186236D7f708Cb1C92b944Ce48" abi: PoolFactory - startBlock: 32954665 + startBlock: 34202816 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -26,9 +26,9 @@ dataSources: name: ERC721Expert network: chapel source: - address: "0xBd5fd8866588FA0da3331Ab1587D39bBC0e89a8a" + address: "0x36841F49C19B08795f4d3CDd9AB722Be8A8843C9" abi: ERC721Expert - startBlock: 32954665 + startBlock: 34202816 mapping: kind: ethereum/events apiVersion: 0.0.6 diff --git a/DaoPools/tests/TokenSale.test.ts b/DaoPools/tests/TokenSale.test.ts index 5c72f041..e77d730d 100644 --- a/DaoPools/tests/TokenSale.test.ts +++ b/DaoPools/tests/TokenSale.test.ts @@ -167,6 +167,31 @@ describe("TokenSale", () => { `[${user1.concat(poolAddress).toHexString()}]` ); + assert.fieldEquals( + "TokenSaleTierBuyHistory", + event.transaction.hash.concatI32(0).toHexString(), + "hash", + event.transaction.hash.toHexString() + ); + assert.fieldEquals( + "TokenSaleTierBuyHistory", + event.transaction.hash.concatI32(0).toHexString(), + "timestamp", + event.block.timestamp.toString() + ); + assert.fieldEquals( + "TokenSaleTierBuyHistory", + event.transaction.hash.concatI32(0).toHexString(), + "buyer", + user1.concat(poolAddress).toHexString() + ); + assert.fieldEquals( + "TokenSaleTierBuyHistory", + event.transaction.hash.concatI32(0).toHexString(), + "tier", + contractSender.concatI32(tierId.toI32()).toHexString() + ); + let user2 = Address.fromString("0xfF42F3B569cdB6dF9dC260473Ec2ef63Ca971d63"); event = createBought(tierId, user2, contractSender, block, tx); @@ -190,6 +215,31 @@ describe("TokenSale", () => { "buyers", `[${user1.concat(poolAddress).toHexString()}, ${user2.concat(poolAddress).toHexString()}]` ); + + assert.fieldEquals( + "TokenSaleTierBuyHistory", + event.transaction.hash.concatI32(1).toHexString(), + "hash", + event.transaction.hash.toHexString() + ); + assert.fieldEquals( + "TokenSaleTierBuyHistory", + event.transaction.hash.concatI32(1).toHexString(), + "timestamp", + event.block.timestamp.toString() + ); + assert.fieldEquals( + "TokenSaleTierBuyHistory", + event.transaction.hash.concatI32(1).toHexString(), + "buyer", + user2.concat(poolAddress).toHexString() + ); + assert.fieldEquals( + "TokenSaleTierBuyHistory", + event.transaction.hash.concatI32(1).toHexString(), + "tier", + contractSender.concatI32(tierId.toI32()).toHexString() + ); }); test("should add user to whitelist", () => { diff --git a/DaoValidators/src/entities/global/globals.ts b/DaoValidators/src/entities/global/globals.ts index 848bfb13..621ea99f 100644 --- a/DaoValidators/src/entities/global/globals.ts +++ b/DaoValidators/src/entities/global/globals.ts @@ -1 +1 @@ -export const PRICE_FEED_ADDRESS = "0x7Bc604663D1cedB045d746fF3BE50d0380E1a69c"; +export const PRICE_FEED_ADDRESS = "0x80852Edd95423C3BD37F94EF795e7Da8E1ED465e"; diff --git a/DaoValidators/subgraph.yaml b/DaoValidators/subgraph.yaml index 75497b24..c3892ebc 100644 --- a/DaoValidators/subgraph.yaml +++ b/DaoValidators/subgraph.yaml @@ -6,9 +6,9 @@ dataSources: name: PoolFactory network: chapel source: - address: "0x433F3d397055503fB2320584b9F027931ECba762" + address: "0xc5A750E8e3361D186236D7f708Cb1C92b944Ce48" abi: PoolFactory - startBlock: 32954665 + startBlock: 34202816 mapping: kind: ethereum/events apiVersion: 0.0.6 From 4197ad2c3a7db204b12b0c0a75cf89637f6db8f4 Mon Sep 17 00:00:00 2001 From: kevandee Date: Thu, 26 Oct 2023 13:43:16 +0300 Subject: [PATCH 43/44] fixed onChangedValidatorsBalances handlers --- DaoValidators/src/mappings/DaoValidators.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/DaoValidators/src/mappings/DaoValidators.ts b/DaoValidators/src/mappings/DaoValidators.ts index 3ddebe71..39f6e44c 100644 --- a/DaoValidators/src/mappings/DaoValidators.ts +++ b/DaoValidators/src/mappings/DaoValidators.ts @@ -115,6 +115,8 @@ export function onChangedValidatorsBalances(event: ChangedValidatorsBalances): v if (validatorInPool.balance.equals(BigInt.zero())) { validatorInPool.pool = Bytes.empty(); + } else { + validatorInPool.pool = pool.id; } validatorInPool.save(); From 49057c6c2903cfa3cb83906e8f3e8682fd1f1601 Mon Sep 17 00:00:00 2001 From: Anton Chaika <91263261+kevandee@users.noreply.github.com> Date: Mon, 30 Oct 2023 15:35:30 +0200 Subject: [PATCH 44/44] changed Bought event (#140) * changed Bought event * Update DaoPools/tests/TokenSale.test.ts --------- Co-authored-by: Artem Chystiakov <47551140+Arvolear@users.noreply.github.com> --- DaoPools/abis/TokenSale.json | 18 +++++++ DaoPools/schema.graphql | 8 +++ .../src/entities/TokenSaleTierBuyHistory.ts | 9 +++- DaoPools/src/mappings/TokenSale.ts | 10 +++- DaoPools/subgraph.yaml | 2 +- DaoPools/tests/TokenSale.test.ts | 49 ++++++++++++++++++- 6 files changed, 91 insertions(+), 5 deletions(-) diff --git a/DaoPools/abis/TokenSale.json b/DaoPools/abis/TokenSale.json index 432f068e..1bf13abe 100644 --- a/DaoPools/abis/TokenSale.json +++ b/DaoPools/abis/TokenSale.json @@ -33,6 +33,24 @@ "name": "tierId", "type": "uint256" }, + { + "indexed": false, + "internalType": "address", + "name": "paidWith", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "received", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "given", + "type": "uint256" + }, { "indexed": false, "internalType": "address", diff --git a/DaoPools/schema.graphql b/DaoPools/schema.graphql index 9274c4e8..78d196c9 100644 --- a/DaoPools/schema.graphql +++ b/DaoPools/schema.graphql @@ -485,6 +485,14 @@ type TokenSaleTierBuyHistory @entity { "timestamp of token buying" timestamp: BigInt! + "paid token address" + paidToken: Bytes! + + "paid token amount" + givenAmount: BigInt! + "received sale token amount" + receivedAmount: BigInt! + "The buyer VoterInPool entity id" buyer: VoterInPool! "The TokenSaleTier id" diff --git a/DaoPools/src/entities/TokenSaleTierBuyHistory.ts b/DaoPools/src/entities/TokenSaleTierBuyHistory.ts index 4b1c5fea..43dcc3ec 100644 --- a/DaoPools/src/entities/TokenSaleTierBuyHistory.ts +++ b/DaoPools/src/entities/TokenSaleTierBuyHistory.ts @@ -7,7 +7,10 @@ export function getTokenSaleTierBuyHistory( hash: Bytes, timestamp: BigInt, tokenSaleTier: TokenSaleTier, - buyer: VoterInPool + buyer: VoterInPool, + paidToken: Bytes = Bytes.empty(), + givenAmount: BigInt = BigInt.zero(), + receivedAmount: BigInt = BigInt.zero() ): TokenSaleTierBuyHistory { let counter = getInteractionCount(hash); let id = hash.concatI32(counter.count.toI32()); @@ -20,6 +23,10 @@ export function getTokenSaleTierBuyHistory( history.hash = hash; history.timestamp = timestamp; + history.paidToken = paidToken; + history.givenAmount = givenAmount; + history.receivedAmount = receivedAmount; + history.buyer = buyer.id; history.tier = tokenSaleTier.id; increaseCounter(counter); diff --git a/DaoPools/src/mappings/TokenSale.ts b/DaoPools/src/mappings/TokenSale.ts index 99ad88f9..5846eb08 100644 --- a/DaoPools/src/mappings/TokenSale.ts +++ b/DaoPools/src/mappings/TokenSale.ts @@ -37,7 +37,15 @@ export function onBought(event: Bought): void { tier.totalBuyersCount = tier.totalBuyersCount.plus(BigInt.fromI32(tier.buyers.length).minus(tier.totalBuyersCount)); } - getTokenSaleTierBuyHistory(event.transaction.hash, event.block.timestamp, tier, buyer).save(); + getTokenSaleTierBuyHistory( + event.transaction.hash, + event.block.timestamp, + tier, + buyer, + event.params.paidWith, + event.params.given, + event.params.received + ).save(); buyer.save(); tokenSale.save(); diff --git a/DaoPools/subgraph.yaml b/DaoPools/subgraph.yaml index 3432f5be..e1892e66 100644 --- a/DaoPools/subgraph.yaml +++ b/DaoPools/subgraph.yaml @@ -169,7 +169,7 @@ templates: eventHandlers: - event: TierCreated(uint256,address,(uint8,bytes)[]) handler: onTierCreated - - event: Bought(uint256,address) + - event: Bought(uint256,address,uint256,uint256,address) handler: onBought - event: Whitelisted(uint256,address) handler: onWhitelisted diff --git a/DaoPools/tests/TokenSale.test.ts b/DaoPools/tests/TokenSale.test.ts index e77d730d..dad67e52 100644 --- a/DaoPools/tests/TokenSale.test.ts +++ b/DaoPools/tests/TokenSale.test.ts @@ -8,6 +8,9 @@ import { onBought, onTierCreated, onWhitelisted } from "../src/mappings/TokenSal function createBought( tierId: BigInt, + paidToken: Address, + received: BigInt, + given: BigInt, buyer: Address, contractSender: Address, block: ethereum.Block, @@ -17,6 +20,9 @@ function createBought( event.parameters = new Array(); event.parameters.push(new ethereum.EventParam("tierId", ethereum.Value.fromUnsignedBigInt(tierId))); + event.parameters.push(new ethereum.EventParam("paidWith", ethereum.Value.fromAddress(paidToken))); + event.parameters.push(new ethereum.EventParam("received", ethereum.Value.fromUnsignedBigInt(received))); + event.parameters.push(new ethereum.EventParam("given", ethereum.Value.fromUnsignedBigInt(given))); event.parameters.push(new ethereum.EventParam("buyer", ethereum.Value.fromAddress(buyer))); event.block = block; @@ -143,8 +149,11 @@ describe("TokenSale", () => { test("should handle bought", () => { let tierId = BigInt.fromI32(5); + let paidToken = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181671"); + let received = BigInt.fromI32(10); + let given = BigInt.fromI32(20); let user1 = Address.fromString("0x96e08f7d84603AEb97cd1c89A80A9e914f181672"); - let event = createBought(tierId, user1, contractSender, block, tx); + let event = createBought(tierId, paidToken, received, given, user1, contractSender, block, tx); onBought(event); @@ -179,6 +188,24 @@ describe("TokenSale", () => { "timestamp", event.block.timestamp.toString() ); + assert.fieldEquals( + "TokenSaleTierBuyHistory", + event.transaction.hash.concatI32(0).toHexString(), + "paidToken", + paidToken.toHexString() + ); + assert.fieldEquals( + "TokenSaleTierBuyHistory", + event.transaction.hash.concatI32(0).toHexString(), + "givenAmount", + given.toString() + ); + assert.fieldEquals( + "TokenSaleTierBuyHistory", + event.transaction.hash.concatI32(0).toHexString(), + "receivedAmount", + received.toString() + ); assert.fieldEquals( "TokenSaleTierBuyHistory", event.transaction.hash.concatI32(0).toHexString(), @@ -193,7 +220,7 @@ describe("TokenSale", () => { ); let user2 = Address.fromString("0xfF42F3B569cdB6dF9dC260473Ec2ef63Ca971d63"); - event = createBought(tierId, user2, contractSender, block, tx); + event = createBought(tierId, paidToken, received, given, user2, contractSender, block, tx); onBought(event); @@ -228,6 +255,24 @@ describe("TokenSale", () => { "timestamp", event.block.timestamp.toString() ); + assert.fieldEquals( + "TokenSaleTierBuyHistory", + event.transaction.hash.concatI32(1).toHexString(), + "paidToken", + paidToken.toHexString() + ); + assert.fieldEquals( + "TokenSaleTierBuyHistory", + event.transaction.hash.concatI32(1).toHexString(), + "givenAmount", + given.toString() + ); + assert.fieldEquals( + "TokenSaleTierBuyHistory", + event.transaction.hash.concatI32(1).toHexString(), + "receivedAmount", + received.toString() + ); assert.fieldEquals( "TokenSaleTierBuyHistory", event.transaction.hash.concatI32(1).toHexString(),