@dynamic-labs-wallet/browser-wallet-client 1.1.16 → 1.1.18
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
CHANGED
|
@@ -29,6 +29,11 @@ function _object_without_properties_loose(source, excluded) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
class IframeMessageHandler {
|
|
32
|
+
async request(requestName, ...params) {
|
|
33
|
+
const response = await this.requestChannel.request(requestName, ...params);
|
|
34
|
+
this.handleIframeMessageResponseError(response);
|
|
35
|
+
return response;
|
|
36
|
+
}
|
|
32
37
|
// Handle error response from iframe message handler
|
|
33
38
|
handleIframeMessageResponseError(response) {
|
|
34
39
|
if (typeof response === 'object' && response !== null && 'error' in response) {
|
|
@@ -40,92 +45,58 @@ class IframeMessageHandler {
|
|
|
40
45
|
}
|
|
41
46
|
}
|
|
42
47
|
async getWallets(request) {
|
|
43
|
-
|
|
44
|
-
this.handleIframeMessageResponseError(response);
|
|
45
|
-
return response;
|
|
48
|
+
return this.request('getWallets', request);
|
|
46
49
|
}
|
|
47
50
|
async getAllWallets(request) {
|
|
48
|
-
|
|
49
|
-
this.handleIframeMessageResponseError(response);
|
|
50
|
-
return response;
|
|
51
|
+
return this.request('getAllWallets', request);
|
|
51
52
|
}
|
|
52
53
|
async getWallet(request) {
|
|
53
|
-
|
|
54
|
-
this.handleIframeMessageResponseError(response);
|
|
55
|
-
return response;
|
|
54
|
+
return this.request('getWallet', request);
|
|
56
55
|
}
|
|
57
56
|
async createBusinessAccount(request) {
|
|
58
|
-
|
|
59
|
-
this.handleIframeMessageResponseError(response);
|
|
60
|
-
return response;
|
|
57
|
+
return this.request('createBusinessAccount', request);
|
|
61
58
|
}
|
|
62
59
|
async listBusinessAccounts(request) {
|
|
63
|
-
|
|
64
|
-
this.handleIframeMessageResponseError(response);
|
|
65
|
-
return response;
|
|
60
|
+
return this.request('listBusinessAccounts', request);
|
|
66
61
|
}
|
|
67
62
|
async getBusinessAccount(request) {
|
|
68
|
-
|
|
69
|
-
this.handleIframeMessageResponseError(response);
|
|
70
|
-
return response;
|
|
63
|
+
return this.request('getBusinessAccount', request);
|
|
71
64
|
}
|
|
72
65
|
async linkWalletToBusinessAccount(request) {
|
|
73
|
-
|
|
74
|
-
this.handleIframeMessageResponseError(response);
|
|
75
|
-
return response;
|
|
66
|
+
return this.request('linkWalletToBusinessAccount', request);
|
|
76
67
|
}
|
|
77
68
|
async addBusinessAccountMember(request) {
|
|
78
|
-
|
|
79
|
-
this.handleIframeMessageResponseError(response);
|
|
80
|
-
return response;
|
|
69
|
+
return this.request('addBusinessAccountMember', request);
|
|
81
70
|
}
|
|
82
71
|
async addBusinessAccountSigner(request) {
|
|
83
|
-
|
|
84
|
-
this.handleIframeMessageResponseError(response);
|
|
85
|
-
return response;
|
|
72
|
+
return this.request('addBusinessAccountSigner', request);
|
|
86
73
|
}
|
|
87
74
|
async reshareToNewSignerShareSet(request) {
|
|
88
|
-
|
|
89
|
-
this.handleIframeMessageResponseError(response);
|
|
90
|
-
return response;
|
|
75
|
+
return this.request('reshareToNewSignerShareSet', request);
|
|
91
76
|
}
|
|
92
77
|
async createWalletAccount(request) {
|
|
93
|
-
|
|
94
|
-
this.handleIframeMessageResponseError(response);
|
|
95
|
-
return response;
|
|
78
|
+
return this.request('createWalletAccount', request);
|
|
96
79
|
}
|
|
97
80
|
async requiresPasswordForOperation(request) {
|
|
98
|
-
|
|
99
|
-
this.handleIframeMessageResponseError(response);
|
|
100
|
-
return response;
|
|
81
|
+
return this.request('requiresPasswordForOperation', request);
|
|
101
82
|
}
|
|
102
83
|
async signMessage(request) {
|
|
103
|
-
|
|
104
|
-
this.handleIframeMessageResponseError(response);
|
|
105
|
-
return response;
|
|
84
|
+
return this.request('signMessage', request);
|
|
106
85
|
}
|
|
107
86
|
async signRawMessage(request) {
|
|
108
|
-
|
|
109
|
-
this.handleIframeMessageResponseError(response);
|
|
110
|
-
return response;
|
|
87
|
+
return this.request('signRawMessage', request);
|
|
111
88
|
}
|
|
112
89
|
async signTransaction(request) {
|
|
113
|
-
|
|
114
|
-
this.handleIframeMessageResponseError(response);
|
|
115
|
-
return response;
|
|
90
|
+
return this.request('signTransaction', request);
|
|
116
91
|
}
|
|
117
92
|
async isPasswordEncrypted(request) {
|
|
118
|
-
|
|
119
|
-
this.handleIframeMessageResponseError(response);
|
|
120
|
-
return response;
|
|
93
|
+
return this.request('isPasswordEncrypted', request);
|
|
121
94
|
}
|
|
122
95
|
async backupKeySharesToGoogleDrive(request) {
|
|
123
|
-
|
|
124
|
-
this.handleIframeMessageResponseError(response);
|
|
96
|
+
await this.request('backupKeySharesToGoogleDrive', request);
|
|
125
97
|
}
|
|
126
98
|
async backupKeySharesToICloud(request) {
|
|
127
|
-
|
|
128
|
-
this.handleIframeMessageResponseError(response);
|
|
99
|
+
await this.request('backupKeySharesToICloud', request);
|
|
129
100
|
}
|
|
130
101
|
async displayICloudSignIn(chainName) {
|
|
131
102
|
await this.requestChannel.request('displayICloudSignIn', {
|
|
@@ -141,134 +112,91 @@ class IframeMessageHandler {
|
|
|
141
112
|
});
|
|
142
113
|
}
|
|
143
114
|
async delegateKeyShares(request) {
|
|
144
|
-
|
|
145
|
-
this.handleIframeMessageResponseError(response);
|
|
115
|
+
await this.request('delegateKeyShares', request);
|
|
146
116
|
}
|
|
147
117
|
async offlineRecovery(request) {
|
|
148
|
-
|
|
149
|
-
this.handleIframeMessageResponseError(response);
|
|
118
|
+
await this.request('offlineRecovery', request);
|
|
150
119
|
}
|
|
151
120
|
async revokeDelegation(request) {
|
|
152
|
-
|
|
153
|
-
this.handleIframeMessageResponseError(response);
|
|
121
|
+
await this.request('revokeDelegation', request);
|
|
154
122
|
}
|
|
155
123
|
async exportClientKeysharesFromGoogleDrive(request) {
|
|
156
|
-
|
|
157
|
-
this.handleIframeMessageResponseError(response);
|
|
124
|
+
await this.request('exportClientKeysharesFromGoogleDrive', request);
|
|
158
125
|
}
|
|
159
126
|
async refreshWalletAccountShares(request) {
|
|
160
|
-
|
|
161
|
-
this.handleIframeMessageResponseError(response);
|
|
127
|
+
await this.request('refreshWalletAccountShares', request);
|
|
162
128
|
}
|
|
163
129
|
async reshare(request) {
|
|
164
|
-
|
|
165
|
-
this.handleIframeMessageResponseError(response);
|
|
130
|
+
await this.request('reshare', request);
|
|
166
131
|
}
|
|
167
132
|
async exportPrivateKey(request) {
|
|
168
|
-
|
|
169
|
-
this.handleIframeMessageResponseError(response);
|
|
133
|
+
await this.request('exportPrivateKey', request);
|
|
170
134
|
}
|
|
171
135
|
async proveAleoTransaction(request) {
|
|
172
|
-
|
|
173
|
-
this.handleIframeMessageResponseError(response);
|
|
174
|
-
return response;
|
|
136
|
+
return this.request('proveAleoTransaction', request);
|
|
175
137
|
}
|
|
176
138
|
async findAleoOwnedRecords(request) {
|
|
177
|
-
|
|
178
|
-
this.handleIframeMessageResponseError(response);
|
|
179
|
-
return response;
|
|
139
|
+
return this.request('findAleoOwnedRecords', request);
|
|
180
140
|
}
|
|
181
141
|
async isAleoFeemasterCovered(request) {
|
|
182
|
-
|
|
183
|
-
this.handleIframeMessageResponseError(response);
|
|
184
|
-
return Boolean(response);
|
|
142
|
+
return Boolean(await this.request('isAleoFeemasterCovered', request));
|
|
185
143
|
}
|
|
186
144
|
async verifyPassword(request) {
|
|
187
|
-
|
|
188
|
-
this.handleIframeMessageResponseError(response);
|
|
145
|
+
await this.request('verifyPassword', request);
|
|
189
146
|
}
|
|
190
147
|
async updatePassword(request) {
|
|
191
|
-
|
|
192
|
-
this.handleIframeMessageResponseError(response);
|
|
148
|
+
await this.request('updatePassword', request);
|
|
193
149
|
}
|
|
194
150
|
async setPassword(request) {
|
|
195
|
-
|
|
196
|
-
this.handleIframeMessageResponseError(response);
|
|
151
|
+
await this.request('setPassword', request);
|
|
197
152
|
}
|
|
198
153
|
async importPrivateKey(request) {
|
|
199
|
-
|
|
200
|
-
this.handleIframeMessageResponseError(response);
|
|
201
|
-
return response;
|
|
154
|
+
return this.request('importPrivateKey', request);
|
|
202
155
|
}
|
|
203
156
|
async migrateFromFireblocks(request) {
|
|
204
|
-
|
|
205
|
-
this.handleIframeMessageResponseError(response);
|
|
206
|
-
return response;
|
|
157
|
+
return this.request('migrateFromFireblocks', request);
|
|
207
158
|
}
|
|
208
159
|
async sendAuthToken(token, authMode, traceContext) {
|
|
209
160
|
return this.requestChannel.request('sendAuthToken', token, authMode, traceContext);
|
|
210
161
|
}
|
|
211
162
|
async exportClientKeyshares(request) {
|
|
212
|
-
|
|
213
|
-
this.handleIframeMessageResponseError(response);
|
|
163
|
+
await this.request('exportClientKeyshares', request);
|
|
214
164
|
}
|
|
215
165
|
async offlineExportPrivateKey(request) {
|
|
216
|
-
|
|
217
|
-
this.handleIframeMessageResponseError(response);
|
|
218
|
-
return response;
|
|
166
|
+
return this.request('offlineExportPrivateKey', request);
|
|
219
167
|
}
|
|
220
168
|
async signTypedData(request) {
|
|
221
|
-
|
|
222
|
-
this.handleIframeMessageResponseError(response);
|
|
223
|
-
return response;
|
|
169
|
+
return this.request('signTypedData', request);
|
|
224
170
|
}
|
|
225
171
|
async cleanup() {
|
|
226
172
|
return this.requestChannel.request('cleanup');
|
|
227
173
|
}
|
|
228
174
|
async getWalletRecoveryState(request) {
|
|
229
|
-
|
|
230
|
-
this.handleIframeMessageResponseError(response);
|
|
231
|
-
return response;
|
|
175
|
+
return this.request('getWalletRecoveryState', request);
|
|
232
176
|
}
|
|
233
177
|
async unlockWallet(request) {
|
|
234
|
-
|
|
235
|
-
this.handleIframeMessageResponseError(response);
|
|
236
|
-
return response;
|
|
178
|
+
return this.request('unlockWallet', request);
|
|
237
179
|
}
|
|
238
180
|
async getPrivateBalance(request) {
|
|
239
|
-
|
|
240
|
-
this.handleIframeMessageResponseError(response);
|
|
241
|
-
return response;
|
|
181
|
+
return this.request('getPrivateBalance', request);
|
|
242
182
|
}
|
|
243
183
|
async getWalletProvider(request) {
|
|
244
|
-
|
|
245
|
-
this.handleIframeMessageResponseError(response);
|
|
246
|
-
return response;
|
|
184
|
+
return this.request('getWalletProvider', request);
|
|
247
185
|
}
|
|
248
186
|
async balanceWalletProviderTransaction(request) {
|
|
249
|
-
|
|
250
|
-
this.handleIframeMessageResponseError(response);
|
|
251
|
-
return response;
|
|
187
|
+
return this.request('balanceWalletProviderTransaction', request);
|
|
252
188
|
}
|
|
253
189
|
async registerDust(request) {
|
|
254
|
-
|
|
255
|
-
this.handleIframeMessageResponseError(response);
|
|
256
|
-
return response;
|
|
190
|
+
return this.request('registerDust', request);
|
|
257
191
|
}
|
|
258
192
|
async createTransferTransaction(request) {
|
|
259
|
-
|
|
260
|
-
this.handleIframeMessageResponseError(response);
|
|
261
|
-
return response;
|
|
193
|
+
return this.request('createTransferTransaction', request);
|
|
262
194
|
}
|
|
263
195
|
async submitTransaction(request) {
|
|
264
|
-
|
|
265
|
-
this.handleIframeMessageResponseError(response);
|
|
266
|
-
return response;
|
|
196
|
+
return this.request('submitTransaction', request);
|
|
267
197
|
}
|
|
268
198
|
async revertTransaction(request) {
|
|
269
|
-
|
|
270
|
-
this.handleIframeMessageResponseError(response);
|
|
271
|
-
return response;
|
|
199
|
+
return this.request('revertTransaction', request);
|
|
272
200
|
}
|
|
273
201
|
constructor(messageTransport$1){
|
|
274
202
|
this.requestChannel = messageTransport.createRequestChannel(messageTransport$1);
|
|
@@ -296,6 +224,9 @@ const isNativeBridgeEvent = (event)=>event.source === null && isOpaqueOrigin(eve
|
|
|
296
224
|
};
|
|
297
225
|
const setupMessageTransportBridge = (messageTransport$1, iframe, iframeOrigin)=>{
|
|
298
226
|
const logger = new logger$1.Logger('debug');
|
|
227
|
+
// A detached iframe keeps failing until the recovery manager rebuilds it,
|
|
228
|
+
// so only the first drop per detach gets logged.
|
|
229
|
+
let loggedIframeUnavailable = false;
|
|
299
230
|
function hostListener(message) {
|
|
300
231
|
if (message.origin !== 'host') return;
|
|
301
232
|
// Detached iframe (relogin / RN modal unmount left a stale ref): log and
|
|
@@ -304,11 +235,15 @@ const setupMessageTransportBridge = (messageTransport$1, iframe, iframeOrigin)=>
|
|
|
304
235
|
// bridge. Throwing here would break that recovery flow because the
|
|
305
236
|
// listener runs synchronously inside emit().
|
|
306
237
|
if (!(iframe == null ? void 0 : iframe.contentWindow) || iframe.isConnected === false) {
|
|
307
|
-
|
|
238
|
+
if (!loggedIframeUnavailable) {
|
|
239
|
+
loggedIframeUnavailable = true;
|
|
240
|
+
logger.error('Cannot send message to iframe: contentWindow is unavailable');
|
|
241
|
+
}
|
|
308
242
|
return;
|
|
309
243
|
}
|
|
310
244
|
try {
|
|
311
245
|
iframe.contentWindow.postMessage(message, iframeOrigin);
|
|
246
|
+
loggedIframeUnavailable = false;
|
|
312
247
|
} catch (error) {
|
|
313
248
|
// "Attempt to postMessage on disconnected port" (Firefox) — same path: log + drop.
|
|
314
249
|
logger.error('Failed to post message to iframe:', error);
|
package/index.esm.js
CHANGED
|
@@ -28,6 +28,11 @@ function _object_without_properties_loose(source, excluded) {
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
class IframeMessageHandler {
|
|
31
|
+
async request(requestName, ...params) {
|
|
32
|
+
const response = await this.requestChannel.request(requestName, ...params);
|
|
33
|
+
this.handleIframeMessageResponseError(response);
|
|
34
|
+
return response;
|
|
35
|
+
}
|
|
31
36
|
// Handle error response from iframe message handler
|
|
32
37
|
handleIframeMessageResponseError(response) {
|
|
33
38
|
if (typeof response === 'object' && response !== null && 'error' in response) {
|
|
@@ -39,92 +44,58 @@ class IframeMessageHandler {
|
|
|
39
44
|
}
|
|
40
45
|
}
|
|
41
46
|
async getWallets(request) {
|
|
42
|
-
|
|
43
|
-
this.handleIframeMessageResponseError(response);
|
|
44
|
-
return response;
|
|
47
|
+
return this.request('getWallets', request);
|
|
45
48
|
}
|
|
46
49
|
async getAllWallets(request) {
|
|
47
|
-
|
|
48
|
-
this.handleIframeMessageResponseError(response);
|
|
49
|
-
return response;
|
|
50
|
+
return this.request('getAllWallets', request);
|
|
50
51
|
}
|
|
51
52
|
async getWallet(request) {
|
|
52
|
-
|
|
53
|
-
this.handleIframeMessageResponseError(response);
|
|
54
|
-
return response;
|
|
53
|
+
return this.request('getWallet', request);
|
|
55
54
|
}
|
|
56
55
|
async createBusinessAccount(request) {
|
|
57
|
-
|
|
58
|
-
this.handleIframeMessageResponseError(response);
|
|
59
|
-
return response;
|
|
56
|
+
return this.request('createBusinessAccount', request);
|
|
60
57
|
}
|
|
61
58
|
async listBusinessAccounts(request) {
|
|
62
|
-
|
|
63
|
-
this.handleIframeMessageResponseError(response);
|
|
64
|
-
return response;
|
|
59
|
+
return this.request('listBusinessAccounts', request);
|
|
65
60
|
}
|
|
66
61
|
async getBusinessAccount(request) {
|
|
67
|
-
|
|
68
|
-
this.handleIframeMessageResponseError(response);
|
|
69
|
-
return response;
|
|
62
|
+
return this.request('getBusinessAccount', request);
|
|
70
63
|
}
|
|
71
64
|
async linkWalletToBusinessAccount(request) {
|
|
72
|
-
|
|
73
|
-
this.handleIframeMessageResponseError(response);
|
|
74
|
-
return response;
|
|
65
|
+
return this.request('linkWalletToBusinessAccount', request);
|
|
75
66
|
}
|
|
76
67
|
async addBusinessAccountMember(request) {
|
|
77
|
-
|
|
78
|
-
this.handleIframeMessageResponseError(response);
|
|
79
|
-
return response;
|
|
68
|
+
return this.request('addBusinessAccountMember', request);
|
|
80
69
|
}
|
|
81
70
|
async addBusinessAccountSigner(request) {
|
|
82
|
-
|
|
83
|
-
this.handleIframeMessageResponseError(response);
|
|
84
|
-
return response;
|
|
71
|
+
return this.request('addBusinessAccountSigner', request);
|
|
85
72
|
}
|
|
86
73
|
async reshareToNewSignerShareSet(request) {
|
|
87
|
-
|
|
88
|
-
this.handleIframeMessageResponseError(response);
|
|
89
|
-
return response;
|
|
74
|
+
return this.request('reshareToNewSignerShareSet', request);
|
|
90
75
|
}
|
|
91
76
|
async createWalletAccount(request) {
|
|
92
|
-
|
|
93
|
-
this.handleIframeMessageResponseError(response);
|
|
94
|
-
return response;
|
|
77
|
+
return this.request('createWalletAccount', request);
|
|
95
78
|
}
|
|
96
79
|
async requiresPasswordForOperation(request) {
|
|
97
|
-
|
|
98
|
-
this.handleIframeMessageResponseError(response);
|
|
99
|
-
return response;
|
|
80
|
+
return this.request('requiresPasswordForOperation', request);
|
|
100
81
|
}
|
|
101
82
|
async signMessage(request) {
|
|
102
|
-
|
|
103
|
-
this.handleIframeMessageResponseError(response);
|
|
104
|
-
return response;
|
|
83
|
+
return this.request('signMessage', request);
|
|
105
84
|
}
|
|
106
85
|
async signRawMessage(request) {
|
|
107
|
-
|
|
108
|
-
this.handleIframeMessageResponseError(response);
|
|
109
|
-
return response;
|
|
86
|
+
return this.request('signRawMessage', request);
|
|
110
87
|
}
|
|
111
88
|
async signTransaction(request) {
|
|
112
|
-
|
|
113
|
-
this.handleIframeMessageResponseError(response);
|
|
114
|
-
return response;
|
|
89
|
+
return this.request('signTransaction', request);
|
|
115
90
|
}
|
|
116
91
|
async isPasswordEncrypted(request) {
|
|
117
|
-
|
|
118
|
-
this.handleIframeMessageResponseError(response);
|
|
119
|
-
return response;
|
|
92
|
+
return this.request('isPasswordEncrypted', request);
|
|
120
93
|
}
|
|
121
94
|
async backupKeySharesToGoogleDrive(request) {
|
|
122
|
-
|
|
123
|
-
this.handleIframeMessageResponseError(response);
|
|
95
|
+
await this.request('backupKeySharesToGoogleDrive', request);
|
|
124
96
|
}
|
|
125
97
|
async backupKeySharesToICloud(request) {
|
|
126
|
-
|
|
127
|
-
this.handleIframeMessageResponseError(response);
|
|
98
|
+
await this.request('backupKeySharesToICloud', request);
|
|
128
99
|
}
|
|
129
100
|
async displayICloudSignIn(chainName) {
|
|
130
101
|
await this.requestChannel.request('displayICloudSignIn', {
|
|
@@ -140,134 +111,91 @@ class IframeMessageHandler {
|
|
|
140
111
|
});
|
|
141
112
|
}
|
|
142
113
|
async delegateKeyShares(request) {
|
|
143
|
-
|
|
144
|
-
this.handleIframeMessageResponseError(response);
|
|
114
|
+
await this.request('delegateKeyShares', request);
|
|
145
115
|
}
|
|
146
116
|
async offlineRecovery(request) {
|
|
147
|
-
|
|
148
|
-
this.handleIframeMessageResponseError(response);
|
|
117
|
+
await this.request('offlineRecovery', request);
|
|
149
118
|
}
|
|
150
119
|
async revokeDelegation(request) {
|
|
151
|
-
|
|
152
|
-
this.handleIframeMessageResponseError(response);
|
|
120
|
+
await this.request('revokeDelegation', request);
|
|
153
121
|
}
|
|
154
122
|
async exportClientKeysharesFromGoogleDrive(request) {
|
|
155
|
-
|
|
156
|
-
this.handleIframeMessageResponseError(response);
|
|
123
|
+
await this.request('exportClientKeysharesFromGoogleDrive', request);
|
|
157
124
|
}
|
|
158
125
|
async refreshWalletAccountShares(request) {
|
|
159
|
-
|
|
160
|
-
this.handleIframeMessageResponseError(response);
|
|
126
|
+
await this.request('refreshWalletAccountShares', request);
|
|
161
127
|
}
|
|
162
128
|
async reshare(request) {
|
|
163
|
-
|
|
164
|
-
this.handleIframeMessageResponseError(response);
|
|
129
|
+
await this.request('reshare', request);
|
|
165
130
|
}
|
|
166
131
|
async exportPrivateKey(request) {
|
|
167
|
-
|
|
168
|
-
this.handleIframeMessageResponseError(response);
|
|
132
|
+
await this.request('exportPrivateKey', request);
|
|
169
133
|
}
|
|
170
134
|
async proveAleoTransaction(request) {
|
|
171
|
-
|
|
172
|
-
this.handleIframeMessageResponseError(response);
|
|
173
|
-
return response;
|
|
135
|
+
return this.request('proveAleoTransaction', request);
|
|
174
136
|
}
|
|
175
137
|
async findAleoOwnedRecords(request) {
|
|
176
|
-
|
|
177
|
-
this.handleIframeMessageResponseError(response);
|
|
178
|
-
return response;
|
|
138
|
+
return this.request('findAleoOwnedRecords', request);
|
|
179
139
|
}
|
|
180
140
|
async isAleoFeemasterCovered(request) {
|
|
181
|
-
|
|
182
|
-
this.handleIframeMessageResponseError(response);
|
|
183
|
-
return Boolean(response);
|
|
141
|
+
return Boolean(await this.request('isAleoFeemasterCovered', request));
|
|
184
142
|
}
|
|
185
143
|
async verifyPassword(request) {
|
|
186
|
-
|
|
187
|
-
this.handleIframeMessageResponseError(response);
|
|
144
|
+
await this.request('verifyPassword', request);
|
|
188
145
|
}
|
|
189
146
|
async updatePassword(request) {
|
|
190
|
-
|
|
191
|
-
this.handleIframeMessageResponseError(response);
|
|
147
|
+
await this.request('updatePassword', request);
|
|
192
148
|
}
|
|
193
149
|
async setPassword(request) {
|
|
194
|
-
|
|
195
|
-
this.handleIframeMessageResponseError(response);
|
|
150
|
+
await this.request('setPassword', request);
|
|
196
151
|
}
|
|
197
152
|
async importPrivateKey(request) {
|
|
198
|
-
|
|
199
|
-
this.handleIframeMessageResponseError(response);
|
|
200
|
-
return response;
|
|
153
|
+
return this.request('importPrivateKey', request);
|
|
201
154
|
}
|
|
202
155
|
async migrateFromFireblocks(request) {
|
|
203
|
-
|
|
204
|
-
this.handleIframeMessageResponseError(response);
|
|
205
|
-
return response;
|
|
156
|
+
return this.request('migrateFromFireblocks', request);
|
|
206
157
|
}
|
|
207
158
|
async sendAuthToken(token, authMode, traceContext) {
|
|
208
159
|
return this.requestChannel.request('sendAuthToken', token, authMode, traceContext);
|
|
209
160
|
}
|
|
210
161
|
async exportClientKeyshares(request) {
|
|
211
|
-
|
|
212
|
-
this.handleIframeMessageResponseError(response);
|
|
162
|
+
await this.request('exportClientKeyshares', request);
|
|
213
163
|
}
|
|
214
164
|
async offlineExportPrivateKey(request) {
|
|
215
|
-
|
|
216
|
-
this.handleIframeMessageResponseError(response);
|
|
217
|
-
return response;
|
|
165
|
+
return this.request('offlineExportPrivateKey', request);
|
|
218
166
|
}
|
|
219
167
|
async signTypedData(request) {
|
|
220
|
-
|
|
221
|
-
this.handleIframeMessageResponseError(response);
|
|
222
|
-
return response;
|
|
168
|
+
return this.request('signTypedData', request);
|
|
223
169
|
}
|
|
224
170
|
async cleanup() {
|
|
225
171
|
return this.requestChannel.request('cleanup');
|
|
226
172
|
}
|
|
227
173
|
async getWalletRecoveryState(request) {
|
|
228
|
-
|
|
229
|
-
this.handleIframeMessageResponseError(response);
|
|
230
|
-
return response;
|
|
174
|
+
return this.request('getWalletRecoveryState', request);
|
|
231
175
|
}
|
|
232
176
|
async unlockWallet(request) {
|
|
233
|
-
|
|
234
|
-
this.handleIframeMessageResponseError(response);
|
|
235
|
-
return response;
|
|
177
|
+
return this.request('unlockWallet', request);
|
|
236
178
|
}
|
|
237
179
|
async getPrivateBalance(request) {
|
|
238
|
-
|
|
239
|
-
this.handleIframeMessageResponseError(response);
|
|
240
|
-
return response;
|
|
180
|
+
return this.request('getPrivateBalance', request);
|
|
241
181
|
}
|
|
242
182
|
async getWalletProvider(request) {
|
|
243
|
-
|
|
244
|
-
this.handleIframeMessageResponseError(response);
|
|
245
|
-
return response;
|
|
183
|
+
return this.request('getWalletProvider', request);
|
|
246
184
|
}
|
|
247
185
|
async balanceWalletProviderTransaction(request) {
|
|
248
|
-
|
|
249
|
-
this.handleIframeMessageResponseError(response);
|
|
250
|
-
return response;
|
|
186
|
+
return this.request('balanceWalletProviderTransaction', request);
|
|
251
187
|
}
|
|
252
188
|
async registerDust(request) {
|
|
253
|
-
|
|
254
|
-
this.handleIframeMessageResponseError(response);
|
|
255
|
-
return response;
|
|
189
|
+
return this.request('registerDust', request);
|
|
256
190
|
}
|
|
257
191
|
async createTransferTransaction(request) {
|
|
258
|
-
|
|
259
|
-
this.handleIframeMessageResponseError(response);
|
|
260
|
-
return response;
|
|
192
|
+
return this.request('createTransferTransaction', request);
|
|
261
193
|
}
|
|
262
194
|
async submitTransaction(request) {
|
|
263
|
-
|
|
264
|
-
this.handleIframeMessageResponseError(response);
|
|
265
|
-
return response;
|
|
195
|
+
return this.request('submitTransaction', request);
|
|
266
196
|
}
|
|
267
197
|
async revertTransaction(request) {
|
|
268
|
-
|
|
269
|
-
this.handleIframeMessageResponseError(response);
|
|
270
|
-
return response;
|
|
198
|
+
return this.request('revertTransaction', request);
|
|
271
199
|
}
|
|
272
200
|
constructor(messageTransport){
|
|
273
201
|
this.requestChannel = createRequestChannel(messageTransport);
|
|
@@ -295,6 +223,9 @@ const isNativeBridgeEvent = (event)=>event.source === null && isOpaqueOrigin(eve
|
|
|
295
223
|
};
|
|
296
224
|
const setupMessageTransportBridge = (messageTransport, iframe, iframeOrigin)=>{
|
|
297
225
|
const logger = new Logger('debug');
|
|
226
|
+
// A detached iframe keeps failing until the recovery manager rebuilds it,
|
|
227
|
+
// so only the first drop per detach gets logged.
|
|
228
|
+
let loggedIframeUnavailable = false;
|
|
298
229
|
function hostListener(message) {
|
|
299
230
|
if (message.origin !== 'host') return;
|
|
300
231
|
// Detached iframe (relogin / RN modal unmount left a stale ref): log and
|
|
@@ -303,11 +234,15 @@ const setupMessageTransportBridge = (messageTransport, iframe, iframeOrigin)=>{
|
|
|
303
234
|
// bridge. Throwing here would break that recovery flow because the
|
|
304
235
|
// listener runs synchronously inside emit().
|
|
305
236
|
if (!(iframe == null ? void 0 : iframe.contentWindow) || iframe.isConnected === false) {
|
|
306
|
-
|
|
237
|
+
if (!loggedIframeUnavailable) {
|
|
238
|
+
loggedIframeUnavailable = true;
|
|
239
|
+
logger.error('Cannot send message to iframe: contentWindow is unavailable');
|
|
240
|
+
}
|
|
307
241
|
return;
|
|
308
242
|
}
|
|
309
243
|
try {
|
|
310
244
|
iframe.contentWindow.postMessage(message, iframeOrigin);
|
|
245
|
+
loggedIframeUnavailable = false;
|
|
311
246
|
} catch (error) {
|
|
312
247
|
// "Attempt to postMessage on disconnected port" (Firefox) — same path: log + drop.
|
|
313
248
|
logger.error('Failed to post message to iframe:', error);
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs-wallet/browser-wallet-client",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.18",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@dynamic-labs-wallet/core": "1.1.
|
|
7
|
+
"@dynamic-labs-wallet/core": "1.1.18",
|
|
8
8
|
"@dynamic-labs/logger": "^5.0.0",
|
|
9
9
|
"@dynamic-labs/message-transport": "^5.0.0"
|
|
10
10
|
},
|
|
@@ -3,6 +3,7 @@ import { type MessageTransportWithDefaultOrigin, type RequestChannel } from '@dy
|
|
|
3
3
|
export declare class IframeMessageHandler {
|
|
4
4
|
requestChannel: RequestChannel<IframeRequestMessages>;
|
|
5
5
|
constructor(messageTransport: MessageTransportWithDefaultOrigin);
|
|
6
|
+
private request;
|
|
6
7
|
private handleIframeMessageResponseError;
|
|
7
8
|
getWallets(request: RequestWithTraceContext<GetWalletsRequest>): Promise<GetWalletResponse[]>;
|
|
8
9
|
getAllWallets(request: RequestWithTraceContext<GetAllWalletsRequest>): Promise<GetWalletResponse[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iframeMessageHandler.d.ts","sourceRoot":"","sources":["../../src/services/iframeMessageHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,mCAAmC,EACnC,8BAA8B,EAC9B,kCAAkC,EAClC,+BAA+B,EAC/B,+BAA+B,EAC/B,sCAAsC,EACtC,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC5B,wBAAwB,EACxB,sBAAsB,EACtB,2CAA2C,EAC3C,4BAA4B,EAC5B,uBAAuB,EACvB,6BAA6B,EAC7B,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,iCAAiC,EACjC,8BAA8B,EAC9B,uBAAuB,EACvB,mCAAmC,EACnC,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,uCAAuC,EACvC,wCAAwC,EACxC,mBAAmB,EACnB,oBAAoB,EACpB,gCAAgC,EAChC,iCAAiC,EACjC,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,eAAe,EACf,6BAA6B,EAC7B,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,KAAK,iCAAiC,EACtC,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AAEzC,qBAAa,oBAAoB;IAC/B,cAAc,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAC;gBAE1C,gBAAgB,EAAE,iCAAiC;
|
|
1
|
+
{"version":3,"file":"iframeMessageHandler.d.ts","sourceRoot":"","sources":["../../src/services/iframeMessageHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageTransportBridge.d.ts","sourceRoot":"","sources":["../../src/services/messageTransportBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iCAAiC,EAGvC,MAAM,iCAAiC,CAAC;AA+BzC,eAAO,MAAM,2BAA2B,qBACpB,iCAAiC,UAC3C,iBAAiB,gBACX,MAAM,KACnB,CAAC,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"messageTransportBridge.d.ts","sourceRoot":"","sources":["../../src/services/messageTransportBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iCAAiC,EAGvC,MAAM,iCAAiC,CAAC;AA+BzC,eAAO,MAAM,2BAA2B,qBACpB,iCAAiC,UAC3C,iBAAiB,gBACX,MAAM,KACnB,CAAC,MAAM,IAAI,CAmFb,CAAC"}
|