Skip to content

Commit

Permalink
feat: add testnet cfg (#53)
Browse files Browse the repository at this point in the history
* feat: add testnet cfg

* fix: subgraph url

* fix: revert saas changes

---------

Co-authored-by: Moritz Kirstein <[email protected]>
  • Loading branch information
oceanByte and moritzkirstein authored Jun 26, 2024
1 parent 56ff5a7 commit 0809419
Show file tree
Hide file tree
Showing 12 changed files with 124 additions and 50 deletions.
16 changes: 13 additions & 3 deletions app.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ module.exports = {
// const { appConfig } = useMarketMetadata()
// return appConfig.metadataCacheUri
metadataCacheUri:
process.env.NEXT_PUBLIC_METADATACACHE_URI ||
'https://aquarius510.v4.delta-dao.com',
process.env.NEXT_PUBLIC_METADATACACHE_URI || 'https://aquarius.pontus-x.eu',

complianceUri:
process.env.NEXT_PUBLIC_COMPLIANCE_URI ||
Expand Down Expand Up @@ -95,5 +94,16 @@ module.exports = {
},

// Display alert banner for the developer preview deployment
showPreviewAlert: process.env.NEXT_PUBLIC_SHOW_PREVIEW_ALERT || 'false'
showPreviewAlert: process.env.NEXT_PUBLIC_SHOW_PREVIEW_ALERT || 'false',

networkAlertConfig: {
// Refresh interval for network status - 30 sec
refreshInterval: 30000,
// Margin of error for block count (how much difference between min / max block numbers before showing an alert)
errorMargin: 10,
// Map chainIds to their respective status endpoints
statusEndpoints: {
100: 'https://status.genx.delta-dao.com/api/check-blocks'
}
}
}
55 changes: 32 additions & 23 deletions chains.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
const chains = [
{
chainId: 100,
isDefault: true,
isDefault: false,
isCustom: true,
network: 'genx',
metadataCacheUri: 'https://aquarius510.v4.delta-dao.com',
Expand Down Expand Up @@ -37,38 +37,47 @@ const chains = [
chainId: 32456,
isDefault: false,
isCustom: true,
network: 'pontusx',
metadataCacheUri: 'https://aquarius.dev.pontus-x.eu',
nodeUri: 'https://rpc.dev.pontus-x.eu',
providerUri: 'https://provider.dev.pontus-x.eu',
subgraphUri: 'https://subgraph.dev.pontus-x.eu',
explorerUri: 'https://explorer.pontus-x.eu',
oceanTokenAddress: '0xdF171F74a8d3f4e2A789A566Dce9Fa4945196112',
network: 'pontusx-devnet',
oceanTokenSymbol: 'OCEAN',
oceanTokenAddress: '0xdF171F74a8d3f4e2A789A566Dce9Fa4945196112',
nftFactoryAddress: '0xFdC4a5DEaCDfc6D82F66e894539461a269900E13',
fixedRateExchangeAddress: '0x8372715D834d286c9aECE1AcD51Da5755B32D505',
dispenserAddress: '0x5461b629E01f72E0A468931A36e039Eea394f9eA',
opfCommunityFeeCollector: '0x1f84fB438292269219f9396D57431eA9257C23d4',
startBlock: 57428,
transactionBlockTimeout: 50,
transactionConfirmationBlocks: 1,
transactionPollingTimeout: 750,
gasFeeMultiplier: 1.1,
nftFactoryAddress: '0xFdC4a5DEaCDfc6D82F66e894539461a269900E13',
opfCommunityFeeCollector: '0x1f84fB438292269219f9396D57431eA9257C23d4',
veAllocate: '0x3fa1d5AC45ab1Ff9CFAe227c5583Ec0484b54Ef9',
veOCEAN: '0x061955B6980A34fce74b235f90DBe20d76f087b1',
veDelegation: '0x96E3aE4247a01C3d40a261df1F8ead70E32E7C0c',
veFeeDistributor: '0x35F1e6765750E874EB9d0675393A1A394A4749b4',
veDelegationProxy: '0x51B1b14b8bfb43a2fB0b49843787Ca440200F6b7',
DFRewards: '0x6BB265D6c08b7E7432dF9B3D3499beEAA9856232',
DFStrategyV1: '0x98FBBB6523441b960E4D1d9A98601332092F4aB6',
veFeeEstimate: '0xCFeF55c6ae4d250586e293f29832967a04A9087d',
providerAddress: '0x68C24FA5b2319C81b34f248d1f928601D2E5246B'
providerUri: 'https://provider.dev.pontus-x.eu',
providerAddress: '0x68C24FA5b2319C81b34f248d1f928601D2E5246B',
metadataCacheUri: 'https://aquarius.pontus-x.eu',
nodeUri: 'https://rpc.dev.pontus-x.eu',
subgraphUri: 'https://subgraph.dev.pontus-x.eu',
explorerUri: 'https://explorer.pontus-x.eu/devnet/pontusx'
},
{
chainId: 80001,
isDefault: false,
metadataCacheUri: 'https://aquarius510.v4.delta-dao.com',
providerUri: 'https://provider.dev-v4.mumbai.delta-dao.com'
chainId: 32457,
isDefault: true,
isCustom: true,
network: 'pontusx-testnet',
oceanTokenSymbol: 'OCEAN',
oceanTokenAddress: '0x5B190F9E2E721f8c811E4d584383E3d57b865C69',
nftFactoryAddress: '0x2C4d542ff791890D9290Eec89C9348A4891A6Fd2',
fixedRateExchangeAddress: '0xcE0F39abB6DA2aE4d072DA78FA0A711cBB62764E',
dispenserAddress: '0xaB5B68F88Bc881CAA427007559E9bbF8818026dE',
opfCommunityFeeCollector: '0xACC8d1B2a0007951fb4ed622ACB1C4fcCAbe778D',
startBlock: 82191,
transactionBlockTimeout: 50,
transactionConfirmationBlocks: 1,
transactionPollingTimeout: 750,
gasFeeMultiplier: 1.1,
providerUri: 'https://provider.test.pontus-x.eu',
providerAddress: '0x9546d39CE3E48BC942f0be4AA9652cBe0Aff3592',
metadataCacheUri: 'https://aquarius.pontus-x.eu',
nodeUri: 'https://rpc.test.pontus-x.eu',
subgraphUri: 'https://subgraph.test.pontus-x.eu',
explorerUri: 'https://explorer.pontus-x.eu/testnet/pontusx'
}
]

Expand Down
26 changes: 24 additions & 2 deletions networksMetadata.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ const networksMetadata = [
{
chainId: 32456,
networkId: 32456,
name: 'Pontus-X Testnet',
name: 'Pontus-X Devnet',
chain: 'Pontus-X',
rpc: ['https://rpc.dev.pontus-x.eu'],
faucets: [],
Expand All @@ -38,10 +38,32 @@ const networksMetadata = [
},
infoURL: 'https://docs.pontus-x.eu',
shortName: 'Pontus-X',
explorers: [
{
name: 'Pontus-X Devnet Explorer',
url: 'https://explorer.pontus-x.eu/devnet/pontusx',
standard: ''
}
]
},
{
chainId: 32457,
networkId: 32457,
name: 'Pontus-X Testnet',
chain: 'Pontus-X',
rpc: ['https://rpc.test.pontus-x.eu'],
faucets: [],
nativeCurrency: {
name: 'EUROe',
symbol: 'EUROe',
decimals: 18
},
infoURL: 'https://docs.pontus-x.eu',
shortName: 'Pontus-X',
explorers: [
{
name: 'Pontus-X Testnet Explorer',
url: 'https://explorer.pontus-x.eu',
url: 'https://explorer.pontus-x.eu/testnet/pontusx',
standard: ''
}
]
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"type-check": "tsc --noEmit",
"postinstall": "husky install && npm run copy:address",
"copy:address": "node scripts/copy-addresses.js",
"codegen:apollo": "apollo client:codegen --endpoint=https://v4.subgraph.goerli.oceanprotocol.com/subgraphs/name/oceanprotocol/ocean-subgraph --target typescript --tsFileExtension=d.ts --outputFlat src/@types/subgraph/",
"codegen:apollo": "apollo client:codegen --endpoint=https://subgraph.dev.pontus-x.eu/subgraphs/name/oceanprotocol/ocean-subgraph --target typescript --tsFileExtension=d.ts --outputFlat src/@types/subgraph/",
"storybook": "cross-env NODE_ENV=test start-storybook -p 6006 --quiet",
"storybook:build": "cross-env NODE_ENV=test build-storybook"
},
Expand Down
2 changes: 1 addition & 1 deletion src/@context/MarketMetadata/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ function MarketMetadataProvider({

useEffect(() => {
if (isLoading) return
getApprovedBaseTokens(chain?.id || 100)
getApprovedBaseTokens(chain?.id || 32457)
}, [chain?.id, getApprovedBaseTokens, isLoading])

return (
Expand Down
7 changes: 6 additions & 1 deletion src/@hooks/useNetworkMetadata/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ export function getNetworkType(network: EthereumListsChain): string {
if (
network &&
!network.name?.includes('Testnet') &&
!network.title?.includes('Testnet')
!network.title?.includes('Testnet') &&
!network.name?.includes('Devnet') &&
!network.title?.includes('Devnet')
) {
return NetworkType.Mainnet
} else {
Expand Down Expand Up @@ -47,6 +49,9 @@ export function getNetworkDisplayName(data: EthereumListsChain): string {
displayName = 'GEN-X Testnet'
break
case 32456:
displayName = 'Pontus-X Devnet'
break
case 32457:
displayName = 'Pontus-X Testnet'
break
default:
Expand Down
3 changes: 3 additions & 0 deletions src/@utils/aquarius/_constants.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const DEFAULT_INDEX = 'v510'

export const CHAIN_TO_INDEX_MAP = {}
46 changes: 34 additions & 12 deletions src/@utils/aquarius/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import axios, { CancelToken, AxiosResponse } from 'axios'
import { OrdersData_orders as OrdersData } from '../../@types/subgraph/OrdersData'
import { metadataCacheUri, allowDynamicPricing } from '../../../app.config'
import {
FilterByTypeOptions,

Check warning on line 7 in src/@utils/aquarius/index.ts

View workflow job for this annotation

GitHub Actions / test (ubuntu-latest, 18)

'FilterByTypeOptions' is defined but never used
SortDirectionOptions,
SortTermOptions
} from '../../@types/aquarius/SearchQuery'
Expand All @@ -12,6 +13,7 @@ import addressConfig from '../../../address.config'
import { isValidDid } from '@utils/ddo'
import { Filters } from '@context/Filter'
import { filterSets } from '@components/Search/Filter'
import { CHAIN_TO_INDEX_MAP, DEFAULT_INDEX } from './_constants'

export interface UserSales {
id: string
Expand Down Expand Up @@ -98,6 +100,15 @@ FilterTerm | undefined {
: getFilterTerm('price.type', 'pool')
}

export function getIndexForChainIds(chainIds: number[]): string[] {
const indexes: string[] = []
for (const chainId of chainIds) {
const index = CHAIN_TO_INDEX_MAP[chainId] || DEFAULT_INDEX
indexes.push(index)
}
return indexes
}

export function generateBaseQuery(
baseQueryParams: BaseQueryParams
): SearchQuery {
Expand All @@ -112,23 +123,24 @@ export function generateBaseQuery(
...baseQueryParams.nestedQuery,
filter: [
...(baseQueryParams.filters || []),
baseQueryParams.chainIds
? getFilterTerm('chainId', baseQueryParams.chainIds)
: [],
getFilterTerm('_index', 'v510'),
...(baseQueryParams.ignorePurgatory
? []
: [getFilterTerm('purgatory.state', false)]),
...(baseQueryParams.chainIds
? [getFilterTerm('chainId', baseQueryParams.chainIds)]
: []),
getFilterTerm(
'_index',
getIndexForChainIds(baseQueryParams.chainIds)
),
{
bool: {
must_not: [
!baseQueryParams.ignoreState && getFilterTerm('nft.state', 5),
...(!baseQueryParams.ignoreState
? [getFilterTerm('nft.state', 5)]
: []),
getDynamicPricingMustNot()
]
}
}
],
should: [...getWhitelistShould()]
]
}
}
} as SearchQuery
Expand All @@ -144,8 +156,17 @@ export function generateBaseQuery(
SortDirectionOptions.Descending
}

if (generatedQuery.query?.bool?.should?.length > 0) {
generatedQuery.query.bool.minimum_should_match = 1
// add whitelist filtering
if (getWhitelistShould()?.length > 0) {
const whitelistQuery = {
bool: {
should: [...getWhitelistShould()],
minimum_should_match: 1
}
}
Object.hasOwn(generatedQuery.query.bool, 'must')
? generatedQuery.query.bool.must.push(whitelistQuery)
: (generatedQuery.query.bool.must = [whitelistQuery])
}

return generatedQuery
Expand Down Expand Up @@ -329,6 +350,7 @@ export async function getPublishedAssets(

filters.push(getFilterTerm('nft.state', [0, 4, 5]))
filters.push(getFilterTerm('nft.owner', accountId.toLowerCase()))

parseFilters(filtersList, filterSets).forEach((term) => filters.push(term))

const baseQueryParams = {
Expand Down
5 changes: 4 additions & 1 deletion src/@utils/subgraph.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ const OpcsApprovedTokensQuery = gql`
export const tokenAddressesEUROe = {
100: '0xe974c4894996e012399dedbda0be7314a73bbff1',
137: '0x820802Fa8a99901F52e39acD21177b0BE6EE2974',
32456: '0x8A4826071983655805bF4f29828577Cd6b1aC0cB',
32457: '0xdd0a0278f6BAF167999ccd8Aa6C11A9e2fA37F0a',
80001: '0xA089a21902914C3f3325dBE2334E9B466071E5f1'
}

Expand Down Expand Up @@ -187,7 +189,8 @@ export async function getOpcsApprovedTokens(
...approvedTokens,
{
address: tokenAddressesEUROe[chainId],
decimals: 6,
// TODO: revert once decimals changed to 6 on pontus-x
decimals: chainId === 32456 ? 18 : 6,
name: 'EUROe',
symbol: 'EUROe'
}
Expand Down
2 changes: 1 addition & 1 deletion src/components/Publish/Pricing/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ export default function PricingFields(): ReactElement {

const defaultBaseToken =
approvedBaseTokens?.find((token) =>
token.name.toLowerCase().includes('ocean')
token.name.toLowerCase().includes('euro')
) || approvedBaseTokens?.[0]

const isBaseTokenSet = !!approvedBaseTokens?.find(
Expand Down
2 changes: 1 addition & 1 deletion src/components/Publish/Steps.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export function Steps({

const defaultBaseToken =
approvedBaseTokens?.find((token) =>
token.name.toLowerCase().includes('ocean')
token.name.toLowerCase().includes('euro')
) || approvedBaseTokens?.[0]
const isBaseTokenSet = !!approvedBaseTokens?.find(
(token) => token?.address === values?.pricing?.baseToken?.address
Expand Down
8 changes: 4 additions & 4 deletions src/components/Publish/_constants.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ const computeOptions: ServiceComputeOptions = {
export const initialValues: FormPublishData = {
user: {
stepCurrent: 1,
chainId: 100,
chainId: 32457,
accountId: ''
},
metadata: {
Expand Down Expand Up @@ -84,13 +84,13 @@ export const initialValues: FormPublishData = {
},
services: [
{
files: [{ url: '', type: 'ipfs' }],
files: [{ url: '', type: 'url' }],
links: [{ url: '', type: 'url' }],
dataTokenOptions: { name: '', symbol: '' },
timeout: '',
access: 'access',
providerUrl: {
url: 'https://provider.mainnet.oceanprotocol.com',
url: 'https://provider.test.pontus-x.eu',
valid: true,
custom: false
},
Expand All @@ -102,7 +102,7 @@ export const initialValues: FormPublishData = {
}
],
pricing: {
baseToken: { address: '', name: '', symbol: 'OCEAN', decimals: 18 },
baseToken: { address: '', name: '', symbol: 'EUROe', decimals: 6 },
price: 0,
type: allowFixedPricing === 'true' ? 'fixed' : 'free',
freeAgreement: false
Expand Down

0 comments on commit 0809419

Please sign in to comment.