@multiversx/sdk-web-wallet-cross-window-provider 0.0.2 → 0.0.4
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.
|
@@ -59,18 +59,27 @@ class CrossWindowProvider {
|
|
|
59
59
|
var _a, _b;
|
|
60
60
|
return __awaiter(this, void 0, void 0, function* () {
|
|
61
61
|
if (!this.walletWindow) {
|
|
62
|
+
console.log('In HANDSHAKE: ', 'opening new wallet window');
|
|
62
63
|
this.walletWindow = window.open(this.walletUrl, this.walletUrl);
|
|
63
64
|
}
|
|
64
65
|
else {
|
|
65
|
-
|
|
66
|
+
console.log('In HANDSHAKE: ', 'opening Existing window');
|
|
67
|
+
window.open('', this.walletUrl); // TODO: since walletWindow is always closed, is this needed?
|
|
66
68
|
}
|
|
69
|
+
// TODO: is this needed?
|
|
67
70
|
if (this.handshakeEstablished) {
|
|
71
|
+
console.log('In HANDSHAKE: ', 'handshakeEstablished', this.handshakeEstablished);
|
|
68
72
|
return true;
|
|
69
73
|
}
|
|
74
|
+
console.log('In HANDSHAKE: ', 'start listening for handshake event from wallet');
|
|
70
75
|
const { type, payload } = yield this.listenOnce();
|
|
71
76
|
if (type !== 'handshake' || !payload) {
|
|
72
77
|
throw new Error('Handshake could not be established');
|
|
73
78
|
}
|
|
79
|
+
console.log('In HANDSHAKE: ', 'Listen once event received: ', {
|
|
80
|
+
type,
|
|
81
|
+
payload
|
|
82
|
+
});
|
|
74
83
|
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type: 'mxDappHandshake', payload: true }, this.walletUrl);
|
|
75
84
|
this.onHandshakeChangeListener();
|
|
76
85
|
const payloadQueryString = helpers_1.buildWalletQueryString({
|
|
@@ -79,44 +88,60 @@ class CrossWindowProvider {
|
|
|
79
88
|
}
|
|
80
89
|
});
|
|
81
90
|
const isRelogin = yield this.isConnected();
|
|
91
|
+
console.log('In HANDSHAKE: ', 'Posting mxDappHandshake `true` to wallet', {
|
|
92
|
+
isRelogin
|
|
93
|
+
});
|
|
82
94
|
// TODO: handshake should not handle login logic
|
|
83
95
|
(_b = this.walletWindow) === null || _b === void 0 ? void 0 : _b.postMessage({
|
|
84
96
|
type: 'mxDappConnect',
|
|
85
97
|
payload: { queryString: payloadQueryString, isRelogin }
|
|
86
98
|
}, this.walletUrl);
|
|
99
|
+
console.log('In HANDSHAKE: ', 'Posting mxDappConnect connect intent to wallet', {
|
|
100
|
+
type: 'mxDappConnect',
|
|
101
|
+
payload: { queryString: payloadQueryString, isRelogin }
|
|
102
|
+
});
|
|
87
103
|
if (!isRelogin) {
|
|
104
|
+
console.log('In HANDSHAKE: ', 'Waiting for connect event from wallet ');
|
|
88
105
|
const { type: connectType, payload: { address, signature } } = yield this.listenOnce();
|
|
89
106
|
if (connectType !== 'connect') {
|
|
90
107
|
throw new Error(`Could not connect. received ${connectType} event instead of connect`);
|
|
91
108
|
}
|
|
92
109
|
this.account.address = address;
|
|
93
110
|
this.account.signature = signature;
|
|
111
|
+
console.log('In HANDSHAKE: ', 'Is first login', {
|
|
112
|
+
address,
|
|
113
|
+
signature
|
|
114
|
+
});
|
|
94
115
|
}
|
|
116
|
+
console.log('In HANDSHAKE: ', 'handshakeEstablished done');
|
|
95
117
|
this.handshakeEstablished = true;
|
|
96
118
|
return true;
|
|
97
119
|
});
|
|
98
120
|
}
|
|
99
121
|
onHandshakeChangeListener() {
|
|
100
122
|
return __awaiter(this, void 0, void 0, function* () {
|
|
123
|
+
console.log('add handshake change listener');
|
|
101
124
|
const walletUrl = this.walletUrl;
|
|
102
|
-
//
|
|
103
|
-
const
|
|
125
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
126
|
+
const self = this;
|
|
127
|
+
window.addEventListener('message', function eventHandler(event) {
|
|
104
128
|
var _a;
|
|
105
129
|
try {
|
|
106
130
|
const { type, payload } = event.data;
|
|
107
131
|
const isWalletEvent = event.origin === new URL(walletUrl).origin;
|
|
108
132
|
if (isWalletEvent && type === 'handshake') {
|
|
133
|
+
console.log('handshake changed! ', payload);
|
|
109
134
|
if (payload === false) {
|
|
110
|
-
(_a =
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
135
|
+
(_a = self.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
|
|
136
|
+
self.handshakeEstablished = false;
|
|
137
|
+
self.walletWindow = null;
|
|
138
|
+
console.log('remove handshake!!@#s');
|
|
139
|
+
window.removeEventListener('message', eventHandler);
|
|
114
140
|
}
|
|
115
141
|
}
|
|
116
142
|
}
|
|
117
143
|
catch (_b) { }
|
|
118
|
-
};
|
|
119
|
-
window.addEventListener('message', handler);
|
|
144
|
+
});
|
|
120
145
|
});
|
|
121
146
|
}
|
|
122
147
|
// TODO: remove any
|
|
@@ -126,25 +151,27 @@ class CrossWindowProvider {
|
|
|
126
151
|
if (!this.walletWindow) {
|
|
127
152
|
throw new Error('Wallet window is not instantiated');
|
|
128
153
|
}
|
|
154
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
155
|
+
const self = this;
|
|
129
156
|
return yield new Promise((resolve) => {
|
|
130
157
|
const walletUrl = this.walletUrl;
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
158
|
+
window.addEventListener('message', function eventHandler(event) {
|
|
159
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
160
|
+
try {
|
|
161
|
+
const { type, payload } = event.data;
|
|
162
|
+
const isWalletEvent = event.origin === new URL(walletUrl).origin;
|
|
163
|
+
const isRelogin = yield self.isConnected();
|
|
164
|
+
if (isRelogin && type === 'connect') {
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
if (isWalletEvent) {
|
|
168
|
+
window.removeEventListener('message', eventHandler);
|
|
169
|
+
resolve({ type, payload });
|
|
170
|
+
}
|
|
139
171
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
resolve({ type, payload });
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
catch (_a) { }
|
|
172
|
+
catch (_a) { }
|
|
173
|
+
});
|
|
146
174
|
});
|
|
147
|
-
window.addEventListener('message', handler);
|
|
148
175
|
});
|
|
149
176
|
});
|
|
150
177
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crossWindowProvider.js","sourceRoot":"","sources":["../src/crossWindowProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"crossWindowProvider.js","sourceRoot":"","sources":["../src/crossWindowProvider.ts"],"names":[],"mappings":"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"}
|