@kynesyslabs/demosdk 2.2.39 → 2.2.41
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/Identities.d.ts +10 -3
- package/build/abstraction/Identities.js +20 -2
- package/build/abstraction/Identities.js.map +1 -1
- package/build/abstraction/index.d.ts +3 -3
- package/build/abstraction/index.js +2 -5
- package/build/abstraction/index.js.map +1 -1
- package/build/bridge/nativeBridge.d.ts +10 -3
- package/build/bridge/nativeBridge.js +37 -12
- package/build/bridge/nativeBridge.js.map +1 -1
- package/build/bridge/nativeBridgeTypes.d.ts +6 -2
- package/build/bridge/nativeBridgeTypes.js +2 -1
- package/build/bridge/nativeBridgeTypes.js.map +1 -1
- package/build/types/abstraction/index.d.ts +17 -0
- package/build/types/index.js.map +1 -1
- package/build/websdk/GCRGeneration.js +22 -20
- package/build/websdk/GCRGeneration.js.map +1 -1
- package/build/websdk/index.d.ts +4 -3
- package/build/websdk/index.js +3 -1
- package/build/websdk/index.js.map +1 -1
- package/build/websdk/utils/sha256.js +4 -7
- package/build/websdk/utils/sha256.js.map +1 -1
- package/build/websdk/utils/turnstile.d.ts +10 -0
- package/build/websdk/utils/turnstile.js +23 -0
- package/build/websdk/utils/turnstile.js.map +1 -0
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@ import { RPCResponseWithValidityData } from "../types";
|
|
|
2
2
|
import { XMCoreTargetIdentityPayload, Web2CoreTargetIdentityPayload, GithubProof, TwitterProof, InferFromSignaturePayload } from "../types/abstraction";
|
|
3
3
|
import { Demos } from "../websdk/demosclass";
|
|
4
4
|
import { IKeyPair } from "../websdk/types/KeyPair";
|
|
5
|
-
export
|
|
5
|
+
export declare class Identities {
|
|
6
6
|
formats: {
|
|
7
7
|
web2: {
|
|
8
8
|
github: string[];
|
|
@@ -25,7 +25,7 @@ export default class Identities {
|
|
|
25
25
|
*
|
|
26
26
|
* @returns The validity data of the identity transaction.
|
|
27
27
|
*/
|
|
28
|
-
inferIdentity
|
|
28
|
+
private inferIdentity;
|
|
29
29
|
/**
|
|
30
30
|
* Remove a crosschain identity associated with an address.
|
|
31
31
|
*
|
|
@@ -33,7 +33,7 @@ export default class Identities {
|
|
|
33
33
|
* @param payload The payload to remove the identity from.
|
|
34
34
|
* @returns The response from the RPC call.
|
|
35
35
|
*/
|
|
36
|
-
removeIdentity
|
|
36
|
+
private removeIdentity;
|
|
37
37
|
/**
|
|
38
38
|
* Infer a crosschain identity from a signature.
|
|
39
39
|
*
|
|
@@ -110,4 +110,11 @@ export default class Identities {
|
|
|
110
110
|
* @returns The identities associated with the address.
|
|
111
111
|
*/
|
|
112
112
|
getWeb2Identities(demos: Demos, address?: string): Promise<import("../types").RPCResponse>;
|
|
113
|
+
/**
|
|
114
|
+
* Get the points associated with an identity
|
|
115
|
+
*
|
|
116
|
+
* @param demos A Demos instance to communicate with the RPC
|
|
117
|
+
* @returns The points data for the identity
|
|
118
|
+
*/
|
|
119
|
+
getUserPoints(demos: Demos): Promise<RPCResponseWithValidityData>;
|
|
113
120
|
}
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
6
6
|
};
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.Identities = void 0;
|
|
8
9
|
const Cryptography_1 = require("../encryption/Cryptography");
|
|
9
10
|
const node_forge_1 = __importDefault(require("node-forge"));
|
|
10
11
|
const websdk_1 = require("../websdk");
|
|
@@ -52,7 +53,6 @@ class Identities {
|
|
|
52
53
|
*/
|
|
53
54
|
async inferIdentity(demos, context, payload) {
|
|
54
55
|
if (context === "web2") {
|
|
55
|
-
console.log;
|
|
56
56
|
if (!this.formats.web2[payload.context].some((format) => payload.proof.startsWith(format))) {
|
|
57
57
|
// construct informative error message
|
|
58
58
|
const errorMessage = `Invalid ${payload.context} proof format. Supported formats are: ${this.formats.web2[payload.context].join(", ")}`;
|
|
@@ -219,6 +219,24 @@ class Identities {
|
|
|
219
219
|
async getWeb2Identities(demos, address) {
|
|
220
220
|
return await this.getIdentities(demos, "getWeb2Identities", address);
|
|
221
221
|
}
|
|
222
|
+
/**
|
|
223
|
+
* Get the points associated with an identity
|
|
224
|
+
*
|
|
225
|
+
* @param demos A Demos instance to communicate with the RPC
|
|
226
|
+
* @returns The points data for the identity
|
|
227
|
+
*/
|
|
228
|
+
async getUserPoints(demos) {
|
|
229
|
+
const request = {
|
|
230
|
+
method: "gcr_routine",
|
|
231
|
+
params: [
|
|
232
|
+
{
|
|
233
|
+
method: "getPoints",
|
|
234
|
+
params: [demos.getAddress()],
|
|
235
|
+
},
|
|
236
|
+
],
|
|
237
|
+
};
|
|
238
|
+
return await demos.rpcCall(request, true);
|
|
239
|
+
}
|
|
222
240
|
}
|
|
223
|
-
exports.
|
|
241
|
+
exports.Identities = Identities;
|
|
224
242
|
//# sourceMappingURL=Identities.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Identities.js","sourceRoot":"","sources":["../../../src/abstraction/Identities.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,8EAA8E
|
|
1
|
+
{"version":3,"file":"Identities.js","sourceRoot":"","sources":["../../../src/abstraction/Identities.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { EvmCoinFinder } from "./EvmCoinFinder";
|
|
8
8
|
import { CoinFinder } from "./CoinFinder";
|
|
9
|
-
import Identities from "./Identities";
|
|
10
|
-
import { InferFromWritePayload, InferFromSignaturePayload, XMCoreTargetIdentityPayload, Web2CoreTargetIdentityPayload, InferFromGithubPayload, GithubProof, InferFromTwitterPayload, TwitterProof, IdentityPayload, InferFromSignatureTargetIdentityPayload } from "../types/abstraction";
|
|
11
|
-
export { EvmCoinFinder, CoinFinder, Identities, InferFromWritePayload, InferFromSignaturePayload, XMCoreTargetIdentityPayload, Web2CoreTargetIdentityPayload, InferFromGithubPayload, GithubProof, InferFromTwitterPayload, TwitterProof, IdentityPayload, InferFromSignatureTargetIdentityPayload };
|
|
9
|
+
import { Identities } from "./Identities";
|
|
10
|
+
import { InferFromWritePayload, InferFromSignaturePayload, XMCoreTargetIdentityPayload, Web2CoreTargetIdentityPayload, InferFromGithubPayload, GithubProof, InferFromTwitterPayload, TwitterProof, IdentityPayload, InferFromSignatureTargetIdentityPayload, UserPoints } from "../types/abstraction";
|
|
11
|
+
export { EvmCoinFinder, CoinFinder, Identities, InferFromWritePayload, InferFromSignaturePayload, XMCoreTargetIdentityPayload, Web2CoreTargetIdentityPayload, InferFromGithubPayload, GithubProof, InferFromTwitterPayload, TwitterProof, IdentityPayload, InferFromSignatureTargetIdentityPayload, UserPoints, };
|
|
@@ -5,15 +5,12 @@
|
|
|
5
5
|
* This is to ensure that the finders don't get rate limited or go offline.
|
|
6
6
|
* This also means that the SDK calls should be made locally (using the ip address of the user).
|
|
7
7
|
*/
|
|
8
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
-
};
|
|
11
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
9
|
exports.Identities = exports.CoinFinder = exports.EvmCoinFinder = void 0;
|
|
13
10
|
const EvmCoinFinder_1 = require("./EvmCoinFinder");
|
|
14
11
|
Object.defineProperty(exports, "EvmCoinFinder", { enumerable: true, get: function () { return EvmCoinFinder_1.EvmCoinFinder; } });
|
|
15
12
|
const CoinFinder_1 = require("./CoinFinder");
|
|
16
13
|
Object.defineProperty(exports, "CoinFinder", { enumerable: true, get: function () { return CoinFinder_1.CoinFinder; } });
|
|
17
|
-
const Identities_1 =
|
|
18
|
-
exports
|
|
14
|
+
const Identities_1 = require("./Identities");
|
|
15
|
+
Object.defineProperty(exports, "Identities", { enumerable: true, get: function () { return Identities_1.Identities; } });
|
|
19
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/abstraction/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/abstraction/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,mDAA+C;AAkB3C,8FAlBK,6BAAa,OAkBL;AAjBjB,6CAAyC;AAkBrC,2FAlBK,uBAAU,OAkBL;AAjBd,6CAAyC;AAkBrC,2FAlBK,uBAAU,OAkBL"}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
-
import { BridgeOperationCompiled } from "./nativeBridgeTypes";
|
|
1
|
+
import { BridgeOperationCompiled, SupportedChain, SupportedEVMChain, SupportedStablecoin, SupportedNonEVMChain } from "./nativeBridgeTypes";
|
|
2
2
|
import { Transaction } from "../types/blockchain/Transaction";
|
|
3
3
|
import { RPCRequest } from "../types";
|
|
4
4
|
export declare const methods: {
|
|
5
|
+
/**
|
|
6
|
+
* Validates the chain
|
|
7
|
+
* @param chain
|
|
8
|
+
* @param chainType
|
|
9
|
+
* @param isOrigin (useful for error messages)
|
|
10
|
+
*/
|
|
11
|
+
validateChain(chain: string, chainType: string, isOrigin: boolean): void;
|
|
5
12
|
/**
|
|
6
13
|
* Generates a new operation, ready to be sent to the node as a RPCRequest
|
|
7
14
|
* TODO Implement the params
|
|
8
15
|
* REVIEW Should we use the identity somehow or we keep using the private key?
|
|
9
|
-
|
|
10
|
-
generateOperation(privateKey: string): RPCRequest;
|
|
16
|
+
*/
|
|
17
|
+
generateOperation(privateKey: string, publicKey: string, originChainType: SupportedChain, originChain: SupportedEVMChain | SupportedNonEVMChain, destinationChainType: SupportedChain, destinationChain: SupportedEVMChain | SupportedNonEVMChain, originAddress: string, destinationAddress: string, amount: string, token: SupportedStablecoin): RPCRequest;
|
|
11
18
|
/**
|
|
12
19
|
*
|
|
13
20
|
* @param compiled operation
|
|
@@ -2,32 +2,57 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.methods = void 0;
|
|
4
4
|
const encryption_1 = require("../encryption");
|
|
5
|
+
const nativeBridgeTypes_1 = require("./nativeBridgeTypes");
|
|
5
6
|
exports.methods = {
|
|
7
|
+
/**
|
|
8
|
+
* Validates the chain
|
|
9
|
+
* @param chain
|
|
10
|
+
* @param chainType
|
|
11
|
+
* @param isOrigin (useful for error messages)
|
|
12
|
+
*/
|
|
13
|
+
validateChain(chain, chainType, isOrigin) {
|
|
14
|
+
const chainTypeStr = isOrigin ? "origin" : "destination";
|
|
15
|
+
if (chainType === "EVM") {
|
|
16
|
+
if (!nativeBridgeTypes_1.supportedEVMChains.includes(chain)) {
|
|
17
|
+
throw new Error(`Invalid ${chainTypeStr} chain: ${chain} is not a supported EVM`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
if (!nativeBridgeTypes_1.supportedNonEVMChains.includes(chain)) {
|
|
22
|
+
throw new Error(`Invalid ${chainTypeStr} chain: ${chain} is not a supported chain`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
6
26
|
/**
|
|
7
27
|
* Generates a new operation, ready to be sent to the node as a RPCRequest
|
|
8
28
|
* TODO Implement the params
|
|
9
29
|
* REVIEW Should we use the identity somehow or we keep using the private key?
|
|
10
|
-
|
|
11
|
-
generateOperation(privateKey) {
|
|
30
|
+
*/
|
|
31
|
+
generateOperation(privateKey, publicKey, originChainType, originChain, destinationChainType, destinationChain, originAddress, destinationAddress, amount, token) {
|
|
32
|
+
// Ensuring the chains are valid: throw an error if not
|
|
33
|
+
this.validateChain(originChain, originChainType, true);
|
|
34
|
+
this.validateChain(destinationChain, destinationChainType, false);
|
|
12
35
|
// Defining the operation
|
|
13
36
|
const operation = {
|
|
14
|
-
demoAddress:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
37
|
+
demoAddress: publicKey,
|
|
38
|
+
originChainType: originChainType,
|
|
39
|
+
originChain: originChain,
|
|
40
|
+
destinationChainType: destinationChainType,
|
|
41
|
+
destinationChain: destinationChain,
|
|
42
|
+
originAddress: originAddress,
|
|
43
|
+
destinationAddress: destinationAddress,
|
|
44
|
+
amount: amount,
|
|
45
|
+
token: token,
|
|
21
46
|
txHash: "",
|
|
22
47
|
status: "empty",
|
|
23
48
|
};
|
|
24
|
-
// TODO Generate the operation based on parameters
|
|
25
49
|
// REVIEW Sign the operation
|
|
26
50
|
let opHash = encryption_1.Hashing.sha256(JSON.stringify(operation));
|
|
27
51
|
let signature = encryption_1.Cryptography.sign(opHash, privateKey);
|
|
52
|
+
let hexSignature = new TextDecoder().decode(signature);
|
|
28
53
|
let nodeCallPayload = {
|
|
29
54
|
method: "nativeBridge",
|
|
30
|
-
params: [operation]
|
|
55
|
+
params: [operation, hexSignature],
|
|
31
56
|
};
|
|
32
57
|
return nodeCallPayload;
|
|
33
58
|
},
|
|
@@ -41,6 +66,6 @@ exports.methods = {
|
|
|
41
66
|
generateOperationTx(compiled) {
|
|
42
67
|
// TODO Implement the transaction once we have the compiled operation
|
|
43
68
|
return null;
|
|
44
|
-
}
|
|
69
|
+
},
|
|
45
70
|
};
|
|
46
71
|
//# sourceMappingURL=nativeBridge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeBridge.js","sourceRoot":"","sources":["../../../src/bridge/nativeBridge.ts"],"names":[],"mappings":";;;AAAA,6CAAoD;
|
|
1
|
+
{"version":3,"file":"nativeBridge.js","sourceRoot":"","sources":["../../../src/bridge/nativeBridge.ts"],"names":[],"mappings":";;;AAAA,6CAAoD;AACpD,2DAS4B;AAIf,QAAA,OAAO,GAAG;IACnB;;;;;OAKG;IACH,aAAa,CACT,KAAa,EACb,SAAiB,EACjB,QAAiB;QAEjB,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAA;QACxD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,sCAAkB,CAAC,QAAQ,CAAC,KAA0B,CAAC,EAAE,CAAC;gBAC3D,MAAM,IAAI,KAAK,CACX,WAAW,YAAY,WAAW,KAAK,yBAAyB,CACnE,CAAA;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IACI,CAAC,yCAAqB,CAAC,QAAQ,CAC3B,KAA6B,CAChC,EACH,CAAC;gBACC,MAAM,IAAI,KAAK,CACX,WAAW,YAAY,WAAW,KAAK,2BAA2B,CACrE,CAAA;YACL,CAAC;QACL,CAAC;IACL,CAAC;IACD;;;;OAIG;IACH,iBAAiB,CACb,UAAkB,EAClB,SAAiB,EACjB,eAA+B,EAC/B,WAAqD,EACrD,oBAAoC,EACpC,gBAA0D,EAC1D,aAAqB,EACrB,kBAA0B,EAC1B,MAAc,EACd,KAA0B;QAE1B,uDAAuD;QACvD,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,CAAC,CAAA;QACtD,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAA;QACjE,yBAAyB;QACzB,MAAM,SAAS,GAAoB;YAC/B,WAAW,EAAE,SAAS;YACtB,eAAe,EAAE,eAAe;YAChC,WAAW,EAAE,WAAW;YACxB,oBAAoB,EAAE,oBAAoB;YAC1C,gBAAgB,EAAE,gBAAgB;YAClC,aAAa,EAAE,aAAa;YAC5B,kBAAkB,EAAE,kBAAkB;YACtC,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,OAAO;SAClB,CAAA;QACD,4BAA4B;QAC5B,IAAI,MAAM,GAAG,oBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAA;QACtD,IAAI,SAAS,GAAG,yBAAY,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QACrD,IAAI,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACtD,IAAI,eAAe,GAAe;YAC9B,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;SACpC,CAAA;QACD,OAAO,eAAe,CAAA;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,mBAAmB,CAAC,QAAiC;QACjD,qEAAqE;QACrE,OAAO,IAAI,CAAA;IACf,CAAC;CACJ,CAAA"}
|
|
@@ -2,8 +2,10 @@ export declare const supportedChains: readonly ["EVM", "SOLANA"];
|
|
|
2
2
|
export declare const supportedStablecoins: readonly ["USDC"];
|
|
3
3
|
export type BridgeOperation = {
|
|
4
4
|
demoAddress: string;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
originChainType: SupportedChain;
|
|
6
|
+
originChain: SupportedEVMChain | SupportedNonEVMChain;
|
|
7
|
+
destinationChainType: SupportedChain;
|
|
8
|
+
destinationChain: SupportedEVMChain | SupportedNonEVMChain;
|
|
7
9
|
originAddress: string;
|
|
8
10
|
destinationAddress: string;
|
|
9
11
|
amount: string;
|
|
@@ -28,6 +30,7 @@ export type BridgeOperationCompiled = {
|
|
|
28
30
|
rpc: string;
|
|
29
31
|
};
|
|
30
32
|
export declare const supportedEVMChains: readonly ["eth", "polygon", "bsc", "arbitrum", "optimism", "avalanche", "base"];
|
|
33
|
+
export declare const supportedNonEVMChains: readonly ["SOLANA"];
|
|
31
34
|
export declare const usdcContracts: {
|
|
32
35
|
ETHEREUM: string;
|
|
33
36
|
POLYGON: string;
|
|
@@ -42,3 +45,4 @@ export declare const usdcAbi: string[];
|
|
|
42
45
|
export type SupportedChain = (typeof supportedChains)[number];
|
|
43
46
|
export type SupportedStablecoin = (typeof supportedStablecoins)[number];
|
|
44
47
|
export type SupportedEVMChain = (typeof supportedEVMChains)[number];
|
|
48
|
+
export type SupportedNonEVMChain = (typeof supportedNonEVMChains)[number];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// We separate the types from the methods to avoid circular dependencies (transactions mainly)
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.usdcAbi = exports.usdcContracts = exports.supportedEVMChains = exports.supportedStablecoins = exports.supportedChains = void 0;
|
|
4
|
+
exports.usdcAbi = exports.usdcContracts = exports.supportedNonEVMChains = exports.supportedEVMChains = exports.supportedStablecoins = exports.supportedChains = void 0;
|
|
5
5
|
// Supported chains and stablecoins
|
|
6
6
|
exports.supportedChains = ["EVM", "SOLANA"];
|
|
7
7
|
exports.supportedStablecoins = ["USDC"];
|
|
@@ -15,6 +15,7 @@ exports.supportedEVMChains = [
|
|
|
15
15
|
"avalanche",
|
|
16
16
|
"base",
|
|
17
17
|
];
|
|
18
|
+
exports.supportedNonEVMChains = ["SOLANA"];
|
|
18
19
|
// USDC contract addresses for different chains (testnet addresses)
|
|
19
20
|
exports.usdcContracts = {
|
|
20
21
|
ETHEREUM: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238", // Sepolia USDC
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeBridgeTypes.js","sourceRoot":"","sources":["../../../src/bridge/nativeBridgeTypes.ts"],"names":[],"mappings":";AAAA,8FAA8F;;;AAE9F,mCAAmC;AACtB,QAAA,eAAe,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAU,CAAA;AAC5C,QAAA,oBAAoB,GAAG,CAAC,MAAM,CAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"nativeBridgeTypes.js","sourceRoot":"","sources":["../../../src/bridge/nativeBridgeTypes.ts"],"names":[],"mappings":";AAAA,8FAA8F;;;AAE9F,mCAAmC;AACtB,QAAA,eAAe,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAU,CAAA;AAC5C,QAAA,oBAAoB,GAAG,CAAC,MAAM,CAAU,CAAA;AAwCrD,2BAA2B;AACd,QAAA,kBAAkB,GAAG;IAC9B,KAAK;IACL,SAAS;IACT,KAAK;IACL,UAAU;IACV,UAAU;IACV,WAAW;IACX,MAAM;CACA,CAAA;AAEG,QAAA,qBAAqB,GAAG,CAAC,QAAQ,CAAU,CAAA;AAExD,mEAAmE;AACtD,QAAA,aAAa,GAAG;IACzB,QAAQ,EAAE,4CAA4C,EAAE,eAAe;IACvE,OAAO,EAAE,4CAA4C,EAAE,cAAc;IACrE,GAAG,EAAE,4CAA4C,EAAE,mBAAmB;IACtE,QAAQ,EAAE,4CAA4C,EAAE,wBAAwB;IAChF,QAAQ,EAAE,4CAA4C,EAAE,wBAAwB;IAChF,SAAS,EAAE,4CAA4C,EAAE,YAAY;IACrE,IAAI,EAAE,4CAA4C,EAAE,oBAAoB;IACxE,MAAM,EAAE,8CAA8C,EAAE,qBAAqB;CAChF,CAAA;AAED,gCAAgC;AACnB,QAAA,OAAO,GAAG;IACnB,0DAA0D;IAC1D,0CAA0C;CAC7C,CAAA"}
|
|
@@ -77,4 +77,21 @@ export interface Web2IdentityPayload {
|
|
|
77
77
|
payload: InferFromGithubPayload | InferFromTwitterPayload;
|
|
78
78
|
}
|
|
79
79
|
export type IdentityPayload = XmIdentityPayload | Web2IdentityPayload;
|
|
80
|
+
export interface UserPoints {
|
|
81
|
+
userId: string;
|
|
82
|
+
totalPoints: number;
|
|
83
|
+
breakdown: {
|
|
84
|
+
web3Wallets: number;
|
|
85
|
+
socialAccounts: {
|
|
86
|
+
twitter: number;
|
|
87
|
+
github: number;
|
|
88
|
+
discord: number;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
linkedWallets: string[];
|
|
92
|
+
linkedSocials: {
|
|
93
|
+
twitter?: string;
|
|
94
|
+
};
|
|
95
|
+
lastUpdated: Date;
|
|
96
|
+
}
|
|
80
97
|
export {};
|
package/build/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;AAuBA,0DAAuE;AAA9D,6GAAA,aAAa,OAAA;AA+BtB,OAAO;AACP,+BAgBe;AAFX,uGAAA,eAAe,OAAA;AACf,uGAAA,eAAe,OAAA;AAOnB,mDAA4D;AAAnD,sGAAA,SAAS,OAAA;AAOlB,2CAQ0B;AAHtB,qGAAA,YAAY,OAAA;AAEZ,qGAAA,YAAY,OAAA;AAGhB,2CAU4B;AADxB,0GAAA,aAAa,OAAuB;AAgBxC,gDAI2B;AAHvB,2GAAA,cAAc,OAAA;AACd,4GAAA,eAAe,OAAA;AACf,4GAAA,eAAe,OAAA"}
|
|
@@ -12,30 +12,32 @@ class GCRGeneration {
|
|
|
12
12
|
const gcrEdits = [];
|
|
13
13
|
const { content } = tx;
|
|
14
14
|
// Handle main transaction edits
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
15
|
+
if (content.type) {
|
|
16
|
+
switch (content.type) {
|
|
17
|
+
case "demoswork":
|
|
18
|
+
// TODO Implement this
|
|
19
|
+
break;
|
|
20
|
+
case "native":
|
|
21
|
+
var nativeEdits = await HandleNativeOperations.handle(tx, isRollback);
|
|
22
|
+
gcrEdits.push(...nativeEdits);
|
|
23
|
+
break;
|
|
24
|
+
case "web2Request":
|
|
25
|
+
case "crosschainOperation":
|
|
26
|
+
gcrEdits.push(this.createAssignEdit(content, tx.hash));
|
|
27
|
+
break;
|
|
28
|
+
case "genesis":
|
|
29
|
+
// TODO Implement this
|
|
30
|
+
break;
|
|
31
|
+
case "identity":
|
|
32
|
+
var identityEdits = await HandleIdentityOperations.handle(tx);
|
|
33
|
+
gcrEdits.push(...identityEdits);
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
34
36
|
}
|
|
35
37
|
// SECTION Operations valid for all tx types
|
|
36
38
|
// Add gas operation edit with check for availability of gas amount in the sender's balance
|
|
37
39
|
nonceEdits: try {
|
|
38
|
-
// INFO: Skip gas for identity
|
|
40
|
+
// INFO: Skip gas for identity
|
|
39
41
|
if (content.type === "identity") {
|
|
40
42
|
break nonceEdits;
|
|
41
43
|
}
|
|
@@ -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/build/websdk/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { demos } from
|
|
2
|
-
export { Demos } from
|
|
3
|
-
export { DemosTransactions } from
|
|
1
|
+
export { demos } from "./demos";
|
|
2
|
+
export { Demos } from "./demosclass";
|
|
3
|
+
export { DemosTransactions } from "./DemosTransactions";
|
|
4
4
|
export { RSA } from "./rsa";
|
|
5
5
|
export { DemosWebAuth } from "./DemosWebAuth";
|
|
6
6
|
export { XMTransactions, prepareXMPayload, prepareXMScript, } from "./XMTransactions";
|
|
@@ -9,4 +9,5 @@ export { sha256 } from "./utils/sha256";
|
|
|
9
9
|
export { bufferize } from "./utils/bufferizer";
|
|
10
10
|
export { required, _required } from "./utils/required";
|
|
11
11
|
export { forgeToString, stringToForge } from "./utils/forge_converter";
|
|
12
|
+
export { verifyTurnstileToken } from "./utils/turnstile";
|
|
12
13
|
export * as skeletons from "./utils/skeletons";
|
package/build/websdk/index.js
CHANGED
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.skeletons = exports.stringToForge = exports.forgeToString = exports._required = exports.required = exports.bufferize = exports.sha256 = exports.HandleNativeOperations = exports.GCRGeneration = exports.prepareXMScript = exports.prepareXMPayload = exports.XMTransactions = exports.DemosWebAuth = exports.RSA = exports.DemosTransactions = exports.Demos = exports.demos = void 0;
|
|
36
|
+
exports.skeletons = exports.verifyTurnstileToken = exports.stringToForge = exports.forgeToString = exports._required = exports.required = exports.bufferize = exports.sha256 = exports.HandleNativeOperations = exports.GCRGeneration = exports.prepareXMScript = exports.prepareXMPayload = exports.XMTransactions = exports.DemosWebAuth = exports.RSA = exports.DemosTransactions = exports.Demos = exports.demos = void 0;
|
|
37
37
|
// @ts-nocheck
|
|
38
38
|
var demos_1 = require("./demos");
|
|
39
39
|
Object.defineProperty(exports, "demos", { enumerable: true, get: function () { return demos_1.demos; } });
|
|
@@ -63,5 +63,7 @@ Object.defineProperty(exports, "_required", { enumerable: true, get: function ()
|
|
|
63
63
|
var forge_converter_1 = require("./utils/forge_converter");
|
|
64
64
|
Object.defineProperty(exports, "forgeToString", { enumerable: true, get: function () { return forge_converter_1.forgeToString; } });
|
|
65
65
|
Object.defineProperty(exports, "stringToForge", { enumerable: true, get: function () { return forge_converter_1.stringToForge; } });
|
|
66
|
+
var turnstile_1 = require("./utils/turnstile");
|
|
67
|
+
Object.defineProperty(exports, "verifyTurnstileToken", { enumerable: true, get: function () { return turnstile_1.verifyTurnstileToken; } });
|
|
66
68
|
exports.skeletons = __importStar(require("./utils/skeletons"));
|
|
67
69
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/websdk/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,cAAc;AACd,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,2CAAoC;AAA3B,mGAAA,KAAK,OAAA;AACd,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAE1B,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,+CAA6C;AAApC,4GAAA,YAAY,OAAA;AAErB,mDAIyB;AAHrB,gHAAA,cAAc,OAAA;AACd,kHAAA,gBAAgB,OAAA;AAChB,iHAAA,eAAe,OAAA;AAGnB,iDAAuE;AAA9D,8GAAA,aAAa,OAAA;AAAE,uHAAA,sBAAsB,OAAA;AAC9C,QAAQ;AACR,yCAAuC;AAA9B,gGAAA,MAAM,OAAA;AACf,iDAA8C;AAArC,uGAAA,SAAS,OAAA;AAClB,6CAAsD;AAA7C,oGAAA,QAAQ,OAAA;AAAE,qGAAA,SAAS,OAAA;AAC5B,2DAAsE;AAA7D,gHAAA,aAAa,OAAA;AAAE,gHAAA,aAAa,OAAA;AACrC,+DAA8C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/websdk/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,cAAc;AACd,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,2CAAoC;AAA3B,mGAAA,KAAK,OAAA;AACd,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAE1B,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,+CAA6C;AAApC,4GAAA,YAAY,OAAA;AAErB,mDAIyB;AAHrB,gHAAA,cAAc,OAAA;AACd,kHAAA,gBAAgB,OAAA;AAChB,iHAAA,eAAe,OAAA;AAGnB,iDAAuE;AAA9D,8GAAA,aAAa,OAAA;AAAE,uHAAA,sBAAsB,OAAA;AAC9C,QAAQ;AACR,yCAAuC;AAA9B,gGAAA,MAAM,OAAA;AACf,iDAA8C;AAArC,uGAAA,SAAS,OAAA;AAClB,6CAAsD;AAA7C,oGAAA,QAAQ,OAAA;AAAE,qGAAA,SAAS,OAAA;AAC5B,2DAAsE;AAA7D,gHAAA,aAAa,OAAA;AAAE,gHAAA,aAAa,OAAA;AACrC,+CAAwD;AAA/C,iHAAA,oBAAoB,OAAA;AAC7B,+DAA8C"}
|
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
2
|
+
/* import crypto from 'crypto' */
|
|
5
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
4
|
exports.sha256 = sha256;
|
|
7
|
-
const crypto_1 = __importDefault(require("crypto"));
|
|
8
5
|
/**
|
|
9
6
|
* Hashes any string using crypto subtle
|
|
10
7
|
*/
|
|
11
8
|
async function sha256(string) {
|
|
12
9
|
const utf8 = new TextEncoder().encode(string);
|
|
13
|
-
const hashBuffer = await
|
|
10
|
+
const hashBuffer = await crypto.subtle.digest("SHA-256", utf8);
|
|
14
11
|
const hashArray = Array.from(new Uint8Array(hashBuffer)); // FIXME Review if it's to change to buffer here
|
|
15
12
|
// sourcery skip: inline-immediately-returned-variable
|
|
16
13
|
const hashHex = hashArray
|
|
17
|
-
.map(
|
|
18
|
-
.join(
|
|
14
|
+
.map(bytes => bytes.toString(16).padStart(2, "0"))
|
|
15
|
+
.join("");
|
|
19
16
|
return hashHex;
|
|
20
17
|
}
|
|
21
18
|
//# sourceMappingURL=sha256.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sha256.js","sourceRoot":"","sources":["../../../../src/websdk/utils/sha256.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sha256.js","sourceRoot":"","sources":["../../../../src/websdk/utils/sha256.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAKjC,wBASC;AAZD;;GAEG;AACI,KAAK,UAAU,MAAM,CAAC,MAAc;IACvC,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAA,CAAC,gDAAgD;IACzG,sDAAsD;IACtD,MAAM,OAAO,GAAG,SAAS;SACpB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACjD,IAAI,CAAC,EAAE,CAAC,CAAA;IACb,OAAO,OAAO,CAAA;AAClB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Demos } from "../demosclass";
|
|
2
|
+
import { RPCResponseWithValidityData } from "../../types";
|
|
3
|
+
/**
|
|
4
|
+
* Verify a Cloudflare Turnstile token to protect against bots
|
|
5
|
+
*
|
|
6
|
+
* @param demos The Demos instance to use for the RPC call
|
|
7
|
+
* @param token The token from the Turnstile widget
|
|
8
|
+
* @returns Response indicating if the token is valid
|
|
9
|
+
*/
|
|
10
|
+
export declare function verifyTurnstileToken(demos: Demos, token: string): Promise<RPCResponseWithValidityData>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.verifyTurnstileToken = verifyTurnstileToken;
|
|
4
|
+
/**
|
|
5
|
+
* Verify a Cloudflare Turnstile token to protect against bots
|
|
6
|
+
*
|
|
7
|
+
* @param demos The Demos instance to use for the RPC call
|
|
8
|
+
* @param token The token from the Turnstile widget
|
|
9
|
+
* @returns Response indicating if the token is valid
|
|
10
|
+
*/
|
|
11
|
+
async function verifyTurnstileToken(demos, token) {
|
|
12
|
+
const request = {
|
|
13
|
+
method: "gcr_routine",
|
|
14
|
+
params: [
|
|
15
|
+
{
|
|
16
|
+
method: "verifyTurnstile",
|
|
17
|
+
params: [token],
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
};
|
|
21
|
+
return await demos.rpcCall(request, true);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=turnstile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turnstile.js","sourceRoot":"","sources":["../../../../src/websdk/utils/turnstile.ts"],"names":[],"mappings":";;AAUA,oDAeC;AAtBD;;;;;;GAMG;AACI,KAAK,UAAU,oBAAoB,CACtC,KAAY,EACZ,KAAa;IAEb,MAAM,OAAO,GAAG;QACZ,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE;YACJ;gBACI,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EAAE,CAAC,KAAK,CAAC;aAClB;SACJ;KACJ,CAAA;IAED,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AAC7C,CAAC"}
|