Tests pass

This commit is contained in:
Pavel Murygin 2022-06-09 00:57:57 +03:00
parent 38ee354712
commit f89519941b
28 changed files with 11920 additions and 57 deletions

View File

@ -1,5 +1,5 @@
import { FluencePeer } from '@fluencelabs/fluence';
import { registerHandlersHelper, handleTimeout } from '@fluencelabs/fluence/dist/forTests';
import { registerHandlersHelper, handleTimeout } from '@fluencelabs/fluence/dist/internal/forTests';
let peer: FluencePeer;

View File

@ -2,7 +2,12 @@ import { Multiaddr } from '@multiformats/multiaddr';
import { nodes } from '../../connection';
import { FluencePeer } from '@fluencelabs/fluence';
import { checkConnection, doNothing, handleTimeout, registerHandlersHelper } from '@fluencelabs/fluence/dist/forTests';
import {
checkConnection,
doNothing,
handleTimeout,
registerHandlersHelper,
} from '@fluencelabs/fluence/dist/internal/forTests';
let peer: FluencePeer;

View File

@ -1,5 +1,5 @@
import { KeyPair, CallParams } from '@fluencelabs/fluence';
import { Sig, defaultSigGuard, allowServiceFn } from '@fluencelabs/fluence/dist/forTests';
import { Sig, defaultSigGuard, allowServiceFn } from '@fluencelabs/fluence/dist/internal/forTests';
import { toUint8Array } from 'js-base64';
const key = '+cmeYlZKj+MfSa9dpHV+BmLPm6wq4inGlsPlQ1GvtPk=';

View File

@ -0,0 +1,23 @@
module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaVersion: 12,
sourceType: 'module', // Allows for the use of imports
},
env: {
browser: true,
es2021: true,
},
extends: [
'airbnb-base',
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
// Enables eslint-plugin-prettier and eslint-config-prettier. This will display prettier errors as ESLint errors. Make sure this is always the last configuration in the extends array.
'plugin:prettier/recommended',
],
plugins: ['@typescript-eslint', 'prettier'],
rules: {},
settings: {
'import/extensions': ['.js', '.ts'],
},
};

21
packages/fluence-connection/.gitignore vendored Normal file
View File

@ -0,0 +1,21 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
bundle/
dist
esm
types
# Dependency directories
node_modules/
jspm_packages/
.idea

View File

@ -0,0 +1,12 @@
.idea
.gitignore
node_modules
types
src/
tsconfig.json
webpack.config.js
bundle
pkg

View File

@ -0,0 +1,5 @@
# Fluence Connection
## License
[Apache 2.0](LICENSE)

View File

@ -0,0 +1,47 @@
{
"name": "@fluencelabs/fluence-connection",
"version": "0.0.0",
"description": "Fluence connection",
"files": [
"dist",
"types"
],
"main": "dist/index.js",
"types": "./dist/index.d.ts",
"engines": {
"node": ">=16.0",
"pnpm": ">=3"
},
"scripts": {
"build": "rollup -c rollup.config.ts --configPlugin swc3"
},
"repository": "https://github.com/fluencelabs/fluence-js",
"author": "Fluence Labs",
"license": "Apache-2.0",
"dependencies": {
"libp2p": "fluencelabs/js-libp2p#no-nat-manager",
"@chainsafe/libp2p-noise": "^6.1.1",
"@libp2p/mplex": "^1.0.5",
"@libp2p/peer-id": "^1.1.10",
"@libp2p/websockets": "^1.0.8",
"@multiformats/multiaddr": "^10.1.8",
"browser-or-node": "^2.0.0",
"it-length-prefixed": "5.0.3",
"it-pipe": "1.1.0",
"loglevel": "1.8.0"
},
"devDependencies": {
"@libp2p/interfaces": "^2.0.2",
"@rollup/plugin-commonjs": "^22.0.0",
"@rollup/plugin-node-resolve": "^13.3.0",
"@swc/core": "^1.2.194",
"rollup": "^2.74.1",
"rollup-plugin-clear": "^2.0.7",
"rollup-plugin-dts": "^4.2.2",
"rollup-plugin-flat-dts": "^1.6.0",
"rollup-plugin-preserve-shebang": "^1.0.1",
"rollup-plugin-swc3": "^0.3.0",
"rollup-plugin-terser": "^7.0.2",
"typescript": "^4.0.0"
}
}

5597
packages/fluence-connection/pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,53 @@
import { nodeResolve } from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import clear from 'rollup-plugin-clear';
import shebang from 'rollup-plugin-preserve-shebang';
import { swc, minify } from 'rollup-plugin-swc3';
import dts from 'rollup-plugin-dts';
// import flatDts from 'rollup-plugin-flat-dts';
const commonPlugins = [
swc({
sourceMaps: true,
}),
// minify(),
clear({
targets: ['dist', 'types', 'esm'],
}),
];
const commonInput = './src/index.ts';
export default [
{
input: commonInput,
output: [
{
dir: 'dist',
},
],
plugins: [dts()],
},
{
input: commonInput,
output: [
{
sourcemap: true,
dir: 'dist',
format: 'cjs',
},
// {
// sourcemap: true,
// dir: 'esm',
// format: 'esm',
// },
],
plugins: [
nodeResolve(),
commonjs({
ignoreDynamicRequires: true,
}),
...commonPlugins,
],
},
];

View File

