diff --git a/package-lock.json b/package-lock.json index a9a0ebabe..55031cee0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "giveth-graphql-api", - "version": "1.14.1", + "version": "1.14.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "giveth-graphql-api", - "version": "1.14.1", + "version": "1.14.2", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 5cd6dc691..cc2e7240a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "giveth-graphql-api", - "version": "1.14.1", + "version": "1.14.2", "description": "Backend GraphQL server for Giveth originally forked from Topia", "main": "./dist/index.js", "dependencies": { diff --git a/src/adapters/chainvine/chainvineAdapter.ts b/src/adapters/chainvine/chainvineAdapter.ts index f6a99ed40..271ebc1e5 100644 --- a/src/adapters/chainvine/chainvineAdapter.ts +++ b/src/adapters/chainvine/chainvineAdapter.ts @@ -72,14 +72,17 @@ export class ChainvineAdapter implements ChainvineAdapterInterface { } } - async generateChainvineId(walletAddress: string): Promise { + async generateChainvineId( + walletAddress: string, + ): Promise { try { const chainvineResult = await this.ChainvineSDK.getReferralUrl( walletAddress, ); // https://app.chainvine.xyz/giveth?referrer_id=xxxxxxxxxxxxxxxxxxxxxxxxx - const referralUrl = chainvineResult?.url; - return referralUrl?.split('referrer_id=')[1]; + const referralUrl = new URL(chainvineResult?.url); + const referredId = referralUrl.searchParams.get('referrer_id'); + return referredId; } catch (e) { logger.error('generateChainvineId() error ', { error: e }); throw e; diff --git a/src/adapters/chainvine/chainvineAdapterInterface.ts b/src/adapters/chainvine/chainvineAdapterInterface.ts index 8bcce6868..f7f2a570a 100644 --- a/src/adapters/chainvine/chainvineAdapterInterface.ts +++ b/src/adapters/chainvine/chainvineAdapterInterface.ts @@ -17,5 +17,5 @@ export interface ChainvineAdapterInterface { notifyChainVine(params: NotifyChainVineInputType): Promise; registerClickEvent(referrerId: string): Promise; linkDonorToReferrer(params: LinkDonorToChainvineReferrerType): Promise; - generateChainvineId(walletAddress: string): Promise; + generateChainvineId(walletAddress: string): Promise; } diff --git a/src/adapters/chainvine/chainvineMockAdapter.ts b/src/adapters/chainvine/chainvineMockAdapter.ts index 2e8a326a2..7d9a0468e 100644 --- a/src/adapters/chainvine/chainvineMockAdapter.ts +++ b/src/adapters/chainvine/chainvineMockAdapter.ts @@ -31,7 +31,9 @@ export class ChainvineMockAdapter implements ChainvineAdapterInterface { return Promise.resolve(undefined); } - async generateChainvineId(walletAddress: string): Promise { + async generateChainvineId( + walletAddress: string, + ): Promise { return generateHexNumber(10); } }