@dynamic-labs-wallet/core 0.0.0-beta.271.2 → 0.0.0-beta.290.1
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 +86 -31
- package/index.esm.js +83 -32
- package/package.json +1 -1
- package/src/api/api.d.ts +28 -12
- package/src/api/api.d.ts.map +1 -1
- package/src/api/client.d.ts +4 -1
- package/src/api/client.d.ts.map +1 -1
- package/src/constants.d.ts +5 -0
- package/src/constants.d.ts.map +1 -1
- package/src/eventStream/utils.d.ts +2 -1
- package/src/eventStream/utils.d.ts.map +1 -1
- package/src/types.d.ts +45 -16
- package/src/types.d.ts.map +1 -1
package/index.cjs.js
CHANGED
|
@@ -14,6 +14,7 @@ var ENVIRONMENT_ENUM = /*#__PURE__*/ function(ENVIRONMENT_ENUM) {
|
|
|
14
14
|
}({});
|
|
15
15
|
const DynamicRequestIdHeader = 'x-dyn-request-id';
|
|
16
16
|
const DynamicClientSessionSignature = 'x-dyn-client-session-signature';
|
|
17
|
+
const DynamicMfaTokenHeader = 'x-mfa-auth-token';
|
|
17
18
|
const DYNAMIC_CLIENT_RELAY_PROD_BASE_API_URL = 'https://waas-keyshares-relay.dynamicauth.com';
|
|
18
19
|
const DYNAMIC_CLIENT_RELAY_PREPROD_BASE_API_URL = 'https://waas-keyshares-dynamic-preprod-xyz-app-32d15525a875.relay.evervault.app';
|
|
19
20
|
const DYNAMIC_CLIENT_RELAY_DEV_BASE_API_URL = 'https://waas-keyshares-dynamic-preprod-xyz-app-32d15525a875.relay.evervault.app';
|
|
@@ -83,6 +84,10 @@ const verifiedCredentialNameToChainEnum = {
|
|
|
83
84
|
solana: 'SVM',
|
|
84
85
|
sui: 'SUI'
|
|
85
86
|
};
|
|
87
|
+
const DELEGATED_SHARE_COUNT = 1;
|
|
88
|
+
const FEATURE_FLAGS = {
|
|
89
|
+
ENABLE_DELEGATED_KEY_SHARES_FLAG: 'enable-delegated-key-shares'
|
|
90
|
+
};
|
|
86
91
|
|
|
87
92
|
var SigningAlgorithm = /*#__PURE__*/ function(SigningAlgorithm) {
|
|
88
93
|
SigningAlgorithm["ECDSA"] = "ECDSA";
|
|
@@ -439,13 +444,28 @@ function getEnvironmentFromUrl(url) {
|
|
|
439
444
|
return ENVIRONMENT_ENUM.production;
|
|
440
445
|
}
|
|
441
446
|
|
|
447
|
+
function _extends() {
|
|
448
|
+
_extends = Object.assign || function assign(target) {
|
|
449
|
+
for(var i = 1; i < arguments.length; i++){
|
|
450
|
+
var source = arguments[i];
|
|
451
|
+
for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
|
|
452
|
+
}
|
|
453
|
+
return target;
|
|
454
|
+
};
|
|
455
|
+
return _extends.apply(this, arguments);
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
var AuthMode = /*#__PURE__*/ function(AuthMode) {
|
|
459
|
+
AuthMode["HEADER"] = "header";
|
|
460
|
+
AuthMode["COOKIE"] = "cookie";
|
|
461
|
+
return AuthMode;
|
|
462
|
+
}({});
|
|
442
463
|
var SuccessEventType = /*#__PURE__*/ function(SuccessEventType) {
|
|
443
464
|
SuccessEventType["KeygenComplete"] = "keygen_complete";
|
|
444
465
|
SuccessEventType["RoomCreated"] = "room_created";
|
|
445
466
|
SuccessEventType["CeremonyComplete"] = "ceremony_complete";
|
|
446
467
|
return SuccessEventType;
|
|
447
468
|
}({});
|
|
448
|
-
// iframe communication types end
|
|
449
469
|
|
|
450
470
|
/**
|
|
451
471
|
* Creates a promise that resolves when a specific event is received from an event stream.
|
|
@@ -455,17 +475,19 @@ var SuccessEventType = /*#__PURE__*/ function(SuccessEventType) {
|
|
|
455
475
|
* @param apiClient The axios instance to use for API calls
|
|
456
476
|
* @param options The configuration options
|
|
457
477
|
* @returns A promise that resolves with the event data or rejects on timeout
|
|
458
|
-
*/ const createEventStreamPromise = ({ apiClient, dynamicRequestId, endpoint, body, successEventType, timeoutMs = 30000, timeoutMessage, onError, onCeremonyComplete })=>{
|
|
478
|
+
*/ const createEventStreamPromise = ({ apiClient, dynamicRequestId, endpoint, body, successEventType, timeoutMs = 30000, timeoutMessage, onError, onCeremonyComplete, mfaToken })=>{
|
|
479
|
+
const headers = {
|
|
480
|
+
Accept: 'text/event-stream',
|
|
481
|
+
'Cache-Control': 'no-cache',
|
|
482
|
+
Connection: 'keep-alive',
|
|
483
|
+
[DynamicRequestIdHeader]: dynamicRequestId,
|
|
484
|
+
[DynamicMfaTokenHeader]: mfaToken
|
|
485
|
+
};
|
|
459
486
|
// Create a promise that will resolve when the success event is received
|
|
460
487
|
const eventPromise = new Promise((resolve, reject)=>{
|
|
461
488
|
apiClient.post(endpoint, body, {
|
|
462
489
|
responseType: 'stream',
|
|
463
|
-
headers: {
|
|
464
|
-
Accept: 'text/event-stream',
|
|
465
|
-
'Cache-Control': 'no-cache',
|
|
466
|
-
Connection: 'keep-alive',
|
|
467
|
-
[DynamicRequestIdHeader]: dynamicRequestId
|
|
468
|
-
},
|
|
490
|
+
headers: _extends({}, headers),
|
|
469
491
|
adapter: 'fetch'
|
|
470
492
|
}).then(createSuccessErrorEventStreamHandler({
|
|
471
493
|
onError,
|
|
@@ -584,8 +606,12 @@ var version = "0.0.1";
|
|
|
584
606
|
|
|
585
607
|
class BaseClient {
|
|
586
608
|
syncAuthToken(authToken) {
|
|
609
|
+
if (this.authMode === 'cookie') {
|
|
610
|
+
// For cookie auth, we don't need to sync tokens as they're handled by cookies
|
|
611
|
+
return;
|
|
612
|
+
}
|
|
587
613
|
if (!authToken) {
|
|
588
|
-
throw new Error('Auth token is required');
|
|
614
|
+
throw new Error('Auth token is required for header authentication');
|
|
589
615
|
}
|
|
590
616
|
const authHeader = `Bearer ${authToken}`;
|
|
591
617
|
this.apiClient.defaults.headers['Authorization'] = authHeader;
|
|
@@ -596,22 +622,32 @@ class BaseClient {
|
|
|
596
622
|
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
623
|
}
|
|
598
624
|
}
|
|
599
|
-
constructor({ environmentId, baseApiUrl, authToken, baseClientRelayApiUrl }){
|
|
625
|
+
constructor({ environmentId, baseApiUrl, authToken, baseClientRelayApiUrl, authMode = AuthMode.HEADER }){
|
|
600
626
|
const headers = {};
|
|
601
|
-
|
|
627
|
+
// Only set Authorization header if using header auth mode and token is provided
|
|
628
|
+
if (authMode === AuthMode.HEADER && authToken) {
|
|
629
|
+
headers['Authorization'] = `Bearer ${authToken}`;
|
|
630
|
+
}
|
|
602
631
|
headers['x-dyn-wallet-sdk-version'] = version;
|
|
603
632
|
this.environmentId = environmentId;
|
|
633
|
+
this.authMode = authMode;
|
|
604
634
|
const environment = getEnvironmentFromUrl(baseApiUrl);
|
|
605
635
|
this.baseApiUrl = baseApiUrl != null ? baseApiUrl : DYNAMIC_AUTH_BASE_API_URL_MAP[environment];
|
|
606
|
-
|
|
636
|
+
// Configure axios to include credentials for cookie auth
|
|
637
|
+
const axiosConfig = _extends({
|
|
607
638
|
baseURL: this.baseApiUrl,
|
|
608
639
|
headers
|
|
609
|
-
}
|
|
640
|
+
}, authMode === 'cookie' ? {
|
|
641
|
+
withCredentials: true
|
|
642
|
+
} : {});
|
|
643
|
+
this.apiClient = axios.create(axiosConfig);
|
|
610
644
|
this.clientRelayBaseApiUrl = baseClientRelayApiUrl != null ? baseClientRelayApiUrl : DYNAMIC_CLIENT_USER_SHARE_RELAY_MAP[environment];
|
|
611
|
-
this.clientRelayApiClient = axios.create({
|
|
645
|
+
this.clientRelayApiClient = axios.create(_extends({
|
|
612
646
|
baseURL: this.clientRelayBaseApiUrl,
|
|
613
647
|
headers
|
|
614
|
-
}
|
|
648
|
+
}, authMode === 'cookie' ? {
|
|
649
|
+
withCredentials: true
|
|
650
|
+
} : {}));
|
|
615
651
|
}
|
|
616
652
|
}
|
|
617
653
|
|
|
@@ -639,7 +675,7 @@ class DynamicApiClient extends BaseClient {
|
|
|
639
675
|
onCeremonyComplete
|
|
640
676
|
});
|
|
641
677
|
}
|
|
642
|
-
async signMessage({ dynamicRequestId, walletId, message, onError, isFormatted }) {
|
|
678
|
+
async signMessage({ dynamicRequestId, walletId, message, onError, isFormatted, mfaToken }) {
|
|
643
679
|
return createEventStreamPromise({
|
|
644
680
|
apiClient: this.apiClient,
|
|
645
681
|
dynamicRequestId,
|
|
@@ -650,10 +686,11 @@ class DynamicApiClient extends BaseClient {
|
|
|
650
686
|
},
|
|
651
687
|
successEventType: SuccessEventType.RoomCreated,
|
|
652
688
|
timeoutMessage: 'Message signing timed out',
|
|
653
|
-
onError
|
|
689
|
+
onError,
|
|
690
|
+
mfaToken
|
|
654
691
|
});
|
|
655
692
|
}
|
|
656
|
-
async refreshWalletAccountShares({ dynamicRequestId, walletId, onError }) {
|
|
693
|
+
async refreshWalletAccountShares({ dynamicRequestId, walletId, onError, mfaToken }) {
|
|
657
694
|
return createEventStreamPromise({
|
|
658
695
|
apiClient: this.apiClient,
|
|
659
696
|
dynamicRequestId,
|
|
@@ -661,10 +698,11 @@ class DynamicApiClient extends BaseClient {
|
|
|
661
698
|
body: undefined,
|
|
662
699
|
successEventType: SuccessEventType.RoomCreated,
|
|
663
700
|
timeoutMessage: 'Refresh timed out',
|
|
664
|
-
onError
|
|
701
|
+
onError,
|
|
702
|
+
mfaToken
|
|
665
703
|
});
|
|
666
704
|
}
|
|
667
|
-
async reshare({ walletId, dynamicRequestId, clientKeygenIds, oldThresholdSignatureScheme, newThresholdSignatureScheme, onError }) {
|
|
705
|
+
async reshare({ walletId, dynamicRequestId, clientKeygenIds, oldThresholdSignatureScheme, newThresholdSignatureScheme, delegateToProjectEnvironment, mfaToken, onError }) {
|
|
668
706
|
return createEventStreamPromise({
|
|
669
707
|
apiClient: this.apiClient,
|
|
670
708
|
dynamicRequestId,
|
|
@@ -672,14 +710,16 @@ class DynamicApiClient extends BaseClient {
|
|
|
672
710
|
body: {
|
|
673
711
|
clientKeygenIds,
|
|
674
712
|
oldThresholdSignatureScheme,
|
|
675
|
-
newThresholdSignatureScheme
|
|
713
|
+
newThresholdSignatureScheme,
|
|
714
|
+
delegateToProjectEnvironment
|
|
676
715
|
},
|
|
677
716
|
successEventType: SuccessEventType.RoomCreated,
|
|
678
717
|
timeoutMessage: 'Reshare timed out',
|
|
679
|
-
onError
|
|
718
|
+
onError,
|
|
719
|
+
mfaToken
|
|
680
720
|
});
|
|
681
721
|
}
|
|
682
|
-
async exportKey({ dynamicRequestId, walletId, exportId, onError }) {
|
|
722
|
+
async exportKey({ mfaToken, dynamicRequestId, walletId, exportId, onError }) {
|
|
683
723
|
return createEventStreamPromise({
|
|
684
724
|
apiClient: this.apiClient,
|
|
685
725
|
dynamicRequestId,
|
|
@@ -689,7 +729,8 @@ class DynamicApiClient extends BaseClient {
|
|
|
689
729
|
},
|
|
690
730
|
successEventType: SuccessEventType.RoomCreated,
|
|
691
731
|
timeoutMessage: 'Key export timed out',
|
|
692
|
-
onError
|
|
732
|
+
onError,
|
|
733
|
+
mfaToken
|
|
693
734
|
});
|
|
694
735
|
}
|
|
695
736
|
async storeEncryptedBackupByWallet({ walletId, encryptedKeyShares, passwordEncrypted, signedSessionId, encryptionVersion }) {
|
|
@@ -714,9 +755,9 @@ class DynamicApiClient extends BaseClient {
|
|
|
714
755
|
});
|
|
715
756
|
return data;
|
|
716
757
|
}
|
|
717
|
-
async markKeySharesAsBackedUp({ walletId,
|
|
718
|
-
const { data } = await this.apiClient.post(`/api/v0/sdk/${this.environmentId}/waas/${walletId}/keyShares/backup/
|
|
719
|
-
|
|
758
|
+
async markKeySharesAsBackedUp({ walletId, locations }) {
|
|
759
|
+
const { data } = await this.apiClient.post(`/api/v0/sdk/${this.environmentId}/waas/${walletId}/keyShares/backup/locations`, {
|
|
760
|
+
locations
|
|
720
761
|
}, {
|
|
721
762
|
headers: {
|
|
722
763
|
[DynamicRequestIdHeader]: uuid.v4().replace('-', '')
|
|
@@ -724,14 +765,15 @@ class DynamicApiClient extends BaseClient {
|
|
|
724
765
|
});
|
|
725
766
|
return data;
|
|
726
767
|
}
|
|
727
|
-
async recoverEncryptedBackupByWallet({ walletId, keyShareIds, signedSessionId }) {
|
|
768
|
+
async recoverEncryptedBackupByWallet({ walletId, keyShareIds, signedSessionId, mfaToken }) {
|
|
728
769
|
// TODO: add signed messsage to body?
|
|
729
770
|
const { data } = await this.clientRelayApiClient.post(`/api/v0/sdk/${this.environmentId}/waas/${walletId}/keyShares/recover`, keyShareIds ? {
|
|
730
771
|
keyShareIds
|
|
731
772
|
} : undefined, {
|
|
732
773
|
headers: {
|
|
733
774
|
[DynamicRequestIdHeader]: uuid.v4().replace('-', ''),
|
|
734
|
-
[DynamicClientSessionSignature]: signedSessionId
|
|
775
|
+
[DynamicClientSessionSignature]: signedSessionId,
|
|
776
|
+
[DynamicMfaTokenHeader]: mfaToken
|
|
735
777
|
}
|
|
736
778
|
});
|
|
737
779
|
return data;
|
|
@@ -805,18 +847,29 @@ class DynamicApiClient extends BaseClient {
|
|
|
805
847
|
}
|
|
806
848
|
}
|
|
807
849
|
}
|
|
808
|
-
|
|
850
|
+
async getEnvironmentSettings() {
|
|
851
|
+
const { data } = await this.apiClient.get(`/api/v0/sdk/${this.environmentId}/settings`, {
|
|
852
|
+
headers: {
|
|
853
|
+
[DynamicRequestIdHeader]: uuid.v4().replace('-', '')
|
|
854
|
+
}
|
|
855
|
+
});
|
|
856
|
+
return data;
|
|
857
|
+
}
|
|
858
|
+
constructor({ environmentId, authToken, baseApiUrl, authMode = AuthMode.HEADER }){
|
|
809
859
|
super({
|
|
810
860
|
environmentId,
|
|
811
861
|
authToken,
|
|
812
|
-
baseApiUrl
|
|
862
|
+
baseApiUrl,
|
|
863
|
+
authMode
|
|
813
864
|
});
|
|
814
865
|
}
|
|
815
866
|
}
|
|
816
867
|
|
|
868
|
+
exports.AuthMode = AuthMode;
|
|
817
869
|
exports.BITCOIN_DERIVATION_PATHS = BITCOIN_DERIVATION_PATHS;
|
|
818
870
|
exports.BackupLocation = BackupLocation;
|
|
819
871
|
exports.CreateRoomPartiesOptions = CreateRoomPartiesOptions;
|
|
872
|
+
exports.DELEGATED_SHARE_COUNT = DELEGATED_SHARE_COUNT;
|
|
820
873
|
exports.DYNAMIC_AUTH_BASE_API_URL_MAP = DYNAMIC_AUTH_BASE_API_URL_MAP;
|
|
821
874
|
exports.DYNAMIC_AUTH_DEV_BASE_API_URL = DYNAMIC_AUTH_DEV_BASE_API_URL;
|
|
822
875
|
exports.DYNAMIC_AUTH_PREPROD_BASE_API_URL = DYNAMIC_AUTH_PREPROD_BASE_API_URL;
|
|
@@ -831,8 +884,10 @@ exports.DYNAMIC_CLIENT_RELAY_REDCOAST_MAP = DYNAMIC_CLIENT_RELAY_REDCOAST_MAP;
|
|
|
831
884
|
exports.DYNAMIC_CLIENT_USER_SHARE_RELAY_MAP = DYNAMIC_CLIENT_USER_SHARE_RELAY_MAP;
|
|
832
885
|
exports.DynamicApiClient = DynamicApiClient;
|
|
833
886
|
exports.DynamicClientSessionSignature = DynamicClientSessionSignature;
|
|
887
|
+
exports.DynamicMfaTokenHeader = DynamicMfaTokenHeader;
|
|
834
888
|
exports.DynamicRequestIdHeader = DynamicRequestIdHeader;
|
|
835
889
|
exports.ENVIRONMENT_ENUM = ENVIRONMENT_ENUM;
|
|
890
|
+
exports.FEATURE_FLAGS = FEATURE_FLAGS;
|
|
836
891
|
exports.IFRAME_DOMAIN_MAP = IFRAME_DOMAIN_MAP;
|
|
837
892
|
exports.MPC_CHAIN_CONFIG = MPC_CHAIN_CONFIG;
|
|
838
893
|
exports.MPC_CONFIG = MPC_CONFIG;
|
package/index.esm.js
CHANGED
|
@@ -12,6 +12,7 @@ var ENVIRONMENT_ENUM = /*#__PURE__*/ function(ENVIRONMENT_ENUM) {
|
|
|
12
12
|
}({});
|
|
13
13
|
const DynamicRequestIdHeader = 'x-dyn-request-id';
|
|
14
14
|
const DynamicClientSessionSignature = 'x-dyn-client-session-signature';
|
|
15
|
+
const DynamicMfaTokenHeader = 'x-mfa-auth-token';
|
|
15
16
|
const DYNAMIC_CLIENT_RELAY_PROD_BASE_API_URL = 'https://waas-keyshares-relay.dynamicauth.com';
|
|
16
17
|
const DYNAMIC_CLIENT_RELAY_PREPROD_BASE_API_URL = 'https://waas-keyshares-dynamic-preprod-xyz-app-32d15525a875.relay.evervault.app';
|
|
17
18
|
const DYNAMIC_CLIENT_RELAY_DEV_BASE_API_URL = 'https://waas-keyshares-dynamic-preprod-xyz-app-32d15525a875.relay.evervault.app';
|
|
@@ -81,6 +82,10 @@ const verifiedCredentialNameToChainEnum = {
|
|
|
81
82
|
solana: 'SVM',
|
|
82
83
|
sui: 'SUI'
|
|
83
84
|
};
|
|
85
|
+
const DELEGATED_SHARE_COUNT = 1;
|
|
86
|
+
const FEATURE_FLAGS = {
|
|
87
|
+
ENABLE_DELEGATED_KEY_SHARES_FLAG: 'enable-delegated-key-shares'
|
|
88
|
+
};
|
|
84
89
|
|
|
85
90
|
var SigningAlgorithm = /*#__PURE__*/ function(SigningAlgorithm) {
|
|
86
91
|
SigningAlgorithm["ECDSA"] = "ECDSA";
|
|
@@ -437,13 +442,28 @@ function getEnvironmentFromUrl(url) {
|
|
|
437
442
|
return ENVIRONMENT_ENUM.production;
|
|
438
443
|
}
|
|
439
444
|
|
|
445
|
+
function _extends() {
|
|
446
|
+
_extends = Object.assign || function assign(target) {
|
|
447
|
+
for(var i = 1; i < arguments.length; i++){
|
|
448
|
+
var source = arguments[i];
|
|
449
|
+
for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
|
|
450
|
+
}
|
|
451
|
+
return target;
|
|
452
|
+
};
|
|
453
|
+
return _extends.apply(this, arguments);
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
var AuthMode = /*#__PURE__*/ function(AuthMode) {
|
|
457
|
+
AuthMode["HEADER"] = "header";
|
|
458
|
+
AuthMode["COOKIE"] = "cookie";
|
|
459
|
+
return AuthMode;
|
|
460
|
+
}({});
|
|
440
461
|
var SuccessEventType = /*#__PURE__*/ function(SuccessEventType) {
|
|
441
462
|
SuccessEventType["KeygenComplete"] = "keygen_complete";
|
|
442
463
|
SuccessEventType["RoomCreated"] = "room_created";
|
|
443
464
|
SuccessEventType["CeremonyComplete"] = "ceremony_complete";
|
|
444
465
|
return SuccessEventType;
|
|
445
466
|
}({});
|
|
446
|
-
// iframe communication types end
|
|
447
467
|
|
|
448
468
|
/**
|
|
449
469
|
* Creates a promise that resolves when a specific event is received from an event stream.
|
|
@@ -453,17 +473,19 @@ var SuccessEventType = /*#__PURE__*/ function(SuccessEventType) {
|
|
|
453
473
|
* @param apiClient The axios instance to use for API calls
|
|
454
474
|
* @param options The configuration options
|
|
455
475
|
* @returns A promise that resolves with the event data or rejects on timeout
|
|
456
|
-
*/ const createEventStreamPromise = ({ apiClient, dynamicRequestId, endpoint, body, successEventType, timeoutMs = 30000, timeoutMessage, onError, onCeremonyComplete })=>{
|
|
476
|
+
*/ const createEventStreamPromise = ({ apiClient, dynamicRequestId, endpoint, body, successEventType, timeoutMs = 30000, timeoutMessage, onError, onCeremonyComplete, mfaToken })=>{
|
|
477
|
+
const headers = {
|
|
478
|
+
Accept: 'text/event-stream',
|
|
479
|
+
'Cache-Control': 'no-cache',
|
|
480
|
+
Connection: 'keep-alive',
|
|
481
|
+
[DynamicRequestIdHeader]: dynamicRequestId,
|
|
482
|
+
[DynamicMfaTokenHeader]: mfaToken
|
|
483
|
+
};
|
|
457
484
|
// Create a promise that will resolve when the success event is received
|
|
458
485
|
const eventPromise = new Promise((resolve, reject)=>{
|
|
459
486
|
apiClient.post(endpoint, body, {
|
|
460
487
|
responseType: 'stream',
|
|
461
|
-
headers: {
|
|
462
|
-
Accept: 'text/event-stream',
|
|
463
|
-
'Cache-Control': 'no-cache',
|
|
464
|
-
Connection: 'keep-alive',
|
|
465
|
-
[DynamicRequestIdHeader]: dynamicRequestId
|
|
466
|
-
},
|
|
488
|
+
headers: _extends({}, headers),
|
|
467
489
|
adapter: 'fetch'
|
|
468
490
|
}).then(createSuccessErrorEventStreamHandler({
|
|
469
491
|
onError,
|
|
@@ -582,8 +604,12 @@ var version = "0.0.1";
|
|
|
582
604
|
|
|
583
605
|
class BaseClient {
|
|
584
606
|
syncAuthToken(authToken) {
|
|
607
|
+
if (this.authMode === 'cookie') {
|
|
608
|
+
// For cookie auth, we don't need to sync tokens as they're handled by cookies
|
|
609
|
+
return;
|
|
610
|
+
}
|
|
585
611
|
if (!authToken) {
|
|
586
|
-
throw new Error('Auth token is required');
|
|
612
|
+
throw new Error('Auth token is required for header authentication');
|
|
587
613
|
}
|
|
588
614
|
const authHeader = `Bearer ${authToken}`;
|
|
589
615
|
this.apiClient.defaults.headers['Authorization'] = authHeader;
|
|
@@ -594,22 +620,32 @@ class BaseClient {
|
|
|
594
620
|
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
621
|
}
|
|
596
622
|
}
|
|
597
|
-
constructor({ environmentId, baseApiUrl, authToken, baseClientRelayApiUrl }){
|
|
623
|
+
constructor({ environmentId, baseApiUrl, authToken, baseClientRelayApiUrl, authMode = AuthMode.HEADER }){
|
|
598
624
|
const headers = {};
|
|
599
|
-
|
|
625
|
+
// Only set Authorization header if using header auth mode and token is provided
|
|
626
|
+
if (authMode === AuthMode.HEADER && authToken) {
|
|
627
|
+
headers['Authorization'] = `Bearer ${authToken}`;
|
|
628
|
+
}
|
|
600
629
|
headers['x-dyn-wallet-sdk-version'] = version;
|
|
601
630
|
this.environmentId = environmentId;
|
|
631
|
+
this.authMode = authMode;
|
|
602
632
|
const environment = getEnvironmentFromUrl(baseApiUrl);
|
|
603
633
|
this.baseApiUrl = baseApiUrl != null ? baseApiUrl : DYNAMIC_AUTH_BASE_API_URL_MAP[environment];
|
|
604
|
-
|
|
634
|
+
// Configure axios to include credentials for cookie auth
|
|
635
|
+
const axiosConfig = _extends({
|
|
605
636
|
baseURL: this.baseApiUrl,
|
|
606
637
|
headers
|
|
607
|
-
}
|
|
638
|
+
}, authMode === 'cookie' ? {
|
|
639
|
+
withCredentials: true
|
|
640
|
+
} : {});
|
|
641
|
+
this.apiClient = axios.create(axiosConfig);
|
|
608
642
|
this.clientRelayBaseApiUrl = baseClientRelayApiUrl != null ? baseClientRelayApiUrl : DYNAMIC_CLIENT_USER_SHARE_RELAY_MAP[environment];
|
|
609
|
-
this.clientRelayApiClient = axios.create({
|
|
643
|
+
this.clientRelayApiClient = axios.create(_extends({
|
|
610
644
|
baseURL: this.clientRelayBaseApiUrl,
|
|
611
645
|
headers
|
|
612
|
-
}
|
|
646
|
+
}, authMode === 'cookie' ? {
|
|
647
|
+
withCredentials: true
|
|
648
|
+
} : {}));
|
|
613
649
|
}
|
|
614
650
|
}
|
|
615
651
|
|
|
@@ -637,7 +673,7 @@ class DynamicApiClient extends BaseClient {
|
|
|
637
673
|
onCeremonyComplete
|
|
638
674
|
});
|
|
639
675
|
}
|
|
640
|
-
async signMessage({ dynamicRequestId, walletId, message, onError, isFormatted }) {
|
|
676
|
+
async signMessage({ dynamicRequestId, walletId, message, onError, isFormatted, mfaToken }) {
|
|
641
677
|
return createEventStreamPromise({
|
|
642
678
|
apiClient: this.apiClient,
|
|
643
679
|
dynamicRequestId,
|
|
@@ -648,10 +684,11 @@ class DynamicApiClient extends BaseClient {
|
|
|
648
684
|
},
|
|
649
685
|
successEventType: SuccessEventType.RoomCreated,
|
|
650
686
|
timeoutMessage: 'Message signing timed out',
|
|
651
|
-
onError
|
|
687
|
+
onError,
|
|
688
|
+
mfaToken
|
|
652
689
|
});
|
|
653
690
|
}
|
|
654
|
-
async refreshWalletAccountShares({ dynamicRequestId, walletId, onError }) {
|
|
691
|
+
async refreshWalletAccountShares({ dynamicRequestId, walletId, onError, mfaToken }) {
|
|
655
692
|
return createEventStreamPromise({
|
|
656
693
|
apiClient: this.apiClient,
|
|
657
694
|
dynamicRequestId,
|
|
@@ -659,10 +696,11 @@ class DynamicApiClient extends BaseClient {
|
|
|
659
696
|
body: undefined,
|
|
660
697
|
successEventType: SuccessEventType.RoomCreated,
|
|
661
698
|
timeoutMessage: 'Refresh timed out',
|
|
662
|
-
onError
|
|
699
|
+
onError,
|
|
700
|
+
mfaToken
|
|
663
701
|
});
|
|
664
702
|
}
|
|
665
|
-
async reshare({ walletId, dynamicRequestId, clientKeygenIds, oldThresholdSignatureScheme, newThresholdSignatureScheme, onError }) {
|
|
703
|
+
async reshare({ walletId, dynamicRequestId, clientKeygenIds, oldThresholdSignatureScheme, newThresholdSignatureScheme, delegateToProjectEnvironment, mfaToken, onError }) {
|
|
666
704
|
return createEventStreamPromise({
|
|
667
705
|
apiClient: this.apiClient,
|
|
668
706
|
dynamicRequestId,
|
|
@@ -670,14 +708,16 @@ class DynamicApiClient extends BaseClient {
|
|
|
670
708
|
body: {
|
|
671
709
|
clientKeygenIds,
|
|
672
710
|
oldThresholdSignatureScheme,
|
|
673
|
-
newThresholdSignatureScheme
|
|
711
|
+
newThresholdSignatureScheme,
|
|
712
|
+
delegateToProjectEnvironment
|
|
674
713
|
},
|
|
675
714
|
successEventType: SuccessEventType.RoomCreated,
|
|
676
715
|
timeoutMessage: 'Reshare timed out',
|
|
677
|
-
onError
|
|
716
|
+
onError,
|
|
717
|
+
mfaToken
|
|
678
718
|
});
|
|
679
719
|
}
|
|
680
|
-
async exportKey({ dynamicRequestId, walletId, exportId, onError }) {
|
|
720
|
+
async exportKey({ mfaToken, dynamicRequestId, walletId, exportId, onError }) {
|
|
681
721
|
return createEventStreamPromise({
|
|
682
722
|
apiClient: this.apiClient,
|
|
683
723
|
dynamicRequestId,
|
|
@@ -687,7 +727,8 @@ class DynamicApiClient extends BaseClient {
|
|
|
687
727
|
},
|
|
688
728
|
successEventType: SuccessEventType.RoomCreated,
|
|
689
729
|
timeoutMessage: 'Key export timed out',
|
|
690
|
-
onError
|
|
730
|
+
onError,
|
|
731
|
+
mfaToken
|
|
691
732
|
});
|
|
692
733
|
}
|
|
693
734
|
async storeEncryptedBackupByWallet({ walletId, encryptedKeyShares, passwordEncrypted, signedSessionId, encryptionVersion }) {
|
|
@@ -712,9 +753,9 @@ class DynamicApiClient extends BaseClient {
|
|
|
712
753
|
});
|
|
713
754
|
return data;
|
|
714
755
|
}
|
|
715
|
-
async markKeySharesAsBackedUp({ walletId,
|
|
716
|
-
const { data } = await this.apiClient.post(`/api/v0/sdk/${this.environmentId}/waas/${walletId}/keyShares/backup/
|
|
717
|
-
|
|
756
|
+
async markKeySharesAsBackedUp({ walletId, locations }) {
|
|
757
|
+
const { data } = await this.apiClient.post(`/api/v0/sdk/${this.environmentId}/waas/${walletId}/keyShares/backup/locations`, {
|
|
758
|
+
locations
|
|
718
759
|
}, {
|
|
719
760
|
headers: {
|
|
720
761
|
[DynamicRequestIdHeader]: v4().replace('-', '')
|
|
@@ -722,14 +763,15 @@ class DynamicApiClient extends BaseClient {
|
|
|
722
763
|
});
|
|
723
764
|
return data;
|
|
724
765
|
}
|
|
725
|
-
async recoverEncryptedBackupByWallet({ walletId, keyShareIds, signedSessionId }) {
|
|
766
|
+
async recoverEncryptedBackupByWallet({ walletId, keyShareIds, signedSessionId, mfaToken }) {
|
|
726
767
|
// TODO: add signed messsage to body?
|
|
727
768
|
const { data } = await this.clientRelayApiClient.post(`/api/v0/sdk/${this.environmentId}/waas/${walletId}/keyShares/recover`, keyShareIds ? {
|
|
728
769
|
keyShareIds
|
|
729
770
|
} : undefined, {
|
|
730
771
|
headers: {
|
|
731
772
|
[DynamicRequestIdHeader]: v4().replace('-', ''),
|
|
732
|
-
[DynamicClientSessionSignature]: signedSessionId
|
|
773
|
+
[DynamicClientSessionSignature]: signedSessionId,
|
|
774
|
+
[DynamicMfaTokenHeader]: mfaToken
|
|
733
775
|
}
|
|
734
776
|
});
|
|
735
777
|
return data;
|
|
@@ -803,13 +845,22 @@ class DynamicApiClient extends BaseClient {
|
|
|
803
845
|
}
|
|
804
846
|
}
|
|
805
847
|
}
|
|
806
|
-
|
|
848
|
+
async getEnvironmentSettings() {
|
|
849
|
+
const { data } = await this.apiClient.get(`/api/v0/sdk/${this.environmentId}/settings`, {
|
|
850
|
+
headers: {
|
|
851
|
+
[DynamicRequestIdHeader]: v4().replace('-', '')
|
|
852
|
+
}
|
|
853
|
+
});
|
|
854
|
+
return data;
|
|
855
|
+
}
|
|
856
|
+
constructor({ environmentId, authToken, baseApiUrl, authMode = AuthMode.HEADER }){
|
|
807
857
|
super({
|
|
808
858
|
environmentId,
|
|
809
859
|
authToken,
|
|
810
|
-
baseApiUrl
|
|
860
|
+
baseApiUrl,
|
|
861
|
+
authMode
|
|
811
862
|
});
|
|
812
863
|
}
|
|
813
864
|
}
|
|
814
865
|
|
|
815
|
-
export { BITCOIN_DERIVATION_PATHS, BackupLocation, CreateRoomPartiesOptions, DYNAMIC_AUTH_BASE_API_URL_MAP, DYNAMIC_AUTH_DEV_BASE_API_URL, DYNAMIC_AUTH_PREPROD_BASE_API_URL, DYNAMIC_AUTH_PROD_BASE_API_URL, DYNAMIC_CLIENT_RELAY_DEV_BASE_API_URL, DYNAMIC_CLIENT_RELAY_DEV_REDCOAST_API_URL, DYNAMIC_CLIENT_RELAY_PREPROD_BASE_API_URL, DYNAMIC_CLIENT_RELAY_PREPROD_REDCOAST_API_URL, DYNAMIC_CLIENT_RELAY_PROD_BASE_API_URL, DYNAMIC_CLIENT_RELAY_PROD_REDCOAST_API_URL, DYNAMIC_CLIENT_RELAY_REDCOAST_MAP, DYNAMIC_CLIENT_USER_SHARE_RELAY_MAP, DynamicApiClient, DynamicClientSessionSignature, DynamicRequestIdHeader, ENVIRONMENT_ENUM, IFRAME_DOMAIN_MAP, MPC_CHAIN_CONFIG, MPC_CONFIG, MPC_RELAY_DEV_API_URL, MPC_RELAY_PREPROD_API_URL, MPC_RELAY_PROD_API_URL, SOLANA_RPC_URL, SigningAlgorithm, SuccessEventType, ThresholdSignatureScheme, URL_PATTERNS, WalletOperation, chain, chainEnumToVerifiedCredentialName, getClientThreshold, getDynamicServerThreshold, getEnvironmentFromUrl, getMPCChainConfig, getReshareConfig, getServerWalletReshareConfig, getTSSConfig, verifiedCredentialNameToChainEnum };
|
|
866
|
+
export { AuthMode, BITCOIN_DERIVATION_PATHS, BackupLocation, CreateRoomPartiesOptions, DELEGATED_SHARE_COUNT, DYNAMIC_AUTH_BASE_API_URL_MAP, DYNAMIC_AUTH_DEV_BASE_API_URL, DYNAMIC_AUTH_PREPROD_BASE_API_URL, DYNAMIC_AUTH_PROD_BASE_API_URL, DYNAMIC_CLIENT_RELAY_DEV_BASE_API_URL, DYNAMIC_CLIENT_RELAY_DEV_REDCOAST_API_URL, DYNAMIC_CLIENT_RELAY_PREPROD_BASE_API_URL, DYNAMIC_CLIENT_RELAY_PREPROD_REDCOAST_API_URL, DYNAMIC_CLIENT_RELAY_PROD_BASE_API_URL, DYNAMIC_CLIENT_RELAY_PROD_REDCOAST_API_URL, DYNAMIC_CLIENT_RELAY_REDCOAST_MAP, DYNAMIC_CLIENT_USER_SHARE_RELAY_MAP, DynamicApiClient, DynamicClientSessionSignature, DynamicMfaTokenHeader, DynamicRequestIdHeader, ENVIRONMENT_ENUM, FEATURE_FLAGS, IFRAME_DOMAIN_MAP, MPC_CHAIN_CONFIG, MPC_CONFIG, MPC_RELAY_DEV_API_URL, MPC_RELAY_PREPROD_API_URL, MPC_RELAY_PROD_API_URL, SOLANA_RPC_URL, SigningAlgorithm, SuccessEventType, ThresholdSignatureScheme, URL_PATTERNS, WalletOperation, chain, chainEnumToVerifiedCredentialName, getClientThreshold, getDynamicServerThreshold, getEnvironmentFromUrl, getMPCChainConfig, getReshareConfig, getServerWalletReshareConfig, getTSSConfig, verifiedCredentialNameToChainEnum };
|
package/package.json
CHANGED
package/src/api/api.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { BackupLocation } from '../constants';
|
|
2
2
|
import type { ThresholdSignatureScheme } from '../mpc/constants';
|
|
3
|
-
import { type KeygenCompleteResponse, type OpenRoomResponse, type ReshareResponse } from '../types';
|
|
3
|
+
import { AuthMode, BackupLocationWithExternalKeyShareId, type KeygenCompleteResponse, type OpenRoomResponse, type ReshareResponse } from '../types';
|
|
4
4
|
import { BaseClient } from './client';
|
|
5
5
|
export declare class DynamicApiClient extends BaseClient {
|
|
6
|
-
constructor({ environmentId, authToken, baseApiUrl, }: {
|
|
6
|
+
constructor({ environmentId, authToken, baseApiUrl, authMode, }: {
|
|
7
7
|
environmentId: string;
|
|
8
8
|
authToken: string;
|
|
9
9
|
baseApiUrl?: string;
|
|
10
|
+
authMode?: AuthMode;
|
|
10
11
|
});
|
|
11
12
|
authenticateApiToken({ environmentId }: {
|
|
12
13
|
environmentId: string;
|
|
@@ -19,30 +20,35 @@ export declare class DynamicApiClient extends BaseClient {
|
|
|
19
20
|
onError?: (error: Error) => void;
|
|
20
21
|
onCeremonyComplete?: (accountAddress: string, walletId: string) => void;
|
|
21
22
|
}): Promise<KeygenCompleteResponse>;
|
|
22
|
-
signMessage({ dynamicRequestId, walletId, message, onError, isFormatted, }: {
|
|
23
|
+
signMessage({ dynamicRequestId, walletId, message, onError, isFormatted, mfaToken, }: {
|
|
23
24
|
dynamicRequestId?: string;
|
|
24
25
|
walletId: string;
|
|
25
26
|
message: string;
|
|
26
27
|
onError?: (error: Error) => void;
|
|
27
28
|
isFormatted?: boolean;
|
|
29
|
+
mfaToken?: string;
|
|
28
30
|
}): Promise<OpenRoomResponse>;
|
|
29
|
-
refreshWalletAccountShares({ dynamicRequestId, walletId, onError, }: {
|
|
31
|
+
refreshWalletAccountShares({ dynamicRequestId, walletId, onError, mfaToken, }: {
|
|
30
32
|
dynamicRequestId?: string;
|
|
31
33
|
walletId: string;
|
|
32
34
|
onError?: (error: Error) => void;
|
|
35
|
+
mfaToken?: string;
|
|
33
36
|
}): Promise<{
|
|
34
37
|
roomId: string;
|
|
35
38
|
serverKeygenIds: string[];
|
|
36
39
|
}>;
|
|
37
|
-
reshare({ walletId, dynamicRequestId, clientKeygenIds, oldThresholdSignatureScheme, newThresholdSignatureScheme, onError, }: {
|
|
40
|
+
reshare({ walletId, dynamicRequestId, clientKeygenIds, oldThresholdSignatureScheme, newThresholdSignatureScheme, delegateToProjectEnvironment, mfaToken, onError, }: {
|
|
38
41
|
dynamicRequestId?: string;
|
|
39
42
|
walletId: string;
|
|
40
43
|
clientKeygenIds: string[];
|
|
41
44
|
oldThresholdSignatureScheme: ThresholdSignatureScheme;
|
|
42
45
|
newThresholdSignatureScheme: ThresholdSignatureScheme;
|
|
46
|
+
delegateToProjectEnvironment?: boolean;
|
|
47
|
+
mfaToken?: string;
|
|
43
48
|
onError?: (error: Error) => void;
|
|
44
49
|
}): Promise<ReshareResponse>;
|
|
45
|
-
exportKey({ dynamicRequestId, walletId, exportId, onError, }: {
|
|
50
|
+
exportKey({ mfaToken, dynamicRequestId, walletId, exportId, onError, }: {
|
|
51
|
+
mfaToken?: string;
|
|
46
52
|
dynamicRequestId?: string;
|
|
47
53
|
walletId: string;
|
|
48
54
|
exportId: string;
|
|
@@ -52,20 +58,29 @@ export declare class DynamicApiClient extends BaseClient {
|
|
|
52
58
|
walletId: string;
|
|
53
59
|
encryptedKeyShares: string[];
|
|
54
60
|
passwordEncrypted: boolean;
|
|
55
|
-
signedSessionId
|
|
61
|
+
signedSessionId: string;
|
|
56
62
|
encryptionVersion?: string;
|
|
57
63
|
}): Promise<any>;
|
|
58
64
|
markKeySharesAsBackedUpGoogleDrive({ walletId }: {
|
|
59
65
|
walletId: string;
|
|
60
66
|
}): Promise<any>;
|
|
61
|
-
markKeySharesAsBackedUp({ walletId,
|
|
67
|
+
markKeySharesAsBackedUp({ walletId, locations, }: {
|
|
62
68
|
walletId: string;
|
|
63
|
-
|
|
64
|
-
}): Promise<
|
|
65
|
-
|
|
69
|
+
locations: BackupLocationWithExternalKeyShareId[];
|
|
70
|
+
}): Promise<{
|
|
71
|
+
message: string;
|
|
72
|
+
walletId: string;
|
|
73
|
+
locationsWithKeyShares: {
|
|
74
|
+
location: BackupLocation;
|
|
75
|
+
keyShareId: string;
|
|
76
|
+
externalKeyShareId?: string;
|
|
77
|
+
}[];
|
|
78
|
+
}>;
|
|
79
|
+
recoverEncryptedBackupByWallet({ walletId, keyShareIds, signedSessionId, mfaToken, }: {
|
|
66
80
|
walletId: string;
|
|
67
81
|
keyShareIds?: string[];
|
|
68
|
-
signedSessionId
|
|
82
|
+
signedSessionId: string;
|
|
83
|
+
mfaToken?: string;
|
|
69
84
|
}): Promise<any>;
|
|
70
85
|
getAccessToken({ oauthAccountId }: {
|
|
71
86
|
oauthAccountId: string;
|
|
@@ -80,5 +95,6 @@ export declare class DynamicApiClient extends BaseClient {
|
|
|
80
95
|
}): Promise<KeygenCompleteResponse>;
|
|
81
96
|
getUser(): Promise<any>;
|
|
82
97
|
refreshUser(): Promise<any>;
|
|
98
|
+
getEnvironmentSettings(): Promise<any>;
|
|
83
99
|
}
|
|
84
100
|
//# sourceMappingURL=api.d.ts.map
|
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":"AACA,OAAO,EACL,cAAc,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}
|
package/src/api/client.d.ts
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { type AxiosInstance } from 'axios';
|
|
2
|
+
import { AuthMode } from '../types';
|
|
2
3
|
export declare class BaseClient {
|
|
3
4
|
apiClient: AxiosInstance;
|
|
4
5
|
baseApiUrl: string;
|
|
5
6
|
environmentId: string;
|
|
6
7
|
clientRelayBaseApiUrl: string;
|
|
7
8
|
clientRelayApiClient: AxiosInstance;
|
|
8
|
-
|
|
9
|
+
protected authMode: AuthMode;
|
|
10
|
+
constructor({ environmentId, baseApiUrl, authToken, baseClientRelayApiUrl, authMode, }: {
|
|
9
11
|
environmentId: string;
|
|
10
12
|
baseApiUrl?: string;
|
|
11
13
|
authToken: string;
|
|
12
14
|
baseClientRelayApiUrl?: string;
|
|
15
|
+
authMode?: AuthMode;
|
|
13
16
|
});
|
|
14
17
|
syncAuthToken(authToken: string): void;
|
|
15
18
|
}
|
package/src/api/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAOlD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,qBAAa,UAAU;IACd,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,aAAa,CAAC;IAC3C,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAEjB,EACV,aAAa,EACb,UAAU,EACV,SAAS,EACT,qBAAqB,EACrB,QAA0B,GAC3B,EAAE;QACD,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;KACrB;IAmCD,aAAa,CAAC,SAAS,EAAE,MAAM;CA4BhC"}
|
package/src/constants.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export declare enum ENVIRONMENT_ENUM {
|
|
|
8
8
|
}
|
|
9
9
|
export declare const DynamicRequestIdHeader = "x-dyn-request-id";
|
|
10
10
|
export declare const DynamicClientSessionSignature = "x-dyn-client-session-signature";
|
|
11
|
+
export declare const DynamicMfaTokenHeader = "x-mfa-auth-token";
|
|
11
12
|
export declare const DYNAMIC_CLIENT_RELAY_PROD_BASE_API_URL = "https://waas-keyshares-relay.dynamicauth.com";
|
|
12
13
|
export declare const DYNAMIC_CLIENT_RELAY_PREPROD_BASE_API_URL = "https://waas-keyshares-dynamic-preprod-xyz-app-32d15525a875.relay.evervault.app";
|
|
13
14
|
export declare const DYNAMIC_CLIENT_RELAY_DEV_BASE_API_URL = "https://waas-keyshares-dynamic-preprod-xyz-app-32d15525a875.relay.evervault.app";
|
|
@@ -70,4 +71,8 @@ export declare const chainEnumToVerifiedCredentialName: {
|
|
|
70
71
|
export declare const verifiedCredentialNameToChainEnum: {
|
|
71
72
|
[key: string]: string;
|
|
72
73
|
};
|
|
74
|
+
export declare const DELEGATED_SHARE_COUNT = 1;
|
|
75
|
+
export declare const FEATURE_FLAGS: {
|
|
76
|
+
ENABLE_DELEGATED_KEY_SHARES_FLAG: string;
|
|
77
|
+
};
|
|
73
78
|
//# sourceMappingURL=constants.d.ts.map
|
package/src/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../packages/src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,gCAAgC,CAAC;AAC5E,eAAO,MAAM,iCAAiC,oCACX,CAAC;AACpC,eAAO,MAAM,6BAA6B,0BAA0B,CAAC;AAErE,oBAAY,gBAAgB;IAC1B,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;CAC1B;AAED,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AACzD,eAAO,MAAM,6BAA6B,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../packages/src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,gCAAgC,CAAC;AAC5E,eAAO,MAAM,iCAAiC,oCACX,CAAC;AACpC,eAAO,MAAM,6BAA6B,0BAA0B,CAAC;AAErE,oBAAY,gBAAgB;IAC1B,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;CAC1B;AAED,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AACzD,eAAO,MAAM,6BAA6B,mCAAmC,CAAC;AAC9E,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AAExD,eAAO,MAAM,sCAAsC,iDACH,CAAC;AACjD,eAAO,MAAM,yCAAyC,oFAC6B,CAAC;AACpF,eAAO,MAAM,qCAAqC,oFACiC,CAAC;AAEpF,eAAO,MAAM,0CAA0C,qEACa,CAAC;AACrE,eAAO,MAAM,6CAA6C,yEACc,CAAC;AACzE,eAAO,MAAM,yCAAyC,0BAC7B,CAAC;AAE1B,eAAO,MAAM,6BAA6B;;;;CAIhC,CAAC;AAEX,eAAO,MAAM,mCAAmC;;;;CAItC,CAAC;AAEX,eAAO,MAAM,iCAAiC;;;;CAIpC,CAAC;AAEX,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAC9D,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AACrE,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAE7D,eAAO,MAAM,cAAc,kCAAkC,CAAC;AAE9D,eAAO,MAAM,KAAK;;;;;;;CAOR,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC;AAE3D,oBAAY,eAAe;IACzB,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,kBAAkB,uBAAuB;IACzC,YAAY,iBAAiB;CAC9B;AAED,oBAAY,cAAc;IACxB,OAAO,YAAY;IACnB,YAAY,gBAAgB;IAC5B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX,eAAO,MAAM,iCAAiC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAKtE,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAKtE,CAAC;AAEF,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,eAAO,MAAM,aAAa;;CAEzB,CAAC"}
|
|
@@ -9,7 +9,7 @@ import { SuccessEventType } from '../types';
|
|
|
9
9
|
* @param options The configuration options
|
|
10
10
|
* @returns A promise that resolves with the event data or rejects on timeout
|
|
11
11
|
*/
|
|
12
|
-
export declare const createEventStreamPromise: <T>({ apiClient, dynamicRequestId, endpoint, body, successEventType, timeoutMs, timeoutMessage, onError, onCeremonyComplete, }: {
|
|
12
|
+
export declare const createEventStreamPromise: <T>({ apiClient, dynamicRequestId, endpoint, body, successEventType, timeoutMs, timeoutMessage, onError, onCeremonyComplete, mfaToken, }: {
|
|
13
13
|
apiClient: AxiosInstance;
|
|
14
14
|
dynamicRequestId?: string;
|
|
15
15
|
endpoint: string;
|
|
@@ -19,6 +19,7 @@ export declare const createEventStreamPromise: <T>({ apiClient, dynamicRequestId
|
|
|
19
19
|
timeoutMessage: string;
|
|
20
20
|
onError?: (error: Error) => void;
|
|
21
21
|
onCeremonyComplete?: (accountAddress: string, walletId: string) => void;
|
|
22
|
+
mfaToken?: string;
|
|
22
23
|
}) => Promise<T>;
|
|
23
24
|
/**
|
|
24
25
|
* Creates a handler function for processing server-sent events (SSE) streams.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/eventStream/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/eventStream/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,wIAWvC;IACD,SAAS,EAAE,aAAa,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC1C,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,KAAG,OAAO,CAAC,CAAC,CAsCZ,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oCAAoC,GAAI,CAAC,uEAMnD;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC3B,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzE,gBACmB;IAChB,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM;YACf,IAAI,EAAE,MAAM,OAAO,CAAC;gBAAE,KAAK,EAAE,UAAU,CAAC;gBAAC,IAAI,EAAE,OAAO,CAAA;aAAE,CAAC,CAAC;SAC3D,CAAC;KACH,CAAC;CACH,SAyCF,CAAC"}
|
package/src/types.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { BackupLocation, WalletOperation } from './constants';
|
|
2
2
|
import { ThresholdSignatureScheme } from './mpc';
|
|
3
|
+
export declare enum AuthMode {
|
|
4
|
+
HEADER = "header",
|
|
5
|
+
COOKIE = "cookie"
|
|
6
|
+
}
|
|
3
7
|
export type InitKeygenResult = {
|
|
4
8
|
keygenId: string;
|
|
5
9
|
keygenSecret: string;
|
|
@@ -32,7 +36,7 @@ export type InitializeResult = {
|
|
|
32
36
|
};
|
|
33
37
|
export interface KeyShareBackupInfo {
|
|
34
38
|
passwordEncrypted: boolean;
|
|
35
|
-
backups: Record<BackupLocation,
|
|
39
|
+
backups: Record<BackupLocation, BackupLocationWithExternalKeyShareId[]>;
|
|
36
40
|
}
|
|
37
41
|
export interface WaasWalletProperties {
|
|
38
42
|
derivationPath?: string;
|
|
@@ -43,7 +47,9 @@ export interface KeyShareInfo {
|
|
|
43
47
|
id: string;
|
|
44
48
|
backupLocation: BackupLocation;
|
|
45
49
|
passwordEncrypted: boolean;
|
|
50
|
+
externalKeyShareId?: string;
|
|
46
51
|
}
|
|
52
|
+
export type FeatureFlags = Record<string, boolean>;
|
|
47
53
|
export interface DynamicWalletClientProps {
|
|
48
54
|
environmentId: string;
|
|
49
55
|
authToken: string;
|
|
@@ -51,6 +57,8 @@ export interface DynamicWalletClientProps {
|
|
|
51
57
|
storageKey?: string;
|
|
52
58
|
debug?: boolean;
|
|
53
59
|
baseMPCRelayApiUrl?: string;
|
|
60
|
+
featureFlags?: FeatureFlags;
|
|
61
|
+
authMode?: AuthMode;
|
|
54
62
|
}
|
|
55
63
|
export type BackupData = {
|
|
56
64
|
keyShares: string[];
|
|
@@ -84,6 +92,7 @@ export type IframeRequestMessages = {
|
|
|
84
92
|
isPasswordEncrypted: (request: IsPasswordEncryptedRequest) => Promise<boolean>;
|
|
85
93
|
backupKeySharesToGoogleDrive: (request: BackupKeySharesToGoogleDriveRequest) => Promise<string[]>;
|
|
86
94
|
restoreBackupFromGoogleDrive: (request: RestoreBackupFromGoogleDriveRequest) => Promise<void>;
|
|
95
|
+
delegateKeyShares: (request: DelegateKeySharesRequest) => Promise<void>;
|
|
87
96
|
refreshWalletAccountShares: (request: RefreshWalletAccountSharesRequest) => Promise<void>;
|
|
88
97
|
reshare: (request: ReshareRequest) => Promise<void>;
|
|
89
98
|
exportPrivateKey: (request: ExportPrivateKeyRequest) => Promise<void>;
|
|
@@ -98,7 +107,7 @@ export type CreateWalletAccountRequest = {
|
|
|
98
107
|
chainName: string;
|
|
99
108
|
thresholdSignatureScheme: ThresholdSignatureScheme;
|
|
100
109
|
password?: string;
|
|
101
|
-
signedSessionId
|
|
110
|
+
signedSessionId: string;
|
|
102
111
|
authToken?: string;
|
|
103
112
|
};
|
|
104
113
|
export type CreateWalletAccountResponse = {
|
|
@@ -125,7 +134,7 @@ export type GetWalletRequest = {
|
|
|
125
134
|
walletOperation: WalletOperation;
|
|
126
135
|
shareCount?: number;
|
|
127
136
|
password?: string;
|
|
128
|
-
signedSessionId
|
|
137
|
+
signedSessionId: string;
|
|
129
138
|
authToken?: string;
|
|
130
139
|
};
|
|
131
140
|
export type SignMessageRequest = {
|
|
@@ -133,16 +142,18 @@ export type SignMessageRequest = {
|
|
|
133
142
|
message: string;
|
|
134
143
|
accountAddress: string;
|
|
135
144
|
password?: string;
|
|
136
|
-
signedSessionId
|
|
145
|
+
signedSessionId: string;
|
|
137
146
|
authToken?: string;
|
|
147
|
+
mfaToken?: string;
|
|
138
148
|
};
|
|
139
149
|
export type SignRawMessageRequest = {
|
|
140
150
|
chainName: string;
|
|
141
151
|
message: string;
|
|
142
152
|
accountAddress: string;
|
|
143
153
|
password?: string;
|
|
144
|
-
signedSessionId
|
|
154
|
+
signedSessionId: string;
|
|
145
155
|
authToken?: string;
|
|
156
|
+
mfaToken?: string;
|
|
146
157
|
};
|
|
147
158
|
export type RequiresPasswordForOperationRequest = {
|
|
148
159
|
chainName: string;
|
|
@@ -155,16 +166,18 @@ export type SignTransactionRequest = {
|
|
|
155
166
|
senderAddress: string;
|
|
156
167
|
transaction: string;
|
|
157
168
|
password?: string;
|
|
158
|
-
signedSessionId
|
|
169
|
+
signedSessionId: string;
|
|
159
170
|
authToken?: string;
|
|
171
|
+
mfaToken?: string;
|
|
160
172
|
};
|
|
161
173
|
export type SignTypedDataRequest = {
|
|
162
174
|
chainName: string;
|
|
163
175
|
accountAddress: string;
|
|
164
176
|
typedData: string;
|
|
165
177
|
password?: string;
|
|
166
|
-
signedSessionId
|
|
178
|
+
signedSessionId: string;
|
|
167
179
|
authToken?: string;
|
|
180
|
+
mfaToken?: string;
|
|
168
181
|
};
|
|
169
182
|
export type IsPasswordEncryptedRequest = {
|
|
170
183
|
chainName: string;
|
|
@@ -175,22 +188,31 @@ export type BackupKeySharesToGoogleDriveRequest = {
|
|
|
175
188
|
chainName: string;
|
|
176
189
|
accountAddress: string;
|
|
177
190
|
password?: string;
|
|
178
|
-
signedSessionId
|
|
191
|
+
signedSessionId: string;
|
|
179
192
|
authToken?: string;
|
|
180
193
|
};
|
|
181
194
|
export type RestoreBackupFromGoogleDriveRequest = {
|
|
182
195
|
chainName: string;
|
|
183
196
|
accountAddress: string;
|
|
184
197
|
password?: string;
|
|
185
|
-
signedSessionId
|
|
198
|
+
signedSessionId: string;
|
|
186
199
|
authToken?: string;
|
|
187
200
|
};
|
|
201
|
+
export type DelegateKeySharesRequest = {
|
|
202
|
+
chainName: string;
|
|
203
|
+
accountAddress: string;
|
|
204
|
+
password?: string;
|
|
205
|
+
signedSessionId: string;
|
|
206
|
+
authToken?: string;
|
|
207
|
+
mfaToken?: string;
|
|
208
|
+
};
|
|
188
209
|
export type RefreshWalletAccountSharesRequest = {
|
|
189
210
|
chainName: string;
|
|
190
211
|
accountAddress: string;
|
|
191
212
|
password?: string;
|
|
192
|
-
signedSessionId
|
|
213
|
+
signedSessionId: string;
|
|
193
214
|
authToken?: string;
|
|
215
|
+
mfaToken?: string;
|
|
194
216
|
};
|
|
195
217
|
export type ReshareRequest = {
|
|
196
218
|
chainName: string;
|
|
@@ -198,22 +220,24 @@ export type ReshareRequest = {
|
|
|
198
220
|
oldThresholdSignatureScheme: ThresholdSignatureScheme;
|
|
199
221
|
newThresholdSignatureScheme: ThresholdSignatureScheme;
|
|
200
222
|
password?: string;
|
|
201
|
-
signedSessionId
|
|
223
|
+
signedSessionId: string;
|
|
202
224
|
authToken?: string;
|
|
225
|
+
mfaToken?: string;
|
|
203
226
|
};
|
|
204
227
|
export type ExportPrivateKeyRequest = {
|
|
205
228
|
chainName: string;
|
|
206
229
|
accountAddress: string;
|
|
207
230
|
password?: string;
|
|
208
|
-
signedSessionId
|
|
231
|
+
signedSessionId: string;
|
|
209
232
|
authToken?: string;
|
|
233
|
+
mfaToken?: string;
|
|
210
234
|
};
|
|
211
235
|
export type VerifyPasswordRequest = {
|
|
212
236
|
chainName: string;
|
|
213
237
|
accountAddress: string;
|
|
214
238
|
password?: string;
|
|
215
239
|
walletOperation?: WalletOperation;
|
|
216
|
-
signedSessionId
|
|
240
|
+
signedSessionId: string;
|
|
217
241
|
authToken?: string;
|
|
218
242
|
};
|
|
219
243
|
export type UpdatePasswordRequest = {
|
|
@@ -221,7 +245,7 @@ export type UpdatePasswordRequest = {
|
|
|
221
245
|
accountAddress: string;
|
|
222
246
|
existingPassword: string;
|
|
223
247
|
newPassword: string;
|
|
224
|
-
signedSessionId
|
|
248
|
+
signedSessionId: string;
|
|
225
249
|
authToken?: string;
|
|
226
250
|
};
|
|
227
251
|
export type ImportPrivateKeyRequest = {
|
|
@@ -229,13 +253,13 @@ export type ImportPrivateKeyRequest = {
|
|
|
229
253
|
privateKey: string;
|
|
230
254
|
thresholdSignatureScheme: ThresholdSignatureScheme;
|
|
231
255
|
password?: string;
|
|
232
|
-
signedSessionId
|
|
256
|
+
signedSessionId: string;
|
|
233
257
|
authToken?: string;
|
|
234
258
|
};
|
|
235
259
|
export type ExportClientKeysharesRequest = {
|
|
236
260
|
chainName: string;
|
|
237
261
|
accountAddress: string;
|
|
238
|
-
signedSessionId
|
|
262
|
+
signedSessionId: string;
|
|
239
263
|
password?: string;
|
|
240
264
|
authToken?: string;
|
|
241
265
|
};
|
|
@@ -247,4 +271,9 @@ export type OfflineExportPrivateKeyRequest = {
|
|
|
247
271
|
export type OfflineExportPrivateKeyResponse = {
|
|
248
272
|
derivedPrivateKey: string | undefined;
|
|
249
273
|
};
|
|
274
|
+
export type BackupLocationWithExternalKeyShareId = {
|
|
275
|
+
location: BackupLocation;
|
|
276
|
+
externalKeyShareId?: string;
|
|
277
|
+
keyShareId?: string;
|
|
278
|
+
};
|
|
250
279
|
//# sourceMappingURL=types.d.ts.map
|
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,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../packages/src/types.ts"],"names":[],"mappings":"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"}
|