diff --git a/migration/1703044586989-addSolanaToken.ts b/migration/1703044586989-addSolanaToken.ts index 65f198329..7ae919879 100644 --- a/migration/1703044586989-addSolanaToken.ts +++ b/migration/1703044586989-addSolanaToken.ts @@ -3,24 +3,22 @@ import { NETWORK_IDS } from '../src/provider'; import { Token } from '../src/entities/token'; import seedTokens from './data/seedTokens'; import { ChainType } from '../src/types/network'; -import { SOLANA_SYSTEM_ADDRESS } from '../src/utils/networks'; +import { SOLANA_SYSTEM_PROGRAM } from '../src/utils/networks'; export class addSolanaToken1703044586989 implements MigrationInterface { public async up(queryRunner: QueryRunner): Promise { await queryRunner.manager.save( Token, - seedTokens - .filter(token => token.chainType === ChainType.SOLANA) - .map(t => { - t.address = t.address; - return t; - }), + seedTokens.filter( + token => + token.address === SOLANA_SYSTEM_PROGRAM && + token.chainType === ChainType.SOLANA, + ), + ); + const tokens = await queryRunner.query( + `SELECT * FROM token WHERE "chainType" = $1 AND "address" = $2`, + [ChainType.SOLANA, SOLANA_SYSTEM_PROGRAM], ); - const tokens = await queryRunner.query(` - SELECT * FROM token - WHERE "chainType" = ${ChainType.SOLANA} - AND "address" = ${SOLANA_SYSTEM_ADDRESS} - `); const givethOrganization = ( await queryRunner.query(`SELECT * FROM organization WHERE label='giveth'`) @@ -29,31 +27,25 @@ export class addSolanaToken1703044586989 implements MigrationInterface { await queryRunner.query(`SELECT * FROM organization WHERE label='trace'`) )[0]; - - for (const token of tokens) { - await queryRunner.query(`INSERT INTO organization_tokens_token ("tokenId","organizationId") VALUES - (${token.id}, ${givethOrganization.id}), - (${token.id}, ${traceOrganization.id}) - ;`); - } + await queryRunner.query( + `INSERT INTO organization_tokens_token ("tokenId", "organizationId") VALUES ($1, $2), ($1, $3)`, + [tokens[0].id, givethOrganization.id, traceOrganization.id], + ); } public async down(queryRunner: QueryRunner): Promise { - const tokens = await queryRunner.query(` - SELECT * FROM token - WHERE "chainType" = ${ChainType.SOLANA} - AND "address" = ${SOLANA_SYSTEM_ADDRESS} - `); + const tokens = await queryRunner.query( + `SELECT * FROM token WHERE "chainType" = $1 AND "address" = $2`, + [ChainType.SOLANA, SOLANA_SYSTEM_PROGRAM], + ); await queryRunner.query( `DELETE FROM organization_tokens_token WHERE "tokenId" IN (${tokens .map(token => token.id) .join(',')})`, ); await queryRunner.query( - ` - DELETE from token - WHERE "networkId" = ${NETWORK_IDS.SOLANA} - `, + `DELETE FROM token WHERE "chainType" = $1 AND "address" = $2`, + [ChainType.SOLANA, SOLANA_SYSTEM_PROGRAM], ); } } diff --git a/migration/data/seedTokens.ts b/migration/data/seedTokens.ts index 8bd285d5f..1e26e26cb 100644 --- a/migration/data/seedTokens.ts +++ b/migration/data/seedTokens.ts @@ -1,7 +1,7 @@ import { COINGECKO_TOKEN_IDS } from '../../src/adapters/price/CoingeckoPriceAdapter'; import { NETWORK_IDS } from '../../src/provider'; import { ChainType } from '../../src/types/network'; -import { SOLANA_SYSTEM_ADDRESS } from '../../src/utils/networks'; +import { SOLANA_SYSTEM_PROGRAM } from '../../src/utils/networks'; interface ITokenData { name: string; @@ -1253,7 +1253,7 @@ const seedTokens: ITokenData[] = [ { name: 'Solana native token', symbol: 'SOL', - address: SOLANA_SYSTEM_ADDRESS, + address: SOLANA_SYSTEM_PROGRAM, decimals: 9, networkId: NETWORK_IDS.SOLANA, chainType: ChainType.SOLANA, diff --git a/src/services/donationService.ts b/src/services/donationService.ts index f8831eb23..dfcc71b40 100644 --- a/src/services/donationService.ts +++ b/src/services/donationService.ts @@ -75,21 +75,21 @@ export const updateDonationPricesAndValues = async ( } else if (token?.cryptoCompareId) { const priceUsd = await new CryptoComparePriceAdapter().getTokenPrice({ symbol: token.cryptoCompareId, - networkId: priceChainId!, + networkId: priceChainId, }); donation.priceUsd = toFixNumber(priceUsd, 4); donation.valueUsd = toFixNumber(donation.amount * priceUsd, 4); } else if (token?.coingeckoId) { const priceUsd = await new CoingeckoPriceAdapter().getTokenPrice({ symbol: token.coingeckoId, - networkId: priceChainId!, + networkId: priceChainId, }); donation.priceUsd = toFixNumber(priceUsd, 4); donation.valueUsd = toFixNumber(donation.amount * priceUsd, 4); } else { const priceUsd = await new MonoswapPriceAdapter().getTokenPrice({ symbol: currency, - networkId: priceChainId!, + networkId: priceChainId, }); if (priceUsd) { diff --git a/src/services/onramper/donationService.ts b/src/services/onramper/donationService.ts index 3c3b6a7bd..b3016da0b 100644 --- a/src/services/onramper/donationService.ts +++ b/src/services/onramper/donationService.ts @@ -19,7 +19,6 @@ import { updateUserTotalDonated, updateUserTotalReceived, } from '../userService'; -import { ChainType } from '../../types/network'; export const createFiatDonationFromOnramper = async ( fiatTransaction: OnRamperFiatTransaction, diff --git a/src/utils/networks.ts b/src/utils/networks.ts index 75445450a..b010ad18d 100644 --- a/src/utils/networks.ts +++ b/src/utils/networks.ts @@ -2,7 +2,7 @@ import { ethers } from 'ethers'; import { ChainType } from '../types/network'; import { PublicKey } from '@solana/web3.js'; -export const SOLANA_SYSTEM_ADDRESS = '11111111111111111111111111111111'; +export const SOLANA_SYSTEM_PROGRAM = '11111111111111111111111111111111'; export const isSolanaAddress = (address: string): boolean => { try {