@ -20,11 +20,10 @@ import { Libp2p as Lib2p2Peer, createLibp2p } from 'libp2p';
import { decode, encode } from 'it-length-prefixed';
import { pipe } from 'it-pipe';
import { Noise } from '@chainsafe/libp2p-noise';
import { Particle } from './Particle';
import type { MultiaddrInput } from '@multiformats/multiaddr';
import { Multiaddr } from '@multiformats/multiaddr';
import { PeerId } from '@libp2p/interfaces/peer-id';
import { Connection } from '@libp2p/interfaces/connection';
import Buffer from './Buffer';
import * as log from 'loglevel';
export const PROTOCOL_NAME = '/fluence/particle/2.0.0';
@ -41,7 +40,7 @@ export interface FluenceConnectionOptions {
/**
* Multiaddress of the relay to make connection to
*/
relayAddress: Multiaddr;
relayAddress: MultiaddrInput;
/**
* The dialing timeout in milliseconds
@ -51,7 +50,7 @@ export interface FluenceConnectionOptions {
/**
* Handler for incoming particles from the connection
*/
onIncomingParticle: (p: Particle) => void;
onIncomingParticle: (particle: string) => void;
}
export class FluenceConnection {
@ -72,14 +71,14 @@ export class FluenceConnection {
lib2p2Peer.handle([PROTOCOL_NAME], async ({ connection, stream }) => {
pipe(
stream.source,
// force new line
// @ts-ignore
stream.source,
decode(),
async (source: AsyncIterable<string>) => {
try {
for await (const msg of source) {
for await (const particle of source) {
try {
const particle = Particle.fromString(msg);
options.onIncomingParticle(particle);
} catch (e) {
log.error('error on handling a new incoming message: ' + e);
@ -94,16 +93,18 @@ export class FluenceConnection {
const relayAddress = options.relayAddress;
return new FluenceConnection(lib2p2Peer, relayAddress);
return new FluenceConnection(lib2p2Peer, new Multiaddr(relayAddress));
}
getPeerId(): string {
return this._relayAddress.getPeerId()!;
}
async disconnect() {
await this._lib2p2Peer.stop();
}
async sendParticle(particle: Particle): Promise<void> {
particle.logTo('debug', 'sending particle:');
async sendParticle(particle: string): Promise<void> {
/*
TODO:: find out why this doesn't work and a new connection has to be established each time
if (this._connection.streams.length !== 1) {
@ -113,12 +114,13 @@ export class FluenceConnection {
const sink = this._connection.streams[0].sink;
*/
const conn = await this._lib2p2Peer.dialProtocol(this._relayAddress, PROTOCOL_NAME);
const conn = await this._lib2p2Peer.dialProtocol(new Multiaddr(this._relayAddress), PROTOCOL_NAME);
// @ts-ignore
const sink = conn.stream.sink;
pipe(
// force new line
[Buffer.from(particle.toString(), 'utf8')],
[Buffer.from(particle, 'utf8')],
encode(),
sink,
);
@ -130,7 +132,6 @@ export class FluenceConnection {
log.debug(`dialing to the node with client's address: ` + this._lib2p2Peer.peerId);
try {
// @ts-ignore
this._connection = await this._lib2p2Peer.dial(this._relayAddress);
} catch (e: any) {
if (e.name === 'AggregateError' && e._errors?.length === 1) {

View File

@ -0,0 +1,12 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"target": "es5",
"module": "CommonJS",
"moduleResolution": "node",
"outDir": "dist"
},
"include": [
"src/**/*",
]
}

View File

@ -15,7 +15,8 @@
"scripts": {
"compile-aqua": "aqua -i ./aqua/src/ -o ./src/internal/_aqua",
"test": "jest",
"build": "rollup -c rollup.config.ts --configPlugin swc3",
"build": "tsc",
"_build": "rollup -c rollup.config.ts --configPlugin swc3",
"build:docs": "typedoc"
},
"repository": "https://github.com/fluencelabs/fluence-js",
@ -25,15 +26,15 @@
"copy-marine": "dist/copyMarine.js"
},
"dependencies": {
"@fluencelabs/avm": "0.24.2",
"@fluencelabs/marine-js": "0.2.5",
"libp2p": "fluencelabs/js-libp2p#no-nat-manager",
"@libp2p/crypto": "^0.22.14",
"@chainsafe/libp2p-noise": "^6.1.1",
"@fluencelabs/avm": "0.24.2",
"@fluencelabs/fluence-connection": "workspace:*",
"@fluencelabs/fluence-keypair": "workspace:*",
"@fluencelabs/marine-js": "0.2.5",
"@libp2p/crypto": "^0.22.14",
"@libp2p/mplex": "^1.0.5",
"@libp2p/peer-id": "^1.1.10",
"@libp2p/websockets": "^1.0.8",
"@multiformats/multiaddr": "^10.1.8",
"async": "3.2.3",
"base64-js": "^1.5.1",
"browser-or-node": "^2.0.0",
@ -42,6 +43,7 @@
"cids": "1.1.9",
"it-length-prefixed": "5.0.3",
"it-pipe": "1.1.0",
"libp2p": "fluencelabs/js-libp2p#no-nat-manager",
"loglevel": "1.8.0",
"platform": "^1.3.6",
"regenerator-runtime": "^0.13.9",
@ -53,6 +55,7 @@
"@fluencelabs/aqua": "^0.7.2-307",
"@fluencelabs/aqua-lib": "^0.5.1",
"@libp2p/interfaces": "^2.0.2",
"@multiformats/multiaddr": "^10.1.8",
"@rollup/plugin-commonjs": "^22.0.0",
"@rollup/plugin-node-resolve": "^13.3.0",
"@swc/core": "^1.2.194",

View File

@ -19,7 +19,7 @@ import log, { LogLevelDesc } from 'loglevel';
import { FluencePeer, PeerConfig } from './internal/FluencePeer';
export type { PeerStatus } from './internal/FluencePeer';
export { KeyPair } from './internal/KeyPair';
export { KeyPair } from '@fluencelabs/fluence-keypair';
export { FluencePeer } from './internal/FluencePeer';
export type { MarineLoglevel as AvmLoglevel, PeerConfig } from './internal/FluencePeer';
export type { PeerIdB58, CallParams } from './internal/commonTypes';

View File

@ -14,12 +14,12 @@
* limitations under the License.
*/
import { Multiaddr } from '@multiformats/multiaddr';
import { FluenceConnection } from '@fluencelabs/fluence-connection';
import { KeyPair } from '@fluencelabs/fluence-keypair';
import type { MultiaddrInput } from '@multiformats/multiaddr';
import { CallServiceData, CallServiceResult, GenericCallServiceHandler, ResultCodes } from './commonTypes';
import { PeerIdB58 } from './commonTypes';
import { FluenceConnection } from './FluenceConnection';
import { Particle, ParticleExecutionStage, ParticleQueueItem } from './Particle';
import { KeyPair } from './KeyPair';
import { throwIfNotSupported, dataToString, jsonify } from './utils';
import { concatMap, filter, pipe, Subject, tap } from 'rxjs';
import log from 'loglevel';
@ -60,7 +60,7 @@ export interface PeerConfig {
* - Node: node structure, @see Node
* If not specified the will work locally and would not be able to send or receive particles.
*/
connectTo?: string | Multiaddr | Node;
connectTo?: string | MultiaddrInput | Node;
/**
* @deprecated. AVM run through marine-js infrastructure.
@ -247,16 +247,14 @@ export class FluencePeer {
await this._avmRunner.init(config?.avmLogLevel || 'off');
if (config?.connectTo) {
let connectToMultiAddr: Multiaddr;
let connectToMultiAddr: MultiaddrInput;
const fromNode = (config.connectTo as any).multiaddr;
if (fromNode) {
connectToMultiAddr = new Multiaddr(fromNode);
connectToMultiAddr = fromNode;
} else {
connectToMultiAddr = new Multiaddr(config.connectTo as string);
connectToMultiAddr = config.connectTo as string;
}
this._relayPeerId = connectToMultiAddr.getPeerId();
if (this._connection) {
await this._connection.disconnect();
}
@ -265,9 +263,14 @@ export class FluencePeer {
peerId: this._keyPair.libp2pPeerId,
relayAddress: connectToMultiAddr,
dialTimeoutMs: config.dialTimeoutMs,
onIncomingParticle: (p) => this._incomingParticles.next({ particle: p, onStageChange: () => {} }),
onIncomingParticle: (p) => {
const particle = Particle.fromString(p);
this._incomingParticles.next({ particle, onStageChange: () => {} });
},
});
this._relayPeerId = this._connection!.getPeerId();
await this._connect();
}
@ -507,7 +510,7 @@ export class FluencePeer {
item.onStageChange({ stage: 'sendingError' });
return;
}
this._connection.sendParticle(item.particle).then(
this._connection.sendParticle(item.particle.toString()).then(
() => {
item.onStageChange({ stage: 'sent' });
},

View File

@ -1,6 +1,6 @@
import { SecurityTetraplet } from '@fluencelabs/avm';
import { CallParams, PeerIdB58 } from '../commonTypes';
import { KeyPair } from '../KeyPair';
import { KeyPair } from '@fluencelabs/fluence-keypair';
import { SigDef } from '../_aqua/services';
/**

View File

@ -1,5 +1,11 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"target": "es5",
"module": "CommonJS",
"moduleResolution": "node",
"outDir": "dist"
},
"include": [
"src/**/*",
]

View File

@ -0,0 +1,23 @@
module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaVersion: 12,
sourceType: 'module', // Allows for the use of imports
},
env: {
browser: true,
es2021: true,
},
extends: [
'airbnb-base',
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
// Enables eslint-plugin-prettier and eslint-config-prettier. This will display prettier errors as ESLint errors. Make sure this is always the last configuration in the extends array.
'plugin:prettier/recommended',
],
plugins: ['@typescript-eslint', 'prettier'],
rules: {},
settings: {
'import/extensions': ['.js', '.ts'],
},
};

21
packages/fluence-keypair/.gitignore vendored Normal file
View File

@ -0,0 +1,21 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
bundle/
dist
esm
types
# Dependency directories
node_modules/
jspm_packages/
.idea

View File

@ -0,0 +1,12 @@
.idea
.gitignore
node_modules
types
src/
tsconfig.json
webpack.config.js
bundle
pkg

View File

@ -0,0 +1,5 @@
# Fluence Key Pair
## License
[Apache 2.0](LICENSE)

View File

@ -0,0 +1,41 @@
{
"name": "@fluencelabs/fluence-keypair",
"version": "0.0.0",
"description": "Fluence keypair",
"files": [
"dist",
"types"
],
"main": "dist/index.js",
"types": "./dist/index.d.ts",
"engines": {
"node": ">=16.0",
"pnpm": ">=3"
},
"scripts": {
"build": "rollup -c rollup.config.ts --configPlugin swc3"
},
"repository": "https://github.com/fluencelabs/fluence-js",
"author": "Fluence Labs",
"license": "Apache-2.0",
"dependencies": {
"@libp2p/crypto": "^0.22.14",
"@libp2p/peer-id": "^1.1.10",
"loglevel": "1.8.0",
"regenerator-runtime": "^0.13.9"
},
"devDependencies": {
"@libp2p/interfaces": "^2.0.3",
"@rollup/plugin-commonjs": "^22.0.0",
"@rollup/plugin-node-resolve": "^13.3.0",
"@swc/core": "^1.2.194",
"rollup": "^2.74.1",
"rollup-plugin-clear": "^2.0.7",
"rollup-plugin-dts": "^4.2.2",
"rollup-plugin-flat-dts": "^1.6.0",
"rollup-plugin-preserve-shebang": "^1.0.1",
"rollup-plugin-swc3": "^0.3.0",
"rollup-plugin-terser": "^7.0.2",
"typescript": "^4.0.0"
}
}

5597
packages/fluence-keypair/pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,53 @@
import { nodeResolve } from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import clear from 'rollup-plugin-clear';
import shebang from 'rollup-plugin-preserve-shebang';
import { swc, minify } from 'rollup-plugin-swc3';
import dts from 'rollup-plugin-dts';
// import flatDts from 'rollup-plugin-flat-dts';
const commonPlugins = [
swc({
sourceMaps: true,
}),
// minify(),
clear({
targets: ['dist', 'types', 'esm'],
}),
];
const commonInput = './src/index.ts';
export default [
{
input: commonInput,
output: [
{
dir: 'dist',
},
],
plugins: [dts()],
},
{
input: commonInput,
output: [
{
sourcemap: true,
dir: 'dist',
format: 'cjs',
},
// {
// sourcemap: true,
// dir: 'esm',
// format: 'esm',
// },
],
plugins: [
nodeResolve(),
commonjs({
ignoreDynamicRequires: true,
}),
...commonPlugins,
],
},
];

View File

@ -0,0 +1,12 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"target": "es5",
"module": "CommonJS",
"moduleResolution": "node",
"outDir": "dist"
},
"include": [
"src/**/*",
]
}

350
pnpm-lock.yaml generated
View File

@ -41,12 +41,63 @@ importers:
ts-node: 10.8.1_w6gfxie3xfwntbz3mwbbvycbdq
typescript: 4.7.2
packages/fluence-connection:
specifiers:
'@chainsafe/libp2p-noise': ^6.1.1
'@libp2p/interfaces': ^2.0.2
'@libp2p/mplex': ^1.0.5
'@libp2p/peer-id': ^1.1.10
'@libp2p/websockets': ^1.0.8
'@multiformats/multiaddr': ^10.1.8
'@rollup/plugin-commonjs': ^22.0.0
'@rollup/plugin-node-resolve': ^13.3.0
'@swc/core': ^1.2.194
browser-or-node: ^2.0.0
it-length-prefixed: 5.0.3
it-pipe: 1.1.0
libp2p: fluencelabs/js-libp2p#no-nat-manager
loglevel: 1.8.0
rollup: ^2.74.1
rollup-plugin-clear: ^2.0.7
rollup-plugin-dts: ^4.2.2
rollup-plugin-flat-dts: ^1.6.0
rollup-plugin-preserve-shebang: ^1.0.1
rollup-plugin-swc3: ^0.3.0
rollup-plugin-terser: ^7.0.2
typescript: ^4.0.0
dependencies:
'@chainsafe/libp2p-noise': 6.2.0
'@libp2p/mplex': 1.1.0
'@libp2p/peer-id': 1.1.11
'@libp2p/websockets': 1.0.9_ghdhn57z7cu2fxsztxwq2v4ikm
'@multiformats/multiaddr': 10.1.8
browser-or-node: 2.0.0
it-length-prefixed: 5.0.3
it-pipe: 1.1.0
libp2p: github.com/fluencelabs/js-libp2p/1b3cd8b401e2cff36b45527bc5dc6a66de0fb495_ghdhn57z7cu2fxsztxwq2v4ikm
loglevel: 1.8.0
devDependencies:
'@libp2p/interfaces': 2.0.2
'@rollup/plugin-commonjs': 22.0.0_rollup@2.75.4
'@rollup/plugin-node-resolve': 13.3.0_rollup@2.75.4
'@swc/core': 1.2.196
rollup: 2.75.4
rollup-plugin-clear: 2.0.7
rollup-plugin-dts: 4.2.2_flgbp2mwh7cyq7tyxrigr47lze
rollup-plugin-flat-dts: 1.6.0_flgbp2mwh7cyq7tyxrigr47lze
rollup-plugin-preserve-shebang: 1.0.1
rollup-plugin-swc3: 0.3.0_oeyekckw7q3dbr2t2h5zcb37ie
rollup-plugin-terser: 7.0.2_rollup@2.75.4
typescript: 4.7.2
packages/fluence-js:
specifiers:
'@chainsafe/libp2p-noise': ^6.1.1
'@fluencelabs/aqua': ^0.7.2-307
'@fluencelabs/aqua-lib': ^0.5.1
'@fluencelabs/avm': 0.24.2
'@fluencelabs/fluence-connection': workspace:*
'@fluencelabs/fluence-keypair': workspace:*
'@fluencelabs/marine-js': 0.2.5
'@libp2p/crypto': ^0.22.14
'@libp2p/interfaces': ^2.0.2
@ -95,12 +146,13 @@ importers:
dependencies:
'@chainsafe/libp2p-noise': 6.2.0
'@fluencelabs/avm': 0.24.2
'@fluencelabs/fluence-connection': link:../fluence-connection
'@fluencelabs/fluence-keypair': link:../fluence-keypair
'@fluencelabs/marine-js': 0.2.5_7sa2e64agunq5kj4zcolhrnkbm
'@libp2p/crypto': 0.22.14
'@libp2p/mplex': 1.1.0
'@libp2p/peer-id': 1.1.11
'@libp2p/websockets': 1.0.9_uluuwrprffmsiwy2zanpihzgue
'@multiformats/multiaddr': 10.1.8
async: 3.2.3
base64-js: 1.5.1
browser-or-node: 2.0.0
@ -120,6 +172,7 @@ importers:
'@fluencelabs/aqua': 0.7.2-314_7sa2e64agunq5kj4zcolhrnkbm
'@fluencelabs/aqua-lib': 0.5.1
'@libp2p/interfaces': 2.0.2
'@multiformats/multiaddr': 10.1.8
'@rollup/plugin-commonjs': 22.0.0_rollup@2.75.4
'@rollup/plugin-node-resolve': 13.3.0_rollup@2.75.4
'@swc/core': 1.2.196
@ -144,6 +197,43 @@ importers:
typedoc: 0.22.16_typescript@4.7.2
typescript: 4.7.2
packages/fluence-keypair:
specifiers:
'@libp2p/crypto': ^0.22.14
'@libp2p/interfaces': ^2.0.3
'@libp2p/peer-id': ^1.1.10
'@rollup/plugin-commonjs': ^22.0.0
'@rollup/plugin-node-resolve': ^13.3.0
'@swc/core': ^1.2.194
loglevel: 1.8.0
regenerator-runtime: ^0.13.9
rollup: ^2.74.1
rollup-plugin-clear: ^2.0.7
rollup-plugin-dts: ^4.2.2
rollup-plugin-flat-dts: ^1.6.0
rollup-plugin-preserve-shebang: ^1.0.1
rollup-plugin-swc3: ^0.3.0
rollup-plugin-terser: ^7.0.2
typescript: ^4.0.0
dependencies:
'@libp2p/crypto': 0.22.14
'@libp2p/peer-id': 1.1.11
loglevel: 1.8.0
regenerator-runtime: 0.13.9
devDependencies:
'@libp2p/interfaces': 2.0.3
'@rollup/plugin-commonjs': 22.0.0_rollup@2.75.4
'@rollup/plugin-node-resolve': 13.3.0_rollup@2.75.4
'@swc/core': 1.2.196
rollup: 2.75.4
rollup-plugin-clear: 2.0.7
rollup-plugin-dts: 4.2.2_flgbp2mwh7cyq7tyxrigr47lze
rollup-plugin-flat-dts: 1.6.0_flgbp2mwh7cyq7tyxrigr47lze
rollup-plugin-preserve-shebang: 1.0.1
rollup-plugin-swc3: 0.3.0_oeyekckw7q3dbr2t2h5zcb37ie
rollup-plugin-terser: 7.0.2_rollup@2.75.4
typescript: 4.7.2
packages:
/@achingbrain/ip-address/8.1.0:
@ -663,6 +753,7 @@ packages:
transitivePeerDependencies:
- supports-color
- ts-node
dev: true
/@jest/core/28.1.0_ts-node@10.8.1:
resolution: {integrity: sha512-/2PTt0ywhjZ4NwNO4bUqD9IVJfmFVhVKGlhvSpmEfUCuxYf/3NHcKmRFI+I71lYzbTT3wMuYpETDCTHo81gC/g==}
@ -705,7 +796,6 @@ packages:
transitivePeerDependencies:
- supports-color
- ts-node
dev: true
/@jest/environment/28.1.0:
resolution: {integrity: sha512-S44WGSxkRngzHslhV6RoAExekfF7Qhwa6R5+IYFa81mpcj0YgdBnRSmvHe3SNwOt64yXaE5GG8Y2xM28ii5ssA==}
@ -912,7 +1002,7 @@ packages:
resolution: {integrity: sha512-anzB0bZ0SA8+WiIkypZeTeh6V5gEtaE7RutGWOP3O1jroFXvQgkXyYxXm58ZnSIHhV6sKc6HWRPvb37fCtyT2Q==}
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
dependencies:
'@libp2p/interfaces': 2.0.2
'@libp2p/interfaces': 2.0.3
'@libp2p/logger': 1.1.5
'@multiformats/multiaddr': 10.1.8
err-code: 3.0.1
@ -925,7 +1015,7 @@ packages:
resolution: {integrity: sha512-5RyGh5ovfqrDD8Io3n5rvVnsTHBf1exIMZ/5eBw7Eoy21xkmzdF1Hy701SoSNmiCuTPXYmxT5WMy2VUDBUG6oQ==}
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
dependencies:
'@libp2p/interfaces': 2.0.2
'@libp2p/interfaces': 2.0.3
'@noble/ed25519': 1.6.0
'@noble/secp256k1': 1.5.5
err-code: 3.0.1
@ -951,6 +1041,18 @@ packages:
- supports-color
- undici
/@libp2p/interfaces/2.0.3:
resolution: {integrity: sha512-Qpyv0oYay8N9zt7qkok2+iLuSvxbCVkmfxsjrF/cbBwAxC1qs21oEEpw1sWBcZdInJj4mX+dQhcloaOuA5GDlA==}
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
dependencies:
'@multiformats/multiaddr': 10.1.8
err-code: 3.0.1
interface-datastore: 6.1.0
multiformats: 9.6.5
transitivePeerDependencies:
- supports-color
- undici
/@libp2p/logger/1.1.5:
resolution: {integrity: sha512-4/AJMMf2u9iC3pn10sLyOCM0TixM+V+4ab+/d6QajQYGoI3A1GWf+FYwBVclHm0OYI22FzCkjN91CKKXWDQJcg==}
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
@ -988,7 +1090,7 @@ packages:
resolution: {integrity: sha512-8veeiZDrh7aCvILjNGps4ZLKSKTdBxJZS4SZkuhbCKmq7eX6aJoYoQ5G5MBxEFiBKtgwTKHaSroH3jfvizwDoA==}
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
dependencies:
'@libp2p/interfaces': 2.0.2
'@libp2p/interfaces': 2.0.3
'@libp2p/logger': 1.1.5
abortable-iterator: 4.0.2
err-code: 3.0.1
@ -1023,7 +1125,7 @@ packages:
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
dependencies:
'@libp2p/crypto': 0.22.14
'@libp2p/interfaces': 2.0.2
'@libp2p/interfaces': 2.0.3
'@libp2p/peer-id': 1.1.11
multiformats: 9.6.5
protons-runtime: 1.0.4
@ -1037,7 +1139,7 @@ packages:
resolution: {integrity: sha512-E5BiXqKdlZFsPNutBqjrHl2o+2ZgvUg7V6+G4Hkqiq/DmvLbBw1aNO1Pj5RvFZwPUP9GpVBuGTg/6ChrnVXCyw==}
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
dependencies:
'@libp2p/interfaces': 2.0.2
'@libp2p/interfaces': 2.0.3
err-code: 3.0.1
multiformats: 9.6.5
uint8arrays: 3.0.0
@ -1046,12 +1148,43 @@ packages:
- undici
dev: false
/@libp2p/peer-record/1.0.12_ghdhn57z7cu2fxsztxwq2v4ikm:
resolution: {integrity: sha512-1b4aeU4sduRBUH4RKDtYBHKOEXwohrlOoBrrNPKb1WFweLMnG3oznhGusMvKQ8YuXSOTpbNPHrbJ/iJnrBbVUQ==}
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
dependencies:
'@libp2p/crypto': 0.22.14
'@libp2p/interfaces': 2.0.3
'@libp2p/logger': 1.1.5
'@libp2p/peer-id': 1.1.11
'@libp2p/utils': 1.0.10_ghdhn57z7cu2fxsztxwq2v4ikm
'@multiformats/multiaddr': 10.1.8
err-code: 3.0.1
interface-datastore: 6.1.0
it-all: 1.0.6
it-filter: 1.0.3
it-foreach: 0.1.1
it-map: 1.0.6
it-pipe: 2.0.3
multiformats: 9.6.5
protons-runtime: 1.0.4
uint8arrays: 3.0.0
varint: 6.0.0
transitivePeerDependencies:
- '@swc/core'
- '@swc/wasm'
- '@types/node'
- mocha
- supports-color
- typescript
- undici
dev: false
/@libp2p/peer-record/1.0.12_uluuwrprffmsiwy2zanpihzgue:
resolution: {integrity: sha512-1b4aeU4sduRBUH4RKDtYBHKOEXwohrlOoBrrNPKb1WFweLMnG3oznhGusMvKQ8YuXSOTpbNPHrbJ/iJnrBbVUQ==}
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
dependencies:
'@libp2p/crypto': 0.22.14
'@libp2p/interfaces': 2.0.2
'@libp2p/interfaces': 2.0.3
'@libp2p/logger': 1.1.5
'@libp2p/peer-id': 1.1.11
'@libp2p/utils': 1.0.10_uluuwrprffmsiwy2zanpihzgue
@ -1077,11 +1210,41 @@ packages:
- undici
dev: false
/@libp2p/peer-store/1.0.16_ghdhn57z7cu2fxsztxwq2v4ikm:
resolution: {integrity: sha512-TSO4ARn7L+CKBp1+hLgW6N7Mn/o4d6mvjMm7zoxxdCFtxqnZa0385mZcjYRurvslwZzksiDflcLn+AKkXKdEhw==}
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
dependencies:
'@libp2p/interfaces': 2.0.3
'@libp2p/logger': 1.1.5
'@libp2p/peer-id': 1.1.11
'@libp2p/peer-record': 1.0.12_ghdhn57z7cu2fxsztxwq2v4ikm
'@multiformats/multiaddr': 10.1.8
err-code: 3.0.1
interface-datastore: 6.1.0
it-all: 1.0.6
it-filter: 1.0.3
it-foreach: 0.1.1
it-map: 1.0.6
it-pipe: 2.0.3
mortice: 3.0.0
multiformats: 9.6.5
protons-runtime: 1.0.4
uint8arrays: 3.0.0
transitivePeerDependencies:
- '@swc/core'
- '@swc/wasm'
- '@types/node'
- mocha
- supports-color
- typescript
- undici
dev: false
/@libp2p/peer-store/1.0.16_uluuwrprffmsiwy2zanpihzgue:
resolution: {integrity: sha512-TSO4ARn7L+CKBp1+hLgW6N7Mn/o4d6mvjMm7zoxxdCFtxqnZa0385mZcjYRurvslwZzksiDflcLn+AKkXKdEhw==}
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
dependencies:
'@libp2p/interfaces': 2.0.2
'@libp2p/interfaces': 2.0.3
'@libp2p/logger': 1.1.5
'@libp2p/peer-id': 1.1.11
'@libp2p/peer-record': 1.0.12_uluuwrprffmsiwy2zanpihzgue
@ -1117,6 +1280,30 @@ packages:
- undici
dev: false
/@libp2p/utils/1.0.10_ghdhn57z7cu2fxsztxwq2v4ikm:
resolution: {integrity: sha512-jlVLfac1IoBlgXL8V+XZYxNw0SOAkKweiLhXWolUbKOgRtMDquJzbwG1n8y9GtdiFKPlkiBwOB7l9xighcOR6w==}
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
dependencies:
'@achingbrain/ip-address': 8.1.0
'@libp2p/logger': 1.1.5
'@multiformats/multiaddr': 10.1.8
abortable-iterator: 4.0.2
err-code: 3.0.1
is-loopback-addr: 2.0.1
it-stream-types: 1.0.4
private-ip: 2.3.3
ts-mocha: 9.0.2
ts-node: 10.8.0_ghdhn57z7cu2fxsztxwq2v4ikm
transitivePeerDependencies:
- '@swc/core'
- '@swc/wasm'
- '@types/node'
- mocha
- supports-color
- typescript
- undici
dev: false
/@libp2p/utils/1.0.10_uluuwrprffmsiwy2zanpihzgue:
resolution: {integrity: sha512-jlVLfac1IoBlgXL8V+XZYxNw0SOAkKweiLhXWolUbKOgRtMDquJzbwG1n8y9GtdiFKPlkiBwOB7l9xighcOR6w==}
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
@ -1141,6 +1328,34 @@ packages:
- undici
dev: false
/@libp2p/websockets/1.0.9_ghdhn57z7cu2fxsztxwq2v4ikm:
resolution: {integrity: sha512-fKqTqzGXAcSIG2kFuDOgMyqjE8khTwE7+J1m+XvZRfz4b732wspg/3o/81dExN+T6F5wU60s2VeEYYyc1K++Vg==}
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
dependencies:
'@libp2p/interfaces': 2.0.2
'@libp2p/logger': 1.1.5
'@libp2p/utils': 1.0.10_ghdhn57z7cu2fxsztxwq2v4ikm
'@multiformats/mafmt': 11.0.2
'@multiformats/multiaddr': 10.1.8
'@multiformats/multiaddr-to-uri': 9.0.1
abortable-iterator: 4.0.2
err-code: 3.0.1
it-ws: 5.0.2
p-defer: 4.0.0
p-timeout: 5.1.0
wherearewe: 1.0.2
transitivePeerDependencies:
- '@swc/core'
- '@swc/wasm'
- '@types/node'
- bufferutil
- mocha
- supports-color
- typescript
- undici
- utf-8-validate
dev: false
/@libp2p/websockets/1.0.9_uluuwrprffmsiwy2zanpihzgue:
resolution: {integrity: sha512-fKqTqzGXAcSIG2kFuDOgMyqjE8khTwE7+J1m+XvZRfz4b732wspg/3o/81dExN+T6F5wU60s2VeEYYyc1K++Vg==}
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
@ -3364,7 +3579,6 @@ packages:
- '@types/node'
- supports-color
- ts-node
dev: true
/jest-cli/28.1.0_@types+node@17.0.36:
resolution: {integrity: sha512-fDJRt6WPRriHrBsvvgb93OxgajHHsJbk4jZxiPqmZbMDRcHskfJBBfTyjFko0jjfprP544hOktdSi9HVgl4VUQ==}
@ -3392,6 +3606,7 @@ packages:
- '@types/node'
- supports-color
- ts-node
dev: true
/jest-config/28.1.0_5safgrhnvw3xobf557mvjg2uay:
resolution: {integrity: sha512-aOV80E9LeWrmflp7hfZNn/zGA4QKv/xsn2w8QCBP0t0+YqObuCWTSgNbHJ0j9YsTuCO08ZR/wsvlxqqHX20iUA==}
@ -3431,7 +3646,6 @@ packages:
ts-node: 10.8.1_w6gfxie3xfwntbz3mwbbvycbdq
transitivePeerDependencies:
- supports-color
dev: true
/jest-config/28.1.0_@types+node@17.0.36:
resolution: {integrity: sha512-aOV80E9LeWrmflp7hfZNn/zGA4QKv/xsn2w8QCBP0t0+YqObuCWTSgNbHJ0j9YsTuCO08ZR/wsvlxqqHX20iUA==}
@ -3470,6 +3684,7 @@ packages:
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
dev: true
/jest-diff/27.5.1:
resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==}
@ -3793,7 +4008,6 @@ packages:
- '@types/node'
- supports-color
- ts-node
dev: true
/jest/28.1.0_@types+node@17.0.36:
resolution: {integrity: sha512-TZR+tHxopPhzw3c3560IJXZWLNHgpcz1Zh0w5A65vynLGNcg/5pZ+VildAd7+XGOu6jd58XMY/HNn0IkZIXVXg==}
@ -3812,6 +4026,7 @@ packages:
- '@types/node'
- supports-color
- ts-node
dev: true
/joycon/3.1.1:
resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
@ -4473,7 +4688,7 @@ packages:
dev: false
/once/1.4.0:
resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=}
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
dependencies:
wrappy: 1.0.2
@ -4646,7 +4861,7 @@ packages:
engines: {node: '>=8'}
/path-is-absolute/1.0.1:
resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=}
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
engines: {node: '>=0.10.0'}
/path-key/3.1.1:
@ -5316,7 +5531,7 @@ packages:
'@types/jest': 27.5.1
bs-logger: 0.2.6
fast-json-stable-stringify: 2.1.0
jest: 28.1.0_@types+node@17.0.36
jest: 28.1.0_5safgrhnvw3xobf557mvjg2uay
jest-util: 27.5.1
json5: 2.2.1
lodash.memoize: 4.1.2
@ -5349,7 +5564,7 @@ packages:
'@types/jest': 27.5.1
bs-logger: 0.2.6
fast-json-stable-stringify: 2.1.0
jest: 28.1.0_@types+node@17.0.36
jest: 28.1.0_5safgrhnvw3xobf557mvjg2uay
jest-util: 28.1.0
json5: 2.2.1
lodash.memoize: 4.1.2
@ -5371,6 +5586,37 @@ packages:
tsconfig-paths: 3.14.1
dev: false
/ts-node/10.8.0_ghdhn57z7cu2fxsztxwq2v4ikm:
resolution: {integrity: sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==}
hasBin: true
peerDependencies:
'@swc/core': '>=1.2.50'
'@swc/wasm': '>=1.2.50'
'@types/node': '*'
typescript: '>=2.7'
peerDependenciesMeta:
'@swc/core':
optional: true
'@swc/wasm':
optional: true
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@swc/core': 1.2.196
'@tsconfig/node10': 1.0.8
'@tsconfig/node12': 1.0.9
'@tsconfig/node14': 1.0.1
'@tsconfig/node16': 1.0.2
acorn: 8.7.1
acorn-walk: 8.2.0
arg: 4.1.3
create-require: 1.1.1
diff: 4.0.2
make-error: 1.3.6
typescript: 4.7.2
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
dev: false
/ts-node/10.8.0_uluuwrprffmsiwy2zanpihzgue:
resolution: {integrity: sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==}
hasBin: true
@ -5432,7 +5678,6 @@ packages:
typescript: 4.7.2
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
dev: true
/ts-node/7.0.1:
resolution: {integrity: sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==}
@ -5716,6 +5961,75 @@ packages:
engines: {node: '>=12.20'}
dev: false
github.com/fluencelabs/js-libp2p/1b3cd8b401e2cff36b45527bc5dc6a66de0fb495_ghdhn57z7cu2fxsztxwq2v4ikm:
resolution: {tarball: https://codeload.github.com/fluencelabs/js-libp2p/tar.gz/1b3cd8b401e2cff36b45527bc5dc6a66de0fb495}
id: github.com/fluencelabs/js-libp2p/1b3cd8b401e2cff36b45527bc5dc6a66de0fb495
name: libp2p
version: 0.37.2
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
prepare: true
requiresBuild: true
dependencies:
'@libp2p/connection': 2.0.3
'@libp2p/crypto': 0.22.14
'@libp2p/interfaces': 2.0.3
'@libp2p/logger': 1.1.5
'@libp2p/multistream-select': 1.0.6
'@libp2p/peer-collections': 1.0.3
'@libp2p/peer-id': 1.1.11
'@libp2p/peer-id-factory': 1.0.11
'@libp2p/peer-record': 1.0.12_ghdhn57z7cu2fxsztxwq2v4ikm
'@libp2p/peer-store': 1.0.16_ghdhn57z7cu2fxsztxwq2v4ikm
'@libp2p/tracked-map': 1.0.7
'@libp2p/utils': 1.0.10_ghdhn57z7cu2fxsztxwq2v4ikm
'@multiformats/mafmt': 11.0.2
'@multiformats/multiaddr': 10.1.8
abortable-iterator: 4.0.2
any-signal: 3.0.1
datastore-core: 7.0.1
err-code: 3.0.1
events: 3.3.0
hashlru: 2.3.0
interface-datastore: 6.1.0
it-all: 1.0.6
it-drain: 1.0.5
it-filter: 1.0.3
it-first: 1.0.7
it-foreach: 0.1.1
it-handshake: 3.0.1
it-length-prefixed: 7.0.1
it-map: 1.0.6
it-merge: 1.0.4
it-pair: 2.0.2
it-pipe: 2.0.3
it-sort: 1.0.1
it-stream-types: 1.0.4
merge-options: 3.0.4
multiformats: 9.6.5
mutable-proxy: 1.0.0
node-forge: 1.3.1
p-fifo: 1.0.0
p-retry: 5.1.1
p-settle: 5.0.0
private-ip: 2.3.3
protons-runtime: 1.0.4
retimer: 3.0.0
sanitize-filename: 1.6.3
set-delayed-interval: 1.0.0
timeout-abort-controller: 3.0.0
uint8arrays: 3.0.0
wherearewe: 1.0.2
xsalsa20: 1.2.0
transitivePeerDependencies:
- '@swc/core'
- '@swc/wasm'
- '@types/node'
- mocha
- supports-color
- typescript
- undici
dev: false
github.com/fluencelabs/js-libp2p/1b3cd8b401e2cff36b45527bc5dc6a66de0fb495_uluuwrprffmsiwy2zanpihzgue:
resolution: {tarball: https://codeload.github.com/fluencelabs/js-libp2p/tar.gz/1b3cd8b401e2cff36b45527bc5dc6a66de0fb495}
id: github.com/fluencelabs/js-libp2p/1b3cd8b401e2cff36b45527bc5dc6a66de0fb495
@ -5727,7 +6041,7 @@ packages:
dependencies:
'@libp2p/connection': 2.0.3
'@libp2p/crypto': 0.22.14
'@libp2p/interfaces': 2.0.2
'@libp2p/interfaces': 2.0.3
'@libp2p/logger': 1.1.5
'@libp2p/multistream-select': 1.0.6
'@libp2p/peer-collections': 1.0.3

View File

@ -5,9 +5,6 @@
"inlineSources": true,
"allowSyntheticDefaultImports": true,
"resolveJsonModule": true,
"target": "es2017",
"module": "esnext",
"moduleResolution": "node",
"declaration": true,
"esModuleInterop": true,
"declarationMap": true,