Registry / database / v4-migration-lib-test

v4-migration-lib-test

JSON →
library0.0.2jsnpmunverified

A JavaScript/TypeScript library for migrating data from Ocean Protocol v3 to v4. Current stable version is 0.0.2, with no regular release cadence yet. It provides functions to fetch and transform metadata, pricing, and datatoken information from Ocean Protocol's v3 contracts and Aquarius metadata cache. Key differentiators: it specifically handles the breaking changes between Ocean Protocol v3 and v4, including the switch from DDO v3 to DDO v4 schemas. The library is ESM-only and ships TypeScript types. It is intended to be used in Node.js environments and requires a connection to an Aquarius instance.

npm install v4-migration-lib-test
INSTALL
IMPORT
SIG · V4-MIGRATION-LIB-T
V
v4-migration-lib-test
databasejavascriptv0.0.2
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

convertDDO
import { convertDDO } from 'v4-migration-lib'
const convertDDO = require('v4-migration-lib').convertDDO
ESM-only package; require() will error. TypeScript: import { convertDDO } from 'v4-migration-lib'
migrateAsset
import { migrateAsset } from 'v4-migration-lib'
import migrateAsset from 'v4-migration-lib'
Named export, not default. Must use destructuring.
getV3Data
import { getV3Data } from 'v4-migration-lib'
import { getV3Data } from 'v4-migration-lib/getV3Data'
Subpath imports are not supported; import from the package root.

Demonstrates converting a v3 DDO to v4 format and performing full asset migration using Web3 and Aquarius.

import { convertDDO, migrateAsset } from 'v4-migration-lib'; const v3DDO = { '@context': 'https://w3id.org/did/v1', id: 'did:op:0x1234567890abcdef1234567890abcdef12345678', authentication: [], service: [], proof: {}, created: '2020-01-01T00:00:00Z', checksum: '0xabc', dataToken: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd', publicKey: [] }; const v4DDO = convertDDO(v3DDO); console.log('Converted DDO:', v4DDO); async function runMigration() { const web3 = new (require('web3'))(process.env.WEB3_PROVIDER_URL ?? 'http://localhost:8545'); const migrated = await migrateAsset(v3DDO, web3, process.env.METADATACACHE_URI ?? 'https://aquarius.oceanprotocol.com'); console.log('Migration result:', migrated); } runMigration().catch(err => console.error(err));
Debug
Known issues
breakingLibrary is ESM-only; cannot be required with require() in Node.js without ESM support.
fix
Use import syntax or set { type: 'module' } in package.json.
affects: >=0.0.0
deprecatedFunction getV3Data uses Aquarius API v3 which is deprecated; v4 Aquarius may not support it.
fix
Use getV3Data only with Aquarius v3 endpoints; migrate to v4 endpoints.
affects: <=0.0.2
gotchaAll functions are async and return Promises; forgetting await leads to unresolved Promises.
fix
Always use await or .then() when calling library functions.
affects: >=0.0.0
gotchaMETADATACACHE_URI environment variable must be set or passed explicitly; otherwise defaults may not work.
fix
Set METADATACACHE_URI environment variable or pass a fallback URL.
affects: >=0.0.0
Errors
Common errors & fixes
ERR_REQUIRE_ESM
Using require() to import an ESM-only this package.
fix
Use import syntax or set { type: 'module' } in package.json and rename file to .mjs.
TypeError: convertDDO is not a function
Incorrect import (default import instead of named import).
fix
Use import { convertDDO } from 'v4-migration-lib'.
Error: Cannot find module 'web3'
Missing peer dependency web3.
fix
Install web3: npm install web3
Upgrade
Version history
0.0.2latest on npm
Audit
Dependencies
@oceanprotocol/contractsrequiredProvides v3 contract ABIs for reading on-chain data
web3requiredEthereum interaction library for contract calls
Agent activity
27 hits · last 30 days
node
22
Meta
2
OpenAI (training)
1
Resources
v4-migration-lib-test — npm install v4-migration-lib-test · libregistry