@prosopo/scripts 2.0.2 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.db.2.0.1.to.2.0.2.d.ts","sourceRoot":"","sources":["../../src/migrates/provider.db.2.0.1.to.2.0.2.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { MongoClient } from "mongodb";
|
|
2
|
+
import { at } from "@prosopo/util";
|
|
3
|
+
import { CaptchaStatus } from "@prosopo/types";
|
|
4
|
+
import { loadEnv } from "@prosopo/dotenv";
|
|
5
|
+
loadEnv();
|
|
6
|
+
const MONGO_URL = process.env.MONGO_URL ||
|
|
7
|
+
"mongodb://root:root@localhost:27017/migrate?authSource=admin";
|
|
8
|
+
const MIGRATE_FROM_DB = process.env.MIGRATE_FROM_DB || "migrate";
|
|
9
|
+
const MIGRATE_TO_DB = process.env.MIGRATE_TO_DB || "migrated";
|
|
10
|
+
console.log("MONGO_URL: ", MONGO_URL);
|
|
11
|
+
const client = await MongoClient.connect(MONGO_URL);
|
|
12
|
+
const rococoDate = { 5359899: new Date("2024-05-23 16:15:22Z") };
|
|
13
|
+
const rococoBlock = parseInt(at(Object.keys(rococoDate), 0));
|
|
14
|
+
const rococoTime = at(Object.values(rococoDate), 0).getTime();
|
|
15
|
+
const migrateUserCommitments = async () => {
|
|
16
|
+
const collection = client.db(MIGRATE_FROM_DB).collection("usercommitments");
|
|
17
|
+
console.log(`${await collection.count()} documents in collection`);
|
|
18
|
+
const userCommitments = await collection.find().toArray();
|
|
19
|
+
console.log("Found user commitments: ", userCommitments.length);
|
|
20
|
+
const newCollection = client.db(MIGRATE_TO_DB).collection("usercommitments");
|
|
21
|
+
const results = [];
|
|
22
|
+
for (const commitment of userCommitments) {
|
|
23
|
+
const { _id, id, dappContract, datasetId, providerAccount, requestedAt, status, userAccount, userSignature, } = commitment;
|
|
24
|
+
const secondsDiff = (rococoBlock - requestedAt) * 6;
|
|
25
|
+
const requestedAtTimestamp = new Date(rococoTime - secondsDiff).getTime();
|
|
26
|
+
const userSignatureHex = Buffer.from(userSignature).toString("hex");
|
|
27
|
+
const record = {
|
|
28
|
+
id,
|
|
29
|
+
dappAccount: dappContract,
|
|
30
|
+
datasetId,
|
|
31
|
+
ipAddress: "NO_IP_ADDRESS",
|
|
32
|
+
lastUpdatedTimestamp: requestedAtTimestamp,
|
|
33
|
+
providerAccount,
|
|
34
|
+
requestedAtTimestamp,
|
|
35
|
+
result: { status },
|
|
36
|
+
serverChecked: false,
|
|
37
|
+
userAccount,
|
|
38
|
+
userSignature: userSignatureHex,
|
|
39
|
+
userSubmitted: true,
|
|
40
|
+
};
|
|
41
|
+
console.log("updating record: ", id);
|
|
42
|
+
results.push(await newCollection.updateOne({ _id }, {
|
|
43
|
+
$set: record,
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
await newCollection.updateMany({}, {
|
|
47
|
+
$unset: {
|
|
48
|
+
status: 1,
|
|
49
|
+
completedAt: 1,
|
|
50
|
+
requestedAt: 1,
|
|
51
|
+
processed: 1,
|
|
52
|
+
batched: 1,
|
|
53
|
+
dappContract: 1,
|
|
54
|
+
storedAtTimestamp: 1,
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
return results;
|
|
58
|
+
};
|
|
59
|
+
const migratePowCaptchas = async () => {
|
|
60
|
+
const collection = client.db(MIGRATE_FROM_DB).collection("powcaptchas");
|
|
61
|
+
const newCollection = client.db(MIGRATE_TO_DB).collection("powcaptchas");
|
|
62
|
+
console.log(`${await collection.count()} documents in collection`);
|
|
63
|
+
const powCaptchas = await collection.find().toArray();
|
|
64
|
+
console.log("Found pow captchas: ", powCaptchas.length);
|
|
65
|
+
const results = [];
|
|
66
|
+
for (const captcha of powCaptchas) {
|
|
67
|
+
const { _id, challenge } = captcha;
|
|
68
|
+
const [requestedAt, userAccount, dappAccount] = challenge.split("___");
|
|
69
|
+
const secondsDiff = (parseInt(requestedAt) - requestedAt) * 6;
|
|
70
|
+
const requestedAtTimestamp = new Date(rococoTime - secondsDiff).getTime();
|
|
71
|
+
const record = {
|
|
72
|
+
challenge,
|
|
73
|
+
dappAccount,
|
|
74
|
+
userAccount,
|
|
75
|
+
requestedAtTimestamp,
|
|
76
|
+
lastUpdatedTimestamp: requestedAtTimestamp,
|
|
77
|
+
result: { status: CaptchaStatus.approved },
|
|
78
|
+
providerSignature: "NO_SIGNATURE_MIGRATED",
|
|
79
|
+
difficulty: 4,
|
|
80
|
+
ipAddress: "NO_IP_ADDRESS",
|
|
81
|
+
userSubmitted: true,
|
|
82
|
+
serverChecked: false,
|
|
83
|
+
};
|
|
84
|
+
console.log("updating record: ", _id);
|
|
85
|
+
results.push(await newCollection.updateOne({ _id }, {
|
|
86
|
+
$set: record,
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
await newCollection.updateMany({}, {
|
|
90
|
+
$unset: {
|
|
91
|
+
checked: 1,
|
|
92
|
+
storedAtTimestamp: 1,
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
return results;
|
|
96
|
+
};
|
|
97
|
+
const run = async () => {
|
|
98
|
+
const results = [];
|
|
99
|
+
results.push(await migrateUserCommitments());
|
|
100
|
+
results.push(await migratePowCaptchas());
|
|
101
|
+
return results;
|
|
102
|
+
};
|
|
103
|
+
run()
|
|
104
|
+
.then((result) => {
|
|
105
|
+
console.log(result);
|
|
106
|
+
process.exit(0);
|
|
107
|
+
})
|
|
108
|
+
.catch((err) => {
|
|
109
|
+
console.error(err);
|
|
110
|
+
process.exit(1);
|
|
111
|
+
});
|
|
112
|
+
//# sourceMappingURL=provider.db.2.0.1.to.2.0.2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.db.2.0.1.to.2.0.2.js","sourceRoot":"","sources":["../../src/migrates/provider.db.2.0.1.to.2.0.2.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prosopo/scripts",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"description": "Dev scripts for working with prosopo packages",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -27,27 +27,27 @@
|
|
|
27
27
|
"@polkadot/types": "10.13.1",
|
|
28
28
|
"@polkadot/util": "12.6.2",
|
|
29
29
|
"@polkadot/util-crypto": "12.6.2",
|
|
30
|
-
"@prosopo/api": "2.0.
|
|
31
|
-
"@prosopo/cli": "2.0.
|
|
32
|
-
"@prosopo/common": "2.0.
|
|
33
|
-
"@prosopo/config": "2.0.
|
|
34
|
-
"@prosopo/contract": "2.0.
|
|
35
|
-
"@prosopo/database": "2.0.
|
|
36
|
-
"@prosopo/datasets": "2.0.
|
|
37
|
-
"@prosopo/datasets-fs": "2.0.
|
|
38
|
-
"@prosopo/dotenv": "2.0.
|
|
39
|
-
"@prosopo/env": "2.0.
|
|
40
|
-
"@prosopo/file-server": "2.0.
|
|
41
|
-
"@prosopo/procaptcha": "2.0.
|
|
42
|
-
"@prosopo/procaptcha-bundle": "2.0.
|
|
43
|
-
"@prosopo/procaptcha-common": "2.0.
|
|
44
|
-
"@prosopo/procaptcha-react": "2.0.
|
|
45
|
-
"@prosopo/provider": "2.0.
|
|
46
|
-
"@prosopo/server": "2.0.
|
|
47
|
-
"@prosopo/types": "2.0.
|
|
48
|
-
"@prosopo/types-database": "2.0.
|
|
49
|
-
"@prosopo/types-env": "2.0.
|
|
50
|
-
"@prosopo/util": "2.0.
|
|
30
|
+
"@prosopo/api": "2.0.3",
|
|
31
|
+
"@prosopo/cli": "2.0.3",
|
|
32
|
+
"@prosopo/common": "2.0.3",
|
|
33
|
+
"@prosopo/config": "2.0.3",
|
|
34
|
+
"@prosopo/contract": "2.0.3",
|
|
35
|
+
"@prosopo/database": "2.0.3",
|
|
36
|
+
"@prosopo/datasets": "2.0.3",
|
|
37
|
+
"@prosopo/datasets-fs": "2.0.3",
|
|
38
|
+
"@prosopo/dotenv": "2.0.3",
|
|
39
|
+
"@prosopo/env": "2.0.3",
|
|
40
|
+
"@prosopo/file-server": "2.0.3",
|
|
41
|
+
"@prosopo/procaptcha": "2.0.3",
|
|
42
|
+
"@prosopo/procaptcha-bundle": "2.0.3",
|
|
43
|
+
"@prosopo/procaptcha-common": "2.0.3",
|
|
44
|
+
"@prosopo/procaptcha-react": "2.0.3",
|
|
45
|
+
"@prosopo/provider": "2.0.3",
|
|
46
|
+
"@prosopo/server": "2.0.3",
|
|
47
|
+
"@prosopo/types": "2.0.3",
|
|
48
|
+
"@prosopo/types-database": "2.0.3",
|
|
49
|
+
"@prosopo/types-env": "2.0.3",
|
|
50
|
+
"@prosopo/util": "2.0.3",
|
|
51
51
|
"consola": "^3.2.3",
|
|
52
52
|
"dotenv": "^16.0.3",
|
|
53
53
|
"fast-glob": "^3.3.2",
|