@instadapp/interop-x 0.0.0-dev.e53015f → 0.0.0-dev.e69b5e8
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/package.json +1 -2
- package/dist/src/config/index.js +1 -10
- package/dist/src/index.js +1 -12
- package/dist/src/tasks/AutoUpdateTask.js +5 -4
- package/dist/src/tasks/BaseTask.js +0 -4
- package/package.json +1 -2
- package/src/config/index.ts +1 -9
- package/src/index.ts +4 -18
- package/src/tasks/AutoUpdateTask.ts +6 -4
- package/src/tasks/BaseTask.ts +0 -5
package/dist/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@instadapp/interop-x",
|
3
|
-
"version": "0.0.0-dev.
|
3
|
+
"version": "0.0.0-dev.e69b5e8",
|
4
4
|
"license": "MIT",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"engines": {
|
@@ -35,7 +35,6 @@
|
|
35
35
|
"ethers-multisend": "^2.1.1",
|
36
36
|
"expand-home-dir": "^0.0.3",
|
37
37
|
"fastify": "^3.28.0",
|
38
|
-
"fs-extra": "^10.1.0",
|
39
38
|
"libp2p": "^0.36.2",
|
40
39
|
"libp2p-bootstrap": "^0.14.0",
|
41
40
|
"libp2p-kad-dht": "^0.28.6",
|
package/dist/src/config/index.js
CHANGED
@@ -1,22 +1,16 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
3
|
const ethers_1 = require("ethers");
|
7
4
|
const types_1 = require("@/types");
|
8
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
9
|
-
const expand_home_dir_1 = __importDefault(require("expand-home-dir"));
|
10
5
|
class Config {
|
11
6
|
constructor() {
|
12
7
|
this.events = new types_1.EventBus();
|
13
|
-
this.maxPeers =
|
8
|
+
this.maxPeers = 10;
|
14
9
|
this.privateKey = process.env.PRIVATE_KEY;
|
15
10
|
this.staging = !!process.env.STAGING && process.env.STAGING === 'true';
|
16
11
|
this.autoUpdate = !!process.env.AUTO_UPDATE && process.env.AUTO_UPDATE === 'true';
|
17
12
|
this.wallet = new ethers_1.Wallet(this.privateKey);
|
18
13
|
this.leadNodeAddress = '0x910E413DBF3F6276Fe8213fF656726bDc142E08E';
|
19
|
-
this.baseConfigPath = (0, expand_home_dir_1.default)(`~/.interop-x`);
|
20
14
|
}
|
21
15
|
get publicAddress() {
|
22
16
|
return this.wallet.address;
|
@@ -24,8 +18,5 @@ class Config {
|
|
24
18
|
isLeadNode() {
|
25
19
|
return ethers_1.ethers.utils.getAddress(this.leadNodeAddress) === ethers_1.ethers.utils.getAddress(this.wallet.address);
|
26
20
|
}
|
27
|
-
isMaintenanceMode() {
|
28
|
-
return fs_extra_1.default.existsSync(this.baseConfigPath + '/maintenance');
|
29
|
-
}
|
30
21
|
}
|
31
22
|
exports.default = new Config();
|
package/dist/src/index.js
CHANGED
@@ -4,8 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
const module_alias_1 = __importDefault(require("module-alias"));
|
7
|
-
const expand_home_dir_1 = __importDefault(require("expand-home-dir"));
|
8
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
9
7
|
module_alias_1.default.addAliases({
|
10
8
|
"@/": __dirname + "/",
|
11
9
|
"@/logger": __dirname + "/logger",
|
@@ -39,16 +37,7 @@ if (process.argv.at(-1) === 'help') {
|
|
39
37
|
printUsage();
|
40
38
|
process.exit(0);
|
41
39
|
}
|
42
|
-
const
|
43
|
-
if (process.argv.at(-1) === 'down') {
|
44
|
-
fs_extra_1.default.outputFileSync(basePath + '/maintenance', Date.now().toString());
|
45
|
-
process.exit(0);
|
46
|
-
}
|
47
|
-
if (process.argv.at(-1) === 'up') {
|
48
|
-
fs_extra_1.default.removeSync(basePath + '/maintenance');
|
49
|
-
process.exit(0);
|
50
|
-
}
|
51
|
-
const GIT_SHORT_HASH = 'e53015f';
|
40
|
+
const GIT_SHORT_HASH = 'e69b5e8';
|
52
41
|
if (process.argv.at(-1) === 'version') {
|
53
42
|
console.log(`Interop X Node (v${package_json_1.default.version} - rev.${GIT_SHORT_HASH})`);
|
54
43
|
process.exit(0);
|
@@ -10,13 +10,12 @@ const config_1 = __importDefault(require("@/config"));
|
|
10
10
|
const waait_1 = __importDefault(require("waait"));
|
11
11
|
const package_json_1 = __importDefault(require("../../package.json"));
|
12
12
|
const currentVersion = package_json_1.default.version;
|
13
|
-
const tag = config_1.default.staging ? 'dev' : 'latest';
|
14
13
|
class AutoUpdateTask extends BaseTask_1.BaseTask {
|
15
14
|
constructor() {
|
16
15
|
super({
|
17
16
|
logger: new logger_1.default("AutoUpdateTask"),
|
18
17
|
});
|
19
|
-
this.pollIntervalMs = 60 *
|
18
|
+
this.pollIntervalMs = 60 * 5 * 1000;
|
20
19
|
}
|
21
20
|
prePollHandler() {
|
22
21
|
return config_1.default.autoUpdate && !config_1.default.isLeadNode();
|
@@ -33,7 +32,7 @@ class AutoUpdateTask extends BaseTask_1.BaseTask {
|
|
33
32
|
}
|
34
33
|
async getLatestVersion() {
|
35
34
|
try {
|
36
|
-
const stdout = await (0, await_spawn_1.default)('npm', ['view',
|
35
|
+
const stdout = await (0, await_spawn_1.default)('npm', ['view', package_json_1.default.name, 'version']);
|
37
36
|
return stdout.toString().trim();
|
38
37
|
}
|
39
38
|
catch (error) {
|
@@ -48,7 +47,9 @@ class AutoUpdateTask extends BaseTask_1.BaseTask {
|
|
48
47
|
}
|
49
48
|
this.logger.warn(`New version ${version} available.`);
|
50
49
|
this.logger.info('Updating...');
|
51
|
-
|
50
|
+
const spawner = (0, await_spawn_1.default)('npm', ['-g', 'install', '@instadapp/interop-x@latest', '-f']);
|
51
|
+
spawner.child.on('data', console.log);
|
52
|
+
await spawner;
|
52
53
|
await (0, waait_1.default)(5000);
|
53
54
|
if (version !== await this.getInstalledVersion()) {
|
54
55
|
this.logger.warn(`failed to install ${version}, retrying in 5 minutes`);
|
@@ -35,10 +35,6 @@ class BaseTask extends events_1.default {
|
|
35
35
|
}
|
36
36
|
}
|
37
37
|
prePollHandler() {
|
38
|
-
if (config_1.default.isMaintenanceMode()) {
|
39
|
-
this.logger.warn('Maintenance mode is enabled. Skipping task.');
|
40
|
-
return false;
|
41
|
-
}
|
42
38
|
if (this.exceptLeadNode) {
|
43
39
|
return !config_1.default.isLeadNode();
|
44
40
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@instadapp/interop-x",
|
3
|
-
"version": "0.0.0-dev.
|
3
|
+
"version": "0.0.0-dev.e69b5e8",
|
4
4
|
"license": "MIT",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"engines": {
|
@@ -35,7 +35,6 @@
|
|
35
35
|
"ethers-multisend": "^2.1.1",
|
36
36
|
"expand-home-dir": "^0.0.3",
|
37
37
|
"fastify": "^3.28.0",
|
38
|
-
"fs-extra": "^10.1.0",
|
39
38
|
"libp2p": "^0.36.2",
|
40
39
|
"libp2p-bootstrap": "^0.14.0",
|
41
40
|
"libp2p-kad-dht": "^0.28.6",
|
package/src/config/index.ts
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
import { ethers, Wallet } from "ethers"
|
2
2
|
import { EventBus, EventBusType } from "@/types"
|
3
|
-
import fs from 'fs-extra'
|
4
|
-
import expandHomeDir from "expand-home-dir";
|
5
3
|
|
6
4
|
class Config {
|
7
5
|
public readonly events: EventBusType
|
@@ -11,17 +9,15 @@ class Config {
|
|
11
9
|
public readonly wallet: Wallet
|
12
10
|
public readonly staging: boolean
|
13
11
|
public readonly autoUpdate: boolean
|
14
|
-
public readonly baseConfigPath: string
|
15
12
|
|
16
13
|
constructor() {
|
17
14
|
this.events = new EventBus() as EventBusType
|
18
|
-
this.maxPeers =
|
15
|
+
this.maxPeers = 10
|
19
16
|
this.privateKey = process.env.PRIVATE_KEY as string;
|
20
17
|
this.staging = !! process.env.STAGING && process.env.STAGING === 'true';
|
21
18
|
this.autoUpdate = !! process.env.AUTO_UPDATE && process.env.AUTO_UPDATE === 'true';
|
22
19
|
this.wallet = new Wallet(this.privateKey);
|
23
20
|
this.leadNodeAddress = '0x910E413DBF3F6276Fe8213fF656726bDc142E08E'
|
24
|
-
this.baseConfigPath = expandHomeDir(`~/.interop-x`);
|
25
21
|
}
|
26
22
|
|
27
23
|
get publicAddress(){
|
@@ -31,10 +27,6 @@ class Config {
|
|
31
27
|
isLeadNode() {
|
32
28
|
return ethers.utils.getAddress(this.leadNodeAddress) === ethers.utils.getAddress(this.wallet.address)
|
33
29
|
}
|
34
|
-
|
35
|
-
isMaintenanceMode(){
|
36
|
-
return fs.existsSync(this.baseConfigPath + '/maintenance')
|
37
|
-
}
|
38
30
|
}
|
39
31
|
|
40
32
|
export default new Config()
|
package/src/index.ts
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
import moduleAlias from 'module-alias';
|
2
|
-
|
3
|
-
import fs from 'fs-extra'
|
2
|
+
|
4
3
|
moduleAlias.addAliases({
|
5
4
|
"@/": __dirname + "/",
|
6
5
|
"@/logger": __dirname + "/logger",
|
@@ -39,19 +38,6 @@ if (process.argv.at(-1) === 'help') {
|
|
39
38
|
process.exit(0)
|
40
39
|
}
|
41
40
|
|
42
|
-
const basePath = expandHomeDir(`~/.interop-x`);
|
43
|
-
|
44
|
-
if (process.argv.at(-1) === 'down') {
|
45
|
-
fs.outputFileSync(basePath + '/maintenance', Date.now().toString())
|
46
|
-
process.exit(0)
|
47
|
-
}
|
48
|
-
|
49
|
-
if (process.argv.at(-1) === 'up') {
|
50
|
-
fs.removeSync(basePath + '/maintenance')
|
51
|
-
process.exit(0)
|
52
|
-
}
|
53
|
-
|
54
|
-
|
55
41
|
const GIT_SHORT_HASH = '@GIT_SHORT_HASH@';
|
56
42
|
|
57
43
|
if (process.argv.at(-1) === 'version') {
|
@@ -59,7 +45,7 @@ if (process.argv.at(-1) === 'version') {
|
|
59
45
|
process.exit(0)
|
60
46
|
}
|
61
47
|
|
62
|
-
if
|
48
|
+
if(! process.env.PRIVATE_KEY) {
|
63
49
|
console.error(chalk.bgRed.white.bold('Please provide a private key\n'))
|
64
50
|
printUsage()
|
65
51
|
process.exit(1)
|
@@ -94,10 +80,10 @@ async function main() {
|
|
94
80
|
if (!peerPool.isLeadNode(payload.peerId)) {
|
95
81
|
const peer = peerPool.getPeer(payload.peerId)
|
96
82
|
|
97
|
-
if
|
83
|
+
if(! peer) {
|
98
84
|
return;
|
99
85
|
}
|
100
|
-
|
86
|
+
|
101
87
|
logger.info(`ignored transaction status from ${payload.peerId} ${shortenHash(peer.publicAddress)} `)
|
102
88
|
return;
|
103
89
|
}
|
@@ -7,10 +7,9 @@ import wait from "waait";
|
|
7
7
|
import packageJson from "../../package.json";
|
8
8
|
|
9
9
|
const currentVersion = packageJson.version;
|
10
|
-
const tag = config.staging ? 'dev' : 'latest';
|
11
10
|
|
12
11
|
class AutoUpdateTask extends BaseTask {
|
13
|
-
pollIntervalMs: number = 60 *
|
12
|
+
pollIntervalMs: number = 60 * 5 * 1000
|
14
13
|
|
15
14
|
constructor() {
|
16
15
|
super({
|
@@ -35,7 +34,7 @@ class AutoUpdateTask extends BaseTask {
|
|
35
34
|
|
36
35
|
async getLatestVersion() {
|
37
36
|
try {
|
38
|
-
const stdout = await spawn('npm', ['view',
|
37
|
+
const stdout = await spawn('npm', ['view', packageJson.name, 'version'])
|
39
38
|
return stdout.toString().trim()
|
40
39
|
} catch (error) {
|
41
40
|
this.logger.error(error)
|
@@ -53,9 +52,12 @@ class AutoUpdateTask extends BaseTask {
|
|
53
52
|
|
54
53
|
this.logger.warn(`New version ${version} available.`)
|
55
54
|
|
55
|
+
|
56
56
|
this.logger.info('Updating...')
|
57
57
|
|
58
|
-
|
58
|
+
const spawner = spawn('npm', ['-g', 'install', '@instadapp/interop-x@latest', '-f']);
|
59
|
+
spawner.child.on('data', console.log)
|
60
|
+
await spawner
|
59
61
|
|
60
62
|
await wait(5000)
|
61
63
|
|
package/src/tasks/BaseTask.ts
CHANGED
@@ -46,11 +46,6 @@ export class BaseTask extends EventEmitter implements IBaseTask {
|
|
46
46
|
}
|
47
47
|
|
48
48
|
prePollHandler(): boolean {
|
49
|
-
if(config.isMaintenanceMode()){
|
50
|
-
this.logger.warn('Maintenance mode is enabled. Skipping task.')
|
51
|
-
return false
|
52
|
-
}
|
53
|
-
|
54
49
|
if (this.exceptLeadNode) {
|
55
50
|
return !config.isLeadNode();
|
56
51
|
}
|