@dynamic-labs-wallet/core 0.0.0-beta.232.16 → 0.0.0-beta.232.3
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 +41 -41
- package/index.esm.js +41 -41
- package/package.json +1 -1
- package/src/api/api.d.ts +5 -5
- package/src/api/api.d.ts.map +1 -1
- package/src/types.d.ts +7 -17
- package/src/types.d.ts.map +1 -1
package/index.cjs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var uuid = require('uuid');
|
|
4
3
|
var axios = require('axios');
|
|
4
|
+
var uuid = require('uuid');
|
|
5
5
|
|
|
6
6
|
const DYNAMIC_AUTH_PROD_BASE_API_URL = 'https://app.dynamicauth.com';
|
|
7
7
|
const DYNAMIC_AUTH_PREPROD_BASE_API_URL = 'https://app.dynamic-preprod.xyz';
|
|
@@ -439,6 +439,41 @@ function getEnvironmentFromUrl(url) {
|
|
|
439
439
|
return ENVIRONMENT_ENUM.production;
|
|
440
440
|
}
|
|
441
441
|
|
|
442
|
+
var version = "0.0.1";
|
|
443
|
+
|
|
444
|
+
class BaseClient {
|
|
445
|
+
syncAuthToken(authToken) {
|
|
446
|
+
if (!authToken) {
|
|
447
|
+
throw new Error('Auth token is required');
|
|
448
|
+
}
|
|
449
|
+
const authHeader = `Bearer ${authToken}`;
|
|
450
|
+
this.apiClient.defaults.headers['Authorization'] = authHeader;
|
|
451
|
+
this.clientRelayApiClient.defaults.headers['Authorization'] = authHeader;
|
|
452
|
+
this.apiClient.defaults.headers.common['Authorization'] = authHeader;
|
|
453
|
+
this.clientRelayApiClient.defaults.headers.common['Authorization'] = authHeader;
|
|
454
|
+
if (this.apiClient.defaults.headers['Authorization'] !== authHeader || this.clientRelayApiClient.defaults.headers['Authorization'] !== authHeader) {
|
|
455
|
+
throw new Error('Failed to sync auth token, auth header is not set to the expected auth token after sync, there is likely a race condition, contact Dynamic devs to investigate');
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
constructor({ environmentId, baseApiUrl, authToken, baseClientRelayApiUrl }){
|
|
459
|
+
const headers = {};
|
|
460
|
+
headers['Authorization'] = authToken ? `Bearer ${authToken}` : undefined;
|
|
461
|
+
headers['x-dyn-wallet-sdk-version'] = version;
|
|
462
|
+
this.environmentId = environmentId;
|
|
463
|
+
const environment = getEnvironmentFromUrl(baseApiUrl);
|
|
464
|
+
this.baseApiUrl = baseApiUrl != null ? baseApiUrl : DYNAMIC_AUTH_BASE_API_URL_MAP[environment];
|
|
465
|
+
this.apiClient = axios.create({
|
|
466
|
+
baseURL: this.baseApiUrl,
|
|
467
|
+
headers
|
|
468
|
+
});
|
|
469
|
+
this.clientRelayBaseApiUrl = baseClientRelayApiUrl != null ? baseClientRelayApiUrl : DYNAMIC_CLIENT_RELAY_REDCOAST_MAP[environment];
|
|
470
|
+
this.clientRelayApiClient = axios.create({
|
|
471
|
+
baseURL: this.clientRelayBaseApiUrl,
|
|
472
|
+
headers
|
|
473
|
+
});
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
|
|
442
477
|
var SuccessEventType = /*#__PURE__*/ function(SuccessEventType) {
|
|
443
478
|
SuccessEventType["KeygenComplete"] = "keygen_complete";
|
|
444
479
|
SuccessEventType["RoomCreated"] = "room_created";
|
|
@@ -580,41 +615,6 @@ var SuccessEventType = /*#__PURE__*/ function(SuccessEventType) {
|
|
|
580
615
|
return events;
|
|
581
616
|
};
|
|
582
617
|
|
|
583
|
-
var version = "0.0.1";
|
|
584
|
-
|
|
585
|
-
class BaseClient {
|
|
586
|
-
syncAuthToken(authToken) {
|
|
587
|
-
if (!authToken) {
|
|
588
|
-
throw new Error('Auth token is required');
|
|
589
|
-
}
|
|
590
|
-
const authHeader = `Bearer ${authToken}`;
|
|
591
|
-
this.apiClient.defaults.headers['Authorization'] = authHeader;
|
|
592
|
-
this.clientRelayApiClient.defaults.headers['Authorization'] = authHeader;
|
|
593
|
-
this.apiClient.defaults.headers.common['Authorization'] = authHeader;
|
|
594
|
-
this.clientRelayApiClient.defaults.headers.common['Authorization'] = authHeader;
|
|
595
|
-
if (this.apiClient.defaults.headers['Authorization'] !== authHeader || this.clientRelayApiClient.defaults.headers['Authorization'] !== authHeader) {
|
|
596
|
-
throw new Error('Failed to sync auth token, auth header is not set to the expected auth token after sync, there is likely a race condition, contact Dynamic devs to investigate');
|
|
597
|
-
}
|
|
598
|
-
}
|
|
599
|
-
constructor({ environmentId, baseApiUrl, authToken, baseClientRelayApiUrl }){
|
|
600
|
-
const headers = {};
|
|
601
|
-
headers['Authorization'] = authToken ? `Bearer ${authToken}` : undefined;
|
|
602
|
-
headers['x-dyn-wallet-sdk-version'] = version;
|
|
603
|
-
this.environmentId = environmentId;
|
|
604
|
-
const environment = getEnvironmentFromUrl(baseApiUrl);
|
|
605
|
-
this.baseApiUrl = baseApiUrl != null ? baseApiUrl : DYNAMIC_AUTH_BASE_API_URL_MAP[environment];
|
|
606
|
-
this.apiClient = axios.create({
|
|
607
|
-
baseURL: this.baseApiUrl,
|
|
608
|
-
headers
|
|
609
|
-
});
|
|
610
|
-
this.clientRelayBaseApiUrl = baseClientRelayApiUrl != null ? baseClientRelayApiUrl : DYNAMIC_CLIENT_USER_SHARE_RELAY_MAP[environment];
|
|
611
|
-
this.clientRelayApiClient = axios.create({
|
|
612
|
-
baseURL: this.clientRelayBaseApiUrl,
|
|
613
|
-
headers
|
|
614
|
-
});
|
|
615
|
-
}
|
|
616
|
-
}
|
|
617
|
-
|
|
618
618
|
class DynamicApiClient extends BaseClient {
|
|
619
619
|
async authenticateApiToken({ environmentId }) {
|
|
620
620
|
return this.apiClient.post(`/api/v0/environments/${environmentId}/waas/authenticate`, undefined, {
|
|
@@ -687,12 +687,11 @@ class DynamicApiClient extends BaseClient {
|
|
|
687
687
|
onError
|
|
688
688
|
});
|
|
689
689
|
}
|
|
690
|
-
async storeEncryptedBackupByWallet({ walletId, encryptedKeyShares, passwordEncrypted, signedSessionId
|
|
690
|
+
async storeEncryptedBackupByWallet({ walletId, encryptedKeyShares, passwordEncrypted, signedSessionId }) {
|
|
691
691
|
const { data } = await this.clientRelayApiClient.post(`/api/v0/sdk/${this.environmentId}/waas/${walletId}/keyShares/backup`, {
|
|
692
692
|
// TODO: decide on whether to store encryptedAccountCredentials or encryptedKeyShares as backup
|
|
693
693
|
encryptedAccountCredentials: encryptedKeyShares,
|
|
694
|
-
passwordEncrypted
|
|
695
|
-
encryptionVersion
|
|
694
|
+
passwordEncrypted
|
|
696
695
|
}, {
|
|
697
696
|
headers: {
|
|
698
697
|
[DynamicRequestIdHeader]: uuid.v4().replace('-', ''),
|
|
@@ -799,11 +798,12 @@ class DynamicApiClient extends BaseClient {
|
|
|
799
798
|
}
|
|
800
799
|
}
|
|
801
800
|
}
|
|
802
|
-
constructor({ environmentId, authToken, baseApiUrl }){
|
|
801
|
+
constructor({ environmentId, authToken, baseApiUrl, baseClientRelayApiUrl }){
|
|
803
802
|
super({
|
|
804
803
|
environmentId,
|
|
805
804
|
authToken,
|
|
806
|
-
baseApiUrl
|
|
805
|
+
baseApiUrl,
|
|
806
|
+
baseClientRelayApiUrl
|
|
807
807
|
});
|
|
808
808
|
}
|
|
809
809
|
}
|
package/index.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { v4 } from 'uuid';
|
|
2
1
|
import axios from 'axios';
|
|
2
|
+
import { v4 } from 'uuid';
|
|
3
3
|
|
|
4
4
|
const DYNAMIC_AUTH_PROD_BASE_API_URL = 'https://app.dynamicauth.com';
|
|
5
5
|
const DYNAMIC_AUTH_PREPROD_BASE_API_URL = 'https://app.dynamic-preprod.xyz';
|
|
@@ -437,6 +437,41 @@ function getEnvironmentFromUrl(url) {
|
|
|
437
437
|
return ENVIRONMENT_ENUM.production;
|
|
438
438
|
}
|
|
439
439
|
|
|
440
|
+
var version = "0.0.1";
|
|
441
|
+
|
|
442
|
+
class BaseClient {
|
|
443
|
+
syncAuthToken(authToken) {
|
|
444
|
+
if (!authToken) {
|
|
445
|
+
throw new Error('Auth token is required');
|
|
446
|
+
}
|
|
447
|
+
const authHeader = `Bearer ${authToken}`;
|
|
448
|
+
this.apiClient.defaults.headers['Authorization'] = authHeader;
|
|
449
|
+
this.clientRelayApiClient.defaults.headers['Authorization'] = authHeader;
|
|
450
|
+
this.apiClient.defaults.headers.common['Authorization'] = authHeader;
|
|
451
|
+
this.clientRelayApiClient.defaults.headers.common['Authorization'] = authHeader;
|
|
452
|
+
if (this.apiClient.defaults.headers['Authorization'] !== authHeader || this.clientRelayApiClient.defaults.headers['Authorization'] !== authHeader) {
|
|
453
|
+
throw new Error('Failed to sync auth token, auth header is not set to the expected auth token after sync, there is likely a race condition, contact Dynamic devs to investigate');
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
constructor({ environmentId, baseApiUrl, authToken, baseClientRelayApiUrl }){
|
|
457
|
+
const headers = {};
|
|
458
|
+
headers['Authorization'] = authToken ? `Bearer ${authToken}` : undefined;
|
|
459
|
+
headers['x-dyn-wallet-sdk-version'] = version;
|
|
460
|
+
this.environmentId = environmentId;
|
|
461
|
+
const environment = getEnvironmentFromUrl(baseApiUrl);
|
|
462
|
+
this.baseApiUrl = baseApiUrl != null ? baseApiUrl : DYNAMIC_AUTH_BASE_API_URL_MAP[environment];
|
|
463
|
+
this.apiClient = axios.create({
|
|
464
|
+
baseURL: this.baseApiUrl,
|
|
465
|
+
headers
|
|
466
|
+
});
|
|
467
|
+
this.clientRelayBaseApiUrl = baseClientRelayApiUrl != null ? baseClientRelayApiUrl : DYNAMIC_CLIENT_RELAY_REDCOAST_MAP[environment];
|
|
468
|
+
this.clientRelayApiClient = axios.create({
|
|
469
|
+
baseURL: this.clientRelayBaseApiUrl,
|
|
470
|
+
headers
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
|
|
440
475
|
var SuccessEventType = /*#__PURE__*/ function(SuccessEventType) {
|
|
441
476
|
SuccessEventType["KeygenComplete"] = "keygen_complete";
|
|
442
477
|
SuccessEventType["RoomCreated"] = "room_created";
|
|
@@ -578,41 +613,6 @@ var SuccessEventType = /*#__PURE__*/ function(SuccessEventType) {
|
|
|
578
613
|
return events;
|
|
579
614
|
};
|
|
580
615
|
|
|
581
|
-
var version = "0.0.1";
|
|
582
|
-
|
|
583
|
-
class BaseClient {
|
|
584
|
-
syncAuthToken(authToken) {
|
|
585
|
-
if (!authToken) {
|
|
586
|
-
throw new Error('Auth token is required');
|
|
587
|
-
}
|
|
588
|
-
const authHeader = `Bearer ${authToken}`;
|
|
589
|
-
this.apiClient.defaults.headers['Authorization'] = authHeader;
|
|
590
|
-
this.clientRelayApiClient.defaults.headers['Authorization'] = authHeader;
|
|
591
|
-
this.apiClient.defaults.headers.common['Authorization'] = authHeader;
|
|
592
|
-
this.clientRelayApiClient.defaults.headers.common['Authorization'] = authHeader;
|
|
593
|
-
if (this.apiClient.defaults.headers['Authorization'] !== authHeader || this.clientRelayApiClient.defaults.headers['Authorization'] !== authHeader) {
|
|
594
|
-
throw new Error('Failed to sync auth token, auth header is not set to the expected auth token after sync, there is likely a race condition, contact Dynamic devs to investigate');
|
|
595
|
-
}
|
|
596
|
-
}
|
|
597
|
-
constructor({ environmentId, baseApiUrl, authToken, baseClientRelayApiUrl }){
|
|
598
|
-
const headers = {};
|
|
599
|
-
headers['Authorization'] = authToken ? `Bearer ${authToken}` : undefined;
|
|
600
|
-
headers['x-dyn-wallet-sdk-version'] = version;
|
|
601
|
-
this.environmentId = environmentId;
|
|
602
|
-
const environment = getEnvironmentFromUrl(baseApiUrl);
|
|
603
|
-
this.baseApiUrl = baseApiUrl != null ? baseApiUrl : DYNAMIC_AUTH_BASE_API_URL_MAP[environment];
|
|
604
|
-
this.apiClient = axios.create({
|
|
605
|
-
baseURL: this.baseApiUrl,
|
|
606
|
-
headers
|
|
607
|
-
});
|
|
608
|
-
this.clientRelayBaseApiUrl = baseClientRelayApiUrl != null ? baseClientRelayApiUrl : DYNAMIC_CLIENT_USER_SHARE_RELAY_MAP[environment];
|
|
609
|
-
this.clientRelayApiClient = axios.create({
|
|
610
|
-
baseURL: this.clientRelayBaseApiUrl,
|
|
611
|
-
headers
|
|
612
|
-
});
|
|
613
|
-
}
|
|
614
|
-
}
|
|
615
|
-
|
|
616
616
|
class DynamicApiClient extends BaseClient {
|
|
617
617
|
async authenticateApiToken({ environmentId }) {
|
|
618
618
|
return this.apiClient.post(`/api/v0/environments/${environmentId}/waas/authenticate`, undefined, {
|
|
@@ -685,12 +685,11 @@ class DynamicApiClient extends BaseClient {
|
|
|
685
685
|
onError
|
|
686
686
|
});
|
|
687
687
|
}
|
|
688
|
-
async storeEncryptedBackupByWallet({ walletId, encryptedKeyShares, passwordEncrypted, signedSessionId
|
|
688
|
+
async storeEncryptedBackupByWallet({ walletId, encryptedKeyShares, passwordEncrypted, signedSessionId }) {
|
|
689
689
|
const { data } = await this.clientRelayApiClient.post(`/api/v0/sdk/${this.environmentId}/waas/${walletId}/keyShares/backup`, {
|
|
690
690
|
// TODO: decide on whether to store encryptedAccountCredentials or encryptedKeyShares as backup
|
|
691
691
|
encryptedAccountCredentials: encryptedKeyShares,
|
|
692
|
-
passwordEncrypted
|
|
693
|
-
encryptionVersion
|
|
692
|
+
passwordEncrypted
|
|
694
693
|
}, {
|
|
695
694
|
headers: {
|
|
696
695
|
[DynamicRequestIdHeader]: v4().replace('-', ''),
|
|
@@ -797,11 +796,12 @@ class DynamicApiClient extends BaseClient {
|
|
|
797
796
|
}
|
|
798
797
|
}
|
|
799
798
|
}
|
|
800
|
-
constructor({ environmentId, authToken, baseApiUrl }){
|
|
799
|
+
constructor({ environmentId, authToken, baseApiUrl, baseClientRelayApiUrl }){
|
|
801
800
|
super({
|
|
802
801
|
environmentId,
|
|
803
802
|
authToken,
|
|
804
|
-
baseApiUrl
|
|
803
|
+
baseApiUrl,
|
|
804
|
+
baseClientRelayApiUrl
|
|
805
805
|
});
|
|
806
806
|
}
|
|
807
807
|
}
|
package/package.json
CHANGED
package/src/api/api.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { BackupLocation } from '../constants';
|
|
2
1
|
import type { ThresholdSignatureScheme } from '../mpc/constants';
|
|
3
|
-
import { type KeygenCompleteResponse, type OpenRoomResponse, type ReshareResponse } from '../types';
|
|
4
2
|
import { BaseClient } from './client';
|
|
3
|
+
import { type KeygenCompleteResponse, type OpenRoomResponse, type ReshareResponse } from '../types';
|
|
4
|
+
import { BackupLocation } from '../constants';
|
|
5
5
|
export declare class DynamicApiClient extends BaseClient {
|
|
6
|
-
constructor({ environmentId, authToken, baseApiUrl, }: {
|
|
6
|
+
constructor({ environmentId, authToken, baseApiUrl, baseClientRelayApiUrl, }: {
|
|
7
7
|
environmentId: string;
|
|
8
8
|
authToken: string;
|
|
9
9
|
baseApiUrl?: string;
|
|
10
|
+
baseClientRelayApiUrl?: string;
|
|
10
11
|
});
|
|
11
12
|
authenticateApiToken({ environmentId }: {
|
|
12
13
|
environmentId: string;
|
|
@@ -43,12 +44,11 @@ export declare class DynamicApiClient extends BaseClient {
|
|
|
43
44
|
exportId: string;
|
|
44
45
|
onError?: (error: Error) => void;
|
|
45
46
|
}): Promise<OpenRoomResponse>;
|
|
46
|
-
storeEncryptedBackupByWallet({ walletId, encryptedKeyShares, passwordEncrypted, signedSessionId,
|
|
47
|
+
storeEncryptedBackupByWallet({ walletId, encryptedKeyShares, passwordEncrypted, signedSessionId, }: {
|
|
47
48
|
walletId: string;
|
|
48
49
|
encryptedKeyShares: string[];
|
|
49
50
|
passwordEncrypted: boolean;
|
|
50
51
|
signedSessionId?: string;
|
|
51
|
-
encryptionVersion?: string;
|
|
52
52
|
}): Promise<any>;
|
|
53
53
|
markKeySharesAsBackedUpGoogleDrive({ walletId }: {
|
|
54
54
|
walletId: string;
|
package/src/api/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAGL,cAAc,EACf,MAAM,cAAc,CAAC;AAGtB,qBAAa,gBAAiB,SAAQ,UAAU;gBAClC,EACV,aAAa,EACb,SAAS,EACT,UAAU,EACV,qBAAqB,GACtB,EAAE;QACD,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC;IAIK,oBAAoB,CAAC,EAAE,aAAa,EAAE,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE;IAYjE,mBAAmB,CAAC,EACxB,SAAS,EACT,eAAe,EACf,wBAAwB,EACxB,OAAO,EACP,kBAAkB,GACnB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;KACzE;IAgBK,WAAW,CAAC,EAChB,QAAQ,EACR,OAAO,EACP,OAAO,EACP,WAAW,GACZ,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB;IAcK,0BAA0B,CAAC,EAC/B,QAAQ,EACR,OAAO,GACR,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;KAClC;gBAEW,MAAM;yBACG,MAAM,EAAE;;IAWvB,OAAO,CAAC,EACZ,QAAQ,EACR,eAAe,EACf,2BAA2B,EAC3B,2BAA2B,EAC3B,OAAO,GACR,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;KAClC;IAeK,SAAS,CAAC,EACd,QAAQ,EACR,QAAQ,EACR,OAAO,GACR,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;KAClC;IAaK,4BAA4B,CAAC,EACjC,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC7B,iBAAiB,EAAE,OAAO,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B;IAkBK,kCAAkC,CAAC,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;IAcrE,uBAAuB,CAAC,EAC5B,QAAQ,EACR,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,cAAc,CAAC;KAC1B;IAgBK,8BAA8B,CAAC,EACnC,QAAQ,EACR,WAAW,EACX,eAAe,GAChB,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B;IAeK,cAAc,CAAC,EAAE,cAAc,EAAE,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE;IAa7D,gBAAgB,CAAC,EACrB,SAAS,EACT,eAAe,EACf,wBAAwB,EACxB,OAAO,EACP,kBAAkB,GACnB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;KACzE;IAiBK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;IA2BvB,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;CA0BlC"}
|
package/src/types.d.ts
CHANGED
|
@@ -51,6 +51,7 @@ export interface DynamicWalletClientProps {
|
|
|
51
51
|
storageKey?: string;
|
|
52
52
|
debug?: boolean;
|
|
53
53
|
baseMPCRelayApiUrl?: string;
|
|
54
|
+
baseClientRelayApiUrl?: string;
|
|
54
55
|
}
|
|
55
56
|
export type BackupData = {
|
|
56
57
|
keyShares: string[];
|
|
@@ -60,17 +61,15 @@ export type BackupData = {
|
|
|
60
61
|
accountAddress: string;
|
|
61
62
|
thresholdSignatureScheme: ThresholdSignatureScheme;
|
|
62
63
|
hasPassword: boolean;
|
|
63
|
-
encryption?:
|
|
64
|
+
encryption?: {
|
|
65
|
+
algorithm: string;
|
|
66
|
+
keyDerivation: string;
|
|
67
|
+
iterations: number;
|
|
68
|
+
hashAlgorithm: string;
|
|
69
|
+
};
|
|
64
70
|
shareCount: number;
|
|
65
71
|
};
|
|
66
72
|
};
|
|
67
|
-
export type EncryptionMetadata = {
|
|
68
|
-
algorithm: string;
|
|
69
|
-
keyDerivation: string;
|
|
70
|
-
iterations: number;
|
|
71
|
-
hashAlgorithm: string;
|
|
72
|
-
algorithmLength: number;
|
|
73
|
-
};
|
|
74
73
|
export type IframeRequestMessages = {
|
|
75
74
|
sendAuthToken: (token: string) => Promise<void>;
|
|
76
75
|
createWalletAccount: (request: CreateWalletAccountRequest) => Promise<CreateWalletAccountResponse>;
|
|
@@ -78,7 +77,6 @@ export type IframeRequestMessages = {
|
|
|
78
77
|
getWallet: (request: GetWalletRequest) => Promise<GetWalletResponse>;
|
|
79
78
|
signMessage: (request: SignMessageRequest) => Promise<string>;
|
|
80
79
|
signRawMessage: (request: SignRawMessageRequest) => Promise<string>;
|
|
81
|
-
signTypedData: (request: SignTypedDataRequest) => Promise<string>;
|
|
82
80
|
requiresPasswordForOperation: (request: RequiresPasswordForOperationRequest) => Promise<boolean>;
|
|
83
81
|
signTransaction: (request: SignTransactionRequest) => Promise<string>;
|
|
84
82
|
isPasswordEncrypted: (request: IsPasswordEncryptedRequest) => Promise<boolean>;
|
|
@@ -158,13 +156,6 @@ export type SignTransactionRequest = {
|
|
|
158
156
|
signedSessionId?: string;
|
|
159
157
|
authToken?: string;
|
|
160
158
|
};
|
|
161
|
-
export type SignTypedDataRequest = {
|
|
162
|
-
chainName: string;
|
|
163
|
-
accountAddress: string;
|
|
164
|
-
typedData: string;
|
|
165
|
-
password?: string;
|
|
166
|
-
signedSessionId?: string;
|
|
167
|
-
};
|
|
168
159
|
export type IsPasswordEncryptedRequest = {
|
|
169
160
|
chainName: string;
|
|
170
161
|
accountAddress: string;
|
|
@@ -228,7 +219,6 @@ export type ImportPrivateKeyRequest = {
|
|
|
228
219
|
privateKey: string;
|
|
229
220
|
thresholdSignatureScheme: ThresholdSignatureScheme;
|
|
230
221
|
password?: string;
|
|
231
|
-
signedSessionId?: string;
|
|
232
222
|
authToken?: string;
|
|
233
223
|
};
|
|
234
224
|
export type ExportClientKeysharesRequest = {
|
package/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../packages/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAEjD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,cAAc,oBAAoB;IAClC,WAAW,iBAAiB;IAC5B,gBAAgB,sBAAsB;CACvC;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;CAAE,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,wBAAwB,EAAE,wBAAwB,CAAC;CACpD;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,cAAc,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../packages/src/types.ts"],"names":[],"mappings":"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"}
|