@dynamic-labs-wallet/browser-wallet-client 0.0.0-beta.146.1 → 0.0.0-beta.154.0

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/index.cjs.js CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  var messageTransport = require('@dynamic-labs/message-transport');
4
4
  var logger$1 = require('@dynamic-labs/logger');
5
+ var core = require('@dynamic-labs-wallet/core');
6
+ var web = require('./internal/web');
5
7
 
6
8
  const setupMessageTransportBridge = (messageTransport$1, iframe, iframeOrigin)=>{
7
9
  if (!(iframe == null ? void 0 : iframe.contentWindow)) {
@@ -95,11 +97,14 @@ class iframeMessageHandler {
95
97
  async importPrivateKey(request) {
96
98
  return this.requestChannel.request('importPrivateKey', request);
97
99
  }
98
- async getPublicKey() {
99
- return this.requestChannel.request('getPublicKey');
100
+ async sendAuthToken(token) {
101
+ return this.requestChannel.request('sendAuthToken', token);
100
102
  }
101
- async sendEncryptedToken(token) {
102
- return this.requestChannel.request('sendEncryptedToken', token);
103
+ async exportClientKeyshares(request) {
104
+ return this.requestChannel.request('exportClientKeyshares', request);
105
+ }
106
+ async offlineExportPrivateKey(request) {
107
+ return this.requestChannel.request('offlineExportPrivateKey', request);
103
108
  }
104
109
  constructor(messageTransport$1){
105
110
  this.requestChannel = messageTransport.createRequestChannel(messageTransport$1);
@@ -108,30 +113,6 @@ class iframeMessageHandler {
108
113
 
109
114
  const logger = new logger$1.Logger('DynamicWaasWalletClient');
110
115
 
111
- async function encryptWithPublicKey(token, keyBase64) {
112
- const keyBuffer = Buffer.from(keyBase64, 'base64');
113
- const key = await window.crypto.subtle.importKey('raw', keyBuffer, {
114
- name: 'AES-GCM',
115
- length: 256
116
- }, false, [
117
- 'encrypt'
118
- ]);
119
- // Generate random IV
120
- const iv = window.crypto.getRandomValues(new Uint8Array(12));
121
- // Encrypt the data
122
- const encodedData = new TextEncoder().encode(token);
123
- const encryptedData = await window.crypto.subtle.encrypt({
124
- name: 'AES-GCM',
125
- iv: iv
126
- }, key, encodedData);
127
- // Package everything together
128
- const result = {
129
- data: Buffer.from(encryptedData).toString('base64'),
130
- iv: Buffer.from(iv).toString('base64')
131
- };
132
- return Buffer.from(JSON.stringify(result)).toString('base64');
133
- }
134
-
135
116
  class DynamicWalletClient {
136
117
  // Simply load the iframe from localhost
137
118
  async initialize() {
@@ -155,8 +136,7 @@ class DynamicWalletClient {
155
136
  this.initializeMessageTransport();
156
137
  await this.initAuthToken();
157
138
  } catch (error) {
158
- // eslint-disable-next-line no-console
159
- console.error('Error initializing iframe:', error);
139
+ this.logger.error('Error initializing iframe:', error);
160
140
  throw error;
161
141
  }
162
142
  }
@@ -181,11 +161,8 @@ class DynamicWalletClient {
181
161
  throw new Error('Iframe message handler not initialized');
182
162
  }
183
163
  try {
184
- const publicKey = await this.iframeMessageHandler.getPublicKey();
185
- // Encrypt auth token
186
- const token = await encryptWithPublicKey(this.authToken, publicKey);
187
- // Send encrypted token to iframe
188
- await this.iframeMessageHandler.sendEncryptedToken(token);
164
+ // Send auth token to iframe
165
+ await this.iframeMessageHandler.sendAuthToken(this.authToken);
189
166
  } catch (error) {
190
167
  throw new Error('Failed to establish secure token exchange: ' + error);
191
168
  }
@@ -198,6 +175,7 @@ class DynamicWalletClient {
198
175
  }, 10000);
199
176
  iframe.style.display = 'none';
200
177
  iframe.setAttribute('title', 'Dynamic Wallet Iframe');
178
+ iframe.setAttribute('sandbox', 'allow-scripts allow-same-origin allow-downloads');
201
179
  iframe.setAttribute('referrerpolicy', 'origin');
202
180
  iframe.style.position = 'fixed';
203
181
  iframe.style.top = '0';
@@ -217,8 +195,7 @@ class DynamicWalletClient {
217
195
  chain: this.chainName
218
196
  });
219
197
  iframe.src = `${this.iframeDomain}/waas/${this.environmentId}?${params.toString()}`;
220
- // eslint-disable-next-line no-console
221
- console.log('Creating iframe with src:', iframe.src);
198
+ this.logger.debug('Creating iframe with src:', iframe.src);
222
199
  document.body.appendChild(iframe);
223
200
  iframe.onload = ()=>{
224
201
  clearTimeout(iframeTimeoutId);
@@ -227,8 +204,7 @@ class DynamicWalletClient {
227
204
  };
228
205
  iframe.onerror = (error)=>{
229
206
  clearTimeout(iframeTimeoutId);
230
- // eslint-disable-next-line no-console
231
- console.error('Iframe failed to load:', error);
207
+ this.logger.error('Iframe failed to load:', error);
232
208
  reject(new Error('Failed to load iframe'));
233
209
  };
234
210
  });
@@ -293,6 +269,8 @@ class DynamicWalletClient {
293
269
  });
294
270
  setupMessageTransportBridge(transport, iframe, this.iframeDomain);
295
271
  const iframeDisplay = new iframeMessageHandler(transport);
272
+ // Send auth token to iframe
273
+ await iframeDisplay.sendAuthToken(this.authToken);
296
274
  return {
297
275
  iframe,
298
276
  iframeDisplay,
@@ -460,6 +438,33 @@ class DynamicWalletClient {
460
438
  thresholdSignatureScheme
461
439
  });
462
440
  }
441
+ async exportClientKeyshares({ accountAddress, password }) {
442
+ await this.initializeIframeCommunication();
443
+ if (!this.iframeMessageHandler) {
444
+ throw new Error('Iframe message handler not initialized');
445
+ }
446
+ return this.iframeMessageHandler.exportClientKeyshares({
447
+ accountAddress,
448
+ password
449
+ });
450
+ }
451
+ async offlineExportPrivateKey({ keyShares, derivationPath }) {
452
+ await this.initializeIframeCommunication();
453
+ if (!this.iframeMessageHandler) {
454
+ throw new Error('Iframe message handler not initialized');
455
+ }
456
+ const args = {
457
+ chainName: this.chainName,
458
+ keyShares,
459
+ derivationPath
460
+ };
461
+ const serializedArgs = JSON.stringify(args);
462
+ const argsBuffer = new TextEncoder().encode(serializedArgs);
463
+ const base64Args = Buffer.from(argsBuffer).toString('base64');
464
+ return this.iframeMessageHandler.offlineExportPrivateKey({
465
+ base64Args
466
+ });
467
+ }
463
468
  constructor({ environmentId, authToken, baseApiUrl, baseMPCRelayApiUrl, chainName, debug }){
464
469
  this.logger = logger;
465
470
  this.instanceId = null;
@@ -473,8 +478,8 @@ class DynamicWalletClient {
473
478
  this.baseApiUrl = baseApiUrl;
474
479
  this.baseMPCRelayApiUrl = baseMPCRelayApiUrl;
475
480
  this.chainName = chainName;
476
- // TODO: infer iframeDomain from environment
477
- this.iframeDomain = 'http://localhost:8090';
481
+ const environment = core.getEnvironmentFromUrl(baseApiUrl);
482
+ this.iframeDomain = core.IFRAME_DOMAIN_MAP[environment];
478
483
  // Generate unique instanceId when client is created
479
484
  this.instanceId = crypto.randomUUID();
480
485
  this.debug = Boolean(debug);
@@ -484,4 +489,36 @@ class DynamicWalletClient {
484
489
  }
485
490
  }
486
491
 
492
+ Object.defineProperty(exports, "MPC_RELAY_PREPROD_API_URL", {
493
+ enumerable: true,
494
+ get: function () { return core.MPC_RELAY_PREPROD_API_URL; }
495
+ });
496
+ Object.defineProperty(exports, "MPC_RELAY_PROD_API_URL", {
497
+ enumerable: true,
498
+ get: function () { return core.MPC_RELAY_PROD_API_URL; }
499
+ });
500
+ Object.defineProperty(exports, "ThresholdSignatureScheme", {
501
+ enumerable: true,
502
+ get: function () { return core.ThresholdSignatureScheme; }
503
+ });
504
+ Object.defineProperty(exports, "WalletOperation", {
505
+ enumerable: true,
506
+ get: function () { return core.WalletOperation; }
507
+ });
508
+ Object.defineProperty(exports, "BIP340KeygenResult", {
509
+ enumerable: true,
510
+ get: function () { return web.BIP340KeygenResult; }
511
+ });
512
+ Object.defineProperty(exports, "EcdsaKeygenResult", {
513
+ enumerable: true,
514
+ get: function () { return web.EcdsaKeygenResult; }
515
+ });
516
+ Object.defineProperty(exports, "EcdsaSignature", {
517
+ enumerable: true,
518
+ get: function () { return web.EcdsaSignature; }
519
+ });
520
+ Object.defineProperty(exports, "Ed25519KeygenResult", {
521
+ enumerable: true,
522
+ get: function () { return web.Ed25519KeygenResult; }
523
+ });
487
524
  exports.DynamicWalletClient = DynamicWalletClient;
package/index.esm.js CHANGED
@@ -1,5 +1,8 @@
1
1
  import { parseMessageTransportData, createRequestChannel, applyDefaultMessageOrigin, createMessageTransport } from '@dynamic-labs/message-transport';
2
2
  import { Logger } from '@dynamic-labs/logger';
3
+ import { getEnvironmentFromUrl, IFRAME_DOMAIN_MAP } from '@dynamic-labs-wallet/core';
4
+ export { MPC_RELAY_PREPROD_API_URL, MPC_RELAY_PROD_API_URL, ThresholdSignatureScheme, WalletOperation } from '@dynamic-labs-wallet/core';
5
+ export { BIP340KeygenResult, EcdsaKeygenResult, EcdsaSignature, Ed25519KeygenResult } from './internal/web';
3
6
 
4
7
  const setupMessageTransportBridge = (messageTransport, iframe, iframeOrigin)=>{
5
8
  if (!(iframe == null ? void 0 : iframe.contentWindow)) {
@@ -93,11 +96,14 @@ class iframeMessageHandler {
93
96
  async importPrivateKey(request) {
94
97
  return this.requestChannel.request('importPrivateKey', request);
95
98
  }
96
- async getPublicKey() {
97
- return this.requestChannel.request('getPublicKey');
99
+ async sendAuthToken(token) {
100
+ return this.requestChannel.request('sendAuthToken', token);
98
101
  }
99
- async sendEncryptedToken(token) {
100
- return this.requestChannel.request('sendEncryptedToken', token);
102
+ async exportClientKeyshares(request) {
103
+ return this.requestChannel.request('exportClientKeyshares', request);
104
+ }
105
+ async offlineExportPrivateKey(request) {
106
+ return this.requestChannel.request('offlineExportPrivateKey', request);
101
107
  }
102
108
  constructor(messageTransport){
103
109
  this.requestChannel = createRequestChannel(messageTransport);
@@ -106,30 +112,6 @@ class iframeMessageHandler {
106
112
 
107
113
  const logger = new Logger('DynamicWaasWalletClient');
108
114
 
109
- async function encryptWithPublicKey(token, keyBase64) {
110
- const keyBuffer = Buffer.from(keyBase64, 'base64');
111
- const key = await window.crypto.subtle.importKey('raw', keyBuffer, {
112
- name: 'AES-GCM',
113
- length: 256
114
- }, false, [
115
- 'encrypt'
116
- ]);
117
- // Generate random IV
118
- const iv = window.crypto.getRandomValues(new Uint8Array(12));
119
- // Encrypt the data
120
- const encodedData = new TextEncoder().encode(token);
121
- const encryptedData = await window.crypto.subtle.encrypt({
122
- name: 'AES-GCM',
123
- iv: iv
124
- }, key, encodedData);
125
- // Package everything together
126
- const result = {
127
- data: Buffer.from(encryptedData).toString('base64'),
128
- iv: Buffer.from(iv).toString('base64')
129
- };
130
- return Buffer.from(JSON.stringify(result)).toString('base64');
131
- }
132
-
133
115
  class DynamicWalletClient {
134
116
  // Simply load the iframe from localhost
135
117
  async initialize() {
@@ -153,8 +135,7 @@ class DynamicWalletClient {
153
135
  this.initializeMessageTransport();
154
136
  await this.initAuthToken();
155
137
  } catch (error) {
156
- // eslint-disable-next-line no-console
157
- console.error('Error initializing iframe:', error);
138
+ this.logger.error('Error initializing iframe:', error);
158
139
  throw error;
159
140
  }
160
141
  }
@@ -179,11 +160,8 @@ class DynamicWalletClient {
179
160
  throw new Error('Iframe message handler not initialized');
180
161
  }
181
162
  try {
182
- const publicKey = await this.iframeMessageHandler.getPublicKey();
183
- // Encrypt auth token
184
- const token = await encryptWithPublicKey(this.authToken, publicKey);
185
- // Send encrypted token to iframe
186
- await this.iframeMessageHandler.sendEncryptedToken(token);
163
+ // Send auth token to iframe
164
+ await this.iframeMessageHandler.sendAuthToken(this.authToken);
187
165
  } catch (error) {
188
166
  throw new Error('Failed to establish secure token exchange: ' + error);
189
167
  }
@@ -196,6 +174,7 @@ class DynamicWalletClient {
196
174
  }, 10000);
197
175
  iframe.style.display = 'none';
198
176
  iframe.setAttribute('title', 'Dynamic Wallet Iframe');
177
+ iframe.setAttribute('sandbox', 'allow-scripts allow-same-origin allow-downloads');
199
178
  iframe.setAttribute('referrerpolicy', 'origin');
200
179
  iframe.style.position = 'fixed';
201
180
  iframe.style.top = '0';
@@ -215,8 +194,7 @@ class DynamicWalletClient {
215
194
  chain: this.chainName
216
195
  });
217
196
  iframe.src = `${this.iframeDomain}/waas/${this.environmentId}?${params.toString()}`;
218
- // eslint-disable-next-line no-console
219
- console.log('Creating iframe with src:', iframe.src);
197
+ this.logger.debug('Creating iframe with src:', iframe.src);
220
198
  document.body.appendChild(iframe);
221
199
  iframe.onload = ()=>{
222
200
  clearTimeout(iframeTimeoutId);
@@ -225,8 +203,7 @@ class DynamicWalletClient {
225
203
  };
226
204
  iframe.onerror = (error)=>{
227
205
  clearTimeout(iframeTimeoutId);
228
- // eslint-disable-next-line no-console
229
- console.error('Iframe failed to load:', error);
206
+ this.logger.error('Iframe failed to load:', error);
230
207
  reject(new Error('Failed to load iframe'));
231
208
  };
232
209
  });
@@ -291,6 +268,8 @@ class DynamicWalletClient {
291
268
  });
292
269
  setupMessageTransportBridge(transport, iframe, this.iframeDomain);
293
270
  const iframeDisplay = new iframeMessageHandler(transport);
271
+ // Send auth token to iframe
272
+ await iframeDisplay.sendAuthToken(this.authToken);
294
273
  return {
295
274
  iframe,
296
275
  iframeDisplay,
@@ -458,6 +437,33 @@ class DynamicWalletClient {
458
437
  thresholdSignatureScheme
459
438
  });
460
439
  }
440
+ async exportClientKeyshares({ accountAddress, password }) {
441
+ await this.initializeIframeCommunication();
442
+ if (!this.iframeMessageHandler) {
443
+ throw new Error('Iframe message handler not initialized');
444
+ }
445
+ return this.iframeMessageHandler.exportClientKeyshares({
446
+ accountAddress,
447
+ password
448
+ });
449
+ }
450
+ async offlineExportPrivateKey({ keyShares, derivationPath }) {
451
+ await this.initializeIframeCommunication();
452
+ if (!this.iframeMessageHandler) {
453
+ throw new Error('Iframe message handler not initialized');
454
+ }
455
+ const args = {
456
+ chainName: this.chainName,
457
+ keyShares,
458
+ derivationPath
459
+ };
460
+ const serializedArgs = JSON.stringify(args);
461
+ const argsBuffer = new TextEncoder().encode(serializedArgs);
462
+ const base64Args = Buffer.from(argsBuffer).toString('base64');
463
+ return this.iframeMessageHandler.offlineExportPrivateKey({
464
+ base64Args
465
+ });
466
+ }
461
467
  constructor({ environmentId, authToken, baseApiUrl, baseMPCRelayApiUrl, chainName, debug }){
462
468
  this.logger = logger;
463
469
  this.instanceId = null;
@@ -471,8 +477,8 @@ class DynamicWalletClient {
471
477
  this.baseApiUrl = baseApiUrl;
472
478
  this.baseMPCRelayApiUrl = baseMPCRelayApiUrl;
473
479
  this.chainName = chainName;
474
- // TODO: infer iframeDomain from environment
475
- this.iframeDomain = 'http://localhost:8090';
480
+ const environment = getEnvironmentFromUrl(baseApiUrl);
481
+ this.iframeDomain = IFRAME_DOMAIN_MAP[environment];
476
482
  // Generate unique instanceId when client is created
477
483
  this.instanceId = crypto.randomUUID();
478
484
  this.debug = Boolean(debug);
@@ -0,0 +1,22 @@
1
+ import { BIP340InitKeygenResult, BIP340KeygenResult, DynamicNativeSdkInterface } from '.';
2
+ export declare class BIP340 {
3
+ protected readonly NATIVE: Promise<DynamicNativeSdkInterface>;
4
+ protected readonly URL: string;
5
+ protected constructor(native: Promise<DynamicNativeSdkInterface>, url: string);
6
+ initKeygen(): Promise<BIP340InitKeygenResult>;
7
+ exportID(keygenResult: BIP340KeygenResult | string): Promise<string>;
8
+ createRoom(numParties: number, apiKey: string): Promise<string>;
9
+ keygen(roomUuid: string, numParties: number, threshold: number, keygenInit: BIP340InitKeygenResult, keygenIds: string[]): Promise<BIP340KeygenResult>;
10
+ sign(roomUuid: string, keygenResult: BIP340KeygenResult | string, msg: Uint8Array | string, derivationPath?: Uint32Array, tweak?: Uint8Array | string): Promise<Uint8Array>;
11
+ refresh(roomUuid: string, keygenResult: BIP340KeygenResult | string): Promise<BIP340KeygenResult>;
12
+ reshareNewParty(roomUuid: string, oldThreshold: number, newThreshold: number, keygenInit: BIP340InitKeygenResult, keygenIds: string[]): Promise<BIP340KeygenResult>;
13
+ reshareRemainingParty(roomUuid: string, newThreshold: number, keygenResult: BIP340KeygenResult | string, keygenIds: string[]): Promise<BIP340KeygenResult>;
14
+ deriveTweakPubkey(keygenResult: BIP340KeygenResult | string, derivationPath?: Uint32Array, tweak?: Uint8Array | string): Promise<Uint8Array>;
15
+ getXpub(keygenResult: BIP340KeygenResult | string): Promise<string>;
16
+ deriveTweakPubkeyFromXpub(Xpub: string, derivationPath?: Uint32Array, tweak?: Uint8Array | string): Promise<Uint8Array>;
17
+ exportFullPrivateKey(roomUuid: string, keygenResult: BIP340KeygenResult | string, toExportID: string): Promise<string | undefined>;
18
+ derivePrivateKeyFromXpriv(xpriv: string, derivationPath?: Uint32Array): Promise<string>;
19
+ offlineExportFullPrivateKey(keygenResults: BIP340KeygenResult[] | string[]): Promise<string>;
20
+ importPrivateKeyRecipient(roomUuid: string, threshold: number, keygenInit: BIP340InitKeygenResult, keygenIds: string[]): Promise<BIP340KeygenResult>;
21
+ importPrivateKeyImporter(roomUuid: string, threshold: number, privateKey: string, keygenInit: BIP340InitKeygenResult, keygenIds: string[]): Promise<BIP340KeygenResult>;
22
+ }
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.BIP340=void 0;let _1=require("."),utils_1=require("@noble/hashes/utils"),common_1=require("./common");function getTweak(e){if(0!==(e="string"!=typeof e?(0,utils_1.bytesToHex)(e):e).length&&64!==e.length)throw new Error("Tweak must be 32 bytes long");return e}class BIP340{constructor(e,t){this.NATIVE=e,this.URL=t}async initKeygen(){var e=await(await this.NATIVE).initKeygen();return new _1.BIP340InitKeygenResult(e.pubkey,e.keypair)}async exportID(e){e="string"==typeof e?e:e.secretShare;return(await this.NATIVE).bip340GetExportID(e)}async createRoom(e,t){return(0,common_1.sanitizeNumberOfParties)(e),(await this.NATIVE).createRoom(this.URL,e,t)}async keygen(e,t,r,i,a){if((0,common_1.sanitizeNumberOfParties)(t,r),a.length!==t-1)throw new Error(`keygenIds length must be exactly: ${t-1}, it is: `+a.length);e=await(await this.NATIVE).bip340Keygen(e,this.URL,t,r,i.keygenSecret,a);if(e.pubkey&&e.secret_share)return t=(0,utils_1.hexToBytes)(e.pubkey),r=e.secret_share,new _1.BIP340KeygenResult(t,r);throw new Error("Keygen failed, no public key or secret share was returned.")}async sign(e,t,r,i=new Uint32Array,a=new Uint8Array){t="string"==typeof t?t:t.secretShare,"string"!=typeof r&&(r=(0,utils_1.bytesToHex)(r)),a=getTweak(a),e=await(await this.NATIVE).bip340Sign(e,this.URL,t,r,Array.from(i),a);return(0,utils_1.hexToBytes)(e)}async refresh(e,t){var t="string"==typeof t?t:t.secretShare,e=await(await this.NATIVE).bip340Refresh(e,this.URL,t);if(e.pubkey&&e.secret_share)return t=(0,utils_1.hexToBytes)(e.pubkey),e=e.secret_share,new _1.BIP340KeygenResult(t,e);throw new Error("Keygen failed, no public key or secret share was returned.")}async reshareNewParty(e,t,r,i,a){e=await(await this.NATIVE).bip340ReshareNewParty(e,this.URL,t,r,i.keygenSecret,a),t=(0,utils_1.hexToBytes)(e.pubkey),r=e.secret_share;return new _1.BIP340KeygenResult(t,r)}async reshareRemainingParty(e,t,r,i){r="string"==typeof r?r:r.secretShare,e=await(await this.NATIVE).bip340ReshareRemainingParty(e,this.URL,t,r,i),t=(0,utils_1.hexToBytes)(e.pubkey),r=e.secret_share;return new _1.BIP340KeygenResult(t,r)}async deriveTweakPubkey(e,t=new Uint32Array,r=new Uint8Array){e="string"==typeof e?e:e.secretShare,e=await(await this.NATIVE).bip340DeriveTweakPubkey(e,Array.from(t),getTweak(r));return(0,utils_1.hexToBytes)(e)}async getXpub(e){e="string"==typeof e?e:e.secretShare;return(await this.NATIVE).bip340GetXpub(e)}async deriveTweakPubkeyFromXpub(e,t=new Uint32Array,r=new Uint8Array){e=await(await this.NATIVE).bip340DeriveTweakPubkeyFromXpub(e,Array.from(t),getTweak(r));return(0,utils_1.hexToBytes)(e)}async exportFullPrivateKey(e,t,r){t="string"==typeof t?t:t.secretShare;return(await this.NATIVE).bip340ExportFullPrivateKey(e,this.URL,t,r)}async derivePrivateKeyFromXpriv(e,t=new Uint32Array){return(await this.NATIVE).bip340DerivePrivateKeyFromXpriv(e,Array.from(t))}async offlineExportFullPrivateKey(e){e=e.map(e=>{if("string"==typeof e)return e;if(e instanceof _1.BIP340KeygenResult)return e.secretShare;throw"UnknownType"});return(await this.NATIVE).bip340OfflineExportFullPrivateKey(e)}async importPrivateKeyRecipient(e,t,r,i){e=await(await this.NATIVE).bip340ImportPrivateKeyRecipient(e,this.URL,t,r.keygenSecret,i),t=(0,utils_1.hexToBytes)(e.pubkey),r=e.secret_share;return new _1.BIP340KeygenResult(t,r)}async importPrivateKeyImporter(e,t,r,i,a){e=await(await this.NATIVE).bip340ImportPrivateKeyImporter(e,this.URL,t,r,i.keygenSecret,a),t=(0,utils_1.hexToBytes)(e.pubkey),r=e.secret_share;return new _1.BIP340KeygenResult(t,r)}}exports.BIP340=BIP340;
@@ -0,0 +1 @@
1
+ export declare function sanitizeNumberOfParties(...numberOfParties: number[]): void;
@@ -0,0 +1 @@
1
+ function sanitizeNumberOfParties(...e){for(var r of e)if(!Number.isInteger(r)||r<1||65535<r)throw new RangeError(`numberOfParties should be an integer in the range: 1..65_535, instead got: ${r} `)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.sanitizeNumberOfParties=sanitizeNumberOfParties;
@@ -0,0 +1,23 @@
1
+ import { EcdsaInitKeygenResult, EcdsaKeygenResult, EcdsaPublicKey, EcdsaSignature, MessageHash, DynamicNativeSdkInterface } from './';
2
+ export declare class Ecdsa {
3
+ protected readonly NATIVE: Promise<DynamicNativeSdkInterface>;
4
+ protected readonly URL: string;
5
+ protected constructor(native: Promise<DynamicNativeSdkInterface>, hostUrl: string);
6
+ createRoom(numParties: number, apiKey: string): Promise<string>;
7
+ initKeygen(): Promise<EcdsaInitKeygenResult>;
8
+ exportID(keygenResult: EcdsaKeygenResult | string): Promise<string>;
9
+ keygen(roomUuid: string, numParties: number, threshold: number, keygenInit: EcdsaInitKeygenResult, keygenIds: string[]): Promise<EcdsaKeygenResult>;
10
+ sign(roomUuid: string, keygenResult: EcdsaKeygenResult | string, msgHash: MessageHash, derivationPath?: Uint32Array): Promise<EcdsaSignature>;
11
+ refresh(roomUuid: string, keygenResult: EcdsaKeygenResult | string): Promise<EcdsaKeygenResult>;
12
+ reshareNewParty(roomUuid: string, oldThreshold: number, newThreshold: number, keygenInit: EcdsaInitKeygenResult, keygenIds: string[]): Promise<EcdsaKeygenResult>;
13
+ reshareRemainingParty(roomUuid: string, newThreshold: number, keygenResult: EcdsaKeygenResult | string, keygenIds: string[]): Promise<EcdsaKeygenResult>;
14
+ derivePubkey(keygenResult: EcdsaKeygenResult | string, derivationPath?: Uint32Array): Promise<EcdsaPublicKey>;
15
+ getXpub(keygenResult: EcdsaKeygenResult | string): Promise<string>;
16
+ derivePubkeyFromXpub(Xpub: string, derivationPath?: Uint32Array): Promise<EcdsaPublicKey>;
17
+ exportFullPrivateKey(roomUuid: string, keygenResult: EcdsaKeygenResult | string, toExportID: string): Promise<string | undefined>;
18
+ derivePrivateKeyFromXpriv(xpriv: string, derivationPath?: Uint32Array): Promise<string>;
19
+ offlineExportFullPrivateKey(keygenResults: (EcdsaKeygenResult[] | string[])): Promise<string>;
20
+ importPrivateKeyRecipient(roomUuid: string, threshold: number, keygenInit: EcdsaInitKeygenResult, keygenIds: string[]): Promise<EcdsaKeygenResult>;
21
+ importPrivateKeyImporter(roomUuid: string, threshold: number, privateKey: string, keygenInit: EcdsaInitKeygenResult, keygenIds: string[]): Promise<EcdsaKeygenResult>;
22
+ protected getHostUrl(path?: string): string;
23
+ }
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.Ecdsa=void 0;let _1=require("./"),common_1=require("./common");class Ecdsa{constructor(e,t){this.NATIVE=e,this.URL=t}async createRoom(e,t){return(0,common_1.sanitizeNumberOfParties)(e),(await this.NATIVE).createRoom(this.URL,e,t)}async initKeygen(){var e=await(await this.NATIVE).initKeygen();return new _1.EcdsaInitKeygenResult(e.pubkey,e.keypair)}async exportID(e){e="string"==typeof e?e:e.secretShare;return(await this.NATIVE).ecdsaGetExportID(e)}async keygen(e,t,r,a,s){if((0,common_1.sanitizeNumberOfParties)(t,r),s.length!==t-1)throw new Error(`keygenIds length must be exactly: ${t-1}, it is: `+s.length);e=await(await this.NATIVE).ecdsaKeygen(e,this.URL,t,r,a.keygenSecret,s),t=new _1.EcdsaPublicKey(e.pubkey),r=e.secret_share;return new _1.EcdsaKeygenResult(t,r)}async sign(e,t,r,a=new Uint32Array){t="string"==typeof t?t:t.secretShare,e=await(await this.NATIVE).ecdsaSign(e,this.URL,t,r.toHex(),Array.from(a));return _1.EcdsaSignature.fromBuffer(e)}async refresh(e,t){t="string"==typeof t?t:t.secretShare,e=await(await this.NATIVE).ecdsaRefresh(e,this.URL,t),t=new _1.EcdsaPublicKey(e.pubkey),e=e.secret_share;return new _1.EcdsaKeygenResult(t,e)}async reshareNewParty(e,t,r,a,s){e=await(await this.NATIVE).ecdsaReshareNewParty(e,this.URL,t,r,a.keygenSecret,s),t=new _1.EcdsaPublicKey(e.pubkey),r=e.secret_share;return new _1.EcdsaKeygenResult(t,r)}async reshareRemainingParty(e,t,r,a){r="string"==typeof r?r:r.secretShare,e=await(await this.NATIVE).ecdsaReshareRemainingParty(e,this.URL,t,r,a),t=new _1.EcdsaPublicKey(e.pubkey),r=e.secret_share;return new _1.EcdsaKeygenResult(t,r)}async derivePubkey(e,t=new Uint32Array){e="string"==typeof e?e:e.secretShare,e=await(await this.NATIVE).ecdsaDerivePubkey(e,Array.from(t));return new _1.EcdsaPublicKey(e)}async getXpub(e){e="string"==typeof e?e:e.secretShare;return(await this.NATIVE).ecdsaGetXpub(e)}async derivePubkeyFromXpub(e,t=new Uint32Array){e=await(await this.NATIVE).ecdsaDerivePubkeyFromXpub(e,Array.from(t));return new _1.EcdsaPublicKey(e)}async exportFullPrivateKey(e,t,r){t="string"==typeof t?t:t.secretShare;return(await this.NATIVE).ecdsaExportFullPrivateKey(e,this.URL,t,r)}async derivePrivateKeyFromXpriv(e,t=new Uint32Array){return(await this.NATIVE).ecdsaDerivePrivateKeyFromXpriv(e,Array.from(t))}async offlineExportFullPrivateKey(e){e=e.map(e=>{if("string"==typeof e)return e;if(e instanceof _1.EcdsaKeygenResult)return e.secretShare;throw"UnknownType"});return(await this.NATIVE).ecdsaOfflineExportFullPrivateKey(e)}async importPrivateKeyRecipient(e,t,r,a){e=await(await this.NATIVE).ecdsaImportPrivateKeyRecipient(e,this.URL,t,r.keygenSecret,a),t=new _1.EcdsaPublicKey(e.pubkey),r=e.secret_share;return new _1.EcdsaKeygenResult(t,r)}async importPrivateKeyImporter(e,t,r,a,s){e=await(await this.NATIVE).ecdsaImportPrivateKeyImporter(e,this.URL,t,r,a.keygenSecret,s),t=new _1.EcdsaPublicKey(e.pubkey),r=e.secret_share;return new _1.EcdsaKeygenResult(t,r)}getHostUrl(e){return e||this.URL}}exports.Ecdsa=Ecdsa;
@@ -0,0 +1,22 @@
1
+ import { Ed25519InitKeygenResult, Ed25519KeygenResult, DynamicNativeSdkInterface } from './';
2
+ export declare class Ed25519 {
3
+ protected readonly NATIVE: Promise<DynamicNativeSdkInterface>;
4
+ protected readonly URL: string;
5
+ protected constructor(native: Promise<DynamicNativeSdkInterface>, url: string);
6
+ initKeygen(): Promise<Ed25519InitKeygenResult>;
7
+ exportID(keygenResult: Ed25519KeygenResult | string): Promise<string>;
8
+ createRoom(numParties: number, apiKey: string): Promise<string>;
9
+ keygen(roomUuid: string, numParties: number, threshold: number, keygenInit: Ed25519InitKeygenResult, keygenIds: string[]): Promise<Ed25519KeygenResult>;
10
+ sign(roomUuid: string, keygenResult: Ed25519KeygenResult | string, msg: Uint8Array | string, derivationPath?: Uint32Array): Promise<Uint8Array>;
11
+ refresh(roomUuid: string, keygenResult: Ed25519KeygenResult | string): Promise<Ed25519KeygenResult>;
12
+ reshareNewParty(roomUuid: string, oldThreshold: number, newThreshold: number, keygenInit: Ed25519InitKeygenResult, keygenIds: string[]): Promise<Ed25519KeygenResult>;
13
+ reshareRemainingParty(roomUuid: string, newThreshold: number, keygenResult: Ed25519KeygenResult | string, keygenIds: string[]): Promise<Ed25519KeygenResult>;
14
+ derivePubkey(keygenResult: Ed25519KeygenResult | string, derivationPath?: Uint32Array): Promise<Uint8Array>;
15
+ getSpub(keygenResult: Ed25519KeygenResult | string): Promise<string>;
16
+ derivePubkeyFromSpub(spub: string, derivation: Uint32Array): Promise<Uint8Array>;
17
+ exportFullPrivateKey(roomUuid: string, keygenResult: Ed25519KeygenResult | string, toExportID: string): Promise<string | undefined>;
18
+ derivePrivateKeyFromSpriv(spriv: string, derivationPath?: Uint32Array): Promise<string>;
19
+ offlineExportFullPrivateKey(keygenResults: Ed25519KeygenResult[] | string[]): Promise<string>;
20
+ importPrivateKeyRecipient(roomUuid: string, threshold: number, keygenInit: Ed25519InitKeygenResult, keygenIds: string[]): Promise<Ed25519KeygenResult>;
21
+ importPrivateKeyImporter(roomUuid: string, threshold: number, privateKey: string, keygenInit: Ed25519InitKeygenResult, keygenIds: string[], isPrivateKeyRaw?: boolean): Promise<Ed25519KeygenResult>;
22
+ }
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.Ed25519=void 0;let _1=require("./"),utils_1=require("@noble/hashes/utils"),common_1=require("./common");class Ed25519{constructor(e,t){this.NATIVE=e,this.URL=t}async initKeygen(){var e=await(await this.NATIVE).initKeygen();return new _1.Ed25519InitKeygenResult(e.pubkey,e.keypair)}async exportID(e){e="string"==typeof e?e:e.secretShare;return(await this.NATIVE).ed25519GetExportID(e)}async createRoom(e,t){return(0,common_1.sanitizeNumberOfParties)(e),(await this.NATIVE).createRoom(this.URL,e,t)}async keygen(e,t,r,i,s){if((0,common_1.sanitizeNumberOfParties)(t,r),s.length!==t-1)throw new Error(`keygenIds length must be exactly: ${t-1}, it is: `+s.length);e=await(await this.NATIVE).ed25519Keygen(e,this.URL,t,r,i.keygenSecret,s);if(e.pubkey&&e.secret_share)return t=(0,utils_1.hexToBytes)(e.pubkey),r=e.secret_share,new _1.Ed25519KeygenResult(t,r);throw new Error("Keygen failed, no public key or secret share was returned.")}async sign(e,t,r,i=new Uint32Array){"string"!=typeof r&&(r=(0,utils_1.bytesToHex)(r));t="string"==typeof t?t:t.secretShare,e=await(await this.NATIVE).ed25519Sign(e,this.URL,t,r,Array.from(i));return(0,utils_1.hexToBytes)(e)}async refresh(e,t){var t="string"==typeof t?t:t.secretShare,e=await(await this.NATIVE).ed25519Refresh(e,this.URL,t);if(e.pubkey&&e.secret_share)return t=(0,utils_1.hexToBytes)(e.pubkey),e=e.secret_share,new _1.Ed25519KeygenResult(t,e);throw new Error("Keygen failed, no public key or secret share was returned.")}async reshareNewParty(e,t,r,i,s){e=await(await this.NATIVE).ed25519ReshareNewParty(e,this.URL,t,r,i.keygenSecret,s),t=(0,utils_1.hexToBytes)(e.pubkey),r=e.secret_share;return new _1.Ed25519KeygenResult(t,r)}async reshareRemainingParty(e,t,r,i){r="string"==typeof r?r:r.secretShare,e=await(await this.NATIVE).ed25519ReshareRemainingParty(e,this.URL,t,r,i),t=(0,utils_1.hexToBytes)(e.pubkey),r=e.secret_share;return new _1.Ed25519KeygenResult(t,r)}async derivePubkey(e,t=new Uint32Array){e="string"==typeof e?e:e.secretShare,e=await(await this.NATIVE).ed25519DerivePubkey(e,Array.from(t));return(0,utils_1.hexToBytes)(e)}async getSpub(e){e="string"==typeof e?e:e.secretShare;return(await this.NATIVE).ed25519GetSpub(e)}async derivePubkeyFromSpub(e,t){e=await(await this.NATIVE).ed25519DerivePubkeyFromSpub(e,Array.from(t));return(0,utils_1.hexToBytes)(e)}async exportFullPrivateKey(e,t,r){t="string"==typeof t?t:t.secretShare;return(await this.NATIVE).ed25519ExportFullPrivateKey(e,this.URL,t,r)}async derivePrivateKeyFromSpriv(e,t=new Uint32Array){return(await this.NATIVE).ed25519DerivePrivateKeyFromSpriv(e,Array.from(t))}async offlineExportFullPrivateKey(e){e=e.map(e=>{if("string"==typeof e)return e;if(e instanceof _1.Ed25519KeygenResult)return e.secretShare;throw"UnknownType"});return(await this.NATIVE).ed25519OfflineExportFullPrivateKey(e)}async importPrivateKeyRecipient(e,t,r,i){e=await(await this.NATIVE).ed25519ImportPrivateKeyRecipient(e,this.URL,t,r.keygenSecret,i),t=(0,utils_1.hexToBytes)(e.pubkey),r=e.secret_share;return new _1.Ed25519KeygenResult(t,r)}async importPrivateKeyImporter(e,t,r,i,s,a=!1){e=await(await this.NATIVE).ed25519ImportPrivateKeyImporter(e,this.URL,t,r,i.keygenSecret,s,a),t=(0,utils_1.hexToBytes)(e.pubkey),r=e.secret_share;return new _1.Ed25519KeygenResult(t,r)}}exports.Ed25519=Ed25519;
@@ -0,0 +1,6 @@
1
+ import { EcdsaInitKeygenResult, EcdsaKeygenResult, EcdsaPublicKey, EcdsaSignature, Ed25519InitKeygenResult, Ed25519KeygenResult, BIP340InitKeygenResult, BIP340KeygenResult, MessageHash } from './types';
2
+ import { Ecdsa } from './ecdsa';
3
+ import { Ed25519 } from './ed25519';
4
+ import { BIP340 } from './bip340';
5
+ import { DynamicNativeSdkInterface } from './native';
6
+ export { DynamicNativeSdkInterface, EcdsaInitKeygenResult, EcdsaKeygenResult, EcdsaPublicKey, EcdsaSignature, Ed25519InitKeygenResult, Ed25519KeygenResult, BIP340InitKeygenResult, BIP340KeygenResult, MessageHash, Ecdsa, Ed25519, BIP340, };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.BIP340=exports.Ed25519=exports.Ecdsa=exports.MessageHash=exports.BIP340KeygenResult=exports.BIP340InitKeygenResult=exports.Ed25519KeygenResult=exports.Ed25519InitKeygenResult=exports.EcdsaSignature=exports.EcdsaPublicKey=exports.EcdsaKeygenResult=exports.EcdsaInitKeygenResult=void 0;let types_1=require("./types"),ecdsa_1=(Object.defineProperty(exports,"EcdsaInitKeygenResult",{enumerable:!0,get:function(){return types_1.EcdsaInitKeygenResult}}),Object.defineProperty(exports,"EcdsaKeygenResult",{enumerable:!0,get:function(){return types_1.EcdsaKeygenResult}}),Object.defineProperty(exports,"EcdsaPublicKey",{enumerable:!0,get:function(){return types_1.EcdsaPublicKey}}),Object.defineProperty(exports,"EcdsaSignature",{enumerable:!0,get:function(){return types_1.EcdsaSignature}}),Object.defineProperty(exports,"Ed25519InitKeygenResult",{enumerable:!0,get:function(){return types_1.Ed25519InitKeygenResult}}),Object.defineProperty(exports,"Ed25519KeygenResult",{enumerable:!0,get:function(){return types_1.Ed25519KeygenResult}}),Object.defineProperty(exports,"BIP340InitKeygenResult",{enumerable:!0,get:function(){return types_1.BIP340InitKeygenResult}}),Object.defineProperty(exports,"BIP340KeygenResult",{enumerable:!0,get:function(){return types_1.BIP340KeygenResult}}),Object.defineProperty(exports,"MessageHash",{enumerable:!0,get:function(){return types_1.MessageHash}}),require("./ecdsa")),ed25519_1=(Object.defineProperty(exports,"Ecdsa",{enumerable:!0,get:function(){return ecdsa_1.Ecdsa}}),require("./ed25519")),bip340_1=(Object.defineProperty(exports,"Ed25519",{enumerable:!0,get:function(){return ed25519_1.Ed25519}}),require("./bip340"));Object.defineProperty(exports,"BIP340",{enumerable:!0,get:function(){return bip340_1.BIP340}});
@@ -0,0 +1,103 @@
1
+ export interface DynamicNativeSdkInterface {
2
+ initKeygen(): Promise<{
3
+ pubkey: string;
4
+ keypair: string;
5
+ }>;
6
+ createRoom(hostUrl: string, numParties: number, apiKey: string): Promise<string>;
7
+ ecdsaGetExportID(secretShare: string): Promise<string>;
8
+ ecdsaKeygen(roomUUID: string, hostUrl: string, numParties: number, threshold: number, keygenSecret: string, keygenIDs: string[]): Promise<{
9
+ pubkey: string;
10
+ secret_share: string;
11
+ }>;
12
+ ecdsaSign(roomUUID: string, hostUrl: string, secretShare: string, msgHex: string, derivationPath: number[]): Promise<string>;
13
+ ecdsaRefresh(roomUUID: string, hostUrl: string, secretShare: string): Promise<{
14
+ pubkey: string;
15
+ secret_share: string;
16
+ }>;
17
+ ecdsaReshareNewParty(roomUUID: string, hostUrl: string, oldThreshold: number, newThreshold: number, keygenSecret: string, keygenIDs: string[]): Promise<{
18
+ pubkey: string;
19
+ secret_share: string;
20
+ }>;
21
+ ecdsaReshareRemainingParty(roomUUID: string, hostUrl: string, newThreshold: number, secretShare: string, keygenIDs: string[]): Promise<{
22
+ pubkey: string;
23
+ secret_share: string;
24
+ }>;
25
+ ecdsaDerivePubkey(secretShare: string, derive: number[]): Promise<string>;
26
+ ecdsaGetXpub(secretShare: string): Promise<string>;
27
+ ecdsaDerivePubkeyFromXpub(xpub: string, derivation: number[]): Promise<string>;
28
+ ecdsaExportFullPrivateKey(roomUUID: string, hostUrl: string, secretShare: string, toExportID: string): Promise<undefined | string>;
29
+ ecdsaDerivePrivateKeyFromXpriv(xpriv: string, derive: number[]): Promise<string>;
30
+ ecdsaOfflineExportFullPrivateKey(keygenResults: string[]): Promise<string>;
31
+ ecdsaImportPrivateKeyRecipient(roomUUID: string, hostUrl: string, threshold: number, secretShare: string, keygenIDs: string[]): Promise<{
32
+ pubkey: string;
33
+ secret_share: string;
34
+ }>;
35
+ ecdsaImportPrivateKeyImporter(roomUUID: string, hostUrl: string, threshold: number, privateKey: string, secretShare: string, keygenIDs: string[]): Promise<{
36
+ pubkey: string;
37
+ secret_share: string;
38
+ }>;
39
+ ed25519GetExportID(secretShare: string): Promise<string>;
40
+ ed25519Keygen(roomUUID: string, hostUrl: string, numParties: number, threshold: number, keygenSecret: string, keygenIDs: string[]): Promise<{
41
+ pubkey: string;
42
+ secret_share: string;
43
+ }>;
44
+ ed25519Sign(roomUUID: string, hostUrl: string, secretShare: string, msgHex: string, derivationPath: number[]): Promise<string>;
45
+ ed25519Refresh(roomUUID: string, hostUrl: string, secretShare: string): Promise<{
46
+ pubkey: string;
47
+ secret_share: string;
48
+ }>;
49
+ ed25519ReshareNewParty(roomUUID: string, hostUrl: string, oldThreshold: number, newThreshold: number, keygenSecret: string, keygenIDs: string[]): Promise<{
50
+ pubkey: string;
51
+ secret_share: string;
52
+ }>;
53
+ ed25519ReshareRemainingParty(roomUUID: string, hostUrl: string, newThreshold: number, secretShare: string, keygenIDs: string[]): Promise<{
54
+ pubkey: string;
55
+ secret_share: string;
56
+ }>;
57
+ ed25519DerivePubkey(secretShare: string, derive: number[]): Promise<string>;
58
+ ed25519GetSpub(secretShare: string): Promise<string>;
59
+ ed25519DerivePubkeyFromSpub(spub: string, derivation: number[]): Promise<string>;
60
+ ed25519ExportFullPrivateKey(roomUUID: string, hostUrl: string, secretShare: string, toExportID: string): Promise<undefined | string>;
61
+ ed25519DerivePrivateKeyFromSpriv(spriv: string, derive: number[]): Promise<string>;
62
+ ed25519OfflineExportFullPrivateKey(keygenResults: string[]): Promise<string>;
63
+ ed25519ImportPrivateKeyRecipient(roomUUID: string, hostUrl: string, threshold: number, secretShare: string, keygenIDs: string[]): Promise<{
64
+ pubkey: string;
65
+ secret_share: string;
66
+ }>;
67
+ ed25519ImportPrivateKeyImporter(roomUUID: string, hostUrl: string, threshold: number, privateKey: string, secretShare: string, keygenIDs: string[], isPrivateKeyRaw: boolean): Promise<{
68
+ pubkey: string;
69
+ secret_share: string;
70
+ }>;
71
+ bip340GetExportID(secretShare: string): Promise<string>;
72
+ bip340Keygen(roomUUID: string, hostUrl: string, numParties: number, threshold: number, keygenSecret: string, keygenIDs: string[]): Promise<{
73
+ pubkey: string;
74
+ secret_share: string;
75
+ }>;
76
+ bip340Sign(roomUUID: string, hostUrl: string, secretShare: string, msgHex: string, derivationPath: number[], tweak: string): Promise<string>;
77
+ bip340Refresh(roomUUID: string, hostUrl: string, secretShare: string): Promise<{
78
+ pubkey: string;
79
+ secret_share: string;
80
+ }>;
81
+ bip340ReshareNewParty(roomUUID: string, hostUrl: string, oldThreshold: number, newThreshold: number, keygenSecret: string, keygenIDs: string[]): Promise<{
82
+ pubkey: string;
83
+ secret_share: string;
84
+ }>;
85
+ bip340ReshareRemainingParty(roomUUID: string, hostUrl: string, newThreshold: number, secretShare: string, keygenIDs: string[]): Promise<{
86
+ pubkey: string;
87
+ secret_share: string;
88
+ }>;
89
+ bip340DeriveTweakPubkey(secretShare: string, derive: number[], tweak: string): Promise<string>;
90
+ bip340GetXpub(secretShare: string): Promise<string>;
91
+ bip340DeriveTweakPubkeyFromXpub(xpub: string, derivation: number[], optTweak: string): Promise<string>;
92
+ bip340ExportFullPrivateKey(roomUUID: string, hostUrl: string, secretShare: string, toExportID: string): Promise<undefined | string>;
93
+ bip340DerivePrivateKeyFromXpriv(xpriv: string, derive: number[]): Promise<string>;
94
+ bip340OfflineExportFullPrivateKey(keygenResults: string[]): Promise<string>;
95
+ bip340ImportPrivateKeyRecipient(roomUUID: string, hostUrl: string, threshold: number, secretShare: string, keygenIDs: string[]): Promise<{
96
+ pubkey: string;
97
+ secret_share: string;
98
+ }>;
99
+ bip340ImportPrivateKeyImporter(roomUUID: string, hostUrl: string, threshold: number, privateKey: string, secretShare: string, keygenIDs: string[]): Promise<{
100
+ pubkey: string;
101
+ secret_share: string;
102
+ }>;
103
+ }
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,58 @@
1
+ export declare class MessageHash {
2
+ static readonly LENGTH = 32;
3
+ readonly bytes: Uint8Array;
4
+ constructor(bytes: Uint8Array | string);
5
+ static sha256(message: Uint8Array | string): MessageHash;
6
+ static sha256d(message: Uint8Array | string): MessageHash;
7
+ static keccak256(message: Uint8Array | string): MessageHash;
8
+ toHex(): string;
9
+ }
10
+ export declare class EcdsaPublicKey {
11
+ private static readonly LENGTH;
12
+ private readonly pubkey;
13
+ constructor(pubkey: Uint8Array | string);
14
+ serializeUncompressed(): Uint8Array;
15
+ serializeCompressed(): Uint8Array;
16
+ pubKeyAsHex(): string;
17
+ }
18
+ export declare class EcdsaKeygenResult {
19
+ pubkey: EcdsaPublicKey;
20
+ secretShare: string;
21
+ constructor(pubkey: EcdsaPublicKey, secretShare: string);
22
+ }
23
+ export declare class EcdsaInitKeygenResult {
24
+ keygenId: string;
25
+ keygenSecret: string;
26
+ constructor(keygenId: string, keygenSecret: string);
27
+ }
28
+ export declare class Ed25519KeygenResult {
29
+ pubkey: Uint8Array;
30
+ secretShare: string;
31
+ constructor(pubkey: Uint8Array, secretShare: string);
32
+ }
33
+ export declare class Ed25519InitKeygenResult {
34
+ keygenId: string;
35
+ keygenSecret: string;
36
+ constructor(keygenId: string, keygenSecret: string);
37
+ }
38
+ export declare class EcdsaSignature {
39
+ private static readonly FIELD_SIZE;
40
+ private static readonly MAX_DER_LEN;
41
+ private static readonly MIN_DER_LEN;
42
+ readonly r: Uint8Array;
43
+ readonly s: Uint8Array;
44
+ readonly v: number;
45
+ readonly der: Uint8Array;
46
+ static fromBuffer(expandedSignature: Uint8Array | string): EcdsaSignature;
47
+ constructor(r: Uint8Array, s: Uint8Array, v: number, DERencoding: Uint8Array);
48
+ }
49
+ export declare class BIP340KeygenResult {
50
+ pubkey: Uint8Array;
51
+ secretShare: string;
52
+ constructor(pubkey: Uint8Array, secretShare: string);
53
+ }
54
+ export declare class BIP340InitKeygenResult {
55
+ keygenId: string;
56
+ keygenSecret: string;
57
+ constructor(keygenId: string, keygenSecret: string);
58
+ }
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.BIP340InitKeygenResult=exports.BIP340KeygenResult=exports.EcdsaSignature=exports.Ed25519InitKeygenResult=exports.Ed25519KeygenResult=exports.EcdsaInitKeygenResult=exports.EcdsaKeygenResult=exports.EcdsaPublicKey=exports.MessageHash=void 0;let utils_1=require("@noble/hashes/utils"),sha3_1=require("@noble/hashes/sha3"),sha256_1=require("@noble/hashes/sha256");class MessageHash{constructor(e){if(this.bytes=new Uint8Array,"string"==typeof e){if(e.length!==2*MessageHash.LENGTH)throw new Error("Invalid length for MessageHash: "+e.length);this.bytes=(0,utils_1.hexToBytes)(e)}else{if(e.length!==MessageHash.LENGTH)throw new Error("Invalid length for MessageHash: "+e.length);this.bytes=e}}static sha256(e){return new MessageHash((0,sha256_1.sha256)(e))}static sha256d(e){return new MessageHash((0,sha256_1.sha256)((0,sha256_1.sha256)(e)))}static keccak256(e){return new MessageHash((0,sha3_1.keccak_256)(e))}toHex(){return(0,utils_1.bytesToHex)(this.bytes)}}(exports.MessageHash=MessageHash).LENGTH=32;class EcdsaPublicKey{constructor(e){if((e="string"==typeof e?(0,utils_1.hexToBytes)(e):e).length===EcdsaPublicKey.LENGTH+1)this.pubkey=e.slice(1);else{if(e.length!==EcdsaPublicKey.LENGTH)throw new RangeError(`Invalid ${this.constructor.name} length, expected: ${EcdsaPublicKey.LENGTH} bytes, found: `+e.length);this.pubkey=e}}serializeUncompressed(){return new Uint8Array([4,...this.pubkey])}serializeCompressed(){var e=1&this.pubkey[63];return new Uint8Array([2+e,...this.pubkey.slice(0,32)])}pubKeyAsHex(){return(0,utils_1.bytesToHex)(this.serializeUncompressed())}}(exports.EcdsaPublicKey=EcdsaPublicKey).LENGTH=64;class EcdsaKeygenResult{constructor(e,s){this.pubkey=e,this.secretShare=s}}exports.EcdsaKeygenResult=EcdsaKeygenResult;class EcdsaInitKeygenResult{constructor(e,s){this.keygenId=e,this.keygenSecret=s}}exports.EcdsaInitKeygenResult=EcdsaInitKeygenResult;class Ed25519KeygenResult{constructor(e,s){this.pubkey=e,this.secretShare=s}}exports.Ed25519KeygenResult=Ed25519KeygenResult;class Ed25519InitKeygenResult{constructor(e,s){this.keygenId=e,this.keygenSecret=s}}exports.Ed25519InitKeygenResult=Ed25519InitKeygenResult;class EcdsaSignature{static fromBuffer(e){"string"==typeof e&&(e=(0,utils_1.hexToBytes)(e));var s=2*EcdsaSignature.FIELD_SIZE+EcdsaSignature.MAX_DER_LEN+1,t=2*EcdsaSignature.FIELD_SIZE+EcdsaSignature.MIN_DER_LEN+1;if(e.length<t||e.length>s)throw new RangeError(`Invalid ${this.constructor.name} length, expected between ${t}..${s} bytes, found: `+e.length);var t=e.subarray(0,EcdsaSignature.FIELD_SIZE),s=e.subarray(EcdsaSignature.FIELD_SIZE,2*EcdsaSignature.FIELD_SIZE),r=e[2*EcdsaSignature.FIELD_SIZE],e=e.subarray(2*EcdsaSignature.FIELD_SIZE+1);return new EcdsaSignature(t,s,r,e)}constructor(e,s,t,r){if(s.length!==EcdsaSignature.FIELD_SIZE)throw new RangeError(`Invalid 's' length, expected: ${EcdsaSignature.FIELD_SIZE} found: `+s.length);if(e.length!==EcdsaSignature.FIELD_SIZE)throw new RangeError(`Invalid 'r' length, expected: ${EcdsaSignature.FIELD_SIZE} found: `+e.length);if(!Number.isInteger(t)||t<27||30<t)throw new RangeError("Invalid 'v' value, expected 27/28/29/30 found: "+t);if(r.length<EcdsaSignature.MIN_DER_LEN||r.length>EcdsaSignature.MAX_DER_LEN)throw new RangeError(`Invalid DER encoding, expected length: ${EcdsaSignature.MIN_DER_LEN}..${EcdsaSignature.MAX_DER_LEN} found: `+r.length);this.r=e,this.s=s,this.v=t,this.der=r}}(exports.EcdsaSignature=EcdsaSignature).FIELD_SIZE=32,EcdsaSignature.MAX_DER_LEN=72,EcdsaSignature.MIN_DER_LEN=8;class BIP340KeygenResult{constructor(e,s){this.pubkey=e,this.secretShare=s}}exports.BIP340KeygenResult=BIP340KeygenResult;class BIP340InitKeygenResult{constructor(e,s){this.keygenId=e,this.keygenSecret=s}}exports.BIP340InitKeygenResult=BIP340InitKeygenResult;
@@ -0,0 +1,130 @@
1
+ export function initKeygen(): Promise<KeygenInit>;
2
+ export function createRoom(host_addr: string, num_parties: number, api_token: string): Promise<string>;
3
+ export function ecdsaKeygen(room_uuid: string, host_addr: string, num_parties: number, threshold: number, keygen_secret: string, keygen_ids: (string)[]): Promise<KeygenResult>;
4
+ export function ecdsaSign(room_uuid: string, host_addr: string, secret_share: string, msg_hex: string, derivation_path: Uint32Array): Promise<string>;
5
+ export function ecdsaRefresh(room_uuid: string, host_addr: string, secret_share: string): Promise<KeygenResult>;
6
+ export function ecdsaReshareNewParty(room_uuid: string, host_addr: string, _old_threshold: number, new_threshold: number, keygen_secret: string, keygen_ids: (string)[]): Promise<KeygenResult>;
7
+ export function ecdsaReshareRemainingParty(room_uuid: string, host_addr: string, new_threshold: number, secret_share: string, keygen_ids: (string)[]): Promise<KeygenResult>;
8
+ export function ecdsaDerivePubkey(secret_share: string, derivation_path: Uint32Array): Promise<string>;
9
+ export function ecdsaGetXpub(secret_share: string): Promise<string>;
10
+ export function ecdsaDerivePubkeyFromXpub(xpub: string, derivation_path: Uint32Array): Promise<string>;
11
+ export function ecdsaGetExportID(secret_share: string): Promise<string>;
12
+ export function ecdsaExportFullPrivateKey(room_uuid: string, host_addr: string, secret_share: string, export_to: string): Promise<string | undefined>;
13
+ export function ecdsaOfflineExportFullPrivateKey(secret_shares: (string)[]): Promise<string>;
14
+ export function ecdsaDerivePrivateKeyFromXpriv(xpriv: string, derivation_path: Uint32Array): Promise<string>;
15
+ export function ecdsaImportPrivateKeyRecipient(room_uuid: string, host_addr: string, threshold: number, keygen_secret: string, keygen_ids: (string)[]): Promise<KeygenResult>;
16
+ export function ecdsaImportPrivateKeyImporter(room_uuid: string, host_addr: string, threshold: number, private_key_hex: string, keygen_secret: string, keygen_ids: (string)[]): Promise<KeygenResult>;
17
+ export function ed25519Keygen(room_uuid: string, host_addr: string, num_parties: number, threshold: number, keygen_secret: string, keygen_ids: (string)[]): Promise<KeygenResult>;
18
+ export function ed25519Sign(room_uuid: string, host_addr: string, secret_share: string, msg_hex: string, derivation_path: Uint32Array): Promise<string>;
19
+ export function ed25519Refresh(room_uuid: string, host_addr: string, secret_share: string): Promise<KeygenResult>;
20
+ export function ed25519ReshareNewParty(room_uuid: string, host_addr: string, _old_threshold: number, new_threshold: number, keygen_secret: string, keygen_ids: (string)[]): Promise<KeygenResult>;
21
+ export function ed25519ReshareRemainingParty(room_uuid: string, host_addr: string, new_threshold: number, secret_share: string, keygen_ids: (string)[]): Promise<KeygenResult>;
22
+ export function ed25519DerivePubkey(secret_share: string, derivation_path: Uint32Array): Promise<string>;
23
+ export function ed25519GetSpub(secret_share: string): Promise<string>;
24
+ export function ed25519DerivePubkeyFromSpub(spub: string, derivation_path: Uint32Array): Promise<string>;
25
+ export function ed25519GetExportID(secret_share: string): Promise<string>;
26
+ export function ed25519ExportFullPrivateKey(room_uuid: string, host_addr: string, secret_share: string, export_to: string): Promise<string | undefined>;
27
+ export function ed25519OfflineExportFullPrivateKey(secret_shares: (string)[]): Promise<string>;
28
+ export function ed25519DerivePrivateKeyFromSpriv(spriv: string, derivation_path: Uint32Array): Promise<string>;
29
+ export function ed25519ImportPrivateKeyRecipient(room_uuid: string, host_addr: string, threshold: number, keygen_secret: string, keygen_ids: (string)[]): Promise<KeygenResult>;
30
+ export function ed25519ImportPrivateKeyImporter(room_uuid: string, host_addr: string, threshold: number, private_key_hex: string, keygen_secret: string, keygen_ids: (string)[], is_private_key_raw: boolean): Promise<KeygenResult>;
31
+ export function bip340Keygen(room_uuid: string, host_addr: string, num_parties: number, threshold: number, keygen_secret: string, keygen_ids: (string)[]): Promise<KeygenResult>;
32
+ export function bip340Sign(room_uuid: string, host_addr: string, secret_share: string, msg_hex: string, derivation_path: Uint32Array, opt_tweak: string): Promise<string>;
33
+ export function bip340Refresh(room_uuid: string, host_addr: string, secret_share: string): Promise<KeygenResult>;
34
+ export function bip340ReshareNewParty(room_uuid: string, host_addr: string, _old_threshold: number, new_threshold: number, keygen_secret: string, keygen_ids: (string)[]): Promise<KeygenResult>;
35
+ export function bip340ReshareRemainingParty(room_uuid: string, host_addr: string, new_threshold: number, secret_share: string, keygen_ids: (string)[]): Promise<KeygenResult>;
36
+ export function bip340DeriveTweakPubkey(secret_share: string, derivation_path: Uint32Array, opt_tweak: string): Promise<string>;
37
+ export function bip340GetXpub(secret_share: string): Promise<string>;
38
+ export function bip340DeriveTweakPubkeyFromXpub(xpub: string, derivation_path: Uint32Array, opt_tweak: string): Promise<string>;
39
+ export function bip340GetExportID(secret_share: string): Promise<string>;
40
+ export function bip340ExportFullPrivateKey(room_uuid: string, host_addr: string, secret_share: string, export_to: string): Promise<string | undefined>;
41
+ export function bip340OfflineExportFullPrivateKey(secret_shares: (string)[]): Promise<string>;
42
+ export function bip340DerivePrivateKeyFromXpriv(xpriv: string, derivation_path: Uint32Array): Promise<string>;
43
+ export function bip340ImportPrivateKeyRecipient(room_uuid: string, host_addr: string, threshold: number, keygen_secret: string, keygen_ids: (string)[]): Promise<KeygenResult>;
44
+ export function bip340ImportPrivateKeyImporter(room_uuid: string, host_addr: string, threshold: number, private_key_hex: string, keygen_secret: string, keygen_ids: (string)[]): Promise<KeygenResult>;
45
+ export function start(): void;
46
+ export class KeygenInit {
47
+ free(): void;
48
+ constructor(keypair: string, pubkey: string);
49
+ readonly keypair: string;
50
+ readonly pubkey: string;
51
+ }
52
+ export class KeygenResult {
53
+ free(): void;
54
+ readonly pubkey: string;
55
+ readonly secret_share: string;
56
+ }
57
+
58
+ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
59
+
60
+ export interface InitOutput {
61
+ readonly memory: WebAssembly.Memory;
62
+ readonly __wbg_keygeninit_free: (a: number, b: number) => void;
63
+ readonly __wbg_get_keygeninit_keypair: (a: number, b: number) => void;
64
+ readonly __wbg_get_keygeninit_pubkey: (a: number, b: number) => void;
65
+ readonly keygeninit_new: (a: number, b: number, c: number, d: number) => number;
66
+ readonly initKeygen: () => number;
67
+ readonly createRoom: (a: number, b: number, c: number, d: number, e: number) => number;
68
+ readonly ecdsaKeygen: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number;
69
+ readonly ecdsaSign: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number;
70
+ readonly ecdsaRefresh: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
71
+ readonly ecdsaReshareNewParty: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number;
72
+ readonly ecdsaReshareRemainingParty: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
73
+ readonly ecdsaDerivePubkey: (a: number, b: number, c: number, d: number) => number;
74
+ readonly ecdsaGetXpub: (a: number, b: number) => number;
75
+ readonly ecdsaDerivePubkeyFromXpub: (a: number, b: number, c: number, d: number) => number;
76
+ readonly ecdsaGetExportID: (a: number, b: number) => number;
77
+ readonly ecdsaExportFullPrivateKey: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
78
+ readonly ecdsaOfflineExportFullPrivateKey: (a: number, b: number) => number;
79
+ readonly ecdsaDerivePrivateKeyFromXpriv: (a: number, b: number, c: number, d: number) => number;
80
+ readonly ecdsaImportPrivateKeyRecipient: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
81
+ readonly ecdsaImportPrivateKeyImporter: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => number;
82
+ readonly ed25519Keygen: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number;
83
+ readonly ed25519Sign: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number;
84
+ readonly ed25519Refresh: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
85
+ readonly ed25519ReshareNewParty: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number;
86
+ readonly ed25519ReshareRemainingParty: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
87
+ readonly ed25519DerivePubkey: (a: number, b: number, c: number, d: number) => number;
88
+ readonly ed25519GetSpub: (a: number, b: number) => number;
89
+ readonly ed25519DerivePubkeyFromSpub: (a: number, b: number, c: number, d: number) => number;
90
+ readonly ed25519GetExportID: (a: number, b: number) => number;
91
+ readonly ed25519ExportFullPrivateKey: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
92
+ readonly ed25519OfflineExportFullPrivateKey: (a: number, b: number) => number;
93
+ readonly ed25519DerivePrivateKeyFromSpriv: (a: number, b: number, c: number, d: number) => number;
94
+ readonly ed25519ImportPrivateKeyRecipient: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
95
+ readonly ed25519ImportPrivateKeyImporter: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => number;
96
+ readonly bip340Keygen: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number;
97
+ readonly bip340Sign: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => number;
98
+ readonly bip340Refresh: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
99
+ readonly bip340ReshareNewParty: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number;
100
+ readonly bip340ReshareRemainingParty: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
101
+ readonly bip340DeriveTweakPubkey: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
102
+ readonly bip340GetXpub: (a: number, b: number) => number;
103
+ readonly bip340DeriveTweakPubkeyFromXpub: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
104
+ readonly bip340GetExportID: (a: number, b: number) => number;
105
+ readonly bip340ExportFullPrivateKey: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
106
+ readonly bip340OfflineExportFullPrivateKey: (a: number, b: number) => number;
107
+ readonly bip340DerivePrivateKeyFromXpriv: (a: number, b: number, c: number, d: number) => number;
108
+ readonly bip340ImportPrivateKeyRecipient: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
109
+ readonly bip340ImportPrivateKeyImporter: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => number;
110
+ readonly start: () => void;
111
+ readonly __wbg_keygenresult_free: (a: number, b: number) => void;
112
+ readonly __wbg_get_keygenresult_secret_share: (a: number, b: number) => void;
113
+ readonly __wbg_get_keygenresult_pubkey: (a: number, b: number) => void;
114
+ readonly __wbindgen_export_0: (a: number, b: number) => number;
115
+ readonly __wbindgen_export_1: (a: number, b: number, c: number, d: number) => number;
116
+ readonly __wbindgen_export_2: WebAssembly.Table;
117
+ readonly __wbindgen_export_3: (a: number, b: number) => void;
118
+ readonly __wbindgen_export_4: (a: number, b: number, c: number) => void;
119
+ readonly __wbindgen_export_5: (a: number, b: number, c: number) => void;
120
+ readonly __wbindgen_export_6: (a: number) => void;
121
+ readonly __wbindgen_export_7: (a: number, b: number, c: number, d: number) => void;
122
+ readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
123
+ readonly __wbindgen_export_8: (a: number, b: number, c: number) => void;
124
+ readonly __wbindgen_start: () => void;
125
+ }
126
+
127
+ export type SyncInitInput = BufferSource | WebAssembly.Module;
128
+ export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
129
+
130
+ export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;
@@ -0,0 +1,2 @@
1
+ let wasm,heap=new Array(128).fill(void 0);function getObject(e){return heap[e]}heap.push(void 0,null,!0,!1);let heap_next=heap.length;function dropObject(e){e<132||(heap[e]=heap_next,heap_next=e)}function takeObject(e){var _=getObject(e);return dropObject(e),_}let cachedTextDecoder="undefined"!=typeof TextDecoder?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}},cachedUint8ArrayMemory0=("undefined"!=typeof TextDecoder&&cachedTextDecoder.decode(),null);function getUint8ArrayMemory0(){return cachedUint8ArrayMemory0=null!==cachedUint8ArrayMemory0&&0!==cachedUint8ArrayMemory0.byteLength?cachedUint8ArrayMemory0:new Uint8Array(wasm.memory.buffer)}function getStringFromWasm0(e,_){return e>>>=0,cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(e,e+_))}function addHeapObject(e){heap_next===heap.length&&heap.push(heap.length+1);var _=heap_next;return heap_next=heap[_],heap[_]=e,_}let WASM_VECTOR_LEN=0,cachedTextEncoder="undefined"!=typeof TextEncoder?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},encodeString="function"==typeof cachedTextEncoder.encodeInto?function(e,_){return cachedTextEncoder.encodeInto(e,_)}:function(e,_){var t=cachedTextEncoder.encode(e);return _.set(t),{read:e.length,written:t.length}};function passStringToWasm0(_,t,e){if(void 0===e){var n=cachedTextEncoder.encode(_);let e=t(n.length,1)>>>0;return getUint8ArrayMemory0().subarray(e,e+n.length).set(n),WASM_VECTOR_LEN=n.length,e}let r=_.length,a=t(r,1)>>>0;var i=getUint8ArrayMemory0();let s=0;for(;s<r;s++){var o=_.charCodeAt(s);if(127<o)break;i[a+s]=o}return s!==r&&(0!==s&&(_=_.slice(s)),a=e(a,r,r=s+3*_.length,1)>>>0,n=getUint8ArrayMemory0().subarray(a+s,a+r),t=encodeString(_,n),s+=t.written,a=e(a,r,s,1)>>>0),WASM_VECTOR_LEN=s,a}function isLikeNone(e){return null==e}let cachedDataViewMemory0=null;function getDataViewMemory0(){return cachedDataViewMemory0=null===cachedDataViewMemory0||!0===cachedDataViewMemory0.buffer.detached||void 0===cachedDataViewMemory0.buffer.detached&&cachedDataViewMemory0.buffer!==wasm.memory.buffer?new DataView(wasm.memory.buffer):cachedDataViewMemory0}function debugString(t){var e,_=typeof t;if("number"==_||"boolean"==_||null==t)return""+t;if("string"==_)return`"${t}"`;if("symbol"==_)return null==(e=t.description)?"Symbol":`Symbol(${e})`;if("function"==_)return"string"==typeof(e=t.name)&&0<e.length?`Function(${e})`:"Function";if(Array.isArray(t)){var n=t.length;let _="[";0<n&&(_+=debugString(t[0]));for(let e=1;e<n;e++)_+=", "+debugString(t[e]);return _+="]"}_=/\[object ([^\]]+)\]/.exec(toString.call(t));let r;if(!(1<_.length))return toString.call(t);if("Object"==(r=_[1]))try{return"Object("+JSON.stringify(t)+")"}catch(e){return"Object"}return t instanceof Error?t.name+`: ${t.message}
2
+ `+t.stack:r}let CLOSURE_DTORS="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>{wasm.__wbindgen_export_2.get(e.dtor)(e.a,e.b)});function makeMutClosure(e,_,t,n){let r={a:e,b:_,cnt:1,dtor:t};e=(...e)=>{r.cnt++;var _=r.a;r.a=0;try{return n(_,r.b,...e)}finally{0==--r.cnt?(wasm.__wbindgen_export_2.get(r.dtor)(_,r.b),CLOSURE_DTORS.unregister(r)):r.a=_}};return e.original=r,CLOSURE_DTORS.register(e,r,r),e}function __wbg_adapter_28(e,_){wasm.__wbindgen_export_3(e,_)}function makeClosure(e,_,t,n){let r={a:e,b:_,cnt:1,dtor:t};e=(...e)=>{r.cnt++;try{return n(r.a,r.b,...e)}finally{0==--r.cnt&&(wasm.__wbindgen_export_2.get(r.dtor)(r.a,r.b),r.a=0,CLOSURE_DTORS.unregister(r))}};return e.original=r,CLOSURE_DTORS.register(e,r,r),e}function __wbg_adapter_31(e,_,t){wasm.__wbindgen_export_4(e,_,addHeapObject(t))}function __wbg_adapter_38(e,_,t){wasm.__wbindgen_export_5(e,_,addHeapObject(t))}function handleError(e,_){try{return e.apply(this,_)}catch(e){wasm.__wbindgen_export_6(addHeapObject(e))}}function __wbg_adapter_83(e,_,t,n){wasm.__wbindgen_export_7(e,_,addHeapObject(t),addHeapObject(n))}function initKeygen(){return takeObject(wasm.initKeygen())}function createRoom(e,_,t){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),n=WASM_VECTOR_LEN,t=passStringToWasm0(t,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),r=WASM_VECTOR_LEN;return takeObject(wasm.createRoom(e,n,_,t,r))}function passArrayJsValueToWasm0(_,e){var t=e(4*_.length,4)>>>0,n=getDataViewMemory0();for(let e=0;e<_.length;e++)n.setUint32(t+4*e,addHeapObject(_[e]),!0);return WASM_VECTOR_LEN=_.length,t}function ecdsaKeygen(e,_,t,n,r,a){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,r=passStringToWasm0(r,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),o=WASM_VECTOR_LEN,a=passArrayJsValueToWasm0(a,wasm.__wbindgen_export_0),b=WASM_VECTOR_LEN;return takeObject(wasm.ecdsaKeygen(e,i,_,s,t,n,r,o,a,b))}let cachedUint32ArrayMemory0=null;function getUint32ArrayMemory0(){return cachedUint32ArrayMemory0=null!==cachedUint32ArrayMemory0&&0!==cachedUint32ArrayMemory0.byteLength?cachedUint32ArrayMemory0:new Uint32Array(wasm.memory.buffer)}function passArray32ToWasm0(e,_){_=_(4*e.length,4)>>>0;return getUint32ArrayMemory0().set(e,_/4),WASM_VECTOR_LEN=e.length,_}function ecdsaSign(e,_,t,n,r){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),a=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,t=passStringToWasm0(t,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,n=passStringToWasm0(n,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),o=WASM_VECTOR_LEN,r=passArray32ToWasm0(r,wasm.__wbindgen_export_0),b=WASM_VECTOR_LEN;return takeObject(wasm.ecdsaSign(e,a,_,i,t,s,n,o,r,b))}function ecdsaRefresh(e,_,t){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),n=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),r=WASM_VECTOR_LEN,t=passStringToWasm0(t,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),a=WASM_VECTOR_LEN;return takeObject(wasm.ecdsaRefresh(e,n,_,r,t,a))}function ecdsaReshareNewParty(e,_,t,n,r,a){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,r=passStringToWasm0(r,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),o=WASM_VECTOR_LEN,a=passArrayJsValueToWasm0(a,wasm.__wbindgen_export_0),b=WASM_VECTOR_LEN;return takeObject(wasm.ecdsaReshareNewParty(e,i,_,s,t,n,r,o,a,b))}function ecdsaReshareRemainingParty(e,_,t,n,r){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),a=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,n=passStringToWasm0(n,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,r=passArrayJsValueToWasm0(r,wasm.__wbindgen_export_0),o=WASM_VECTOR_LEN;return takeObject(wasm.ecdsaReshareRemainingParty(e,a,_,i,t,n,s,r,o))}function ecdsaDerivePubkey(e,_){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),t=WASM_VECTOR_LEN,_=passArray32ToWasm0(_,wasm.__wbindgen_export_0),n=WASM_VECTOR_LEN;return takeObject(wasm.ecdsaDerivePubkey(e,t,_,n))}function ecdsaGetXpub(e){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),_=WASM_VECTOR_LEN;return takeObject(wasm.ecdsaGetXpub(e,_))}function ecdsaDerivePubkeyFromXpub(e,_){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),t=WASM_VECTOR_LEN,_=passArray32ToWasm0(_,wasm.__wbindgen_export_0),n=WASM_VECTOR_LEN;return takeObject(wasm.ecdsaDerivePubkeyFromXpub(e,t,_,n))}function ecdsaGetExportID(e){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),_=WASM_VECTOR_LEN;return takeObject(wasm.ecdsaGetExportID(e,_))}function ecdsaExportFullPrivateKey(e,_,t,n){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),r=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),a=WASM_VECTOR_LEN,t=passStringToWasm0(t,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,n=passStringToWasm0(n,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN;return takeObject(wasm.ecdsaExportFullPrivateKey(e,r,_,a,t,i,n,s))}function ecdsaOfflineExportFullPrivateKey(e){var e=passArrayJsValueToWasm0(e,wasm.__wbindgen_export_0),_=WASM_VECTOR_LEN;return takeObject(wasm.ecdsaOfflineExportFullPrivateKey(e,_))}function ecdsaDerivePrivateKeyFromXpriv(e,_){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),t=WASM_VECTOR_LEN,_=passArray32ToWasm0(_,wasm.__wbindgen_export_0),n=WASM_VECTOR_LEN;return takeObject(wasm.ecdsaDerivePrivateKeyFromXpriv(e,t,_,n))}function ecdsaImportPrivateKeyRecipient(e,_,t,n,r){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),a=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,n=passStringToWasm0(n,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,r=passArrayJsValueToWasm0(r,wasm.__wbindgen_export_0),o=WASM_VECTOR_LEN;return takeObject(wasm.ecdsaImportPrivateKeyRecipient(e,a,_,i,t,n,s,r,o))}function ecdsaImportPrivateKeyImporter(e,_,t,n,r,a){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,n=passStringToWasm0(n,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),o=WASM_VECTOR_LEN,r=passStringToWasm0(r,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),b=WASM_VECTOR_LEN,a=passArrayJsValueToWasm0(a,wasm.__wbindgen_export_0),w=WASM_VECTOR_LEN;return takeObject(wasm.ecdsaImportPrivateKeyImporter(e,i,_,s,t,n,o,r,b,a,w))}function ed25519Keygen(e,_,t,n,r,a){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,r=passStringToWasm0(r,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),o=WASM_VECTOR_LEN,a=passArrayJsValueToWasm0(a,wasm.__wbindgen_export_0),b=WASM_VECTOR_LEN;return takeObject(wasm.ed25519Keygen(e,i,_,s,t,n,r,o,a,b))}function ed25519Sign(e,_,t,n,r){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),a=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,t=passStringToWasm0(t,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,n=passStringToWasm0(n,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),o=WASM_VECTOR_LEN,r=passArray32ToWasm0(r,wasm.__wbindgen_export_0),b=WASM_VECTOR_LEN;return takeObject(wasm.ed25519Sign(e,a,_,i,t,s,n,o,r,b))}function ed25519Refresh(e,_,t){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),n=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),r=WASM_VECTOR_LEN,t=passStringToWasm0(t,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),a=WASM_VECTOR_LEN;return takeObject(wasm.ed25519Refresh(e,n,_,r,t,a))}function ed25519ReshareNewParty(e,_,t,n,r,a){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,r=passStringToWasm0(r,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),o=WASM_VECTOR_LEN,a=passArrayJsValueToWasm0(a,wasm.__wbindgen_export_0),b=WASM_VECTOR_LEN;return takeObject(wasm.ed25519ReshareNewParty(e,i,_,s,t,n,r,o,a,b))}function ed25519ReshareRemainingParty(e,_,t,n,r){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),a=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,n=passStringToWasm0(n,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,r=passArrayJsValueToWasm0(r,wasm.__wbindgen_export_0),o=WASM_VECTOR_LEN;return takeObject(wasm.ed25519ReshareRemainingParty(e,a,_,i,t,n,s,r,o))}function ed25519DerivePubkey(e,_){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),t=WASM_VECTOR_LEN,_=passArray32ToWasm0(_,wasm.__wbindgen_export_0),n=WASM_VECTOR_LEN;return takeObject(wasm.ed25519DerivePubkey(e,t,_,n))}function ed25519GetSpub(e){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),_=WASM_VECTOR_LEN;return takeObject(wasm.ed25519GetSpub(e,_))}function ed25519DerivePubkeyFromSpub(e,_){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),t=WASM_VECTOR_LEN,_=passArray32ToWasm0(_,wasm.__wbindgen_export_0),n=WASM_VECTOR_LEN;return takeObject(wasm.ed25519DerivePubkeyFromSpub(e,t,_,n))}function ed25519GetExportID(e){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),_=WASM_VECTOR_LEN;return takeObject(wasm.ed25519GetExportID(e,_))}function ed25519ExportFullPrivateKey(e,_,t,n){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),r=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),a=WASM_VECTOR_LEN,t=passStringToWasm0(t,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,n=passStringToWasm0(n,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN;return takeObject(wasm.ed25519ExportFullPrivateKey(e,r,_,a,t,i,n,s))}function ed25519OfflineExportFullPrivateKey(e){var e=passArrayJsValueToWasm0(e,wasm.__wbindgen_export_0),_=WASM_VECTOR_LEN;return takeObject(wasm.ed25519OfflineExportFullPrivateKey(e,_))}function ed25519DerivePrivateKeyFromSpriv(e,_){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),t=WASM_VECTOR_LEN,_=passArray32ToWasm0(_,wasm.__wbindgen_export_0),n=WASM_VECTOR_LEN;return takeObject(wasm.ed25519DerivePrivateKeyFromSpriv(e,t,_,n))}function ed25519ImportPrivateKeyRecipient(e,_,t,n,r){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),a=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,n=passStringToWasm0(n,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,r=passArrayJsValueToWasm0(r,wasm.__wbindgen_export_0),o=WASM_VECTOR_LEN;return takeObject(wasm.ed25519ImportPrivateKeyRecipient(e,a,_,i,t,n,s,r,o))}function ed25519ImportPrivateKeyImporter(e,_,t,n,r,a,i){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),o=WASM_VECTOR_LEN,n=passStringToWasm0(n,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),b=WASM_VECTOR_LEN,r=passStringToWasm0(r,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),w=WASM_VECTOR_LEN,a=passArrayJsValueToWasm0(a,wasm.__wbindgen_export_0),g=WASM_VECTOR_LEN;return takeObject(wasm.ed25519ImportPrivateKeyImporter(e,s,_,o,t,n,b,r,w,a,g,i))}function bip340Keygen(e,_,t,n,r,a){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,r=passStringToWasm0(r,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),o=WASM_VECTOR_LEN,a=passArrayJsValueToWasm0(a,wasm.__wbindgen_export_0),b=WASM_VECTOR_LEN;return takeObject(wasm.bip340Keygen(e,i,_,s,t,n,r,o,a,b))}function bip340Sign(e,_,t,n,r,a){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,t=passStringToWasm0(t,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),o=WASM_VECTOR_LEN,n=passStringToWasm0(n,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),b=WASM_VECTOR_LEN,r=passArray32ToWasm0(r,wasm.__wbindgen_export_0),w=WASM_VECTOR_LEN,a=passStringToWasm0(a,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),g=WASM_VECTOR_LEN;return takeObject(wasm.bip340Sign(e,i,_,s,t,o,n,b,r,w,a,g))}function bip340Refresh(e,_,t){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),n=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),r=WASM_VECTOR_LEN,t=passStringToWasm0(t,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),a=WASM_VECTOR_LEN;return takeObject(wasm.bip340Refresh(e,n,_,r,t,a))}function bip340ReshareNewParty(e,_,t,n,r,a){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,r=passStringToWasm0(r,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),o=WASM_VECTOR_LEN,a=passArrayJsValueToWasm0(a,wasm.__wbindgen_export_0),b=WASM_VECTOR_LEN;return takeObject(wasm.bip340ReshareNewParty(e,i,_,s,t,n,r,o,a,b))}function bip340ReshareRemainingParty(e,_,t,n,r){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),a=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,n=passStringToWasm0(n,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,r=passArrayJsValueToWasm0(r,wasm.__wbindgen_export_0),o=WASM_VECTOR_LEN;return takeObject(wasm.bip340ReshareRemainingParty(e,a,_,i,t,n,s,r,o))}function bip340DeriveTweakPubkey(e,_,t){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),n=WASM_VECTOR_LEN,_=passArray32ToWasm0(_,wasm.__wbindgen_export_0),r=WASM_VECTOR_LEN,t=passStringToWasm0(t,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),a=WASM_VECTOR_LEN;return takeObject(wasm.bip340DeriveTweakPubkey(e,n,_,r,t,a))}function bip340GetXpub(e){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),_=WASM_VECTOR_LEN;return takeObject(wasm.bip340GetXpub(e,_))}function bip340DeriveTweakPubkeyFromXpub(e,_,t){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),n=WASM_VECTOR_LEN,_=passArray32ToWasm0(_,wasm.__wbindgen_export_0),r=WASM_VECTOR_LEN,t=passStringToWasm0(t,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),a=WASM_VECTOR_LEN;return takeObject(wasm.bip340DeriveTweakPubkeyFromXpub(e,n,_,r,t,a))}function bip340GetExportID(e){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),_=WASM_VECTOR_LEN;return takeObject(wasm.bip340GetExportID(e,_))}function bip340ExportFullPrivateKey(e,_,t,n){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),r=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),a=WASM_VECTOR_LEN,t=passStringToWasm0(t,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,n=passStringToWasm0(n,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN;return takeObject(wasm.bip340ExportFullPrivateKey(e,r,_,a,t,i,n,s))}function bip340OfflineExportFullPrivateKey(e){var e=passArrayJsValueToWasm0(e,wasm.__wbindgen_export_0),_=WASM_VECTOR_LEN;return takeObject(wasm.bip340OfflineExportFullPrivateKey(e,_))}function bip340DerivePrivateKeyFromXpriv(e,_){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),t=WASM_VECTOR_LEN,_=passArray32ToWasm0(_,wasm.__wbindgen_export_0),n=WASM_VECTOR_LEN;return takeObject(wasm.bip340DerivePrivateKeyFromXpriv(e,t,_,n))}function bip340ImportPrivateKeyRecipient(e,_,t,n,r){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),a=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,n=passStringToWasm0(n,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,r=passArrayJsValueToWasm0(r,wasm.__wbindgen_export_0),o=WASM_VECTOR_LEN;return takeObject(wasm.bip340ImportPrivateKeyRecipient(e,a,_,i,t,n,s,r,o))}function bip340ImportPrivateKeyImporter(e,_,t,n,r,a){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),i=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),s=WASM_VECTOR_LEN,n=passStringToWasm0(n,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),o=WASM_VECTOR_LEN,r=passStringToWasm0(r,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),b=WASM_VECTOR_LEN,a=passArrayJsValueToWasm0(a,wasm.__wbindgen_export_0),w=WASM_VECTOR_LEN;return takeObject(wasm.bip340ImportPrivateKeyImporter(e,i,_,s,t,n,o,r,b,a,w))}function start(){wasm.start()}function getArrayU8FromWasm0(e,_){return e>>>=0,getUint8ArrayMemory0().subarray(+e,+e+_)}let KeygenInitFinalization="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>wasm.__wbg_keygeninit_free(e>>>0,1));class KeygenInit{static __wrap(e){e>>>=0;var _=Object.create(KeygenInit.prototype);return _.__wbg_ptr=e,KeygenInitFinalization.register(_,_.__wbg_ptr,_),_}__destroy_into_raw(){var e=this.__wbg_ptr;return this.__wbg_ptr=0,KeygenInitFinalization.unregister(this),e}free(){var e=this.__destroy_into_raw();wasm.__wbg_keygeninit_free(e,0)}get keypair(){let e,_;try{var t=wasm.__wbindgen_add_to_stack_pointer(-16),n=(wasm.__wbg_get_keygeninit_keypair(t,this.__wbg_ptr),getDataViewMemory0().getInt32(t+0,!0)),r=getDataViewMemory0().getInt32(t+4,!0);return getStringFromWasm0(e=n,_=r)}finally{wasm.__wbindgen_add_to_stack_pointer(16),wasm.__wbindgen_export_8(e,_,1)}}get pubkey(){let e,_;try{var t=wasm.__wbindgen_add_to_stack_pointer(-16),n=(wasm.__wbg_get_keygeninit_pubkey(t,this.__wbg_ptr),getDataViewMemory0().getInt32(t+0,!0)),r=getDataViewMemory0().getInt32(t+4,!0);return getStringFromWasm0(e=n,_=r)}finally{wasm.__wbindgen_add_to_stack_pointer(16),wasm.__wbindgen_export_8(e,_,1)}}constructor(e,_){var e=passStringToWasm0(e,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),t=WASM_VECTOR_LEN,_=passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),n=WASM_VECTOR_LEN,e=wasm.keygeninit_new(e,t,_,n);return this.__wbg_ptr=e>>>0,KeygenInitFinalization.register(this,this.__wbg_ptr,this),this}}let KeygenResultFinalization="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>wasm.__wbg_keygenresult_free(e>>>0,1));class KeygenResult{static __wrap(e){e>>>=0;var _=Object.create(KeygenResult.prototype);return _.__wbg_ptr=e,KeygenResultFinalization.register(_,_.__wbg_ptr,_),_}__destroy_into_raw(){var e=this.__wbg_ptr;return this.__wbg_ptr=0,KeygenResultFinalization.unregister(this),e}free(){var e=this.__destroy_into_raw();wasm.__wbg_keygenresult_free(e,0)}get secret_share(){let e,_;try{var t=wasm.__wbindgen_add_to_stack_pointer(-16),n=(wasm.__wbg_get_keygeninit_keypair(t,this.__wbg_ptr),getDataViewMemory0().getInt32(t+0,!0)),r=getDataViewMemory0().getInt32(t+4,!0);return getStringFromWasm0(e=n,_=r)}finally{wasm.__wbindgen_add_to_stack_pointer(16),wasm.__wbindgen_export_8(e,_,1)}}get pubkey(){let e,_;try{var t=wasm.__wbindgen_add_to_stack_pointer(-16),n=(wasm.__wbg_get_keygeninit_pubkey(t,this.__wbg_ptr),getDataViewMemory0().getInt32(t+0,!0)),r=getDataViewMemory0().getInt32(t+4,!0);return getStringFromWasm0(e=n,_=r)}finally{wasm.__wbindgen_add_to_stack_pointer(16),wasm.__wbindgen_export_8(e,_,1)}}}async function __wbg_load(_,e){if("function"==typeof Response&&_ instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(_,e)}catch(e){if("application/wasm"==_.headers.get("Content-Type"))throw e;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e)}var t=await _.arrayBuffer();return WebAssembly.instantiate(t,e)}return(t=await WebAssembly.instantiate(_,e))instanceof WebAssembly.Instance?{instance:t,module:_}:t}function __wbg_get_imports(){var e={wbg:{}};return e.wbg.__wbindgen_object_drop_ref=function(e){takeObject(e)},e.wbg.__wbg_crypto_1d1f22824a6a080c=function(e){return addHeapObject(getObject(e).crypto)},e.wbg.__wbindgen_is_object=function(e){e=getObject(e);return"object"==typeof e&&null!==e},e.wbg.__wbg_process_4a72847cc503995b=function(e){return addHeapObject(getObject(e).process)},e.wbg.__wbg_versions_f686565e586dd935=function(e){return addHeapObject(getObject(e).versions)},e.wbg.__wbg_node_104a2ff8d6ea03a2=function(e){return addHeapObject(getObject(e).node)},e.wbg.__wbindgen_is_string=function(e){return"string"==typeof getObject(e)},e.wbg.__wbg_require_cca90b1a94a0255b=function(){return handleError(function(){return addHeapObject(module.require)},arguments)},e.wbg.__wbindgen_is_function=function(e){return"function"==typeof getObject(e)},e.wbg.__wbindgen_string_new=function(e,_){return addHeapObject(getStringFromWasm0(e,_))},e.wbg.__wbg_msCrypto_eb05e62b530a1508=function(e){return addHeapObject(getObject(e).msCrypto)},e.wbg.__wbg_newwithlength_ec548f448387c968=function(e){return addHeapObject(new Uint8Array(e>>>0))},e.wbg.__wbg_setTimeout_75cb9b6991a4031d=function(){return handleError(function(e,_){return addHeapObject(setTimeout(getObject(e),_))},arguments)},e.wbg.__wbg_next_f9cb570345655b9a=function(){return handleError(function(e){return addHeapObject(getObject(e).next())},arguments)},e.wbg.__wbg_done_bfda7aa8f252b39f=function(e){return getObject(e).done},e.wbg.__wbg_value_6d39332ab4788d86=function(e){return addHeapObject(getObject(e).value)},e.wbg.__wbg_iterator_888179a48810a9fe=function(){return addHeapObject(Symbol.iterator)},e.wbg.__wbg_get_224d16597dbbfd96=function(){return handleError(function(e,_){return addHeapObject(Reflect.get(getObject(e),getObject(_)))},arguments)},e.wbg.__wbg_next_de3e9db4440638b2=function(e){return addHeapObject(getObject(e).next)},e.wbg.__wbg_call_1084a111329e68ce=function(){return handleError(function(e,_){return addHeapObject(getObject(e).call(getObject(_)))},arguments)},e.wbg.__wbindgen_object_clone_ref=function(e){return addHeapObject(getObject(e))},e.wbg.__wbg_call_89af060b4e1523f2=function(){return handleError(function(e,_,t){return addHeapObject(getObject(e).call(getObject(_),getObject(t)))},arguments)},e.wbg.__wbindgen_memory=function(){return addHeapObject(wasm.memory)},e.wbg.__wbg_buffer_b7b08af79b0b0974=function(e){return addHeapObject(getObject(e).buffer)},e.wbg.__wbg_new_ea1883e1e5e86686=function(e){return addHeapObject(new Uint8Array(getObject(e)))},e.wbg.__wbg_set_d1e79e2388520f18=function(e,_,t){getObject(e).set(getObject(_),t>>>0)},e.wbg.__wbg_self_3093d5d1f7bcb682=function(){return handleError(function(){return addHeapObject(self.self)},arguments)},e.wbg.__wbg_window_3bcfc4d31bc012f8=function(){return handleError(function(){return addHeapObject(window.window)},arguments)},e.wbg.__wbg_globalThis_86b222e13bdf32ed=function(){return handleError(function(){return addHeapObject(globalThis.globalThis)},arguments)},e.wbg.__wbg_global_e5a3fe56f8be9485=function(){return handleError(function(){return addHeapObject(global.global)},arguments)},e.wbg.__wbindgen_is_undefined=function(e){return void 0===getObject(e)},e.wbg.__wbg_newnoargs_76313bd6ff35d0f2=function(e,_){return addHeapObject(new Function(getStringFromWasm0(e,_)))},e.wbg.__wbindgen_string_get=function(e,_){var _=getObject(_),_="string"==typeof _?_:void 0,_=isLikeNone(_)?0:passStringToWasm0(_,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),t=WASM_VECTOR_LEN;getDataViewMemory0().setInt32(e+4,t,!0),getDataViewMemory0().setInt32(e+0,_,!0)},e.wbg.__wbg_stringify_bbf45426c92a6bf5=function(){return handleError(function(e){return addHeapObject(JSON.stringify(getObject(e)))},arguments)},e.wbg.__wbg_newwithbyteoffsetandlength_8a2cb9ca96b27ec9=function(e,_,t){return addHeapObject(new Uint8Array(getObject(e),_>>>0,t>>>0))},e.wbg.__wbg_randomFillSync_5c9c955aa56b6049=function(){return handleError(function(e,_){getObject(e).randomFillSync(takeObject(_))},arguments)},e.wbg.__wbg_subarray_7c2e3576afe181d1=function(e,_,t){return addHeapObject(getObject(e).subarray(_>>>0,t>>>0))},e.wbg.__wbg_getRandomValues_3aa56aa6edec874c=function(){return handleError(function(e,_){getObject(e).getRandomValues(getObject(_))},arguments)},e.wbg.__wbg_has_4bfbc01db38743f7=function(){return handleError(function(e,_){return Reflect.has(getObject(e),getObject(_))},arguments)},e.wbg.__wbg_fetch_25e3a297f7b04639=function(e){return addHeapObject(fetch(getObject(e)))},e.wbg.__wbg_fetch_ba7fe179e527d942=function(e,_){return addHeapObject(getObject(e).fetch(getObject(_)))},e.wbg.__wbg_new_ebf2727385ee825c=function(){return handleError(function(){return addHeapObject(new AbortController)},arguments)},e.wbg.__wbg_abort_8659d889a7877ae3=function(e){getObject(e).abort()},e.wbg.__wbg_new_525245e2b9901204=function(){return addHeapObject(new Object)},e.wbg.__wbg_setmethod_dc68a742c2db5c6a=function(e,_,t){getObject(e).method=getStringFromWasm0(_,t)},e.wbg.__wbg_setheaders_be10a5ab566fd06f=function(e,_){getObject(e).headers=getObject(_)},e.wbg.__wbg_setmode_a781aae2bd3df202=function(e,_){getObject(e).mode=["same-origin","no-cors","cors","navigate"][_]},e.wbg.__wbg_setcredentials_2b67800db3f7b621=function(e,_){getObject(e).credentials=["omit","same-origin","include"][_]},e.wbg.__wbg_setbody_734cb3d7ee8e6e96=function(e,_){getObject(e).body=getObject(_)},e.wbg.__wbg_signal_41e46ccad44bb5e2=function(e){return addHeapObject(getObject(e).signal)},e.wbg.__wbg_setsignal_91c4e8ebd04eb935=function(e,_){getObject(e).signal=getObject(_)},e.wbg.__wbg_instanceof_Response_e91b7eb7c611a9ae=function(e){let _;try{_=getObject(e)instanceof Response}catch(e){_=!1}return _},e.wbg.__wbg_status_ae8de515694c5c7c=function(e){return getObject(e).status},e.wbg.__wbg_url_1bf85c8abeb8c92d=function(e,_){var _=passStringToWasm0(getObject(_).url,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),t=WASM_VECTOR_LEN;getDataViewMemory0().setInt32(e+4,t,!0),getDataViewMemory0().setInt32(e+0,_,!0)},e.wbg.__wbg_headers_5e283e8345689121=function(e){return addHeapObject(getObject(e).headers)},e.wbg.__wbindgen_error_new=function(e,_){return addHeapObject(new Error(getStringFromWasm0(e,_)))},e.wbg.__wbg_keygeninit_new=function(e){return addHeapObject(KeygenInit.__wrap(e))},e.wbg.__wbg_message_fde1ade05259137c=function(e,_){var _=passStringToWasm0(getObject(_).message,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),t=WASM_VECTOR_LEN;getDataViewMemory0().setInt32(e+4,t,!0),getDataViewMemory0().setInt32(e+0,_,!0)},e.wbg.__wbg_clearTimeout_76877dbc010e786d=function(e){return addHeapObject(clearTimeout(takeObject(e)))},e.wbg.__wbindgen_cb_drop=function(e){e=takeObject(e).original;return 1==e.cnt--&&!(e.a=0)},e.wbg.__wbg_readyState_7237e2b1adac03a6=function(e){return getObject(e).readyState},e.wbg.__wbg_send_82b52e2f9f8946d9=function(){return handleError(function(e,_,t){getObject(e).send(getStringFromWasm0(_,t))},arguments)},e.wbg.__wbg_send_1b333b26681a902d=function(){return handleError(function(e,_,t){getObject(e).send(getArrayU8FromWasm0(_,t))},arguments)},e.wbg.__wbg_close_0a0cd79519b11318=function(){return handleError(function(e,_,t,n){getObject(e).close(_,getStringFromWasm0(t,n))},arguments)},e.wbg.__wbg_new_0bf4a5b0632517ed=function(){return handleError(function(e,_){return addHeapObject(new WebSocket(getStringFromWasm0(e,_)))},arguments)},e.wbg.__wbg_setonmessage_b670c12ea34acd8b=function(e,_){getObject(e).onmessage=getObject(_)},e.wbg.__wbg_setonclose_40f935717ad6ffcd=function(e,_){getObject(e).onclose=getObject(_)},e.wbg.__wbg_setbinaryType_d164a0be4c212c9c=function(e,_){getObject(e).binaryType=["blob","arraybuffer"][_]},e.wbg.__wbg_setonopen_7e770c87269cae90=function(e,_){getObject(e).onopen=getObject(_)},e.wbg.__wbg_setonerror_5ec4625df3060159=function(e,_){getObject(e).onerror=getObject(_)},e.wbg.__wbg_wasClean_e83dfad67198c1c4=function(e){return getObject(e).wasClean},e.wbg.__wbg_code_eae09136895f8ffa=function(e){return getObject(e).code},e.wbg.__wbg_reason_8a32e6ed703d6382=function(e,_){var _=passStringToWasm0(getObject(_).reason,wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),t=WASM_VECTOR_LEN;getDataViewMemory0().setInt32(e+4,t,!0),getDataViewMemory0().setInt32(e+0,_,!0)},e.wbg.__wbg_data_5c47a6985fefc490=function(e){return addHeapObject(getObject(e).data)},e.wbg.__wbg_instanceof_ArrayBuffer_61dfc3198373c902=function(e){let _;try{_=getObject(e)instanceof ArrayBuffer}catch(e){_=!1}return _},e.wbg.__wbg_length_8339fcf5d8ecd12e=function(e){return getObject(e).length},e.wbg.__wbg_new_b85e72ed1bfd57f9=function(e,_){try{var n={a:e,b:_};return addHeapObject(new Promise((e,_)=>{var t=n.a;n.a=0;try{return __wbg_adapter_83(t,n.b,e,_)}finally{n.a=t}}))}finally{n.a=n.b=0}},e.wbg.__wbg_keygenresult_new=function(e){return addHeapObject(KeygenResult.__wrap(e))},e.wbg.__wbindgen_throw=function(e,_){throw new Error(getStringFromWasm0(e,_))},e.wbg.__wbindgen_debug_string=function(e,_){var _=passStringToWasm0(debugString(getObject(_)),wasm.__wbindgen_export_0,wasm.__wbindgen_export_1),t=WASM_VECTOR_LEN;getDataViewMemory0().setInt32(e+4,t,!0),getDataViewMemory0().setInt32(e+0,_,!0)},e.wbg.__wbg_queueMicrotask_48421b3cc9052b68=function(e){return addHeapObject(getObject(e).queueMicrotask)},e.wbg.__wbg_resolve_570458cb99d56a43=function(e){return addHeapObject(Promise.resolve(getObject(e)))},e.wbg.__wbg_then_876bb3c633745cc6=function(e,_,t){return addHeapObject(getObject(e).then(getObject(_),getObject(t)))},e.wbg.__wbg_then_95e6edc0f89b73b1=function(e,_){return addHeapObject(getObject(e).then(getObject(_)))},e.wbg.__wbg_queueMicrotask_12a30234db4045d3=function(e){queueMicrotask(getObject(e))},e.wbg.__wbg_newwithstrandinit_a31c69e4cc337183=function(){return handleError(function(e,_,t){return addHeapObject(new Request(getStringFromWasm0(e,_),getObject(t)))},arguments)},e.wbg.__wbg_close_99bb12a22f16f79c=function(){return handleError(function(e){getObject(e).close()},arguments)},e.wbg.__wbg_new_e27c93803e1acc42=function(){return handleError(function(){return addHeapObject(new Headers)},arguments)},e.wbg.__wbg_append_f3a4426bb50622c5=function(){return handleError(function(e,_,t,n,r){getObject(e).append(getStringFromWasm0(_,t),getStringFromWasm0(n,r))},arguments)},e.wbg.__wbg_text_a94b91ea8700357a=function(){return handleError(function(e){return addHeapObject(getObject(e).text())},arguments)},e.wbg.__wbindgen_closure_wrapper1070=function(e,_,t){return addHeapObject(makeMutClosure(e,_,45,__wbg_adapter_28))},e.wbg.__wbindgen_closure_wrapper2610=function(e,_,t){return addHeapObject(makeClosure(e,_,45,__wbg_adapter_31))},e.wbg.__wbindgen_closure_wrapper2611=function(e,_,t){return addHeapObject(makeClosure(e,_,45,__wbg_adapter_31))},e.wbg.__wbindgen_closure_wrapper2612=function(e,_,t){return addHeapObject(makeClosure(e,_,45,__wbg_adapter_31))},e.wbg.__wbindgen_closure_wrapper2613=function(e,_,t){return addHeapObject(makeMutClosure(e,_,45,__wbg_adapter_38))},e.wbg.__wbindgen_closure_wrapper2614=function(e,_,t){return addHeapObject(makeMutClosure(e,_,45,__wbg_adapter_38))},e.wbg.__wbindgen_closure_wrapper3411=function(e,_,t){return addHeapObject(makeMutClosure(e,_,45,__wbg_adapter_38))},e}function __wbg_init_memory(e,_){}function __wbg_finalize_init(e,_){return wasm=e.exports,__wbg_init.__wbindgen_wasm_module=_,cachedDataViewMemory0=null,cachedUint32ArrayMemory0=null,cachedUint8ArrayMemory0=null,wasm.__wbindgen_start(),wasm}function initSync(e){if(void 0!==wasm)return wasm;void 0!==e&&Object.getPrototypeOf(e)===Object.prototype?e=e.module:console.warn("using deprecated parameters for `initSync()`; pass a single object instead");var _=__wbg_get_imports(),_=(__wbg_init_memory(_),e instanceof WebAssembly.Module||(e=new WebAssembly.Module(e)),new WebAssembly.Instance(e,_));return __wbg_finalize_init(_,e)}async function __wbg_init(e){if(void 0!==wasm)return wasm;void 0!==e&&Object.getPrototypeOf(e)===Object.prototype?e=e.module_or_path:console.warn("using deprecated parameters for the initialization function; pass a single object instead"),void 0===e&&(e=new URL("libmpc_executor_bg.wasm",import.meta.url));var _=__wbg_get_imports(),{instance:e,module:_}=(("string"==typeof e||"function"==typeof Request&&e instanceof Request||"function"==typeof URL&&e instanceof URL)&&(e=fetch(e)),__wbg_init_memory(_),await __wbg_load(await e,_));return __wbg_finalize_init(e,_)}export default __wbg_init;export{initKeygen,createRoom,ecdsaKeygen,ecdsaSign,ecdsaRefresh,ecdsaReshareNewParty,ecdsaReshareRemainingParty,ecdsaDerivePubkey,ecdsaGetXpub,ecdsaDerivePubkeyFromXpub,ecdsaGetExportID,ecdsaExportFullPrivateKey,ecdsaOfflineExportFullPrivateKey,ecdsaDerivePrivateKeyFromXpriv,ecdsaImportPrivateKeyRecipient,ecdsaImportPrivateKeyImporter,ed25519Keygen,ed25519Sign,ed25519Refresh,ed25519ReshareNewParty,ed25519ReshareRemainingParty,ed25519DerivePubkey,ed25519GetSpub,ed25519DerivePubkeyFromSpub,ed25519GetExportID,ed25519ExportFullPrivateKey,ed25519OfflineExportFullPrivateKey,ed25519DerivePrivateKeyFromSpriv,ed25519ImportPrivateKeyRecipient,ed25519ImportPrivateKeyImporter,bip340Keygen,bip340Sign,bip340Refresh,bip340ReshareNewParty,bip340ReshareRemainingParty,bip340DeriveTweakPubkey,bip340GetXpub,bip340DeriveTweakPubkeyFromXpub,bip340GetExportID,bip340ExportFullPrivateKey,bip340OfflineExportFullPrivateKey,bip340DerivePrivateKeyFromXpriv,bip340ImportPrivateKeyRecipient,bip340ImportPrivateKeyImporter,start,KeygenInit,KeygenResult,initSync};
@@ -0,0 +1,64 @@
1
+ export const memory: WebAssembly.Memory;
2
+ export function __wbg_keygeninit_free(a: number, b: number): void;
3
+ export function __wbg_get_keygeninit_keypair(a: number, b: number): void;
4
+ export function __wbg_get_keygeninit_pubkey(a: number, b: number): void;
5
+ export function keygeninit_new(a: number, b: number, c: number, d: number): number;
6
+ export function initKeygen(): number;
7
+ export function createRoom(a: number, b: number, c: number, d: number, e: number): number;
8
+ export function ecdsaKeygen(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number): number;
9
+ export function ecdsaSign(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number): number;
10
+ export function ecdsaRefresh(a: number, b: number, c: number, d: number, e: number, f: number): number;
11
+ export function ecdsaReshareNewParty(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number): number;
12
+ export function ecdsaReshareRemainingParty(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number): number;
13
+ export function ecdsaDerivePubkey(a: number, b: number, c: number, d: number): number;
14
+ export function ecdsaGetXpub(a: number, b: number): number;
15
+ export function ecdsaDerivePubkeyFromXpub(a: number, b: number, c: number, d: number): number;
16
+ export function ecdsaGetExportID(a: number, b: number): number;
17
+ export function ecdsaExportFullPrivateKey(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number): number;
18
+ export function ecdsaOfflineExportFullPrivateKey(a: number, b: number): number;
19
+ export function ecdsaDerivePrivateKeyFromXpriv(a: number, b: number, c: number, d: number): number;
20
+ export function ecdsaImportPrivateKeyRecipient(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number): number;
21
+ export function ecdsaImportPrivateKeyImporter(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number): number;
22
+ export function ed25519Keygen(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number): number;
23
+ export function ed25519Sign(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number): number;
24
+ export function ed25519Refresh(a: number, b: number, c: number, d: number, e: number, f: number): number;
25
+ export function ed25519ReshareNewParty(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number): number;
26
+ export function ed25519ReshareRemainingParty(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number): number;
27
+ export function ed25519DerivePubkey(a: number, b: number, c: number, d: number): number;
28
+ export function ed25519GetSpub(a: number, b: number): number;
29
+ export function ed25519DerivePubkeyFromSpub(a: number, b: number, c: number, d: number): number;
30
+ export function ed25519GetExportID(a: number, b: number): number;
31
+ export function ed25519ExportFullPrivateKey(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number): number;
32
+ export function ed25519OfflineExportFullPrivateKey(a: number, b: number): number;
33
+ export function ed25519DerivePrivateKeyFromSpriv(a: number, b: number, c: number, d: number): number;
34
+ export function ed25519ImportPrivateKeyRecipient(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number): number;
35
+ export function ed25519ImportPrivateKeyImporter(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number): number;
36
+ export function bip340Keygen(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number): number;
37
+ export function bip340Sign(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number): number;
38
+ export function bip340Refresh(a: number, b: number, c: number, d: number, e: number, f: number): number;
39
+ export function bip340ReshareNewParty(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number): number;
40
+ export function bip340ReshareRemainingParty(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number): number;
41
+ export function bip340DeriveTweakPubkey(a: number, b: number, c: number, d: number, e: number, f: number): number;
42
+ export function bip340GetXpub(a: number, b: number): number;
43
+ export function bip340DeriveTweakPubkeyFromXpub(a: number, b: number, c: number, d: number, e: number, f: number): number;
44
+ export function bip340GetExportID(a: number, b: number): number;
45
+ export function bip340ExportFullPrivateKey(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number): number;
46
+ export function bip340OfflineExportFullPrivateKey(a: number, b: number): number;
47
+ export function bip340DerivePrivateKeyFromXpriv(a: number, b: number, c: number, d: number): number;
48
+ export function bip340ImportPrivateKeyRecipient(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number): number;
49
+ export function bip340ImportPrivateKeyImporter(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number): number;
50
+ export function start(): void;
51
+ export function __wbg_keygenresult_free(a: number, b: number): void;
52
+ export function __wbg_get_keygenresult_secret_share(a: number, b: number): void;
53
+ export function __wbg_get_keygenresult_pubkey(a: number, b: number): void;
54
+ export function __wbindgen_export_0(a: number, b: number): number;
55
+ export function __wbindgen_export_1(a: number, b: number, c: number, d: number): number;
56
+ export const __wbindgen_export_2: WebAssembly.Table;
57
+ export function __wbindgen_export_3(a: number, b: number): void;
58
+ export function __wbindgen_export_4(a: number, b: number, c: number): void;
59
+ export function __wbindgen_export_5(a: number, b: number, c: number): void;
60
+ export function __wbindgen_export_6(a: number): void;
61
+ export function __wbindgen_export_7(a: number, b: number, c: number, d: number): void;
62
+ export function __wbindgen_add_to_stack_pointer(a: number): number;
63
+ export function __wbindgen_export_8(a: number, b: number, c: number): void;
64
+ export function __wbindgen_start(): void;
@@ -0,0 +1,11 @@
1
+ import { EcdsaInitKeygenResult, Ecdsa as EcdsaInternal, EcdsaKeygenResult, EcdsaPublicKey, EcdsaSignature, Ed25519InitKeygenResult, Ed25519 as Ed25519Internal, Ed25519KeygenResult, BIP340InitKeygenResult, BIP340 as BIP340Internal, BIP340KeygenResult, MessageHash } from '../core';
2
+ export { EcdsaKeygenResult, EcdsaPublicKey, EcdsaSignature, Ed25519KeygenResult, MessageHash, EcdsaInitKeygenResult, Ed25519InitKeygenResult, BIP340InitKeygenResult, BIP340KeygenResult, };
3
+ export declare class Ecdsa extends EcdsaInternal {
4
+ constructor(hostUrl?: string);
5
+ }
6
+ export declare class Ed25519 extends Ed25519Internal {
7
+ constructor(hostUrl?: string);
8
+ }
9
+ export declare class BIP340 extends BIP340Internal {
10
+ constructor(hostUrl?: string);
11
+ }
@@ -0,0 +1 @@
1
+ var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,i){void 0===i&&(i=t);var n=Object.getOwnPropertyDescriptor(r,t);n&&("get"in n?r.__esModule:!n.writable&&!n.configurable)||(n={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,i,n)}:function(e,r,t,i){e[i=void 0===i?t:i]=r[t]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&__createBinding(r,e,t);return __setModuleDefault(r,e),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BIP340=exports.Ed25519=exports.Ecdsa=exports.BIP340KeygenResult=exports.BIP340InitKeygenResult=exports.Ed25519InitKeygenResult=exports.EcdsaInitKeygenResult=exports.MessageHash=exports.Ed25519KeygenResult=exports.EcdsaSignature=exports.EcdsaPublicKey=exports.EcdsaKeygenResult=void 0;let lib_mpc_internal_1=require("../core"),libmpc_executor_1=(Object.defineProperty(exports,"EcdsaInitKeygenResult",{enumerable:!0,get:function(){return lib_mpc_internal_1.EcdsaInitKeygenResult}}),Object.defineProperty(exports,"EcdsaKeygenResult",{enumerable:!0,get:function(){return lib_mpc_internal_1.EcdsaKeygenResult}}),Object.defineProperty(exports,"EcdsaPublicKey",{enumerable:!0,get:function(){return lib_mpc_internal_1.EcdsaPublicKey}}),Object.defineProperty(exports,"EcdsaSignature",{enumerable:!0,get:function(){return lib_mpc_internal_1.EcdsaSignature}}),Object.defineProperty(exports,"Ed25519InitKeygenResult",{enumerable:!0,get:function(){return lib_mpc_internal_1.Ed25519InitKeygenResult}}),Object.defineProperty(exports,"Ed25519KeygenResult",{enumerable:!0,get:function(){return lib_mpc_internal_1.Ed25519KeygenResult}}),Object.defineProperty(exports,"BIP340InitKeygenResult",{enumerable:!0,get:function(){return lib_mpc_internal_1.BIP340InitKeygenResult}}),Object.defineProperty(exports,"BIP340KeygenResult",{enumerable:!0,get:function(){return lib_mpc_internal_1.BIP340KeygenResult}}),Object.defineProperty(exports,"MessageHash",{enumerable:!0,get:function(){return lib_mpc_internal_1.MessageHash}}),__importStar(require("./generated/libmpc_executor"))),sdkAPI=libmpc_executor_1,DEFAULT_RELAY_URL="relay.dynamicauth.com",sdkPromise=(0,libmpc_executor_1.default)().then(()=>({initKeygen:sdkAPI.initKeygen,createRoom:sdkAPI.createRoom,ecdsaGetExportID:sdkAPI.ecdsaGetExportID,ecdsaKeygen:sdkAPI.ecdsaKeygen,ecdsaSign:(e,r,t,i,n)=>sdkAPI.ecdsaSign(e,r,t,i,new Uint32Array(n)),ecdsaRefresh:sdkAPI.ecdsaRefresh,ecdsaReshareNewParty:sdkAPI.ecdsaReshareNewParty,ecdsaReshareRemainingParty:sdkAPI.ecdsaReshareRemainingParty,ecdsaDerivePubkey:(e,r)=>sdkAPI.ecdsaDerivePubkey(e,new Uint32Array(r)),ecdsaGetXpub:sdkAPI.ecdsaGetXpub,ecdsaDerivePubkeyFromXpub:async(e,r)=>sdkAPI.ecdsaDerivePubkeyFromXpub(e,new Uint32Array(r)),ecdsaExportFullPrivateKey:sdkAPI.ecdsaExportFullPrivateKey,ecdsaOfflineExportFullPrivateKey:sdkAPI.ecdsaOfflineExportFullPrivateKey,ecdsaDerivePrivateKeyFromXpriv:async(e,r)=>sdkAPI.ecdsaDerivePrivateKeyFromXpriv(e,new Uint32Array(r)),ecdsaImportPrivateKeyRecipient:sdkAPI.ecdsaImportPrivateKeyRecipient,ecdsaImportPrivateKeyImporter:sdkAPI.ecdsaImportPrivateKeyImporter,ed25519GetExportID:sdkAPI.ed25519GetExportID,ed25519Keygen:sdkAPI.ed25519Keygen,ed25519Sign:(e,r,t,i,n)=>sdkAPI.ed25519Sign(e,r,t,i,new Uint32Array(n)),ed25519Refresh:sdkAPI.ed25519Refresh,ed25519ReshareNewParty:sdkAPI.ed25519ReshareNewParty,ed25519ReshareRemainingParty:sdkAPI.ed25519ReshareRemainingParty,ed25519DerivePubkey:(e,r)=>sdkAPI.ed25519DerivePubkey(e,new Uint32Array(r)),ed25519GetSpub:sdkAPI.ed25519GetSpub,ed25519DerivePubkeyFromSpub:async(e,r)=>sdkAPI.ed25519DerivePubkeyFromSpub(e,new Uint32Array(r)),ed25519ExportFullPrivateKey:sdkAPI.ed25519ExportFullPrivateKey,ed25519OfflineExportFullPrivateKey:sdkAPI.ed25519OfflineExportFullPrivateKey,ed25519DerivePrivateKeyFromSpriv:async(e,r)=>sdkAPI.ed25519DerivePrivateKeyFromSpriv(e,new Uint32Array(r)),ed25519ImportPrivateKeyRecipient:sdkAPI.ed25519ImportPrivateKeyRecipient,ed25519ImportPrivateKeyImporter:sdkAPI.ed25519ImportPrivateKeyImporter,bip340GetExportID:sdkAPI.bip340GetExportID,bip340Keygen:sdkAPI.bip340Keygen,bip340Sign:async(e,r,t,i,n,s)=>sdkAPI.bip340Sign(e,r,t,i,new Uint32Array(n),s),bip340Refresh:sdkAPI.bip340Refresh,bip340ReshareNewParty:sdkAPI.bip340ReshareNewParty,bip340ReshareRemainingParty:sdkAPI.bip340ReshareRemainingParty,bip340DeriveTweakPubkey:async(e,r,t)=>sdkAPI.bip340DeriveTweakPubkey(e,new Uint32Array(r),t),bip340GetXpub:sdkAPI.bip340GetXpub,bip340DeriveTweakPubkeyFromXpub:async(e,r,t)=>sdkAPI.bip340DeriveTweakPubkeyFromXpub(e,new Uint32Array(r),t),bip340ExportFullPrivateKey:sdkAPI.bip340ExportFullPrivateKey,bip340DerivePrivateKeyFromXpriv:async(e,r)=>sdkAPI.bip340DerivePrivateKeyFromXpriv(e,new Uint32Array(r)),bip340OfflineExportFullPrivateKey:sdkAPI.bip340OfflineExportFullPrivateKey,bip340ImportPrivateKeyRecipient:sdkAPI.bip340ImportPrivateKeyRecipient,bip340ImportPrivateKeyImporter:sdkAPI.bip340ImportPrivateKeyImporter}));class Ecdsa extends lib_mpc_internal_1.Ecdsa{constructor(e){super(sdkPromise,e||DEFAULT_RELAY_URL)}}exports.Ecdsa=Ecdsa;class Ed25519 extends lib_mpc_internal_1.Ed25519{constructor(e){super(sdkPromise,e||DEFAULT_RELAY_URL)}}exports.Ed25519=Ed25519;class BIP340 extends lib_mpc_internal_1.BIP340{constructor(e){super(sdkPromise,e||DEFAULT_RELAY_URL)}}exports.BIP340=BIP340;
package/package.json CHANGED
@@ -1,11 +1,13 @@
1
1
  {
2
2
  "name": "@dynamic-labs-wallet/browser-wallet-client",
3
- "version": "0.0.0-beta.146.1",
3
+ "version": "0.0.0-beta.154.0",
4
4
  "license": "MIT",
5
5
  "dependencies": {
6
- "@dynamic-labs-wallet/core": "0.0.0-beta.146.1",
6
+ "@internal/core": "file:../lib-mpc-core",
7
+ "@dynamic-labs-wallet/core": "0.0.0-beta.154.0",
7
8
  "@dynamic-labs/message-transport": "^4.9.9",
8
- "@dynamic-labs/logger": "^4.9.9"
9
+ "@dynamic-labs/logger": "^4.9.9",
10
+ "@noble/hashes": "1.7.1"
9
11
  },
10
12
  "nx": {
11
13
  "sourceRoot": "packages/browser-wallet-client/src",
@@ -1,6 +1,7 @@
1
1
  import { type MessageTransportWithDefaultOrigin } from '@dynamic-labs/message-transport';
2
2
  import { iframeMessageHandler } from '../services/iframeMessageHandler';
3
- import type { ThresholdSignatureScheme, WalletOperation, GetWalletResponse, CreateWalletAccountResponse, RequiresPasswordForOperationRequest, SignMessageRequest, IsPasswordEncryptedRequest, BackupKeySharesToGoogleDriveRequest, RefreshWalletAccountSharesRequest, ReshareRequest, VerifyPasswordRequest, UpdatePasswordRequest, ImportPrivateKeyRequest } from '@dynamic-labs-wallet/core';
3
+ import type { ThresholdSignatureScheme, WalletOperation, GetWalletResponse, CreateWalletAccountResponse, RequiresPasswordForOperationRequest, SignMessageRequest, IsPasswordEncryptedRequest, BackupKeySharesToGoogleDriveRequest, RefreshWalletAccountSharesRequest, ReshareRequest, VerifyPasswordRequest, UpdatePasswordRequest, ImportPrivateKeyRequest, ExportClientKeysharesRequest, OfflineExportPrivateKeyResponse } from '@dynamic-labs-wallet/core';
4
+ import { EcdsaKeygenResult, Ed25519KeygenResult } from '../../../internal/core';
4
5
  export declare class DynamicWalletClient {
5
6
  protected chainName: string;
6
7
  protected logger: import("@dynamic-labs/logger").Logger;
@@ -111,5 +112,10 @@ export declare class DynamicWalletClient {
111
112
  verifyPassword({ accountAddress, password, walletOperation, }: VerifyPasswordRequest): Promise<void>;
112
113
  updatePassword({ accountAddress, existingPassword, newPassword, }: UpdatePasswordRequest): Promise<void>;
113
114
  importPrivateKey({ privateKey, chainName, thresholdSignatureScheme, }: ImportPrivateKeyRequest): Promise<CreateWalletAccountResponse>;
115
+ exportClientKeyshares({ accountAddress, password, }: ExportClientKeysharesRequest): Promise<void>;
116
+ offlineExportPrivateKey({ keyShares, derivationPath, }: {
117
+ keyShares: (EcdsaKeygenResult | Ed25519KeygenResult)[];
118
+ derivationPath?: string;
119
+ }): Promise<OfflineExportPrivateKeyResponse>;
114
120
  }
115
121
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
package/src/index.d.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  export * from './client';
2
+ export { EcdsaKeygenResult, Ed25519KeygenResult, BIP340KeygenResult, EcdsaSignature, } from '../../internal/web';
3
+ export { ThresholdSignatureScheme, WalletOperation, MPC_RELAY_PROD_API_URL, MPC_RELAY_PREPROD_API_URL, } from '@dynamic-labs-wallet/core';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type MessageTransportWithDefaultOrigin, type RequestChannel } from '@dynamic-labs/message-transport';
2
- import type { ThresholdSignatureScheme, IframeRequestMessages, WalletOperation, GetWalletResponse, CreateWalletAccountResponse, SignMessageRequest, RequiresPasswordForOperationRequest, SignTransactionRequest, IsPasswordEncryptedRequest, BackupKeySharesToGoogleDriveRequest, RestoreBackupFromGoogleDriveRequest, RefreshWalletAccountSharesRequest, ReshareRequest, ExportPrivateKeyRequest, VerifyPasswordRequest, UpdatePasswordRequest, ImportPrivateKeyRequest } from '@dynamic-labs-wallet/core';
2
+ import type { ThresholdSignatureScheme, IframeRequestMessages, WalletOperation, GetWalletResponse, CreateWalletAccountResponse, SignMessageRequest, RequiresPasswordForOperationRequest, SignTransactionRequest, IsPasswordEncryptedRequest, BackupKeySharesToGoogleDriveRequest, RestoreBackupFromGoogleDriveRequest, RefreshWalletAccountSharesRequest, ReshareRequest, ExportPrivateKeyRequest, VerifyPasswordRequest, UpdatePasswordRequest, ImportPrivateKeyRequest, ExportClientKeysharesRequest, OfflineExportPrivateKeyRequest, OfflineExportPrivateKeyResponse } from '@dynamic-labs-wallet/core';
3
3
  export declare class iframeMessageHandler {
4
4
  requestChannel: RequestChannel<IframeRequestMessages>;
5
5
  constructor(messageTransport: MessageTransportWithDefaultOrigin);
@@ -21,7 +21,8 @@ export declare class iframeMessageHandler {
21
21
  verifyPassword(request: VerifyPasswordRequest): Promise<void>;
22
22
  updatePassword(request: UpdatePasswordRequest): Promise<void>;
23
23
  importPrivateKey(request: ImportPrivateKeyRequest): Promise<CreateWalletAccountResponse>;
24
- getPublicKey(): Promise<string>;
25
- sendEncryptedToken(token: string): Promise<void>;
24
+ sendAuthToken(token: string): Promise<void>;
25
+ exportClientKeyshares(request: ExportClientKeysharesRequest): Promise<void>;
26
+ offlineExportPrivateKey(request: OfflineExportPrivateKeyRequest): Promise<OfflineExportPrivateKeyResponse>;
26
27
  }
27
28
  //# sourceMappingURL=iframeMessageHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iframeMessageHandler.d.ts","sourceRoot":"","sources":["../../src/services/iframeMessageHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iCAAiC,EACtC,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,2BAA2B,EAC3B,kBAAkB,EAClB,mCAAmC,EACnC,sBAAsB,EACtB,0BAA0B,EAC1B,mCAAmC,EACnC,mCAAmC,EACnC,iCAAiC,EACjC,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AAEnC,qBAAa,oBAAoB;IAC/B,cAAc,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAC;gBAE1C,gBAAgB,EAAE,iCAAiC;IAKzD,UAAU,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAI1C,SAAS,CAAC,EACd,cAAc,EACd,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,eAAe,CAAC;KAClC;IAOK,mBAAmB,CACvB,wBAAwB,EAAE,wBAAwB,EAClD,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,2BAA2B,CAAC;IAOjC,4BAA4B,CAChC,OAAO,EAAE,mCAAmC,GAC3C,OAAO,CAAC,OAAO,CAAC;IAIb,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzD,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjE,mBAAmB,CACvB,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,OAAO,CAAC;IAIb,4BAA4B,CAChC,OAAO,EAAE,mCAAmC,GAC3C,OAAO,CAAC,MAAM,EAAE,CAAC;IAId,4BAA4B,CAChC,OAAO,EAAE,mCAAmC,GAC3C,OAAO,CAAC,IAAI,CAAC;IAIV,0BAA0B,CAC9B,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,IAAI,CAAC;IAIV,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,gBAAgB,CACpB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,2BAA2B,CAAC;IAIjC,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/B,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGvD"}
1
+ {"version":3,"file":"iframeMessageHandler.d.ts","sourceRoot":"","sources":["../../src/services/iframeMessageHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iCAAiC,EACtC,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,2BAA2B,EAC3B,kBAAkB,EAClB,mCAAmC,EACnC,sBAAsB,EACtB,0BAA0B,EAC1B,mCAAmC,EACnC,mCAAmC,EACnC,iCAAiC,EACjC,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,EAC5B,8BAA8B,EAC9B,+BAA+B,EAChC,MAAM,2BAA2B,CAAC;AAEnC,qBAAa,oBAAoB;IAC/B,cAAc,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAC;gBAE1C,gBAAgB,EAAE,iCAAiC;IAKzD,UAAU,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAI1C,SAAS,CAAC,EACd,cAAc,EACd,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,eAAe,CAAC;KAClC;IAOK,mBAAmB,CACvB,wBAAwB,EAAE,wBAAwB,EAClD,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,2BAA2B,CAAC;IAOjC,4BAA4B,CAChC,OAAO,EAAE,mCAAmC,GAC3C,OAAO,CAAC,OAAO,CAAC;IAIb,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzD,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjE,mBAAmB,CACvB,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,OAAO,CAAC;IAIb,4BAA4B,CAChC,OAAO,EAAE,mCAAmC,GAC3C,OAAO,CAAC,MAAM,EAAE,CAAC;IAId,4BAA4B,CAChC,OAAO,EAAE,mCAAmC,GAC3C,OAAO,CAAC,IAAI,CAAC;IAIV,0BAA0B,CAC9B,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,IAAI,CAAC;IAIV,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,gBAAgB,CACpB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,2BAA2B,CAAC;IAIjC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,qBAAqB,CACzB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,IAAI,CAAC;IAIV,uBAAuB,CAC3B,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,+BAA+B,CAAC;CAG5C"}
@@ -1,2 +0,0 @@
1
- export declare function encryptWithPublicKey(token: string, keyBase64: string): Promise<string>;
2
- //# sourceMappingURL=crypto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/crypto/crypto.ts"],"names":[],"mappings":"AAAA,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAkCjB"}