Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ yarn-error.log*
# vercel
.vercel

/prisma/seeds/prices.csv
/prisma-local/seeds/prices.csv
redis/dump.rdb
prisma/seeds/productionTxs.csv
prisma-local/seeds/productionTxs.csv
paybutton-config.json

dump.sql*
5 changes: 1 addition & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"@emotion/react": "^11.8.2",
"@emotion/styled": "^11.8.1",
"@paybutton/react": "latest",
"@prisma/client": "^6.3.1",
"@prisma/client": "^6.14.0",
"@types/cors": "^2.8.10",
"@types/express": "^4.17.11",
"@types/helmet": "^4.0.0",
Expand Down Expand Up @@ -102,8 +102,5 @@
"*.ts?(x)": [
"yarn eslint --fix"
]
},
"prisma": {
"seed": "ts-node --compiler-options {\"module\":\"CommonJS\"} -r tsconfig-paths/register prisma/seed.ts"
}
}
File renamed without changes.
2 changes: 1 addition & 1 deletion prisma/mockedClient.ts → prisma-local/mockedClient.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { PrismaClient } from '@prisma/client'
import { mockDeep, mockReset, DeepMockProxy } from 'jest-mock-extended'

import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'

jest.mock('./clientInstance', () => ({
__esModule: true,
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
4,330 changes: 4,330 additions & 0 deletions prisma-local/seeds/prices.csv

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion prisma/seeds/prices.ts → prisma-local/seeds/prices.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export interface PriceFileData extends KeyValueT<string> {

const writeFile = promisify(fs.writeFile)

export const PATH_PRICE_CSV_FILE = path.join('prisma', 'seeds', 'prices.csv')
export const PATH_PRICE_CSV_FILE = path.join('prisma-local', 'seeds', 'prices.csv')

async function writePricesToFile (content: PriceFileData[]): Promise<void> {
const headers = ['ticker', 'date', 'priceInCAD', 'priceInUSD']
Expand Down
131,469 changes: 131,469 additions & 0 deletions prisma-local/seeds/productionTxs.csv

Large diffs are not rendered by default.

File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { promisify } from 'util'
const writeFile = promisify(fs.writeFile)
const appendFile = promisify(fs.appendFile)

export const PATH_TXS_CSV_FILE = path.join('prisma', 'seeds', 'productionTxs.csv')
export const PATH_TXS_CSV_FILE = path.join('prisma-local', 'seeds', 'productionTxs.csv')

export async function appendTxsToFile (content: Prisma.TransactionCreateManyInput[]): Promise<void> {
if (!await fileExists(fs, PATH_TXS_CSV_FILE)) {
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
9 changes: 9 additions & 0 deletions prisma.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import path from 'node:path'
import { defineConfig } from 'prisma/config'

export default defineConfig({
schema: path.join('prisma-local', 'schema.prisma'),
migrations: {
seed: 'ts-node --compiler-options {"module":"CommonJS"} -r tsconfig-paths/register prisma-local/seed.ts'
}
})
2 changes: 1 addition & 1 deletion scripts/updateAllPriceConnections.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { flattenTimestamp } from '../services/priceService'
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import { connectTransactionsListToPrices } from 'services/transactionService'
import { Transaction } from '@prisma/client'
import moment from 'moment'
Expand Down
2 changes: 1 addition & 1 deletion services/addressService.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Prisma, Address } from '@prisma/client'
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import { RESPONSE_MESSAGES } from 'constants/index'
import { fetchAddressTransactions } from 'services/transactionService'
import { getNetworkFromSlug } from 'services/networkService'
Expand Down
2 changes: 1 addition & 1 deletion services/addressesOnUserProfileService.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import { type Wallet } from '@prisma/client'
import { RESPONSE_MESSAGES } from 'constants/index'

Expand Down
4 changes: 2 additions & 2 deletions services/chronikService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { BlockInfo, ChronikClient, ConnectionStrategy, ScriptUtxo, Tx, WsConfig,
import { encodeCashAddress, decodeCashAddress } from 'ecashaddrjs'
import { AddressWithTransaction, BlockchainInfo, TransactionDetails, ProcessedMessages, SubbedAddressesLog, SyncAndSubscriptionReturn, SubscriptionReturn, SimpleBlockInfo } from 'types/chronikTypes'
import { CHRONIK_MESSAGE_CACHE_DELAY, RESPONSE_MESSAGES, XEC_TIMESTAMP_THRESHOLD, XEC_NETWORK_ID, BCH_NETWORK_ID, BCH_TIMESTAMP_THRESHOLD, FETCH_DELAY, FETCH_N, KeyValueT, NETWORK_IDS_FROM_SLUGS, SOCKET_MESSAGES, NETWORK_IDS, NETWORK_TICKERS, MainNetworkSlugsType, MAX_MEMPOOL_TXS_TO_PROCESS_AT_A_TIME, MEMPOOL_PROCESS_DELAY, CHRONIK_INITIALIZATION_DELAY, LATENCY_TEST_CHECK_DELAY } from 'constants/index'
import { productionAddresses } from 'prisma/seeds/addresses'
import { productionAddresses } from 'prisma-local/seeds/addresses'
import {
TransactionWithAddressAndPrices,
createManyTransactions,
Expand All @@ -24,7 +24,7 @@ import io, { Socket } from 'socket.io-client'
import moment from 'moment'
import { OpReturnData, parseError, parseOpReturnData } from 'utils/validators'
import { executeAddressTriggers } from './triggerService'
import { appendTxsToFile } from 'prisma/seeds/transactions'
import { appendTxsToFile } from 'prisma-local/seeds/transactions'
import { PHASE_PRODUCTION_BUILD } from 'next/dist/shared/lib/constants'
import { syncPastDaysNewerPrices } from './priceService'
import { AddressType } from 'ecashaddrjs/dist/types'
Expand Down
2 changes: 1 addition & 1 deletion services/invoiceService.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Decimal } from '@prisma/client/runtime/library'
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import { Invoice, Prisma } from '@prisma/client'
import { RESPONSE_MESSAGES } from 'constants/index'

Expand Down
2 changes: 1 addition & 1 deletion services/networkService.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Network, Prisma } from '@prisma/client'
import { RESPONSE_MESSAGES, NETWORK_SLUGS, NETWORK_IDS } from 'constants/index'
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import { fetchAllUserAddresses } from 'services/addressService'
import config from 'config'
import { multiBlockchainClient } from './chronikService'
Expand Down
2 changes: 1 addition & 1 deletion services/organizationService.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Organization, OrganizationInvite, UserProfile } from '@prisma/client'
import config from 'config'
import { RESPONSE_MESSAGES } from 'constants/index'
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import { CreateOrganizationInput, UpdateOrganizationInput } from 'utils/validators'

export async function createOrganization ({ creatorId, name }: CreateOrganizationInput): Promise<Organization> {
Expand Down
2 changes: 1 addition & 1 deletion services/paybuttonService.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as addressService from 'services/addressService'
import { Prisma } from '@prisma/client'
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import { RESPONSE_MESSAGES, NETWORK_IDS_FROM_SLUGS, BLOCKED_ADDRESSES } from 'constants/index'
import { connectAddressToUser, disconnectAddressFromUser, fetchAddressWallet } from 'services/addressesOnUserProfileService'
import { fetchUserDefaultWalletForNetwork } from './walletService'
Expand Down
2 changes: 1 addition & 1 deletion services/priceService.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import axios from 'axios'
import { Prisma, Price } from '@prisma/client'
import config from 'config'
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import { HUMAN_READABLE_DATE_FORMAT, PRICE_API_TIMEOUT, PRICE_API_MAX_RETRIES, PRICE_API_DATE_FORMAT, RESPONSE_MESSAGES, NETWORK_TICKERS, XEC_NETWORK_ID, BCH_NETWORK_ID, USD_QUOTE_ID, CAD_QUOTE_ID, N_OF_QUOTES } from 'constants/index'
import { validatePriceAPIUrlAndToken, validateNetworkTicker } from 'utils/validators'
import moment from 'moment'
Expand Down
2 changes: 1 addition & 1 deletion services/sideshiftService.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import { SideshiftShiftRes } from 'ws-service/types'

export async function createSideshiftShift (shiftRes: SideshiftShiftRes): Promise<void> {
Expand Down
2 changes: 1 addition & 1 deletion services/transactionService.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import { Prisma, Transaction } from '@prisma/client'
import { RESPONSE_MESSAGES, USD_QUOTE_ID, CAD_QUOTE_ID, N_OF_QUOTES, UPSERT_TRANSACTION_PRICES_ON_DB_TIMEOUT, SupportedQuotesType, NETWORK_IDS } from 'constants/index'
import { fetchAddressBySubstring, fetchAddressById, fetchAddressesByPaybuttonId, addressExists } from 'services/addressService'
Expand Down
2 changes: 1 addition & 1 deletion services/triggerService.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { PaybuttonTrigger, Prisma, UserProfile } from '@prisma/client'
import axios from 'axios'
import { RESPONSE_MESSAGES, NETWORK_TICKERS_FROM_ID, SUPPORTED_QUOTES_FROM_ID } from 'constants/index'
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import { EMPTY_OP_RETURN, OpReturnData, parseTriggerPostData } from 'utils/validators'
import { BroadcastTxData } from 'ws-service/types'
import { fetchPaybuttonById, fetchPaybuttonWithTriggers } from './paybuttonService'
Expand Down
2 changes: 1 addition & 1 deletion services/userService.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { UserProfile } from '@prisma/client'
import supertokensNode from 'supertokens-node'
import { RESPONSE_MESSAGES } from 'constants/index'
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import crypto from 'crypto'

export async function fetchUserProfileFromId (id: string): Promise<UserProfile> {
Expand Down
2 changes: 1 addition & 1 deletion services/walletService.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Prisma, type WalletsOnUserProfile, type Wallet } from '@prisma/client'
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import { connectAddressToUser } from 'services/addressesOnUserProfileService'
import { RESPONSE_MESSAGES, XEC_NETWORK_ID, BCH_NETWORK_ID } from 'constants/index'
import { CacheGet } from 'redis/index'
Expand Down
4 changes: 2 additions & 2 deletions tests/unittests/addressService.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import { Prisma } from '@prisma/client'
import * as addressService from 'services/addressService'
import { prismaMock } from 'prisma/mockedClient'
import { prismaMock } from 'prisma-local/mockedClient'
import { mockedBCHAddress, mockedNetwork, mockedTransactionList, mockedAddressesOnButtons, mockedAddressIdList } from '../mockedObjects'
import { RESPONSE_MESSAGES } from 'constants/index'

Expand Down
4 changes: 2 additions & 2 deletions tests/unittests/chronikService.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,11 @@ jest.mock('../../services/triggerService', () => ({
executeAddressTriggers: jest.fn()
}))

jest.mock('../../prisma/seeds/transactions', () => ({
jest.mock('../../prisma-local/seeds/transactions', () => ({
appendTxsToFile: jest.fn()
}))

jest.mock('../../prisma/seeds/addresses', () => ({
jest.mock('../../prisma-local/seeds/addresses', () => ({
productionAddresses: []
}))

Expand Down
6 changes: 3 additions & 3 deletions tests/unittests/networkService.test.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import * as networkService from 'services/networkService'
import prisma from 'prisma/clientInstance'
import { prismaMock } from 'prisma/mockedClient'
import prisma from 'prisma-local/clientInstance'
import { prismaMock } from 'prisma-local/mockedClient'
import { mockedBCHAddress, mockedXECAddress } from '../mockedObjects'
import { networks } from 'prisma/seeds/networks'
import { networks } from 'prisma-local/seeds/networks'
import { NETWORK_IDS } from 'constants/index'

const mainNetworkIds = Object.values(NETWORK_IDS)
Expand Down
4 changes: 2 additions & 2 deletions tests/unittests/paybuttonService.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import * as paybuttonService from 'services/paybuttonService'
import { prismaMock } from 'prisma/mockedClient'
import { prismaMock } from 'prisma-local/mockedClient'
import { mockedPaybutton, mockedPaybuttonList, mockedNetwork, mockedWalletsOnUserProfile, mockedXECAddress } from '../mockedObjects'

describe('Fetch services', () => {
Expand Down
4 changes: 2 additions & 2 deletions tests/unittests/priceService.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as priceService from 'services/priceService'
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import { Prisma } from '@prisma/client'
import { prismaMock } from 'prisma/mockedClient'
import { prismaMock } from 'prisma-local/mockedClient'
import { mockedUSDPrice, mockedCADPrice } from 'tests/mockedObjects'

describe('Fetch services', () => {
Expand Down
4 changes: 2 additions & 2 deletions tests/unittests/transactionService.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import * as transactionService from 'services/transactionService'
import { prismaMock } from 'prisma/mockedClient'
import { prismaMock } from 'prisma-local/mockedClient'
import { mockedBCHAddress, mockedUSDPriceOnTransaction, mockedCADPriceOnTransaction, mockedTransaction, mockedUserProfile, mockedAddressIdList, mockedTransactionList } from '../mockedObjects'
import { CacheSet } from 'redis/index'
import { Prisma } from '@prisma/client'
Expand Down
4 changes: 2 additions & 2 deletions tests/unittests/userService.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as userService from 'services/userService'
import prisma from 'prisma/clientInstance'
import { prismaMock } from 'prisma/mockedClient'
import prisma from 'prisma-local/clientInstance'
import { prismaMock } from 'prisma-local/mockedClient'
import { mockedUserProfile, mockedUserProfileWithPublicKey } from 'tests/mockedObjects'

describe('seedHash is deterministic', () => {
Expand Down
4 changes: 2 additions & 2 deletions tests/unittests/walletService.test.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import { Prisma, Paybutton, Address } from '@prisma/client'
import * as walletService from 'services/walletService'
import * as addressService from 'services/addressService'
import { prismaMock } from 'prisma/mockedClient'
import { prismaMock } from 'prisma-local/mockedClient'
import { RESPONSE_MESSAGES, XEC_NETWORK_ID, BCH_NETWORK_ID } from 'constants/index'
import {
mockedWallet,
Expand Down
2 changes: 1 addition & 1 deletion tests/utils.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as httpMocks from 'node-mocks-http'
import prisma from 'prisma/clientInstance'
import prisma from 'prisma-local/clientInstance'
import { createPaybutton, CreatePaybuttonReturn } from 'services/paybuttonService'
import { createWallet, WalletWithAddressesWithPaybuttons } from 'services/walletService'
import { upsertCurrentPricesForNetworkId } from 'services/priceService'
Expand Down
Loading