@kynesyslabs/demosdk 2.2.44 → 2.2.45
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.
- package/build/abstraction/parsers/twitter.d.ts +12 -0
- package/build/abstraction/parsers/twitter.js +136 -0
- package/build/abstraction/parsers/twitter.js.map +1 -0
- package/build/types/blockchain/GCREdit.d.ts +2 -0
- package/build/websdk/GCRGeneration.js +32 -8
- package/build/websdk/GCRGeneration.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Scraper } from "@the-convocation/twitter-scraper";
|
|
2
|
+
export declare class TwitterProofParser {
|
|
3
|
+
private static instance;
|
|
4
|
+
scraper: Scraper;
|
|
5
|
+
constructor();
|
|
6
|
+
getTweetDetails(tweetUrl: string): {
|
|
7
|
+
username: string;
|
|
8
|
+
tweetId: string;
|
|
9
|
+
};
|
|
10
|
+
getTweetUserId(tweetUrl: string): Promise<string>;
|
|
11
|
+
static getInstance(): Promise<TwitterProofParser>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TwitterProofParser = void 0;
|
|
4
|
+
const twitter_scraper_1 = require("@the-convocation/twitter-scraper");
|
|
5
|
+
class TwitterProofParser {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.scraper = new twitter_scraper_1.Scraper();
|
|
8
|
+
}
|
|
9
|
+
getTweetDetails(tweetUrl) {
|
|
10
|
+
try {
|
|
11
|
+
// Parse URL and remove any query parameters
|
|
12
|
+
const url = new URL(tweetUrl);
|
|
13
|
+
const pathParts = url.pathname.split("/");
|
|
14
|
+
// Tweet URLs follow pattern twitter.com/username/status/tweetId
|
|
15
|
+
const statusIndex = pathParts.indexOf("status");
|
|
16
|
+
if (statusIndex === -1 || !pathParts[statusIndex + 1]) {
|
|
17
|
+
throw new Error("Invalid tweet URL format");
|
|
18
|
+
}
|
|
19
|
+
// Username is the part before 'status'
|
|
20
|
+
const username = pathParts[statusIndex - 1];
|
|
21
|
+
if (!username) {
|
|
22
|
+
throw new Error("Invalid tweet URL format - username not found");
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
username: username,
|
|
26
|
+
tweetId: pathParts[statusIndex + 1],
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
console.error(error);
|
|
31
|
+
throw new Error("Failed to extract tweet details");
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async getTweetUserId(tweetUrl) {
|
|
35
|
+
const { tweetId } = this.getTweetDetails(tweetUrl);
|
|
36
|
+
const tweet = await this.scraper.getTweet(tweetId);
|
|
37
|
+
if (!tweet.userId) {
|
|
38
|
+
throw new Error("Failed to fetch user id");
|
|
39
|
+
}
|
|
40
|
+
return tweet.userId.toString();
|
|
41
|
+
}
|
|
42
|
+
// async loadCookies() {
|
|
43
|
+
// // INFO: Load cookies from file
|
|
44
|
+
// log.debug("🐦 Trying to load cookies from file")
|
|
45
|
+
// if (fs.existsSync(getSharedState.twitterCookieFile)) {
|
|
46
|
+
// log.debug("🐦 Twitter cookie file found, parsing ...")
|
|
47
|
+
// const cookieDump = fs.readFileSync(
|
|
48
|
+
// getSharedState.twitterCookieFile,
|
|
49
|
+
// "utf8",
|
|
50
|
+
// )
|
|
51
|
+
// if (cookieDump) {
|
|
52
|
+
// const parsed: any[] = JSON.parse(cookieDump)
|
|
53
|
+
// const cookies = parsed.map(data => Cookie.fromJSON(data))
|
|
54
|
+
// await this.scraper.setCookies(cookies)
|
|
55
|
+
// }
|
|
56
|
+
// }
|
|
57
|
+
// const loggedIn = await this.scraper.isLoggedIn()
|
|
58
|
+
// if (loggedIn) {
|
|
59
|
+
// log.debug("🐦 Successfully loaded cookies from file")
|
|
60
|
+
// }
|
|
61
|
+
// return loggedIn
|
|
62
|
+
// }
|
|
63
|
+
// async login() {
|
|
64
|
+
// // INFO: Try to load cookies from file
|
|
65
|
+
// const loggedInFromCookies = await this.loadCookies()
|
|
66
|
+
// if (loggedInFromCookies) {
|
|
67
|
+
// return true
|
|
68
|
+
// }
|
|
69
|
+
// log.warning(
|
|
70
|
+
// "🐦 Failed to load cookies from file, trying login using credentials",
|
|
71
|
+
// )
|
|
72
|
+
// // INFO: Try to login with credentials
|
|
73
|
+
// log.debug("🐦 Trying to login with credentials")
|
|
74
|
+
// const username = process.env.TWITTER_USERNAME
|
|
75
|
+
// const password = process.env.TWITTER_PASSWORD
|
|
76
|
+
// const email = process.env.TWITTER_EMAIL
|
|
77
|
+
// const missing = [
|
|
78
|
+
// !username && "username",
|
|
79
|
+
// !password && "password",
|
|
80
|
+
// !email && "email",
|
|
81
|
+
// ].filter(Boolean)
|
|
82
|
+
// if (missing.length) {
|
|
83
|
+
// throw new Error(
|
|
84
|
+
// `Missing Twitter credentials: ${missing.join(", ")}`,
|
|
85
|
+
// )
|
|
86
|
+
// }
|
|
87
|
+
// await this.scraper.login(username, password, email)
|
|
88
|
+
// const loggedIn = await this.scraper.isLoggedIn()
|
|
89
|
+
// if (!loggedIn) {
|
|
90
|
+
// throw new Error("Unable to authenticate with Twitter")
|
|
91
|
+
// }
|
|
92
|
+
// log.debug("🐦 Successfully logged in with credentials")
|
|
93
|
+
// const cookies = await this.scraper.getCookies()
|
|
94
|
+
// // INFO: Save cookies to file
|
|
95
|
+
// fs.writeFileSync(
|
|
96
|
+
// getSharedState.twitterCookieFile,
|
|
97
|
+
// JSON.stringify(cookies, null, 2),
|
|
98
|
+
// )
|
|
99
|
+
// return loggedIn
|
|
100
|
+
// }
|
|
101
|
+
// async readData(tweetUrl: string): Promise<{
|
|
102
|
+
// message: string
|
|
103
|
+
// signature: string
|
|
104
|
+
// publicKey: string
|
|
105
|
+
// }> {
|
|
106
|
+
// this.verifyProofFormat(tweetUrl, "twitter")
|
|
107
|
+
// // INFO: Get the tweet ID from the URL
|
|
108
|
+
// const { username, tweetId } = this.getTweetDetails(tweetUrl)
|
|
109
|
+
// const tweet = await this.scraper.getTweet(tweetId)
|
|
110
|
+
// console.log("userID: ", tweet.userId)
|
|
111
|
+
// console.log(JSON.stringify(tweet, null, 2))
|
|
112
|
+
// if (tweet.username !== username) {
|
|
113
|
+
// throw new Error("Tweet does not belong to the provided user")
|
|
114
|
+
// }
|
|
115
|
+
// // INFO: Parse and return the payload
|
|
116
|
+
// const payload = this.parsePayload(tweet.text)
|
|
117
|
+
// if (!payload) {
|
|
118
|
+
// throw new Error("Invalid proof format")
|
|
119
|
+
// }
|
|
120
|
+
// return payload
|
|
121
|
+
// }
|
|
122
|
+
static async getInstance() {
|
|
123
|
+
if (!this.instance) {
|
|
124
|
+
this.instance = new TwitterProofParser();
|
|
125
|
+
}
|
|
126
|
+
// try {
|
|
127
|
+
// await this.instance.login()
|
|
128
|
+
// } catch (error) {
|
|
129
|
+
// console.error(error)
|
|
130
|
+
// // do what?
|
|
131
|
+
// }
|
|
132
|
+
return this.instance;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.TwitterProofParser = TwitterProofParser;
|
|
136
|
+
//# sourceMappingURL=twitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twitter.js","sourceRoot":"","sources":["../../../../src/abstraction/parsers/twitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.HandleIdentityOperations = exports.HandleNativeOperations = exports.GCRGeneration = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
4
8
|
const Hashing_1 = require("../encryption/Hashing");
|
|
9
|
+
const twitter_1 = require("../abstraction/parsers/twitter");
|
|
5
10
|
/**
|
|
6
11
|
* This class is responsible for generating the GCREdit for a transaction and is used
|
|
7
12
|
* both in the client and the node.
|
|
@@ -156,18 +161,34 @@ class Web2IdentityParsers {
|
|
|
156
161
|
this.proof_url = proof_url;
|
|
157
162
|
this.context = context;
|
|
158
163
|
}
|
|
159
|
-
parseTwitterUsername() {
|
|
160
|
-
|
|
161
|
-
|
|
164
|
+
async parseTwitterUsername() {
|
|
165
|
+
const parser = await twitter_1.TwitterProofParser.getInstance();
|
|
166
|
+
const { username } = parser.getTweetDetails(this.proof_url);
|
|
167
|
+
try {
|
|
168
|
+
const userId = await parser.getTweetUserId(this.proof_url);
|
|
169
|
+
return { username, userId };
|
|
170
|
+
}
|
|
171
|
+
catch (e) {
|
|
172
|
+
console.error(e);
|
|
173
|
+
throw new Error("Failed to get twitter userId");
|
|
174
|
+
}
|
|
162
175
|
}
|
|
163
|
-
parseGithubUsername() {
|
|
176
|
+
async parseGithubUsername() {
|
|
164
177
|
// https://gist.github.com/cwilvx/abf8db960c16dfc7f6dc1da840852f79
|
|
165
|
-
|
|
178
|
+
const username = this.proof_url.split("/")[3];
|
|
179
|
+
try {
|
|
180
|
+
const user = await axios_1.default.get(`https://api.github.com/users/${username}`);
|
|
181
|
+
return { username: user.data.login, userId: user.data.id };
|
|
182
|
+
}
|
|
183
|
+
catch (e) {
|
|
184
|
+
console.error(e);
|
|
185
|
+
throw new Error("Failed to get github userId");
|
|
186
|
+
}
|
|
166
187
|
}
|
|
167
|
-
parse() {
|
|
188
|
+
async parse() {
|
|
168
189
|
switch (this.context) {
|
|
169
190
|
case "twitter":
|
|
170
|
-
return this.parseTwitterUsername();
|
|
191
|
+
return await this.parseTwitterUsername();
|
|
171
192
|
case "github":
|
|
172
193
|
return this.parseGithubUsername();
|
|
173
194
|
default:
|
|
@@ -210,12 +231,15 @@ class HandleIdentityOperations {
|
|
|
210
231
|
// INFO: Parse the web2 username from the proof url
|
|
211
232
|
const payload = identityPayload.payload;
|
|
212
233
|
const parser = new Web2IdentityParsers(payload.proof, payload.context);
|
|
234
|
+
const { username, userId } = await parser.parse();
|
|
213
235
|
edit.data = {
|
|
214
236
|
context: payload.context,
|
|
215
237
|
data: {
|
|
216
|
-
username:
|
|
238
|
+
username: username,
|
|
239
|
+
userId: userId,
|
|
217
240
|
proof: payload.proof,
|
|
218
241
|
proofHash: Hashing_1.Hashing.sha256(payload.proof),
|
|
242
|
+
timestamp: tx.content.timestamp
|
|
219
243
|
},
|
|
220
244
|
};
|
|
221
245
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GCRGeneration.js","sourceRoot":"","sources":["../../../src/websdk/GCRGeneration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GCRGeneration.js","sourceRoot":"","sources":["../../../src/websdk/GCRGeneration.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kynesyslabs/demosdk",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.45",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"types": "build/index.d.ts",
|
|
6
6
|
"author": "Kynesys Labs",
|
|
@@ -58,6 +58,7 @@
|
|
|
58
58
|
"@simplewebauthn/server": "^11.0.0",
|
|
59
59
|
"@solana/buffer-layout": "^4.0.1",
|
|
60
60
|
"@solana/web3.js": "^1.98.0",
|
|
61
|
+
"@the-convocation/twitter-scraper": "^0.15.1",
|
|
61
62
|
"@ton/core": "^0.56.3",
|
|
62
63
|
"@ton/crypto": "^3.2.0",
|
|
63
64
|
"@ton/ton": "^13.11.2",
|