From 21b472f44ac2a2b295fc1ecec091084cd94f0c4c Mon Sep 17 00:00:00 2001 From: mzxyz <8177474+mzxyz@users.noreply.github.com> Date: Fri, 27 Oct 2023 14:33:39 +1300 Subject: [PATCH 1/9] Update `contract-sdk` --- package.json | 2 +- packages/network-clients/package.json | 2 +- packages/network-config/package.json | 2 +- packages/react-hooks/package.json | 2 +- yarn.lock | 25 ++++++++----------------- 5 files changed, 12 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index 1bdc2efe..4539ea96 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "@apollo/client": "^3.7.0", "@metamask/eth-sig-util": "^4.0.1", "@octokit/request": "^5.6.3", - "@subql/contract-sdk": "^0.16.2", + "@subql/contract-sdk": "^0.100.2", "@testing-library/react": "^14.0.0", "@types/jest": "^28.1.6", "@types/react": "^18.2.28", diff --git a/packages/network-clients/package.json b/packages/network-clients/package.json index ea3c63aa..cbac3801 100644 --- a/packages/network-clients/package.json +++ b/packages/network-clients/package.json @@ -25,7 +25,7 @@ "typescript": "^4.6.4" }, "peerDependencies": { - "@subql/contract-sdk": "^0.16.2", + "@subql/contract-sdk": "^0.100.2", "ipfs-http-client": "^53.0.1" }, "stableVersion": "0.3.15" diff --git a/packages/network-config/package.json b/packages/network-config/package.json index 6748162f..79e9cc77 100644 --- a/packages/network-config/package.json +++ b/packages/network-config/package.json @@ -12,7 +12,7 @@ "typescript": "^4.8.4" }, "peerDependencies": { - "@subql/contract-sdk": "^0.16.2", + "@subql/contract-sdk": "^0.100.2", "ipfs-http-client": "^53.0.1" }, "stableVersion": "0.3.17-1" diff --git a/packages/react-hooks/package.json b/packages/react-hooks/package.json index dc176a36..79af425e 100644 --- a/packages/react-hooks/package.json +++ b/packages/react-hooks/package.json @@ -35,7 +35,7 @@ "typescript": "^4.6.4" }, "peerDependencies": { - "@subql/contract-sdk": "^0.16.2", + "@subql/contract-sdk": "^0.100.2", "graphql": "^16.5.0", "react": "^18" }, diff --git a/yarn.lock b/yarn.lock index ad3cc337..2f066226 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2887,13 +2887,6 @@ __metadata: languageName: node linkType: hard -"@openzeppelin/contracts-upgradeable@npm:^4.5.2": - version: 4.8.3 - resolution: "@openzeppelin/contracts-upgradeable@npm:4.8.3" - checksum: 022c99bac4828980e771ddf3426a58b5a6f27932a1b1ec93dd2ed3f11c89d8e407867b845bedd0660bdd11c683971d566737c10504db8a1f144f61daec8b5ed6 - languageName: node - linkType: hard - "@peculiar/asn1-schema@npm:^2.1.6": version: 2.3.0 resolution: "@peculiar/asn1-schema@npm:2.3.0" @@ -3096,12 +3089,10 @@ __metadata: languageName: unknown linkType: soft -"@subql/contract-sdk@npm:^0.16.2": - version: 0.16.2 - resolution: "@subql/contract-sdk@npm:0.16.2" - dependencies: - "@openzeppelin/contracts-upgradeable": ^4.5.2 - checksum: f32a5da6d1a603b28494c1551bebbc449e096cc4fc88c7780169dea1e7d5f86182f02caeeb38ef3c7e61dfa1972c7a21fcd9edc9b1d9d0c38bb722b82394f007 +"@subql/contract-sdk@npm:^0.100.2": + version: 0.100.2 + resolution: "@subql/contract-sdk@npm:0.100.2" + checksum: c731ff3f4330559ef7f7b895d80514368ec0d1abc4eaeadc84874f6e449d078fe35ee58ec429798111ac04accafe4836eb8fd0fc0aebdfc3fc44ccfc7f413a94 languageName: node linkType: hard @@ -3122,7 +3113,7 @@ __metadata: graphql: ^16.5.0 typescript: ^4.6.4 peerDependencies: - "@subql/contract-sdk": ^0.16.2 + "@subql/contract-sdk": ^0.100.2 ipfs-http-client: ^53.0.1 languageName: unknown linkType: soft @@ -3133,7 +3124,7 @@ __metadata: dependencies: typescript: ^4.8.4 peerDependencies: - "@subql/contract-sdk": ^0.16.2 + "@subql/contract-sdk": ^0.100.2 ipfs-http-client: ^53.0.1 languageName: unknown linkType: soft @@ -3164,7 +3155,7 @@ __metadata: "@apollo/client": ^3.7.0 "@metamask/eth-sig-util": ^4.0.1 "@octokit/request": ^5.6.3 - "@subql/contract-sdk": ^0.16.2 + "@subql/contract-sdk": ^0.100.2 "@testing-library/react": ^14.0.0 "@types/jest": ^28.1.6 "@types/react": ^18.2.28 @@ -3220,7 +3211,7 @@ __metadata: prettier: ^2.7.1 typescript: ^4.6.4 peerDependencies: - "@subql/contract-sdk": ^0.16.2 + "@subql/contract-sdk": ^0.100.2 graphql: ^16.5.0 react: ^18 languageName: unknown From 917297b66e7199fd55af69b82703aa110a9ed9de Mon Sep 17 00:00:00 2001 From: mzxyz <8177474+mzxyz@users.noreply.github.com> Date: Fri, 27 Oct 2023 15:04:51 +1300 Subject: [PATCH 2/9] Update `DeploymentIndexer` entity --- .../queries/network/deployments.gql | 32 +++++++++---------- .../network-query/queries/network/plans.gql | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/packages/network-query/queries/network/deployments.gql b/packages/network-query/queries/network/deployments.gql index 997bc737..2bdc7217 100644 --- a/packages/network-query/queries/network/deployments.gql +++ b/packages/network-query/queries/network/deployments.gql @@ -1,7 +1,7 @@ # Copyright 2020-2022 SubQuery Pte Ltd authors & contributors # SPDX-License-Identifier: Apache-2.0 -fragment DeploymentIndexerFields on DeploymentIndexer { +fragment indexerDeploymentFields on IndexerDeployment { id indexerId deploymentId @@ -12,8 +12,8 @@ fragment DeploymentIndexerFields on DeploymentIndexer { } } -fragment DeploymentIndexerNodeFields on DeploymentIndexer { - ...DeploymentIndexerFields +fragment IndexerDeploymentNodeFields on IndexerDeployment { + ...indexerDeploymentFields deployment { id project { @@ -26,7 +26,7 @@ fragment DeploymentIndexerNodeFields on DeploymentIndexer { query GetDeployment($deploymentId: String!) { deployment(id: $deploymentId) { id - version + metadata project { id metadata @@ -38,7 +38,7 @@ query GetDeploymentIndexers( $first: Int = 20 $offset: Int $deploymentId: String! - $orderby: [DeploymentIndexersOrderBy!] = LAST_EVENT_ASC + $orderby: [IndexerDeploymentsOrderBy!] = LAST_EVENT_ASC ) { deploymentIndexers( first: $first @@ -48,7 +48,7 @@ query GetDeploymentIndexers( ) { totalCount nodes { - ...DeploymentIndexerFields + ...indexerDeploymentFields } } } @@ -57,10 +57,10 @@ query GetDeploymentIndexersBySearch( $first: Int = 20 $offset: Int $deploymentId: String! - $orderby: [DeploymentIndexersOrderBy!] = LAST_EVENT_ASC + $orderby: [IndexerDeploymentsOrderBy!] = LAST_EVENT_ASC $indexerId: String! = "" ) { - deploymentIndexers( + indexerDeployments( first: $first offset: $offset orderBy: $orderby @@ -72,24 +72,24 @@ query GetDeploymentIndexersBySearch( ) { totalCount nodes { - ...DeploymentIndexerFields + ...indexerDeploymentFields } } } -query GetDeploymentIndexer($indexerAddress: String!, $deploymentId: String!) { - deploymentIndexers( +query GetIndexerDeployment($indexerAddress: String!, $deploymentId: String!) { + indexerDeployments( filter: { indexerId: { equalTo: $indexerAddress }, deploymentId: { equalTo: $deploymentId } } ) { totalCount nodes { - ...DeploymentIndexerFields + ...indexerDeploymentFields } } } query GetDeploymentIndexersByIndexer($indexerAddress: String!) { - deploymentIndexers(filter: { indexerId: { equalTo: $indexerAddress } }) { + indexerDeployments(filter: { indexerId: { equalTo: $indexerAddress } }) { totalCount pageInfo { startCursor @@ -97,7 +97,7 @@ query GetDeploymentIndexersByIndexer($indexerAddress: String!) { hasNextPage } nodes { - ...DeploymentIndexerFields + ...indexerDeploymentFields deployment { id project { @@ -110,9 +110,9 @@ query GetDeploymentIndexersByIndexer($indexerAddress: String!) { } query GetDeploymentIndexersDeploymentByIndexer($indexerAddress: String!) { - deploymentIndexers(filter: { indexerId: { equalTo: $indexerAddress } }) { + indexerDeployments(filter: { indexerId: { equalTo: $indexerAddress } }) { nodes { - ...DeploymentIndexerNodeFields + ...IndexerDeploymentNodeFields } } } diff --git a/packages/network-query/queries/network/plans.gql b/packages/network-query/queries/network/plans.gql index cca75bf5..8c372ee4 100644 --- a/packages/network-query/queries/network/plans.gql +++ b/packages/network-query/queries/network/plans.gql @@ -84,7 +84,7 @@ query GetPlans($address: String!) { } query GetSpecificPlans($address: String) { - deploymentIndexers(filter: { indexerId: { equalTo: $address } }) { + indexerDeployments(filter: { indexerId: { equalTo: $address } }) { totalCount nodes { deployment { From 79b8674e4b217bbe94c2cce758ab8154cf831031 Mon Sep 17 00:00:00 2001 From: mzxyz <8177474+mzxyz@users.noreply.github.com> Date: Fri, 27 Oct 2023 15:06:33 +1300 Subject: [PATCH 3/9] Update project query --- packages/network-query/queries/network/offers.gql | 1 + packages/network-query/queries/network/project.gql | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/network-query/queries/network/offers.gql b/packages/network-query/queries/network/offers.gql index 76305fce..530227cf 100644 --- a/packages/network-query/queries/network/offers.gql +++ b/packages/network-query/queries/network/offers.gql @@ -20,6 +20,7 @@ fragment OfferFields on Offer { } deposit minimumAcceptHeight + minimumStakingAmount expireDate limit # indexer cap accepted # accepted indexer amount diff --git a/packages/network-query/queries/network/project.gql b/packages/network-query/queries/network/project.gql index eb62bb18..62decff6 100644 --- a/packages/network-query/queries/network/project.gql +++ b/packages/network-query/queries/network/project.gql @@ -5,8 +5,8 @@ fragment ProjectFields on Project { id owner metadata - currentVersion - currentDeployment + deploymentMetadata + deploymentId updatedTimestamp createdTimestamp deployments { From aab2e7c93d6823fb7743f0ba92d78af62145d514 Mon Sep 17 00:00:00 2001 From: mzxyz <8177474+mzxyz@users.noreply.github.com> Date: Mon, 30 Oct 2023 11:41:43 +1300 Subject: [PATCH 4/9] Further updates --- packages/network-clients/src/clients/contractClient.ts | 4 ++-- packages/network-query/queries/network/project.gql | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/network-clients/src/clients/contractClient.ts b/packages/network-clients/src/clients/contractClient.ts index 5567a5dd..5dac07a7 100644 --- a/packages/network-clients/src/clients/contractClient.ts +++ b/packages/network-clients/src/clients/contractClient.ts @@ -42,7 +42,7 @@ export class ContractClient { public async dailyRewardCap(indexer: string): Promise { if (!utils.isAddress(indexer)) throw new Error(`Invalid address: ${indexer}`); - const threshold = await this._sdk.serviceAgreementRegistry.threshold(); + const threshold = await this._sdk.serviceAgreementExtra.threshold(); const totalStakingAmount = await this._sdk.stakingManager.getTotalStakingAmount(indexer); if (!threshold || threshold.eq(0)) return BigNumber.from(0); @@ -54,7 +54,7 @@ export class ContractClient { if (!utils.isAddress(indexer)) throw new Error(`Invalid address: ${indexer}`); const dailyRewardCap = await this.dailyRewardCap(indexer); - const sumDailyReward = await this._sdk.serviceAgreementRegistry.sumDailyReward(indexer); + const sumDailyReward = await this._sdk.serviceAgreementExtra.sumDailyReward(indexer); return dailyRewardCap.gt(sumDailyReward) ? dailyRewardCap.sub(sumDailyReward) diff --git a/packages/network-query/queries/network/project.gql b/packages/network-query/queries/network/project.gql index 62decff6..d5616047 100644 --- a/packages/network-query/queries/network/project.gql +++ b/packages/network-query/queries/network/project.gql @@ -78,7 +78,7 @@ query GetProjectDeployments($projectId: String!) { totalCount nodes { id - version + metadata createdTimestamp } } From 0b8ed51c7b1f0801931666cc0c66c6b1816f38bf Mon Sep 17 00:00:00 2001 From: mzxyz <8177474+mzxyz@users.noreply.github.com> Date: Mon, 30 Oct 2023 14:14:40 +1300 Subject: [PATCH 5/9] Ignore deployment ts error --- packages/network-config/src/config.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/network-config/src/config.ts b/packages/network-config/src/config.ts index 77fbc69b..6fbab4a3 100644 --- a/packages/network-config/src/config.ts +++ b/packages/network-config/src/config.ts @@ -5,8 +5,8 @@ import { GQLEndpoint, IPFS_URLS, RPC_ENDPOINTS, SQNetworks, gqlEndpoints } from import { SdkOptions } from '@subql/contract-sdk/types'; -import mainnetDeploymentDetails from '@subql/contract-sdk/publish/mainnet.json'; import keplerDeploymentDetails from '@subql/contract-sdk/publish/kepler.json'; +import mainnetDeploymentDetails from '@subql/contract-sdk/publish/mainnet.json'; import testnetDeploymentDetails from '@subql/contract-sdk/publish/testnet.json'; export interface NetworkConfig { @@ -26,6 +26,8 @@ export const NETWORK_CONFIGS: Record = { }, [SQNetworks.KEPLER]: { defaultEndpoint: RPC_ENDPOINTS.kepler, + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore sdkOptions: { network: 'kepler', deploymentDetails: keplerDeploymentDetails }, gql: gqlEndpoints(SQNetworks.KEPLER), }, From da453caef7c9df27cc27fd98ed40c372f70ee48a Mon Sep 17 00:00:00 2001 From: mzxyz <8177474+mzxyz@users.noreply.github.com> Date: Mon, 30 Oct 2023 14:40:17 +1300 Subject: [PATCH 6/9] Try use the staging endpoint --- packages/network-config/src/constants.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/network-config/src/constants.ts b/packages/network-config/src/constants.ts index 591d5170..1858d9cb 100644 --- a/packages/network-config/src/constants.ts +++ b/packages/network-config/src/constants.ts @@ -26,7 +26,8 @@ export const RPC_ENDPOINTS = { export const NETWORK_SUBQL_ENDPOINTS = { [SQNetworks.MAINNET]: 'https://api.subquery.network/sq/subquery/kepler-network', [SQNetworks.KEPLER]: 'https://api.subquery.network/sq/subquery/kepler-network', - [SQNetworks.TESTNET]: 'https://api.subquery.network/sq/subquery/kepler-testnet', + // TODO: change back to testnet-prod endpoint + [SQNetworks.TESTNET]: 'https://api.subquery.network/sq/subquery/kepler-testnet__c3Vic', }; export const LEADERBOARD_SUBQL_ENDPOINTS = { From 3603857802d66d2d80ab5ddf0385d038d7d219d1 Mon Sep 17 00:00:00 2001 From: mzxyz <8177474+mzxyz@users.noreply.github.com> Date: Tue, 31 Oct 2023 21:13:53 +1300 Subject: [PATCH 7/9] Fix schema issue in the gql queries --- packages/network-query/queries/network/agreements.gql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/network-query/queries/network/agreements.gql b/packages/network-query/queries/network/agreements.gql index ac1f6be8..a9af3996 100644 --- a/packages/network-query/queries/network/agreements.gql +++ b/packages/network-query/queries/network/agreements.gql @@ -12,7 +12,7 @@ fragment ServiceAgreementFields on ServiceAgreement { endTime deployment { id - version + metadata project { id metadata From 011edc3ddb75e667271c0dc85c619b2a5a5a138e Mon Sep 17 00:00:00 2001 From: mzxyz <8177474+mzxyz@users.noreply.github.com> Date: Tue, 31 Oct 2023 21:16:32 +1300 Subject: [PATCH 8/9] Fix the final build issue --- packages/network-query/queries/network/deployments.gql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/network-query/queries/network/deployments.gql b/packages/network-query/queries/network/deployments.gql index 2bdc7217..8618df68 100644 --- a/packages/network-query/queries/network/deployments.gql +++ b/packages/network-query/queries/network/deployments.gql @@ -40,7 +40,7 @@ query GetDeploymentIndexers( $deploymentId: String! $orderby: [IndexerDeploymentsOrderBy!] = LAST_EVENT_ASC ) { - deploymentIndexers( + indexerDeployments( first: $first offset: $offset orderBy: $orderby From 94683ed8df9d03e7a324b67178b8c4fc88a92e0a Mon Sep 17 00:00:00 2001 From: mzxyz <8177474+mzxyz@users.noreply.github.com> Date: Wed, 1 Nov 2023 12:06:29 +1300 Subject: [PATCH 9/9] Fix query client test --- test/queryClient.test.ts | 73 ++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 36 deletions(-) diff --git a/test/queryClient.test.ts b/test/queryClient.test.ts index 3b7e1616..95ca1484 100644 --- a/test/queryClient.test.ts +++ b/test/queryClient.test.ts @@ -3,51 +3,52 @@ import { ApolloClient } from '@apollo/client/core'; import assert from 'assert'; +import { constants } from 'ethers'; import { GraphqlQueryClient, NETWORK_CONFIGS } from '../packages/network-clients/src'; import { + GetAcceptedOffers, + GetAggregatesEraRewards, + GetAggregatesEraRewardsByIndexer, + GetAirdrops, + GetAirdropsByAccount, + GetAllDelegations, + GetAllOpenOffers, + GetConsumerClosedFlexPlans, + GetConsumerOngoingFlexPlans, + GetDashboard, GetDelegation, - GetIndexer, - GetIndexers, GetDelegator, - GetIndexerDelegators, - GetExpiredServiceAgreements, - GetOngoingServiceAgreements, - GetProjectOngoingServiceAgreements, - GetAcceptedOffers, GetDeployment, GetDeploymentIndexers, - GetAllDelegations, - GetFilteredDelegations, GetDeploymentIndexersByIndexer, - GetAllOpenOffers, + GetDeploymentPlans, + GetEraQuery, + GetEraRewardsByIndexerAndPage, + GetExpiredServiceAgreements, + GetFilteredDelegations, + GetIndexer, + GetIndexerClosedFlexPlans, + GetIndexerDelegators, + GetIndexerOngoingFlexPlans, + GetIndexerRewards, + GetIndexerStakesByEras, + GetIndexerStakesByIndexer, + GetIndexerUnfinalisedPlans, + GetIndexers, + GetOngoingServiceAgreements, + GetOrders, GetOwnExpiredOffers, GetOwnOpenOffers, - GetSpecificOpenOffers, - GetDeploymentPlans, GetPlanTemplates, GetPlans, GetProject, GetProjectDeployments, + GetProjectOngoingServiceAgreements, GetProjects, - GetIndexerRewards, GetRewards, - GetWithdrawls, + GetSpecificOpenOffers, GetStateChannels, - GetConsumerOngoingFlexPlans, - GetConsumerClosedFlexPlans, - GetIndexerOngoingFlexPlans, - GetIndexerUnfinalisedPlans, - GetIndexerClosedFlexPlans, - GetDashboard, - GetIndexerStakesByIndexer, - GetIndexerStakesByEras, - GetAggregatesEraRewards, - GetAggregatesEraRewardsByIndexer, - GetEraRewardsByIndexerAndPage, - GetOrders, - GetAirdrops, - GetAirdropsByAccount, - GetEraQuery, + GetWithdrawls, } from '../packages/network-query'; function deepAssert(obj: any) { @@ -64,8 +65,8 @@ describe('query client', () => { const address1 = '0xCef192586b70e3Fc2FAD76Dd1D77983a30d38D04'; const address2 = '0xa40987037547C2cc5df0b06fFe52B7FdCCB7D4FC'; const address3 = '0xf9e4E6307a3186991F153249294815228D3a4634'; - const projectId = 'QmZGAZQ7e1oZgfuK4V29Fa5gveYK3G2zEwvUzTZKNvSBsm'; - const projectId2 = 'QmPemHcmAJ6BRyV13FN91miLCHNtqXLLacsqYjSaTmbFmr'; + const projectId = 'QmNYsNZvM9XZuzkF3n6XcqFVxvMLfWYtEQHzszMFfNCkgt'; + const projectId2 = 'QmZGAZQ7e1oZgfuK4V29Fa5gveYK3G2zEwvUzTZKNvSBsm'; const consumer = '0xD5d48b83389150FFaa0B897ffC88817622abce58'; const pId = '0x01'; @@ -187,7 +188,7 @@ describe('query client', () => { variables: { indexerAddress: address3 }, }); assert(result, 'cannot request query GET_DEPLOYMENT_INDEXERS_WITH_INDEXER'); - expect(result.data.deploymentIndexers).toBeTruthy(); + expect(result.data.indexerDeployments).toBeTruthy(); }); it('can query get accepted offer', async () => { @@ -484,7 +485,7 @@ describe('query client', () => { const result = await client.query({ query: GetOrders, variables: { - swapFrom: '0x0000', + swapFrom: constants.AddressZero, now: new Date(), }, }); @@ -504,7 +505,7 @@ describe('query client', () => { const result = await client.query({ query: GetAirdropsByAccount, variables: { - account: '0x000000', + account: constants.AddressZero, }, }); @@ -515,7 +516,7 @@ describe('query client', () => { const result = await client.query({ query: GetAirdropsByAccount, variables: { - account: '0x000000', + account: constants.AddressZero, }, }); @@ -526,7 +527,7 @@ describe('query client', () => { const result = await client.query({ query: GetEraQuery, variables: { - account: '0x000000', + account: constants.AddressZero, }, });