Skip to content
Draft
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
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ jobs:
NODE3_PRIVATE_KEY: ${{ secrets.NODE3_PRIVATE_KEY }}
IPFS_GATEWAY: http://172.15.0.16:8080/
ARWEAVE_GATEWAY: https://arweave.net/
RPCS: '{ "1": {"rpc": "https://rpc.eth.gateway.fm", "chainId": 1, "network": "mainet", "chunkSize": 100}, "137": {"rpc": "https://polygon.meowrpc.com", "chainId": 137, "network": "polygon", "chunkSize": 100 }, "80001": {"rpc": "https://rpc-mumbai.maticvigil.com","chainId": 80001, "network": "polygon-mumbai", "chunkSize": 100 } }'
RPCS: '{ "8996": {"rpc": "http://127.0.0.1:8545", "chainId": 8996, "network": "development", "chunkSize": 100}}'
DB_URL: 'http://localhost:8108/?apiKey=xyz'
DB_TYPE: 'typesense'
FEE_TOKENS: '{ "1": "0x967da4048cD07aB37855c090aAF366e4ce1b9F48", "137": "0x282d8efCe846A88B159800bd4130ad77443Fa1A1", "80001": "0xd8992Ed72C445c35Cb4A2be468568Ed1079357c8", "56": "0xDCe07662CA8EbC241316a15B611c89711414Dd1a" }'
Expand Down
3 changes: 2 additions & 1 deletion src/test/.env.test
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ ARWEAVE_GATEWAY=https://arweave.net/
NODE1_PRIVATE_KEY=0xcb345bd2b11264d523ddaf383094e2675c420a17511c3102a53817f13474a7ff
NODE2_PRIVATE_KEY=0x3634cc4a3d2694a1186a7ce545f149e022eea103cc254d18d08675104bb4b5ac
INDEXER_INTERVAL=9000
#ADDRESS_FILE=${HOME}/.ocean/ocean-contracts/artifacts/address.json
ADDRESS_FILE=${HOME}/.ocean/ocean-contracts/artifacts/address.json
LOG_LEVEL=debug
DB_TYPE=elasticsearch
ANOTHER_WALLET_PRIVATE_KEY='0xef4b441145c1d0f3b4bc6d61d29f5c6e502359481152f869247c7a4244d45209'
30 changes: 15 additions & 15 deletions src/test/integration/compute.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import type {
ComputeEnvironment
} from '../../@types/C2D.js'
import {
Blockchain,
// DB_TYPES,
ENVIRONMENT_VARIABLES,
EVENTS,
Expand All @@ -42,7 +43,6 @@ import {
} from 'ethers'
import { publishAsset, orderAsset } from '../utils/assets.js'
import { computeAsset, algoAsset } from '../data/assets.js'
import { RPCS } from '../../@types/blockchain.js'
import {
DEFAULT_TEST_TIMEOUT,
OverrideEnvConfig,
Expand All @@ -67,13 +67,13 @@ import {
getAlgoChecksums,
validateAlgoForDataset
} from '../../components/core/compute/utils.js'
import { RPCS } from '../../@types/blockchain.js'

describe('Compute', () => {
let previousConfiguration: OverrideEnvConfig[]
let config: OceanNodeConfig
let dbconn: Database
let oceanNode: OceanNode
let provider: any
let publisherAccount: any
let consumerAccount: any
let computeEnvironments: any
Expand All @@ -85,15 +85,12 @@ describe('Compute', () => {
let providerFeesComputeDataset: ProviderFees
let providerFeesComputeAlgo: ProviderFees
let indexer: OceanIndexer
let blockchain: Blockchain
const now = new Date().getTime() / 1000
const computeJobValidUntil = now + 60 * 15 // 15 minutes from now should be enough
let firstEnv: ComputeEnvironment

const wallet = new ethers.Wallet(
'0xef4b441145c1d0f3b4bc6d61d29f5c6e502359481152f869247c7a4244d45209'
)
// const chainId = DEVELOPMENT_CHAIN_ID
const mockSupportedNetworks: RPCS = getMockSupportedNetworks()
let wallet: ethers.Wallet
const chainId = 8996
// randomly use a set of trusted algos or empty arrays
// should validate if set and match, invalidate otherwise
Expand All @@ -105,23 +102,20 @@ describe('Compute', () => {
let datasetDDO: any

before(async () => {
const mockSupportedNetworks: RPCS = getMockSupportedNetworks()
previousConfiguration = await setupEnvironment(
TEST_ENV_CONFIG_FILE,
buildEnvOverrideConfig(
[
ENVIRONMENT_VARIABLES.RPCS,
ENVIRONMENT_VARIABLES.INDEXER_NETWORKS,
ENVIRONMENT_VARIABLES.PRIVATE_KEY,
ENVIRONMENT_VARIABLES.AUTHORIZED_DECRYPTERS,
ENVIRONMENT_VARIABLES.ADDRESS_FILE,
ENVIRONMENT_VARIABLES.OPERATOR_SERVICE_URL
// ENVIRONMENT_VARIABLES.DB_URL,
// ENVIRONMENT_VARIABLES.DB_TYPE
],
[
JSON.stringify(mockSupportedNetworks),
JSON.stringify([8996]),
'0xc594c6e5def4bab63ac29eed19a134c130388f74f019bc74b8f4389df2837a58',
mockSupportedNetworks,
JSON.stringify(['0xe2DD09d719Da89e5a3D0F2549c7E24566e947260']),
`${homedir}/.ocean/ocean-contracts/artifacts/address.json`,
JSON.stringify(['http://localhost:31000'])
Expand All @@ -130,16 +124,22 @@ describe('Compute', () => {
]
)
)
const rpc: string = 'http://127.0.0.1:8545'
const provider = new JsonRpcProvider(rpc)
wallet = new ethers.Wallet(process.env.ANOTHER_WALLET_PRIVATE_KEY, provider)
config = await getConfiguration(true)
dbconn = await new Database(config.dbConfig)
oceanNode = await OceanNode.getInstance(dbconn)
indexer = new OceanIndexer(dbconn, config.indexingNetworks)
oceanNode.addIndexer(indexer)
oceanNode.addC2DEngines(config)

provider = new JsonRpcProvider('http://127.0.0.1:8545')
publisherAccount = (await provider.getSigner(0)) as Signer
consumerAccount = (await provider.getSigner(1)) as Signer
blockchain = new Blockchain(rpc, 'development', 8996, [
'http://172.0.0.3:8545',
'http://127.0.0.1:8545'
])
publisherAccount = blockchain.getSigner() as Signer
consumerAccount = wallet as Signer

const artifactsAddresses = getOceanArtifactsAdresses()
publisherAddress = await publisherAccount.getAddress()
Expand Down
31 changes: 13 additions & 18 deletions src/test/integration/credentials.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ import {
OverrideEnvConfig,
TEST_ENV_CONFIG_FILE,
buildEnvOverrideConfig,
getMockSupportedNetworks,
setupEnvironment,
tearDownEnvironment
} from '../utils/utils.js'
Expand All @@ -60,7 +59,6 @@ import { deployAccessListContract, getContract } from '../utils/contracts.js'
describe('Should run a complete node flow.', () => {
let config: OceanNodeConfig
let oceanNode: OceanNode
let provider: JsonRpcProvider

let publisherAccount: Signer
let consumerAccounts: Signer[]
Expand All @@ -69,12 +67,10 @@ describe('Should run a complete node flow.', () => {
let ddo: any
let did: string
const orderTxIds: string[] = []

const mockSupportedNetworks: RPCS = getMockSupportedNetworks()
let wallet: ethers.Wallet
let blockchain: Blockchain

let previousConfiguration: OverrideEnvConfig[]

let blockchain: Blockchain
let contractAcessList: Contract
let signer: Signer

Expand All @@ -84,29 +80,26 @@ describe('Should run a complete node flow.', () => {
TEST_ENV_CONFIG_FILE,
buildEnvOverrideConfig(
[
ENVIRONMENT_VARIABLES.RPCS,
ENVIRONMENT_VARIABLES.INDEXER_NETWORKS,
ENVIRONMENT_VARIABLES.PRIVATE_KEY,
ENVIRONMENT_VARIABLES.AUTHORIZED_DECRYPTERS,
ENVIRONMENT_VARIABLES.ALLOWED_ADMINS,
ENVIRONMENT_VARIABLES.ADDRESS_FILE
],
[
JSON.stringify(mockSupportedNetworks),
JSON.stringify([8996]),
'0xc594c6e5def4bab63ac29eed19a134c130388f74f019bc74b8f4389df2837a58',
JSON.stringify(['0xe2DD09d719Da89e5a3D0F2549c7E24566e947260']),
JSON.stringify(['0xe2DD09d719Da89e5a3D0F2549c7E24566e947260']),
`${homedir}/.ocean/ocean-contracts/artifacts/address.json`
]
)
)

const rpc: string = 'http://127.0.0.1:8545'
config = await getConfiguration(true) // Force reload the configuration
const database = await new Database(config.dbConfig)
oceanNode = await OceanNode.getInstance(database)
const indexer = new OceanIndexer(database, config.indexingNetworks)
oceanNode.addIndexer(indexer)
const provider = new JsonRpcProvider(rpc)
wallet = new ethers.Wallet(process.env.ANOTHER_WALLET_PRIVATE_KEY, provider)

const rpcs: RPCS = config.supportedNetworks
const chain: SupportedNetwork = rpcs[String(DEVELOPMENT_CHAIN_ID)]
Expand All @@ -117,13 +110,15 @@ describe('Should run a complete node flow.', () => {
chain.fallbackRPCs
)

provider = new JsonRpcProvider('http://127.0.0.1:8545')

publisherAccount = (await provider.getSigner(0)) as Signer
blockchain = new Blockchain(rpc, 'development', 8996, [
'http://172.0.0.3:8545',
'http://127.0.0.1:8545'
])
publisherAccount = blockchain.getSigner() as Signer
consumerAccounts = [
(await provider.getSigner(1)) as Signer,
(await provider.getSigner(2)) as Signer,
(await provider.getSigner(3)) as Signer
wallet as Signer,
new ethers.Wallet(process.env.NODE1_PRIVATE_KEY) as Signer,
new ethers.Wallet(process.env.NODE2_PRIVATE_KEY) as Signer
]
consumerAddresses = await Promise.all(consumerAccounts.map((a) => a.getAddress()))
})
Expand Down
30 changes: 14 additions & 16 deletions src/test/integration/download.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { expect, assert } from 'chai'
import { JsonRpcProvider, Signer, ethers } from 'ethers'
import { Signer, ethers, JsonRpcProvider } from 'ethers'
import { Database } from '../../components/database/index.js'
import { OceanIndexer } from '../../components/Indexer/index.js'
import { OceanNode } from '../../OceanNode.js'
import { RPCS } from '../../@types/blockchain.js'
import { streamToString, streamToObject } from '../../utils/util.js'
import { expectedTimeoutFailure, waitToIndex } from './testUtils.js'

import {
Blockchain,
ENVIRONMENT_VARIABLES,
EVENTS,
PROTOCOL_COMMANDS,
Expand All @@ -29,7 +29,6 @@ import {
OverrideEnvConfig,
TEST_ENV_CONFIG_FILE,
buildEnvOverrideConfig,
getMockSupportedNetworks,
setupEnvironment,
tearDownEnvironment
} from '../utils/utils.js'
Expand All @@ -48,16 +47,16 @@ describe('Should run a complete node flow.', () => {
let config: OceanNodeConfig
let database: Database
let oceanNode: OceanNode
let provider: JsonRpcProvider
let publisherAccount: Signer
let consumerAccount: Signer
let consumerAddress: string
let orderTxId: string
let publishedDataset: any
let actualDDO: any
let indexer: OceanIndexer
let wallet: ethers.Wallet
let blockchain: Blockchain

const mockSupportedNetworks: RPCS = getMockSupportedNetworks()
const serviceId = '0'

let previousConfiguration: OverrideEnvConfig[]
Expand All @@ -68,17 +67,11 @@ describe('Should run a complete node flow.', () => {
TEST_ENV_CONFIG_FILE,
buildEnvOverrideConfig(
[
ENVIRONMENT_VARIABLES.RPCS,
ENVIRONMENT_VARIABLES.INDEXER_NETWORKS,
ENVIRONMENT_VARIABLES.PRIVATE_KEY,
ENVIRONMENT_VARIABLES.AUTHORIZED_DECRYPTERS,
ENVIRONMENT_VARIABLES.ALLOWED_ADMINS,
ENVIRONMENT_VARIABLES.ADDRESS_FILE
],
[
JSON.stringify(mockSupportedNetworks),
JSON.stringify([8996]),
'0xc594c6e5def4bab63ac29eed19a134c130388f74f019bc74b8f4389df2837a58',
JSON.stringify(['0xe2DD09d719Da89e5a3D0F2549c7E24566e947260']),
JSON.stringify(['0xe2DD09d719Da89e5a3D0F2549c7E24566e947260']),
`${homedir}/.ocean/ocean-contracts/artifacts/address.json`
Expand All @@ -96,11 +89,16 @@ describe('Should run a complete node flow.', () => {
if (!network) {
network = getOceanArtifactsAdresses().development
}

provider = new JsonRpcProvider('http://127.0.0.1:8545')

publisherAccount = (await provider.getSigner(0)) as Signer
consumerAccount = (await provider.getSigner(1)) as Signer
const rpc: string = 'http://127.0.0.1:8545'
const provider = new JsonRpcProvider(rpc)
wallet = new ethers.Wallet(process.env.ANOTHER_WALLET_PRIVATE_KEY, provider)
blockchain = new Blockchain(rpc, 'development', 8996, [
'http://172.0.0.3:8545',
'http://127.0.0.1:8545'
])

publisherAccount = blockchain.getSigner() as Signer
consumerAccount = wallet as Signer
consumerAddress = await consumerAccount.getAddress()
})

Expand Down
40 changes: 15 additions & 25 deletions src/test/integration/encryptDecryptDDO.test.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,4 @@
import {
Contract,
ethers,
getAddress,
hexlify,
JsonRpcProvider,
Signer,
ZeroAddress
} from 'ethers'
import { Contract, ethers, getAddress, hexlify, Signer, ZeroAddress } from 'ethers'
import { assert, expect } from 'chai'
import { getEventFromTx, streamToString } from '../../utils/util.js'
import ERC721Factory from '@oceanprotocol/contracts/artifacts/contracts/ERC721Factory.sol/ERC721Factory.json' assert { type: 'json' }
Expand All @@ -23,6 +15,7 @@ import { encrypt } from '../../utils/crypt.js'
import { Database } from '../../components/database/index.js'
import { DecryptDdoHandler } from '../../components/core/handler/ddoHandler.js'
import {
Blockchain,
ENVIRONMENT_VARIABLES,
getConfiguration,
PROTOCOL_COMMANDS
Expand All @@ -44,7 +37,6 @@ import { OceanIndexer } from '../../components/Indexer/index.js'
describe('Should encrypt and decrypt DDO', () => {
let database: Database
let oceanNode: OceanNode
let provider: JsonRpcProvider
let publisherAccount: Signer
let publisherAddress: string
let factoryContract: Contract
Expand All @@ -57,6 +49,7 @@ describe('Should encrypt and decrypt DDO', () => {
let documentHash: any
let indexer: OceanIndexer
const nonce = Math.floor(Date.now() / 1000).toString()
let blockchain: Blockchain

const chainId = 8996
const mockSupportedNetworks: RPCS = {
Expand All @@ -71,29 +64,26 @@ describe('Should encrypt and decrypt DDO', () => {
let previousConfiguration: OverrideEnvConfig[]

before(async () => {
provider = new JsonRpcProvider('http://127.0.0.1:8545')
publisherAccount = (await provider.getSigner(0)) as Signer
publisherAddress = await publisherAccount.getAddress()
genericAsset = genericDDO
previousConfiguration = await setupEnvironment(
TEST_ENV_CONFIG_FILE,
buildEnvOverrideConfig(
[ENVIRONMENT_VARIABLES.AUTHORIZED_DECRYPTERS, ENVIRONMENT_VARIABLES.ADDRESS_FILE],
[
ENVIRONMENT_VARIABLES.PRIVATE_KEY,
ENVIRONMENT_VARIABLES.RPCS,
ENVIRONMENT_VARIABLES.INDEXER_NETWORKS,
ENVIRONMENT_VARIABLES.AUTHORIZED_DECRYPTERS,
ENVIRONMENT_VARIABLES.ADDRESS_FILE
],
[
'0xc594c6e5def4bab63ac29eed19a134c130388f74f019bc74b8f4389df2837a58',
JSON.stringify(mockSupportedNetworks),
JSON.stringify([8996]),
JSON.stringify([publisherAddress]),
JSON.stringify(['0xe2DD09d719Da89e5a3D0F2549c7E24566e947260']),
`${homedir}/.ocean/ocean-contracts/artifacts/address.json`
]
)
)

const rpc: string = 'http://127.0.0.1:8545'
blockchain = new Blockchain(rpc, 'development', 8996, [
'http://172.0.0.3:8545',
'http://127.0.0.1:8545'
])

publisherAccount = blockchain.getSigner() as Signer
publisherAddress = await publisherAccount.getAddress()
genericAsset = genericDDO
let artifactsAddresses = getOceanArtifactsAdressesByChainId(DEVELOPMENT_CHAIN_ID)
if (!artifactsAddresses) {
artifactsAddresses = getOceanArtifactsAdresses().development
Expand Down
Loading
Loading