@wormhole-foundation/sdk-definitions 0.5.3-beta.6 → 0.5.3-beta.7
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/dist/cjs/protocols/core/core.d.ts +9 -0
- package/dist/cjs/protocols/core/core.d.ts.map +1 -1
- package/dist/cjs/protocols/core/index.d.ts +3 -2
- package/dist/cjs/protocols/core/index.d.ts.map +1 -1
- package/dist/cjs/protocols/core/index.js +1 -0
- package/dist/cjs/protocols/core/index.js.map +1 -1
- package/dist/cjs/signature.d.ts +6 -0
- package/dist/cjs/signature.d.ts.map +1 -1
- package/dist/cjs/signature.js +29 -1
- package/dist/cjs/signature.js.map +1 -1
- package/dist/cjs/testing/mocks/guardian.d.ts +0 -4
- package/dist/cjs/testing/mocks/guardian.d.ts.map +1 -1
- package/dist/cjs/testing/mocks/guardian.js +3 -18
- package/dist/cjs/testing/mocks/guardian.js.map +1 -1
- package/dist/esm/protocols/core/core.d.ts +9 -0
- package/dist/esm/protocols/core/core.d.ts.map +1 -1
- package/dist/esm/protocols/core/index.d.ts +3 -2
- package/dist/esm/protocols/core/index.d.ts.map +1 -1
- package/dist/esm/protocols/core/index.js +2 -1
- package/dist/esm/protocols/core/index.js.map +1 -1
- package/dist/esm/signature.d.ts +6 -0
- package/dist/esm/signature.d.ts.map +1 -1
- package/dist/esm/signature.js +28 -0
- package/dist/esm/signature.js.map +1 -1
- package/dist/esm/testing/mocks/guardian.d.ts +0 -4
- package/dist/esm/testing/mocks/guardian.d.ts.map +1 -1
- package/dist/esm/testing/mocks/guardian.js +4 -16
- package/dist/esm/testing/mocks/guardian.js.map +1 -1
- package/package.json +2 -2
|
@@ -16,6 +16,13 @@ declare module "../../registry.js" {
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
+
export declare namespace WormholeCore {
|
|
20
|
+
interface GuardianSet {
|
|
21
|
+
index: number;
|
|
22
|
+
keys: string[];
|
|
23
|
+
expiry: bigint;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
19
26
|
/**
|
|
20
27
|
* WormholeCore provides a consistent interface to interact
|
|
21
28
|
* with the Wormhole core messaging protocol.
|
|
@@ -26,6 +33,8 @@ export interface WormholeCore<N extends Network = Network, C extends Chain = Cha
|
|
|
26
33
|
getMessageFee(): Promise<bigint>;
|
|
27
34
|
/** Get the current guardian set index */
|
|
28
35
|
getGuardianSetIndex(): Promise<number>;
|
|
36
|
+
/** Get the guardian set data corresponding to the index */
|
|
37
|
+
getGuardianSet(index: number): Promise<WormholeCore.GuardianSet>;
|
|
29
38
|
/**
|
|
30
39
|
* Publish a message
|
|
31
40
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/protocols/core/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,QAAQ,mBAAmB,CAAC;IACjC,UAAiB,gBAAgB,CAAC;QAChC,UAAU,0BAA0B,CAAC,CAAC,EAAE,CAAC;YACvC,YAAY,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAClC;QACD,UAAU,yBAAyB;YACjC,YAAY,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;SAChD;KACF;CACF;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK;IAChF,2CAA2C;IAC3C,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjC,yCAAyC;IACzC,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvC;;;;;;;;;;OAUG;IACH,cAAc,CACZ,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,MAAM,GACvB,cAAc,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C;;;;;;OAMG;IACH,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE9F;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAE7D;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;CAC3D"}
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/protocols/core/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,QAAQ,mBAAmB,CAAC;IACjC,UAAiB,gBAAgB,CAAC;QAChC,UAAU,0BAA0B,CAAC,CAAC,EAAE,CAAC;YACvC,YAAY,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAClC;QACD,UAAU,yBAAyB;YACjC,YAAY,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;SAChD;KACF;CACF;AAED,yBAAiB,YAAY,CAAC;IAC5B,UAAiB,WAAW;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB;CACF;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK;IAChF,2CAA2C;IAC3C,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjC,yCAAyC;IACzC,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvC,2DAA2D;IAC3D,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAEjE;;;;;;;;;;OAUG;IACH,cAAc,CACZ,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,MAAM,GACvB,cAAc,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C;;;;;;OAMG;IACH,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE9F;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAE7D;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;CAC3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/protocols/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/protocols/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC"}
|
|
@@ -14,5 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./core.js"), exports);
|
|
17
18
|
__exportStar(require("./governanceLayout.js"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/protocols/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,wDAAsC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/protocols/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,4CAA0B;AAC1B,wDAAsC"}
|
package/dist/cjs/signature.d.ts
CHANGED
|
@@ -7,4 +7,10 @@ export declare class Signature {
|
|
|
7
7
|
encode(): Uint8Array;
|
|
8
8
|
static decode(data: Uint8Array): Signature;
|
|
9
9
|
}
|
|
10
|
+
export declare namespace SignatureUtils {
|
|
11
|
+
function toPubkey(privateKey: string): Uint8Array;
|
|
12
|
+
function sign(privateKey: string, hash: Uint8Array): import("@noble/curves/abstract/weierstrass").RecoveredSignatureType;
|
|
13
|
+
function validate(signature: Signature, publicKey: Uint8Array, hash: Uint8Array): boolean;
|
|
14
|
+
function recover(signature: Signature, hash: Uint8Array): Uint8Array;
|
|
15
|
+
}
|
|
10
16
|
//# sourceMappingURL=signature.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"AAIA,iEAAiE;AACjE,qBAAa,SAAS;IAElB,QAAQ,CAAC,CAAC,EAAE,MAAM;IAClB,QAAQ,CAAC,CAAC,EAAE,MAAM;IAClB,QAAQ,CAAC,CAAC,EAAE,MAAM;gBAFT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM;IAGpB,MAAM,IAAI,UAAU;IAIpB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS;CAG3C;AAED,yBAAiB,cAAc,CAAC;IAC9B,SAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,cAE1C;IAED,SAAgB,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,uEAGxD;IAED,SAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,WAGrF;IAED,SAAgB,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAO1E;CACF"}
|
package/dist/cjs/signature.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Signature = void 0;
|
|
3
|
+
exports.SignatureUtils = exports.Signature = void 0;
|
|
4
4
|
const sdk_base_1 = require("@wormhole-foundation/sdk-base");
|
|
5
5
|
const index_js_1 = require("./layout-items/index.js");
|
|
6
|
+
const utils_js_1 = require("./utils.js");
|
|
6
7
|
/** Signature represents the secp256k1 signature of a Guardian */
|
|
7
8
|
class Signature {
|
|
8
9
|
r;
|
|
@@ -21,4 +22,31 @@ class Signature {
|
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
24
|
exports.Signature = Signature;
|
|
25
|
+
var SignatureUtils;
|
|
26
|
+
(function (SignatureUtils) {
|
|
27
|
+
function toPubkey(privateKey) {
|
|
28
|
+
return utils_js_1.secp256k1.getPublicKey(privateKey);
|
|
29
|
+
}
|
|
30
|
+
SignatureUtils.toPubkey = toPubkey;
|
|
31
|
+
function sign(privateKey, hash) {
|
|
32
|
+
if (hash.length != 32)
|
|
33
|
+
throw new Error("hash.length != 32");
|
|
34
|
+
return utils_js_1.secp256k1.sign(hash, privateKey);
|
|
35
|
+
}
|
|
36
|
+
SignatureUtils.sign = sign;
|
|
37
|
+
function validate(signature, publicKey, hash) {
|
|
38
|
+
const { r, s } = signature;
|
|
39
|
+
return utils_js_1.secp256k1.verify({ r, s }, hash, publicKey);
|
|
40
|
+
}
|
|
41
|
+
SignatureUtils.validate = validate;
|
|
42
|
+
function recover(signature, hash) {
|
|
43
|
+
const { r, s, v } = signature;
|
|
44
|
+
const sig = new utils_js_1.secp256k1.Signature(r, s);
|
|
45
|
+
// @ts-ignore -- recovery field is marked readonly
|
|
46
|
+
sig.recovery = v;
|
|
47
|
+
const pubkey = sig.recoverPublicKey(hash);
|
|
48
|
+
return pubkey.toRawBytes();
|
|
49
|
+
}
|
|
50
|
+
SignatureUtils.recover = recover;
|
|
51
|
+
})(SignatureUtils || (exports.SignatureUtils = SignatureUtils = {}));
|
|
24
52
|
//# sourceMappingURL=signature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":";;;AAAA,4DAAmF;AACnF,sDAAwD;
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":";;;AAAA,4DAAmF;AACnF,sDAAwD;AACxD,yCAAuC;AAEvC,iEAAiE;AACjE,MAAa,SAAS;IAET;IACA;IACA;IAHX,YACW,CAAS,EACT,CAAS,EACT,CAAS;QAFT,MAAC,GAAD,CAAC,CAAQ;QACT,MAAC,GAAD,CAAC,CAAQ;QACT,MAAC,GAAD,CAAC,CAAQ;IACjB,CAAC;IAEJ,MAAM;QACJ,OAAO,IAAA,0BAAe,EAAC,wBAAa,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAgB;QAC5B,OAAO,IAAA,4BAAiB,EAAC,wBAAa,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;CACF;AAdD,8BAcC;AAED,IAAiB,cAAc,CAuB9B;AAvBD,WAAiB,cAAc;IAC7B,SAAgB,QAAQ,CAAC,UAAkB;QACzC,OAAO,oBAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAFe,uBAAQ,WAEvB,CAAA;IAED,SAAgB,IAAI,CAAC,UAAkB,EAAE,IAAgB;QACvD,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC5D,OAAO,oBAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC;IAHe,mBAAI,OAGnB,CAAA;IAED,SAAgB,QAAQ,CAAC,SAAoB,EAAE,SAAqB,EAAE,IAAgB;QACpF,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC;QAC3B,OAAO,oBAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAHe,uBAAQ,WAGvB,CAAA;IAED,SAAgB,OAAO,CAAC,SAAoB,EAAE,IAAgB;QAC5D,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,oBAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,kDAAkD;QAClD,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAPe,sBAAO,UAOtB,CAAA;AACH,CAAC,EAvBgB,cAAc,8BAAd,cAAc,QAuB9B"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Chain } from "@wormhole-foundation/sdk-base";
|
|
2
|
-
import { Signature } from "../../index.js";
|
|
3
2
|
import { UniversalAddress } from "../../universalAddress.js";
|
|
4
3
|
interface Guardian {
|
|
5
4
|
index: number;
|
|
@@ -19,8 +18,5 @@ export declare class MockEmitter {
|
|
|
19
18
|
constructor(emitterAddress: UniversalAddress, chain: Chain, startSequence?: bigint);
|
|
20
19
|
publishMessage(nonce: number, payload: Uint8Array, consistencyLevel: number, timestamp?: number, uptickSequence?: boolean): Uint8Array;
|
|
21
20
|
}
|
|
22
|
-
export declare function ethPrivateToPublic(privateKey: string): Uint8Array;
|
|
23
|
-
export declare function ethSignWithPrivate(privateKey: string, hash: Uint8Array): import("@noble/curves/abstract/weierstrass").RecoveredSignatureType;
|
|
24
|
-
export declare function ethValidateSig(signature: Signature, publicKey: Uint8Array, hash: Uint8Array): boolean;
|
|
25
21
|
export {};
|
|
26
22
|
//# sourceMappingURL=guardian.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardian.d.ts","sourceRoot":"","sources":["../../../../src/testing/mocks/guardian.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"guardian.d.ts","sourceRoot":"","sources":["../../../../src/testing/mocks/guardian.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,aAAa;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,QAAQ,EAAE,CAAC;gBAER,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;IAO5C,aAAa;IAIb,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE;CAoB7D;AAED,qBAAa,WAAW;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;gBAEL,cAAc,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,MAAM;IAMlF,cAAc,CACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,UAAU,EACnB,gBAAgB,EAAE,MAAM,EACxB,SAAS,CAAC,EAAE,MAAM,EAClB,cAAc,GAAE,OAAc;CAoBjC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.MockEmitter = exports.MockGuardians = void 0;
|
|
4
4
|
const index_js_1 = require("../../index.js");
|
|
5
5
|
const utils_js_1 = require("../../utils.js");
|
|
6
6
|
class MockGuardians {
|
|
@@ -13,7 +13,7 @@ class MockGuardians {
|
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
getPublicKeys() {
|
|
16
|
-
return this.signers.map((guardian) =>
|
|
16
|
+
return this.signers.map((guardian) => index_js_1.SignatureUtils.toPubkey(guardian.key));
|
|
17
17
|
}
|
|
18
18
|
addSignatures(message, guardianIndices) {
|
|
19
19
|
if (guardianIndices.length == 0)
|
|
@@ -24,7 +24,7 @@ class MockGuardians {
|
|
|
24
24
|
const signer = signers.at(i);
|
|
25
25
|
if (!signer)
|
|
26
26
|
throw Error("No signer with index: " + i);
|
|
27
|
-
const signature =
|
|
27
|
+
const signature = index_js_1.SignatureUtils.sign(signer.key, (0, utils_js_1.keccak256)(vaa.hash));
|
|
28
28
|
const s = new index_js_1.Signature(signature.r, signature.s, signature.recovery);
|
|
29
29
|
// @ts-ignore -- wants it to be immutable
|
|
30
30
|
vaa.signatures.push({ guardianIndex: i, signature: s });
|
|
@@ -60,19 +60,4 @@ class MockEmitter {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
exports.MockEmitter = MockEmitter;
|
|
63
|
-
function ethPrivateToPublic(privateKey) {
|
|
64
|
-
return utils_js_1.secp256k1.getPublicKey(privateKey);
|
|
65
|
-
}
|
|
66
|
-
exports.ethPrivateToPublic = ethPrivateToPublic;
|
|
67
|
-
function ethSignWithPrivate(privateKey, hash) {
|
|
68
|
-
if (hash.length != 32)
|
|
69
|
-
throw new Error("hash.length != 32");
|
|
70
|
-
return utils_js_1.secp256k1.sign(hash, privateKey);
|
|
71
|
-
}
|
|
72
|
-
exports.ethSignWithPrivate = ethSignWithPrivate;
|
|
73
|
-
function ethValidateSig(signature, publicKey, hash) {
|
|
74
|
-
const { r, s } = signature;
|
|
75
|
-
return utils_js_1.secp256k1.verify({ r, s }, hash, publicKey);
|
|
76
|
-
}
|
|
77
|
-
exports.ethValidateSig = ethValidateSig;
|
|
78
63
|
//# sourceMappingURL=guardian.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardian.js","sourceRoot":"","sources":["../../../../src/testing/mocks/guardian.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"guardian.js","sourceRoot":"","sources":["../../../../src/testing/mocks/guardian.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,13 @@ declare module "../../registry.js" {
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
+
export declare namespace WormholeCore {
|
|
20
|
+
interface GuardianSet {
|
|
21
|
+
index: number;
|
|
22
|
+
keys: string[];
|
|
23
|
+
expiry: bigint;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
19
26
|
/**
|
|
20
27
|
* WormholeCore provides a consistent interface to interact
|
|
21
28
|
* with the Wormhole core messaging protocol.
|
|
@@ -26,6 +33,8 @@ export interface WormholeCore<N extends Network = Network, C extends Chain = Cha
|
|
|
26
33
|
getMessageFee(): Promise<bigint>;
|
|
27
34
|
/** Get the current guardian set index */
|
|
28
35
|
getGuardianSetIndex(): Promise<number>;
|
|
36
|
+
/** Get the guardian set data corresponding to the index */
|
|
37
|
+
getGuardianSet(index: number): Promise<WormholeCore.GuardianSet>;
|
|
29
38
|
/**
|
|
30
39
|
* Publish a message
|
|
31
40
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/protocols/core/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,QAAQ,mBAAmB,CAAC;IACjC,UAAiB,gBAAgB,CAAC;QAChC,UAAU,0BAA0B,CAAC,CAAC,EAAE,CAAC;YACvC,YAAY,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAClC;QACD,UAAU,yBAAyB;YACjC,YAAY,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;SAChD;KACF;CACF;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK;IAChF,2CAA2C;IAC3C,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjC,yCAAyC;IACzC,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvC;;;;;;;;;;OAUG;IACH,cAAc,CACZ,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,MAAM,GACvB,cAAc,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C;;;;;;OAMG;IACH,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE9F;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAE7D;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;CAC3D"}
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/protocols/core/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,QAAQ,mBAAmB,CAAC;IACjC,UAAiB,gBAAgB,CAAC;QAChC,UAAU,0BAA0B,CAAC,CAAC,EAAE,CAAC;YACvC,YAAY,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAClC;QACD,UAAU,yBAAyB;YACjC,YAAY,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;SAChD;KACF;CACF;AAED,yBAAiB,YAAY,CAAC;IAC5B,UAAiB,WAAW;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB;CACF;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK;IAChF,2CAA2C;IAC3C,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjC,yCAAyC;IACzC,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvC,2DAA2D;IAC3D,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAEjE;;;;;;;;;;OAUG;IACH,cAAc,CACZ,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,MAAM,GACvB,cAAc,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C;;;;;;OAMG;IACH,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE9F;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAE7D;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;CAC3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/protocols/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/protocols/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/protocols/core/index.ts"],"names":[],"mappings":"AACA,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/protocols/core/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC"}
|
package/dist/esm/signature.d.ts
CHANGED
|
@@ -7,4 +7,10 @@ export declare class Signature {
|
|
|
7
7
|
encode(): Uint8Array;
|
|
8
8
|
static decode(data: Uint8Array): Signature;
|
|
9
9
|
}
|
|
10
|
+
export declare namespace SignatureUtils {
|
|
11
|
+
function toPubkey(privateKey: string): Uint8Array;
|
|
12
|
+
function sign(privateKey: string, hash: Uint8Array): import("@noble/curves/abstract/weierstrass").RecoveredSignatureType;
|
|
13
|
+
function validate(signature: Signature, publicKey: Uint8Array, hash: Uint8Array): boolean;
|
|
14
|
+
function recover(signature: Signature, hash: Uint8Array): Uint8Array;
|
|
15
|
+
}
|
|
10
16
|
//# sourceMappingURL=signature.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"AAIA,iEAAiE;AACjE,qBAAa,SAAS;IAElB,QAAQ,CAAC,CAAC,EAAE,MAAM;IAClB,QAAQ,CAAC,CAAC,EAAE,MAAM;IAClB,QAAQ,CAAC,CAAC,EAAE,MAAM;gBAFT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM;IAGpB,MAAM,IAAI,UAAU;IAIpB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS;CAG3C;AAED,yBAAiB,cAAc,CAAC;IAC9B,SAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,cAE1C;IAED,SAAgB,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,uEAGxD;IAED,SAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,WAGrF;IAED,SAAgB,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAO1E;CACF"}
|
package/dist/esm/signature.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { serializeLayout, deserializeLayout } from "@wormhole-foundation/sdk-base";
|
|
2
2
|
import { signatureItem } from "./layout-items/index.js";
|
|
3
|
+
import { secp256k1 } from "./utils.js";
|
|
3
4
|
/** Signature represents the secp256k1 signature of a Guardian */
|
|
4
5
|
export class Signature {
|
|
5
6
|
r;
|
|
@@ -17,4 +18,31 @@ export class Signature {
|
|
|
17
18
|
return deserializeLayout(signatureItem, data);
|
|
18
19
|
}
|
|
19
20
|
}
|
|
21
|
+
export var SignatureUtils;
|
|
22
|
+
(function (SignatureUtils) {
|
|
23
|
+
function toPubkey(privateKey) {
|
|
24
|
+
return secp256k1.getPublicKey(privateKey);
|
|
25
|
+
}
|
|
26
|
+
SignatureUtils.toPubkey = toPubkey;
|
|
27
|
+
function sign(privateKey, hash) {
|
|
28
|
+
if (hash.length != 32)
|
|
29
|
+
throw new Error("hash.length != 32");
|
|
30
|
+
return secp256k1.sign(hash, privateKey);
|
|
31
|
+
}
|
|
32
|
+
SignatureUtils.sign = sign;
|
|
33
|
+
function validate(signature, publicKey, hash) {
|
|
34
|
+
const { r, s } = signature;
|
|
35
|
+
return secp256k1.verify({ r, s }, hash, publicKey);
|
|
36
|
+
}
|
|
37
|
+
SignatureUtils.validate = validate;
|
|
38
|
+
function recover(signature, hash) {
|
|
39
|
+
const { r, s, v } = signature;
|
|
40
|
+
const sig = new secp256k1.Signature(r, s);
|
|
41
|
+
// @ts-ignore -- recovery field is marked readonly
|
|
42
|
+
sig.recovery = v;
|
|
43
|
+
const pubkey = sig.recoverPublicKey(hash);
|
|
44
|
+
return pubkey.toRawBytes();
|
|
45
|
+
}
|
|
46
|
+
SignatureUtils.recover = recover;
|
|
47
|
+
})(SignatureUtils || (SignatureUtils = {}));
|
|
20
48
|
//# sourceMappingURL=signature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,iEAAiE;AACjE,MAAM,OAAO,SAAS;IAET;IACA;IACA;IAHX,YACW,CAAS,EACT,CAAS,EACT,CAAS;QAFT,MAAC,GAAD,CAAC,CAAQ;QACT,MAAC,GAAD,CAAC,CAAQ;QACT,MAAC,GAAD,CAAC,CAAQ;IACjB,CAAC;IAEJ,MAAM;QACJ,OAAO,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAgB;QAC5B,OAAO,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;CACF;AAED,MAAM,KAAW,cAAc,CAuB9B;AAvBD,WAAiB,cAAc;IAC7B,SAAgB,QAAQ,CAAC,UAAkB;QACzC,OAAO,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAFe,uBAAQ,WAEvB,CAAA;IAED,SAAgB,IAAI,CAAC,UAAkB,EAAE,IAAgB;QACvD,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC5D,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC;IAHe,mBAAI,OAGnB,CAAA;IAED,SAAgB,QAAQ,CAAC,SAAoB,EAAE,SAAqB,EAAE,IAAgB;QACpF,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC;QAC3B,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAHe,uBAAQ,WAGvB,CAAA;IAED,SAAgB,OAAO,CAAC,SAAoB,EAAE,IAAgB;QAC5D,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,kDAAkD;QAClD,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAPe,sBAAO,UAOtB,CAAA;AACH,CAAC,EAvBgB,cAAc,KAAd,cAAc,QAuB9B"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Chain } from "@wormhole-foundation/sdk-base";
|
|
2
|
-
import { Signature } from "../../index.js";
|
|
3
2
|
import { UniversalAddress } from "../../universalAddress.js";
|
|
4
3
|
interface Guardian {
|
|
5
4
|
index: number;
|
|
@@ -19,8 +18,5 @@ export declare class MockEmitter {
|
|
|
19
18
|
constructor(emitterAddress: UniversalAddress, chain: Chain, startSequence?: bigint);
|
|
20
19
|
publishMessage(nonce: number, payload: Uint8Array, consistencyLevel: number, timestamp?: number, uptickSequence?: boolean): Uint8Array;
|
|
21
20
|
}
|
|
22
|
-
export declare function ethPrivateToPublic(privateKey: string): Uint8Array;
|
|
23
|
-
export declare function ethSignWithPrivate(privateKey: string, hash: Uint8Array): import("@noble/curves/abstract/weierstrass").RecoveredSignatureType;
|
|
24
|
-
export declare function ethValidateSig(signature: Signature, publicKey: Uint8Array, hash: Uint8Array): boolean;
|
|
25
21
|
export {};
|
|
26
22
|
//# sourceMappingURL=guardian.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardian.d.ts","sourceRoot":"","sources":["../../../../src/testing/mocks/guardian.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"guardian.d.ts","sourceRoot":"","sources":["../../../../src/testing/mocks/guardian.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,aAAa;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,QAAQ,EAAE,CAAC;gBAER,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;IAO5C,aAAa;IAIb,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE;CAoB7D;AAED,qBAAa,WAAW;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;gBAEL,cAAc,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,MAAM;IAMlF,cAAc,CACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,UAAU,EACnB,gBAAgB,EAAE,MAAM,EACxB,SAAS,CAAC,EAAE,MAAM,EAClB,cAAc,GAAE,OAAc;CAoBjC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Signature, createVAA, deserialize, serialize } from "../../index.js";
|
|
2
|
-
import { keccak256
|
|
1
|
+
import { Signature, SignatureUtils, createVAA, deserialize, serialize } from "../../index.js";
|
|
2
|
+
import { keccak256 } from "../../utils.js";
|
|
3
3
|
export class MockGuardians {
|
|
4
4
|
setIndex;
|
|
5
5
|
signers;
|
|
@@ -10,7 +10,7 @@ export class MockGuardians {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
getPublicKeys() {
|
|
13
|
-
return this.signers.map((guardian) =>
|
|
13
|
+
return this.signers.map((guardian) => SignatureUtils.toPubkey(guardian.key));
|
|
14
14
|
}
|
|
15
15
|
addSignatures(message, guardianIndices) {
|
|
16
16
|
if (guardianIndices.length == 0)
|
|
@@ -21,7 +21,7 @@ export class MockGuardians {
|
|
|
21
21
|
const signer = signers.at(i);
|
|
22
22
|
if (!signer)
|
|
23
23
|
throw Error("No signer with index: " + i);
|
|
24
|
-
const signature =
|
|
24
|
+
const signature = SignatureUtils.sign(signer.key, keccak256(vaa.hash));
|
|
25
25
|
const s = new Signature(signature.r, signature.s, signature.recovery);
|
|
26
26
|
// @ts-ignore -- wants it to be immutable
|
|
27
27
|
vaa.signatures.push({ guardianIndex: i, signature: s });
|
|
@@ -55,16 +55,4 @@ export class MockEmitter {
|
|
|
55
55
|
}));
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
export function ethPrivateToPublic(privateKey) {
|
|
59
|
-
return secp256k1.getPublicKey(privateKey);
|
|
60
|
-
}
|
|
61
|
-
export function ethSignWithPrivate(privateKey, hash) {
|
|
62
|
-
if (hash.length != 32)
|
|
63
|
-
throw new Error("hash.length != 32");
|
|
64
|
-
return secp256k1.sign(hash, privateKey);
|
|
65
|
-
}
|
|
66
|
-
export function ethValidateSig(signature, publicKey, hash) {
|
|
67
|
-
const { r, s } = signature;
|
|
68
|
-
return secp256k1.verify({ r, s }, hash, publicKey);
|
|
69
|
-
}
|
|
70
58
|
//# sourceMappingURL=guardian.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardian.js","sourceRoot":"","sources":["../../../../src/testing/mocks/guardian.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"guardian.js","sourceRoot":"","sources":["../../../../src/testing/mocks/guardian.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wormhole-foundation/sdk-definitions",
|
|
3
|
-
"version": "0.5.3-beta.
|
|
3
|
+
"version": "0.5.3-beta.7",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/wormhole-foundation/connect-sdk.git"
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"@noble/hashes": "^1.3.1",
|
|
68
68
|
"@noble/curves": "^1.4.0",
|
|
69
|
-
"@wormhole-foundation/sdk-base": "0.5.3-beta.
|
|
69
|
+
"@wormhole-foundation/sdk-base": "0.5.3-beta.7"
|
|
70
70
|
},
|
|
71
71
|
"type": "module"
|
|
72
72
|
}
|