1
0
mirror of https://github.com/oceanprotocol/ocean.js.git synced 2024-11-26 20:39:05 +01:00

Merge pull request #23 from oceanprotocol/feature/cleanOceanVersions

Fix versions module
This commit is contained in:
Ahmed 2020-05-26 16:23:47 +02:00 committed by GitHub
commit ba045655f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 33 additions and 42 deletions

View File

@ -33,7 +33,7 @@
}, },
"dependencies": { "dependencies": {
"@ethereum-navigator/navigator": "^0.5.0", "@ethereum-navigator/navigator": "^0.5.0",
"@oceanprotocol/keeper-contracts": "^0.13.2", "@oceanprotocol/ocean-contracts": "^0.0.1",
"@oceanprotocol/secret-store-client": "^0.0.15", "@oceanprotocol/secret-store-client": "^0.0.15",
"bignumber.js": "^9.0.0", "bignumber.js": "^9.0.0",
"deprecated-decorator": "^0.1.6", "deprecated-decorator": "^0.1.6",

View File

@ -20,6 +20,6 @@ export {
OceanPlatformTech, OceanPlatformTech,
OceanPlatformKeeperTech, OceanPlatformKeeperTech,
OceanPlatformVersions OceanPlatformVersions
} from './ocean/OceanVersions' } from './ocean/Versions'
export { Ocean, Account, Config, DID, Logger, Aquarius, DataTokens, utils } export { Ocean, Account, Config, DID, Logger, Aquarius, DataTokens, utils }

View File

@ -5,7 +5,7 @@ import { OceanAuth } from './OceanAuth'
import { Compute } from './Compute' import { Compute } from './Compute'
import { OceanTokens } from './OceanTokens' import { OceanTokens } from './OceanTokens'
import { OceanVersions } from './OceanVersions' import { OceanVersions } from './Versions'
import { OceanUtils } from './utils/OceanUtils' import { OceanUtils } from './utils/OceanUtils'
import { Aquarius } from '../aquarius/Aquarius' import { Aquarius } from '../aquarius/Aquarius'

View File

@ -1,4 +1,4 @@
import * as keeperPackageJson from '@oceanprotocol/keeper-contracts/package.json' import * as OceanPackageJson from '@oceanprotocol/ocean-contracts/package.json'
import * as metadata from '../metadata.json' import * as metadata from '../metadata.json'
import { Instantiable, InstantiableConfig } from '../Instantiable.abstract' import { Instantiable, InstantiableConfig } from '../Instantiable.abstract'
@ -17,16 +17,16 @@ export interface OceanPlatformTech {
status: OceanPlatformTechStatus status: OceanPlatformTechStatus
} }
export interface OceanPlatformKeeperTech extends OceanPlatformTech { export interface OceanPlatformContractsTech extends OceanPlatformTech {
network?: string network?: string
keeperVersion?: string ContractsVersion?: string
contracts?: { [contractName: string]: string } contracts?: { [contractName: string]: string }
} }
export interface OceanPlatformVersions { export interface OceanPlatformVersions {
squid: OceanPlatformKeeperTech lib: OceanPlatformContractsTech
aquarius: OceanPlatformTech metadataStore: OceanPlatformTech
brizo: OceanPlatformKeeperTech provider: OceanPlatformContractsTech
status: { status: {
ok: boolean ok: boolean
contracts: boolean contracts: boolean
@ -37,81 +37,72 @@ export interface OceanPlatformVersions {
/** /**
* Versions submodule of Ocean Protocol. * Versions submodule of Ocean Protocol.
*/ */
export class OceanVersions extends Instantiable { export class Versions extends Instantiable {
/** /**
* Returns the instance of OceanVersions. * Returns the instance of Ocean Stack Versions.
* @return {Promise<OceanVersions>} * @return {Promise<Versions>}
*/ */
public static async getInstance(config: InstantiableConfig): Promise<OceanVersions> { public static async getInstance(config: InstantiableConfig): Promise<Versions> {
const instance = new OceanVersions() const instance = new Versions()
instance.setInstanceConfig(config) instance.setInstanceConfig(config)
return instance return instance
} }
public async get(): Promise<OceanPlatformVersions> { public async get(): Promise<OceanPlatformVersions> {
const versions = {} as OceanPlatformVersions const versions = {} as OceanPlatformVersions
// Squid versions.lib = {
versions.squid = { name: 'Ocean-lib-js',
name: 'Squid-js',
version: metadata.version, version: metadata.version,
commit: metadata.commit, commit: metadata.commit,
status: OceanPlatformTechStatus.Working, status: OceanPlatformTechStatus.Working,
network: (await this.ocean.keeper.getNetworkName()).toLowerCase(), network:(await this.ocean.network.getNetworkName()).toLowerCase(),
keeperVersion: keeperPackageJson.version, ContractsVersion: OceanPackageJson.version,
contracts: Object.values(await this.ocean.keeper.getAllInstances()) contracts: {}
.filter(_ => !!_)
.reduce(
(acc, { contractName, address }) => ({
...acc,
[contractName]: address
}),
{}
)
} }
// Brizo // Provider
try { try {
const { const {
contracts, contracts,
'keeper-version': keeperVersion, contractsVersion,
network, network,
software: name, software: name,
version version
} = await this.ocean.brizo.getVersionInfo() } = await this.ocean.provider.getVersionInfo()
versions.brizo = {
versions.provider = {
name, name,
status: OceanPlatformTechStatus.Working, status: OceanPlatformTechStatus.Working,
version, version,
contracts, contracts,
network, network,
keeperVersion: keeperVersion.replace(/^v/, '') ContractsVersion: contractsVersion
} }
} catch { } catch {
versions.brizo = { versions.provider = {
name: 'Brizo', name: 'Provider',
status: OceanPlatformTechStatus.Stopped status: OceanPlatformTechStatus.Stopped
} }
} }
// Aquarius // MetadataStore
try { try {
const { software: name, version } = await this.ocean.aquarius.getVersionInfo() const { software: name, version } = await this.ocean.metadataStore.getVersionInfo()
versions.aquarius = { versions.metadataStore = {
name, name,
status: OceanPlatformTechStatus.Working, status: OceanPlatformTechStatus.Working,
version version
} }
} catch { } catch {
versions.aquarius = { versions.metadataStore = {
name: 'Aquarius', name: 'MetadataStore',
status: OceanPlatformTechStatus.Stopped status: OceanPlatformTechStatus.Stopped
} }
} }
// Status // Status
const techs: OceanPlatformKeeperTech[] = Object.values(versions as any) const techs: OceanPlatformContractsTech[] = Object.values(versions as any)
const networks = techs const networks = techs
.map(({ network }) => network) .map(({ network }) => network)