@cartridge/controller 0.3.1 → 0.3.2
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/lib/index.d.ts +2 -8
- package/lib/index.js +5 -68
- package/lib/index.js.map +1 -1
- package/lib/utils.d.ts +7 -0
- package/lib/utils.js +102 -2
- package/lib/utils.js.map +1 -1
- package/package.json +2 -1
package/lib/index.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { AccountInterface, constants,
|
|
2
|
+
import { AccountInterface, constants, RpcProvider } from "starknet";
|
|
3
3
|
import { AsyncMethodReturns } from "@cartridge/penpal";
|
|
4
4
|
import { Session, Keychain, Policy } from "./types";
|
|
5
|
-
import BN from "bn.js";
|
|
6
5
|
export declare const providers: {
|
|
7
6
|
"0x534e5f474f45524c49": RpcProvider;
|
|
8
7
|
"0x534e5f474f45524c4932": RpcProvider;
|
|
@@ -44,15 +43,10 @@ declare class Controller {
|
|
|
44
43
|
disconnect(): Promise<void | null>;
|
|
45
44
|
revoke(origin: string, policy: Policy[]): Promise<void> | null;
|
|
46
45
|
approvals(origin: string): Promise<Session | undefined>;
|
|
47
|
-
verifyMessageHash(messageHash: number.BigNumberish, signature: Signature): Promise<boolean | undefined>;
|
|
48
46
|
private createModal;
|
|
49
47
|
}
|
|
50
|
-
export declare function split(n: BN): {
|
|
51
|
-
x: BN;
|
|
52
|
-
y: BN;
|
|
53
|
-
z: BN;
|
|
54
|
-
};
|
|
55
48
|
export * from "./types";
|
|
56
49
|
export * from "./errors";
|
|
50
|
+
export { computeAddress, split, verifyMessageHash } from "./utils";
|
|
57
51
|
export { injectController } from "./inject";
|
|
58
52
|
export default Controller;
|
package/lib/index.js
CHANGED
|
@@ -54,15 +54,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
54
54
|
};
|
|
55
55
|
var _a;
|
|
56
56
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
|
-
exports.injectController = exports.split = exports.providers = void 0;
|
|
57
|
+
exports.injectController = exports.verifyMessageHash = exports.split = exports.computeAddress = exports.providers = void 0;
|
|
58
58
|
var starknet_1 = require("starknet");
|
|
59
59
|
var penpal_1 = require("@cartridge/penpal");
|
|
60
60
|
var device_1 = __importDefault(require("./device"));
|
|
61
61
|
var types_1 = require("./types");
|
|
62
|
-
var utils_1 = require("./utils");
|
|
63
|
-
var graphql_1 = require("./generated/graphql");
|
|
64
|
-
var cbor_x_1 = require("cbor-x");
|
|
65
|
-
var constants_1 = require("@cartridge/controller/src/constants");
|
|
66
62
|
exports.providers = (_a = {},
|
|
67
63
|
_a[starknet_1.constants.StarknetChainId.TESTNET] = new starknet_1.RpcProvider({
|
|
68
64
|
nodeUrl: "https://starknet-goerli.cartridge.gg/rpc/v0.2",
|
|
@@ -306,61 +302,6 @@ var Controller = /** @class */ (function () {
|
|
|
306
302
|
});
|
|
307
303
|
});
|
|
308
304
|
};
|
|
309
|
-
Controller.prototype.verifyMessageHash = function (messageHash, signature) {
|
|
310
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
311
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
312
|
-
var isDeployed, res, isRegistered, keyPair, res, account, pubKeyCbor, x, y, _h, x0, x1, x2, _j, y0, y1, y2, address, keyPair;
|
|
313
|
-
return __generator(this, function (_k) {
|
|
314
|
-
switch (_k.label) {
|
|
315
|
-
case 0:
|
|
316
|
-
isDeployed = !!((_a = this.account) === null || _a === void 0 ? void 0 : _a.getClassHashAt(this.account.address, "latest"));
|
|
317
|
-
if (!isDeployed) return [3 /*break*/, 2];
|
|
318
|
-
return [4 /*yield*/, ((_b = this.account) === null || _b === void 0 ? void 0 : _b.callContract({
|
|
319
|
-
contractAddress: this.account.address,
|
|
320
|
-
entrypoint: "executeOnPlugin",
|
|
321
|
-
calldata: [
|
|
322
|
-
constants_1.CLASS_HASHES["0.0.1"].controller,
|
|
323
|
-
starknet_1.hash.getSelector("is_public_key"),
|
|
324
|
-
"0x1",
|
|
325
|
-
signature[0],
|
|
326
|
-
],
|
|
327
|
-
}))];
|
|
328
|
-
case 1:
|
|
329
|
-
res = _k.sent();
|
|
330
|
-
isRegistered = (res === null || res === void 0 ? void 0 : res.result[0]) === "0x1";
|
|
331
|
-
if (isRegistered) {
|
|
332
|
-
keyPair = starknet_1.ec.getKeyPairFromPublicKey(signature[0]);
|
|
333
|
-
return [2 /*return*/, starknet_1.ec.verify(keyPair, starknet_1.number.toBN(messageHash).toString(), signature)];
|
|
334
|
-
}
|
|
335
|
-
else {
|
|
336
|
-
// validate register txn and signature
|
|
337
|
-
}
|
|
338
|
-
return [3 /*break*/, 4];
|
|
339
|
-
case 2: return [4 /*yield*/, utils_1.client.request(graphql_1.AccountDocument, {
|
|
340
|
-
address: (_c = this.account) === null || _c === void 0 ? void 0 : _c.address,
|
|
341
|
-
})];
|
|
342
|
-
case 3:
|
|
343
|
-
res = _k.sent();
|
|
344
|
-
account = (_f = (_e = (_d = res === null || res === void 0 ? void 0 : res.accounts) === null || _d === void 0 ? void 0 : _d.edges) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.node;
|
|
345
|
-
if (!account) {
|
|
346
|
-
return [2 /*return*/, false];
|
|
347
|
-
}
|
|
348
|
-
pubKeyCbor = (0, cbor_x_1.decode)(starknet_1.number.toBN(account.credential.publicKey).toBuffer())[0];
|
|
349
|
-
x = starknet_1.number.toBN("0x" + pubKeyCbor[-2].toString("hex"));
|
|
350
|
-
y = starknet_1.number.toBN("0x" + pubKeyCbor[-3].toString("hex"));
|
|
351
|
-
_h = split(x), x0 = _h.x, x1 = _h.y, x2 = _h.z;
|
|
352
|
-
_j = split(y), y0 = _j.x, y1 = _j.y, y2 = _j.z;
|
|
353
|
-
address = (0, utils_1.computeAddress)(account.id, { x0: x0, x1: x1, x2: x2 }, { y0: y0, y1: y1, y2: y2 }, signature[0]);
|
|
354
|
-
if (address !== ((_g = this.account) === null || _g === void 0 ? void 0 : _g.address)) {
|
|
355
|
-
throw new Error("invalid public key");
|
|
356
|
-
}
|
|
357
|
-
keyPair = starknet_1.ec.getKeyPairFromPublicKey(signature[0]);
|
|
358
|
-
return [2 /*return*/, starknet_1.ec.verify(keyPair, starknet_1.number.toBN(messageHash).toString(), signature)];
|
|
359
|
-
case 4: return [2 /*return*/];
|
|
360
|
-
}
|
|
361
|
-
});
|
|
362
|
-
});
|
|
363
|
-
};
|
|
364
305
|
Controller.prototype.createModal = function () {
|
|
365
306
|
var _this = this;
|
|
366
307
|
var iframe = document.createElement("iframe");
|
|
@@ -408,16 +349,12 @@ var Controller = /** @class */ (function () {
|
|
|
408
349
|
};
|
|
409
350
|
return Controller;
|
|
410
351
|
}());
|
|
411
|
-
var BASE = starknet_1.number.toBN(2).pow(starknet_1.number.toBN(86));
|
|
412
|
-
function split(n) {
|
|
413
|
-
var x = n.mod(BASE);
|
|
414
|
-
var y = n.div(BASE).mod(BASE);
|
|
415
|
-
var z = n.div(BASE).div(BASE);
|
|
416
|
-
return { x: x, y: y, z: z };
|
|
417
|
-
}
|
|
418
|
-
exports.split = split;
|
|
419
352
|
__exportStar(require("./types"), exports);
|
|
420
353
|
__exportStar(require("./errors"), exports);
|
|
354
|
+
var utils_1 = require("./utils");
|
|
355
|
+
Object.defineProperty(exports, "computeAddress", { enumerable: true, get: function () { return utils_1.computeAddress; } });
|
|
356
|
+
Object.defineProperty(exports, "split", { enumerable: true, get: function () { return utils_1.split; } });
|
|
357
|
+
Object.defineProperty(exports, "verifyMessageHash", { enumerable: true, get: function () { return utils_1.verifyMessageHash; } });
|
|
421
358
|
var inject_1 = require("./inject");
|
|
422
359
|
Object.defineProperty(exports, "injectController", { enumerable: true, get: function () { return inject_1.injectController; } });
|
|
423
360
|
exports.default = Controller;
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/utils.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Policy } from "./types";
|
|
2
2
|
import { GraphQLClient } from "graphql-request";
|
|
3
|
+
import { number, Signature, Provider } from "starknet";
|
|
3
4
|
import BN from "bn.js";
|
|
4
5
|
export declare const ENDPOINT: string;
|
|
5
6
|
export declare const client: GraphQLClient;
|
|
@@ -13,3 +14,9 @@ export declare const computeAddress: (username: string, { x0, x1, x2 }: {
|
|
|
13
14
|
y1: BN;
|
|
14
15
|
y2: BN;
|
|
15
16
|
}, deviceKey: string) => string;
|
|
17
|
+
export declare const verifyMessageHash: (provider: Provider, address: string, messageHash: number.BigNumberish, signature: Signature) => Promise<boolean | undefined>;
|
|
18
|
+
export declare function split(n: BN): {
|
|
19
|
+
x: BN;
|
|
20
|
+
y: BN;
|
|
21
|
+
z: BN;
|
|
22
|
+
};
|
package/lib/utils.js
CHANGED
|
@@ -1,4 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
2
38
|
var __read = (this && this.__read) || function (o, n) {
|
|
3
39
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
40
|
if (!m) return o;
|
|
@@ -28,11 +64,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
64
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
29
65
|
};
|
|
30
66
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
-
exports.computeAddress = exports.diff = exports.client = exports.ENDPOINT = void 0;
|
|
67
|
+
exports.split = exports.verifyMessageHash = exports.computeAddress = exports.diff = exports.client = exports.ENDPOINT = void 0;
|
|
32
68
|
var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
33
69
|
var graphql_request_1 = require("graphql-request");
|
|
34
70
|
var starknet_1 = require("starknet");
|
|
35
|
-
var constants_1 = require("
|
|
71
|
+
var constants_1 = require("./constants");
|
|
72
|
+
var graphql_1 = require("./generated/graphql");
|
|
73
|
+
var cbor_x_1 = require("cbor-x");
|
|
36
74
|
exports.ENDPOINT = process.env.NEXT_PUBLIC_API_URL;
|
|
37
75
|
exports.client = new graphql_request_1.GraphQLClient(exports.ENDPOINT, { credentials: "include" });
|
|
38
76
|
function diff(a, b) {
|
|
@@ -60,4 +98,66 @@ var computeAddress = function (username, _a, _b, deviceKey) {
|
|
|
60
98
|
], "0");
|
|
61
99
|
};
|
|
62
100
|
exports.computeAddress = computeAddress;
|
|
101
|
+
var verifyMessageHash = function (provider, address, messageHash, signature) { return __awaiter(void 0, void 0, void 0, function () {
|
|
102
|
+
var isDeployed, res, isRegistered, keyPair, res, account, pubKeyCbor, x, y, _a, x0, x1, x2, _b, y0, y1, y2, computedAddress, keyPair;
|
|
103
|
+
var _c, _d, _e;
|
|
104
|
+
return __generator(this, function (_f) {
|
|
105
|
+
switch (_f.label) {
|
|
106
|
+
case 0:
|
|
107
|
+
isDeployed = !!provider.getClassHashAt(address, "latest");
|
|
108
|
+
if (!isDeployed) return [3 /*break*/, 2];
|
|
109
|
+
return [4 /*yield*/, provider.callContract({
|
|
110
|
+
contractAddress: address,
|
|
111
|
+
entrypoint: "executeOnPlugin",
|
|
112
|
+
calldata: [
|
|
113
|
+
constants_1.CLASS_HASHES["0.0.1"].controller,
|
|
114
|
+
starknet_1.hash.getSelector("is_public_key"),
|
|
115
|
+
"0x1",
|
|
116
|
+
signature[0],
|
|
117
|
+
],
|
|
118
|
+
})];
|
|
119
|
+
case 1:
|
|
120
|
+
res = _f.sent();
|
|
121
|
+
isRegistered = (res === null || res === void 0 ? void 0 : res.result[0]) === "0x1";
|
|
122
|
+
if (isRegistered) {
|
|
123
|
+
keyPair = starknet_1.ec.getKeyPairFromPublicKey(signature[0]);
|
|
124
|
+
return [2 /*return*/, starknet_1.ec.verify(keyPair, starknet_1.number.toBN(messageHash).toString(), signature)];
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
// validate register txn and signature
|
|
128
|
+
}
|
|
129
|
+
return [3 /*break*/, 4];
|
|
130
|
+
case 2: return [4 /*yield*/, exports.client.request(graphql_1.AccountDocument, {
|
|
131
|
+
address: address,
|
|
132
|
+
})];
|
|
133
|
+
case 3:
|
|
134
|
+
res = _f.sent();
|
|
135
|
+
account = (_e = (_d = (_c = res === null || res === void 0 ? void 0 : res.accounts) === null || _c === void 0 ? void 0 : _c.edges) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.node;
|
|
136
|
+
if (!account) {
|
|
137
|
+
return [2 /*return*/, false];
|
|
138
|
+
}
|
|
139
|
+
pubKeyCbor = (0, cbor_x_1.decode)(starknet_1.number.toBN(account.credential.publicKey).toBuffer())[0];
|
|
140
|
+
x = starknet_1.number.toBN("0x" + pubKeyCbor[-2].toString("hex"));
|
|
141
|
+
y = starknet_1.number.toBN("0x" + pubKeyCbor[-3].toString("hex"));
|
|
142
|
+
_a = split(x), x0 = _a.x, x1 = _a.y, x2 = _a.z;
|
|
143
|
+
_b = split(y), y0 = _b.x, y1 = _b.y, y2 = _b.z;
|
|
144
|
+
computedAddress = (0, exports.computeAddress)(account.id, { x0: x0, x1: x1, x2: x2 }, { y0: y0, y1: y1, y2: y2 }, signature[0]);
|
|
145
|
+
if (computedAddress !== address) {
|
|
146
|
+
throw new Error("invalid public key");
|
|
147
|
+
}
|
|
148
|
+
keyPair = starknet_1.ec.getKeyPairFromPublicKey(signature[0]);
|
|
149
|
+
return [2 /*return*/, starknet_1.ec.verify(keyPair, starknet_1.number.toBN(messageHash).toString(), signature)];
|
|
150
|
+
case 4: return [2 /*return*/];
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
}); };
|
|
154
|
+
exports.verifyMessageHash = verifyMessageHash;
|
|
155
|
+
var BASE = starknet_1.number.toBN(2).pow(starknet_1.number.toBN(86));
|
|
156
|
+
function split(n) {
|
|
157
|
+
var x = n.mod(BASE);
|
|
158
|
+
var y = n.div(BASE).mod(BASE);
|
|
159
|
+
var z = n.div(BASE).div(BASE);
|
|
160
|
+
return { x: x, y: y, z: z };
|
|
161
|
+
}
|
|
162
|
+
exports.split = split;
|
|
63
163
|
//# sourceMappingURL=utils.js.map
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cartridge/controller",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Cartridge Controller",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"cbor-x": "^1.5.0",
|
|
33
33
|
"fast-deep-equal": "^3.1.3",
|
|
34
34
|
"query-string": "^7.1.1",
|
|
35
|
+
"react-query": "^3.39.2",
|
|
35
36
|
"starknet": "^4.17.1"
|
|
36
37
|
}
|
|
37
38
|
}
|