@mocanetwork/airkit 1.2.1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/airkit.cjs.js +125 -307
- package/dist/airkit.esm.js +125 -307
- package/dist/airkit.umd.js +125 -307
- package/dist/types/airService.d.ts +5 -24
- package/dist/types/airWalletProvider.d.ts +2 -6
- package/dist/types/authMessageService.d.ts +2 -1
- package/dist/types/common/air/messaging/auth.d.ts +9 -1
- package/dist/types/common/air/messaging/messageServiceBase.d.ts +3 -2
- package/dist/types/common/air/messaging/provider.d.ts +2 -2
- package/dist/types/common/air/messaging/wallet.d.ts +2 -41
- package/dist/types/common/provider/types.d.ts +105 -4
- package/dist/types/common/realm/partner/config.d.ts +3 -1
- package/dist/types/common/realm/smart-session/rule.d.ts +1 -1
- package/dist/types/common/realm/smart-session/types.d.ts +1 -1
- package/dist/types/common/realm/user/types.d.ts +10 -1
- package/dist/types/common/realm/wallet/index.d.ts +5 -0
- package/dist/types/common/types.d.ts +1 -0
- package/dist/types/common/utils.d.ts +4 -2
- package/dist/types/walletMessageService.d.ts +2 -17
- package/dist/types/windowService.d.ts +2 -1
- package/package.json +1 -2
- package/dist/types/common/realm/smart-session/hex.d.ts +0 -1
package/dist/airkit.cjs.js
CHANGED
|
@@ -41,7 +41,7 @@ function __values(o) {
|
|
|
41
41
|
if (m) return m.call(o);
|
|
42
42
|
if (o && typeof o.length === "number") return {
|
|
43
43
|
next: function () {
|
|
44
|
-
if (o && i >= o.length) o =
|
|
44
|
+
if (o && i >= o.length) o = void 0;
|
|
45
45
|
return {
|
|
46
46
|
value: o && o[i++],
|
|
47
47
|
done: !o
|
|
@@ -122,6 +122,8 @@ const AirAuthMessageTypes = {
|
|
|
122
122
|
CROSS_PARTNER_TOKEN_RESPONSE: "air_auth_cross_partner_token_response",
|
|
123
123
|
PARTNER_ACCESS_TOKEN_REQUEST: "air_auth_partner_access_token_request",
|
|
124
124
|
PARTNER_ACCESS_TOKEN_RESPONSE: "air_auth_partner_access_token_response",
|
|
125
|
+
CREDENTIAL_SALT_REQUEST: "air_auth_credential_salt_request",
|
|
126
|
+
CREDENTIAL_SALT_RESPONSE: "air_auth_credential_salt_response",
|
|
125
127
|
LOGOUT_REQUEST: "air_auth_logout_request",
|
|
126
128
|
LOGOUT_RESPONSE: "air_auth_logout_response",
|
|
127
129
|
RESET_WALLET_COMMUNICATION: "air_auth_reset_wallet_communication"
|
|
@@ -141,14 +143,6 @@ const AirWalletMessageTypes = {
|
|
|
141
143
|
CLAIM_ID_RESPONSE: "air_claim_id_response",
|
|
142
144
|
DEPLOY_SMART_ACCOUNT_REQUEST: "air_deploy_smart_account_request",
|
|
143
145
|
DEPLOY_SMART_ACCOUNT_RESPONSE: "air_deploy_smart_account_response",
|
|
144
|
-
GRANT_PERMISSIONS_REQUEST: "air_grant_permissions_request",
|
|
145
|
-
GRANT_PERMISSIONS_RESPONSE: "air_grant_permissions_response",
|
|
146
|
-
EXECUTE_ACTION_REQUEST: "air_execute_action_request",
|
|
147
|
-
EXECUTE_ACTION_RESPONSE: "air_execute_action_response",
|
|
148
|
-
REVOKE_PERMISSIONS_REQUEST: "air_revoke_permissions_request",
|
|
149
|
-
REVOKE_PERMISSIONS_RESPONSE: "air_revoke_permissions_response",
|
|
150
|
-
LIST_ALL_SESSION_KEY_SCOPES_REQUEST: "air_list_all_session_key_scopes_request",
|
|
151
|
-
LIST_ALL_SESSION_KEY_SCOPES_RESPONSE: "air_list_all_session_key_scopes_response",
|
|
152
146
|
WALLET_IFRAME_VISIBILITY_REQUEST: "air_wallet_iframe_visibility_request",
|
|
153
147
|
OPEN_WINDOW_REQUEST: "air_open_window_request",
|
|
154
148
|
OPEN_WINDOW_RESPONSE: "air_open_window_response",
|
|
@@ -202,20 +196,20 @@ const BUILD_ENV = {
|
|
|
202
196
|
|
|
203
197
|
const AIR_URLS = {
|
|
204
198
|
[BUILD_ENV.DEVELOPMENT]: {
|
|
205
|
-
authUrl: "http://localhost:
|
|
206
|
-
walletUrl: "http://localhost:8200",
|
|
199
|
+
authUrl: "http://localhost:8200/auth/",
|
|
200
|
+
walletUrl: "http://localhost:8200/wallet/",
|
|
207
201
|
},
|
|
208
202
|
[BUILD_ENV.UAT]: {
|
|
209
|
-
authUrl: "https://
|
|
210
|
-
walletUrl: "https://account.uat.air3.com",
|
|
203
|
+
authUrl: "https://account.uat.air3.com/auth/",
|
|
204
|
+
walletUrl: "https://account.uat.air3.com/wallet/",
|
|
211
205
|
},
|
|
212
206
|
[BUILD_ENV.STAGING]: {
|
|
213
|
-
authUrl: "https://
|
|
214
|
-
walletUrl: "https://account.staging.air3.com",
|
|
207
|
+
authUrl: "https://account.staging.air3.com/auth/",
|
|
208
|
+
walletUrl: "https://account.staging.air3.com/wallet/",
|
|
215
209
|
},
|
|
216
210
|
[BUILD_ENV.PRODUCTION]: {
|
|
217
|
-
authUrl: "https://
|
|
218
|
-
walletUrl: "https://account.air3.com",
|
|
211
|
+
authUrl: "https://account.air3.com/auth/",
|
|
212
|
+
walletUrl: "https://account.air3.com/wallet/",
|
|
219
213
|
},
|
|
220
214
|
};
|
|
221
215
|
const isElement = (element) => element instanceof Element || element instanceof Document;
|
|
@@ -829,7 +823,7 @@ var Subscription = function () {
|
|
|
829
823
|
}
|
|
830
824
|
teardown._addParent(this);
|
|
831
825
|
}
|
|
832
|
-
(this._finalizers = (_a = this._finalizers) !== null && _a !==
|
|
826
|
+
(this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);
|
|
833
827
|
}
|
|
834
828
|
}
|
|
835
829
|
};
|
|
@@ -876,12 +870,7 @@ function execFinalizer(finalizer) {
|
|
|
876
870
|
}
|
|
877
871
|
|
|
878
872
|
var config = {
|
|
879
|
-
|
|
880
|
-
onStoppedNotification: null,
|
|
881
|
-
Promise: undefined,
|
|
882
|
-
useDeprecatedSynchronousErrorHandling: false,
|
|
883
|
-
useDeprecatedNextContext: false
|
|
884
|
-
};
|
|
873
|
+
Promise: undefined};
|
|
885
874
|
|
|
886
875
|
var timeoutProvider = {
|
|
887
876
|
setTimeout: function (handler, timeout) {
|
|
@@ -889,7 +878,7 @@ var timeoutProvider = {
|
|
|
889
878
|
for (var _i = 2; _i < arguments.length; _i++) {
|
|
890
879
|
args[_i - 2] = arguments[_i];
|
|
891
880
|
}
|
|
892
|
-
return setTimeout.apply(
|
|
881
|
+
return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));
|
|
893
882
|
},
|
|
894
883
|
clearTimeout: function (handle) {
|
|
895
884
|
return (clearTimeout)(handle);
|
|
@@ -1019,9 +1008,9 @@ var SafeSubscriber = function (_super) {
|
|
|
1019
1008
|
var partialObserver;
|
|
1020
1009
|
if (isFunction(observerOrNext) || !observerOrNext) {
|
|
1021
1010
|
partialObserver = {
|
|
1022
|
-
next: observerOrNext !== null && observerOrNext !==
|
|
1023
|
-
error: error !== null && error !==
|
|
1024
|
-
complete: complete !== null && complete !==
|
|
1011
|
+
next: observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined,
|
|
1012
|
+
error: error !== null && error !== void 0 ? error : undefined,
|
|
1013
|
+
complete: complete !== null && complete !== void 0 ? complete : undefined
|
|
1025
1014
|
};
|
|
1026
1015
|
} else {
|
|
1027
1016
|
{
|
|
@@ -1121,7 +1110,7 @@ var Observable = function () {
|
|
|
1121
1110
|
};
|
|
1122
1111
|
Observable.prototype._subscribe = function (subscriber) {
|
|
1123
1112
|
var _a;
|
|
1124
|
-
return (_a = this.source) === null || _a ===
|
|
1113
|
+
return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);
|
|
1125
1114
|
};
|
|
1126
1115
|
Observable.prototype[observable] = function () {
|
|
1127
1116
|
return this;
|
|
@@ -1154,7 +1143,7 @@ var Observable = function () {
|
|
|
1154
1143
|
}();
|
|
1155
1144
|
function getPromiseCtor(promiseCtor) {
|
|
1156
1145
|
var _a;
|
|
1157
|
-
return (_a = promiseCtor !== null && promiseCtor !==
|
|
1146
|
+
return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;
|
|
1158
1147
|
}
|
|
1159
1148
|
function isObserver(value) {
|
|
1160
1149
|
return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);
|
|
@@ -1164,7 +1153,7 @@ function isSubscriber(value) {
|
|
|
1164
1153
|
}
|
|
1165
1154
|
|
|
1166
1155
|
function hasLift(source) {
|
|
1167
|
-
return isFunction(source === null || source ===
|
|
1156
|
+
return isFunction(source === null || source === void 0 ? void 0 : source.lift);
|
|
1168
1157
|
}
|
|
1169
1158
|
function operate(init) {
|
|
1170
1159
|
return function (source) {
|
|
@@ -1222,7 +1211,7 @@ var OperatorSubscriber = function (_super) {
|
|
|
1222
1211
|
if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {
|
|
1223
1212
|
var closed_1 = this.closed;
|
|
1224
1213
|
_super.prototype.unsubscribe.call(this);
|
|
1225
|
-
!closed_1 && ((_a = this.onFinalize) === null || _a ===
|
|
1214
|
+
!closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));
|
|
1226
1215
|
}
|
|
1227
1216
|
};
|
|
1228
1217
|
return OperatorSubscriber;
|
|
@@ -1320,7 +1309,7 @@ var Subject = function (_super) {
|
|
|
1320
1309
|
Object.defineProperty(Subject.prototype, "observed", {
|
|
1321
1310
|
get: function () {
|
|
1322
1311
|
var _a;
|
|
1323
|
-
return ((_a = this.observers) === null || _a ===
|
|
1312
|
+
return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;
|
|
1324
1313
|
},
|
|
1325
1314
|
enumerable: false,
|
|
1326
1315
|
configurable: true
|
|
@@ -1381,19 +1370,19 @@ var AnonymousSubject = function (_super) {
|
|
|
1381
1370
|
}
|
|
1382
1371
|
AnonymousSubject.prototype.next = function (value) {
|
|
1383
1372
|
var _a, _b;
|
|
1384
|
-
(_b = (_a = this.destination) === null || _a ===
|
|
1373
|
+
(_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);
|
|
1385
1374
|
};
|
|
1386
1375
|
AnonymousSubject.prototype.error = function (err) {
|
|
1387
1376
|
var _a, _b;
|
|
1388
|
-
(_b = (_a = this.destination) === null || _a ===
|
|
1377
|
+
(_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);
|
|
1389
1378
|
};
|
|
1390
1379
|
AnonymousSubject.prototype.complete = function () {
|
|
1391
1380
|
var _a, _b;
|
|
1392
|
-
(_b = (_a = this.destination) === null || _a ===
|
|
1381
|
+
(_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
1393
1382
|
};
|
|
1394
1383
|
AnonymousSubject.prototype._subscribe = function (subscriber) {
|
|
1395
1384
|
var _a, _b;
|
|
1396
|
-
return (_b = (_a = this.source) === null || _a ===
|
|
1385
|
+
return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;
|
|
1397
1386
|
};
|
|
1398
1387
|
return AnonymousSubject;
|
|
1399
1388
|
}(Subject);
|
|
@@ -1442,6 +1431,28 @@ function filter(predicate, thisArg) {
|
|
|
1442
1431
|
});
|
|
1443
1432
|
}
|
|
1444
1433
|
|
|
1434
|
+
const bigIntReplacer = (_key, value) => {
|
|
1435
|
+
return typeof value === "bigint" ? value.toString() : value;
|
|
1436
|
+
};
|
|
1437
|
+
/**
|
|
1438
|
+
* Creates a window features string for `window.open`, based on the current screen size.
|
|
1439
|
+
* It tries to center the window and limits the size to the given max width and height.
|
|
1440
|
+
* Slightly reduces the size to avoid browser auto-resizing.
|
|
1441
|
+
*/
|
|
1442
|
+
const getWindowFeatures = (maxWidth, maxHeight) => {
|
|
1443
|
+
const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : window.screenX;
|
|
1444
|
+
const dualScreenTop = window.screenTop !== undefined ? window.screenTop : window.screenY;
|
|
1445
|
+
const w = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : window.screen.width;
|
|
1446
|
+
const h = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : window.screen.height;
|
|
1447
|
+
// 95% adjustment for mobile devices, some browser might resize the window
|
|
1448
|
+
const finalWidth = Math.min(w, maxWidth) * 0.95;
|
|
1449
|
+
const finalHeight = Math.min(h, maxHeight) * 0.95;
|
|
1450
|
+
const systemZoom = 1; // No reliable estimate
|
|
1451
|
+
const left = Math.abs((w - finalWidth) / 2 / systemZoom + dualScreenLeft);
|
|
1452
|
+
const top = Math.abs((h - finalHeight) / 2 / systemZoom + dualScreenTop);
|
|
1453
|
+
return `titlebar=0,toolbar=0,status=0,location=0,menubar=0,height=${finalHeight / systemZoom},width=${finalWidth / systemZoom},top=${top},left=${left}`;
|
|
1454
|
+
};
|
|
1455
|
+
|
|
1445
1456
|
// refer to realm-network-api/src/common/enums/error-codes.enum.ts
|
|
1446
1457
|
/*** Authentication Errors ***/
|
|
1447
1458
|
var AuthErrorName;
|
|
@@ -1608,7 +1619,15 @@ class MessageServiceBase {
|
|
|
1608
1619
|
this.messagePort = target;
|
|
1609
1620
|
target.onmessage = handleMessage;
|
|
1610
1621
|
this.closeListener = async () => {
|
|
1611
|
-
|
|
1622
|
+
this.messagePort?.close();
|
|
1623
|
+
this.messagePort = undefined;
|
|
1624
|
+
};
|
|
1625
|
+
} else if (target instanceof BroadcastChannel) {
|
|
1626
|
+
this.messageChannel = target;
|
|
1627
|
+
target.onmessage = handleMessage;
|
|
1628
|
+
this.closeListener = async () => {
|
|
1629
|
+
this.messageChannel?.close();
|
|
1630
|
+
this.messageChannel = undefined;
|
|
1612
1631
|
};
|
|
1613
1632
|
} else {
|
|
1614
1633
|
this.targetWindow = target.window;
|
|
@@ -1650,23 +1669,22 @@ class MessageServiceBase {
|
|
|
1650
1669
|
const clonedMessage = this.deepClone(message);
|
|
1651
1670
|
if (this.messagePort) {
|
|
1652
1671
|
this.messagePort.postMessage(clonedMessage);
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
origin: window.origin
|
|
1656
|
-
}));
|
|
1672
|
+
} else if (this.messageChannel) {
|
|
1673
|
+
this.messageChannel.postMessage(clonedMessage);
|
|
1657
1674
|
} else if (this.targetWindow && this.targetOrigin) {
|
|
1658
1675
|
this.targetWindow.postMessage(clonedMessage, this.targetOrigin, transfer);
|
|
1659
|
-
this.eventSubject.next(new MessageEvent("message", {
|
|
1660
|
-
data: clonedMessage,
|
|
1661
|
-
origin: window.origin
|
|
1662
|
-
}));
|
|
1663
1676
|
} else {
|
|
1664
1677
|
log.debug(`[${this.name}] Not opened yet`);
|
|
1678
|
+
return;
|
|
1665
1679
|
}
|
|
1680
|
+
this.eventSubject.next(new MessageEvent("message", {
|
|
1681
|
+
data: clonedMessage,
|
|
1682
|
+
origin: window.origin
|
|
1683
|
+
}));
|
|
1666
1684
|
}
|
|
1667
1685
|
deepClone(message) {
|
|
1668
1686
|
try {
|
|
1669
|
-
return JSON.parse(JSON.stringify(message));
|
|
1687
|
+
return JSON.parse(JSON.stringify(message, bigIntReplacer));
|
|
1670
1688
|
} catch (e) {
|
|
1671
1689
|
log.warn("Error generating cloneable message", e);
|
|
1672
1690
|
return message;
|
|
@@ -1708,16 +1726,16 @@ class ProviderMessageService extends MessageServiceBase {
|
|
|
1708
1726
|
}
|
|
1709
1727
|
}
|
|
1710
1728
|
_a$2 = ProviderMessageService;
|
|
1711
|
-
_ProviderMessageService_instance = { value:
|
|
1729
|
+
_ProviderMessageService_instance = { value: void 0 };
|
|
1712
1730
|
|
|
1713
1731
|
var _AirWalletProvider_instances, _AirWalletProvider_providerMessageService, _AirWalletProvider_isLoggedIn, _AirWalletProvider_ensureWallet, _AirWalletProvider_eventListeners, _AirWalletProvider_emit;
|
|
1714
1732
|
class AirWalletProvider {
|
|
1715
1733
|
constructor({ isLoggedIn, ensureWallet, }) {
|
|
1716
1734
|
_AirWalletProvider_instances.add(this);
|
|
1717
|
-
_AirWalletProvider_providerMessageService.set(this,
|
|
1718
|
-
_AirWalletProvider_isLoggedIn.set(this,
|
|
1719
|
-
_AirWalletProvider_ensureWallet.set(this,
|
|
1720
|
-
_AirWalletProvider_eventListeners.set(this,
|
|
1735
|
+
_AirWalletProvider_providerMessageService.set(this, void 0);
|
|
1736
|
+
_AirWalletProvider_isLoggedIn.set(this, void 0);
|
|
1737
|
+
_AirWalletProvider_ensureWallet.set(this, void 0);
|
|
1738
|
+
_AirWalletProvider_eventListeners.set(this, void 0);
|
|
1721
1739
|
this.startEventMessageListening = async (walletIframe) => {
|
|
1722
1740
|
await __classPrivateFieldGet(this, _AirWalletProvider_providerMessageService, "f").open(walletIframe);
|
|
1723
1741
|
__classPrivateFieldGet(this, _AirWalletProvider_providerMessageService, "f").messages$
|
|
@@ -1757,8 +1775,14 @@ class AirWalletProvider {
|
|
|
1757
1775
|
if (!__classPrivateFieldGet(this, _AirWalletProvider_isLoggedIn, "f").call(this)) {
|
|
1758
1776
|
throw new UnauthorizedProviderError("User is not logged in");
|
|
1759
1777
|
}
|
|
1778
|
+
const skipWalletLoginMethods = ['eth_chainId'];
|
|
1760
1779
|
try {
|
|
1761
|
-
|
|
1780
|
+
if (skipWalletLoginMethods.includes(method)) {
|
|
1781
|
+
await __classPrivateFieldGet(this, _AirWalletProvider_ensureWallet, "f").call(this, { skipWalletLogin: true });
|
|
1782
|
+
}
|
|
1783
|
+
else {
|
|
1784
|
+
await __classPrivateFieldGet(this, _AirWalletProvider_ensureWallet, "f").call(this);
|
|
1785
|
+
}
|
|
1762
1786
|
}
|
|
1763
1787
|
catch (error) {
|
|
1764
1788
|
throw ensureProviderRpcError(error);
|
|
@@ -1869,25 +1893,6 @@ IframeController.defaultState = {
|
|
|
1869
1893
|
isVisible: false,
|
|
1870
1894
|
};
|
|
1871
1895
|
|
|
1872
|
-
/**
|
|
1873
|
-
* Creates a window features string for `window.open`, based on the current screen size.
|
|
1874
|
-
* It tries to center the window and limits the size to the given max width and height.
|
|
1875
|
-
* Slightly reduces the size to avoid browser auto-resizing.
|
|
1876
|
-
*/
|
|
1877
|
-
const getWindowFeatures = (maxWidth, maxHeight) => {
|
|
1878
|
-
const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : window.screenX;
|
|
1879
|
-
const dualScreenTop = window.screenTop !== undefined ? window.screenTop : window.screenY;
|
|
1880
|
-
const w = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : window.screen.width;
|
|
1881
|
-
const h = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : window.screen.height;
|
|
1882
|
-
// 95% adjustment for mobile devices, some browser might resize the window
|
|
1883
|
-
const finalWidth = Math.min(w, maxWidth) * 0.95;
|
|
1884
|
-
const finalHeight = Math.min(h, maxHeight) * 0.95;
|
|
1885
|
-
const systemZoom = 1; // No reliable estimate
|
|
1886
|
-
const left = Math.abs((w - finalWidth) / 2 / systemZoom + dualScreenLeft);
|
|
1887
|
-
const top = Math.abs((h - finalHeight) / 2 / systemZoom + dualScreenTop);
|
|
1888
|
-
return `titlebar=0,toolbar=0,status=0,location=0,menubar=0,height=${finalHeight / systemZoom},width=${finalWidth / systemZoom},top=${top},left=${left}`;
|
|
1889
|
-
};
|
|
1890
|
-
|
|
1891
1896
|
class WindowController {
|
|
1892
1897
|
get messages$() {
|
|
1893
1898
|
return this._messages$.asObservable();
|
|
@@ -2025,7 +2030,7 @@ class WindowService {
|
|
|
2025
2030
|
]);
|
|
2026
2031
|
return (await response).data;
|
|
2027
2032
|
}
|
|
2028
|
-
async openAndInitializeWalletServiceWindow({ url, windowId, partnerId, enableLogging, onRetry, sdkVersion, }) {
|
|
2033
|
+
async openAndInitializeWalletServiceWindow({ url, windowId, partnerId, enableLogging, onRetry, sdkVersion, enableAutomation, }) {
|
|
2029
2034
|
if (this.windowControllers.has(windowId)) {
|
|
2030
2035
|
throw new Error("Window controller already exists");
|
|
2031
2036
|
}
|
|
@@ -2046,6 +2051,7 @@ class WindowService {
|
|
|
2046
2051
|
partnerId,
|
|
2047
2052
|
enableLogging,
|
|
2048
2053
|
sdkVersion,
|
|
2054
|
+
enableAutomation,
|
|
2049
2055
|
}, channel.port1);
|
|
2050
2056
|
if (payload.success === false) {
|
|
2051
2057
|
reject(new AirServiceError(payload.errorName, payload.errorMessage));
|
|
@@ -2091,6 +2097,7 @@ const ALLOWED_AUTH_MESSAGES = [
|
|
|
2091
2097
|
AirAuthMessageTypes.CROSS_PARTNER_TOKEN_RESPONSE,
|
|
2092
2098
|
AirAuthMessageTypes.PARTNER_ACCESS_TOKEN_RESPONSE,
|
|
2093
2099
|
AirAuthMessageTypes.IFRAME_VISIBILITY_REQUEST,
|
|
2100
|
+
AirAuthMessageTypes.CREDENTIAL_SALT_RESPONSE,
|
|
2094
2101
|
];
|
|
2095
2102
|
class AuthMessageService extends MessageServiceBase {
|
|
2096
2103
|
static create() {
|
|
@@ -2104,10 +2111,10 @@ class AuthMessageService extends MessageServiceBase {
|
|
|
2104
2111
|
const window = authIframe.contentWindow;
|
|
2105
2112
|
await super._open({ window, origin });
|
|
2106
2113
|
}
|
|
2107
|
-
async initWalletCommunication(
|
|
2114
|
+
async initWalletCommunication() {
|
|
2108
2115
|
await this.sendMessage({
|
|
2109
2116
|
type: AirAuthMessageTypes.INIT_WALLET_COMMUNICATION,
|
|
2110
|
-
}
|
|
2117
|
+
});
|
|
2111
2118
|
}
|
|
2112
2119
|
async sendPartnerUserInfoRequest() {
|
|
2113
2120
|
const response = firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirAuthMessageTypes.PARTNER_USER_INFO_RESPONSE)));
|
|
@@ -2161,9 +2168,14 @@ class AuthMessageService extends MessageServiceBase {
|
|
|
2161
2168
|
await this.sendMessage({ type: AirAuthMessageTypes.PARTNER_ACCESS_TOKEN_REQUEST });
|
|
2162
2169
|
return response;
|
|
2163
2170
|
}
|
|
2171
|
+
async sendCredentialSaltRequest() {
|
|
2172
|
+
const response = firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirAuthMessageTypes.CREDENTIAL_SALT_RESPONSE)));
|
|
2173
|
+
await this.sendMessage({ type: AirAuthMessageTypes.CREDENTIAL_SALT_REQUEST });
|
|
2174
|
+
return response;
|
|
2175
|
+
}
|
|
2164
2176
|
}
|
|
2165
2177
|
_a$1 = AuthMessageService;
|
|
2166
|
-
_AuthMessageService_instance = { value:
|
|
2178
|
+
_AuthMessageService_instance = { value: void 0 };
|
|
2167
2179
|
|
|
2168
2180
|
var _a, _WalletMessageService_instance;
|
|
2169
2181
|
const ALLOWED_WALLET_MESSAGES = [
|
|
@@ -2174,10 +2186,6 @@ const ALLOWED_WALLET_MESSAGES = [
|
|
|
2174
2186
|
AirWalletMessageTypes.CLAIM_ID_RESPONSE,
|
|
2175
2187
|
AirWalletMessageTypes.IS_SMART_ACCOUNT_DEPLOYED_RESPONSE,
|
|
2176
2188
|
AirWalletMessageTypes.DEPLOY_SMART_ACCOUNT_RESPONSE,
|
|
2177
|
-
AirWalletMessageTypes.EXECUTE_ACTION_RESPONSE,
|
|
2178
|
-
AirWalletMessageTypes.REVOKE_PERMISSIONS_RESPONSE,
|
|
2179
|
-
AirWalletMessageTypes.GRANT_PERMISSIONS_RESPONSE,
|
|
2180
|
-
AirWalletMessageTypes.LIST_ALL_SESSION_KEY_SCOPES_RESPONSE,
|
|
2181
2189
|
AirWalletMessageTypes.WALLET_INITIALIZED,
|
|
2182
2190
|
AirWalletMessageTypes.WALLET_IFRAME_VISIBILITY_REQUEST,
|
|
2183
2191
|
AirWalletMessageTypes.LOGOUT_RESPONSE,
|
|
@@ -2196,61 +2204,13 @@ class WalletMessageService extends MessageServiceBase {
|
|
|
2196
2204
|
const window = walletIframe.contentWindow;
|
|
2197
2205
|
await super._open({ window, origin });
|
|
2198
2206
|
}
|
|
2199
|
-
async initAuthCommunication(skipWalletLogin
|
|
2207
|
+
async initAuthCommunication(skipWalletLogin) {
|
|
2200
2208
|
await this.sendMessage({
|
|
2201
2209
|
type: AirWalletMessageTypes.INIT_AUTH_COMMUNICATION,
|
|
2202
2210
|
payload: {
|
|
2203
2211
|
skipWalletLogin,
|
|
2204
2212
|
},
|
|
2205
|
-
}, [port]);
|
|
2206
|
-
}
|
|
2207
|
-
async sendGrantPermissionRequest(policies) {
|
|
2208
|
-
const response = firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirWalletMessageTypes.GRANT_PERMISSIONS_RESPONSE)));
|
|
2209
|
-
await this.sendMessage({
|
|
2210
|
-
type: AirWalletMessageTypes.GRANT_PERMISSIONS_REQUEST,
|
|
2211
|
-
payload: {
|
|
2212
|
-
policies,
|
|
2213
|
-
},
|
|
2214
2213
|
});
|
|
2215
|
-
const result = await response;
|
|
2216
|
-
if (result.payload.success === false) {
|
|
2217
|
-
throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
|
|
2218
|
-
}
|
|
2219
|
-
return result.payload.sessionData;
|
|
2220
|
-
}
|
|
2221
|
-
async sendExecuteActionRequest(params) {
|
|
2222
|
-
const response = firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirWalletMessageTypes.EXECUTE_ACTION_RESPONSE)));
|
|
2223
|
-
await this.sendMessage({
|
|
2224
|
-
type: AirWalletMessageTypes.EXECUTE_ACTION_REQUEST,
|
|
2225
|
-
payload: {
|
|
2226
|
-
sessionData: params.sessionData,
|
|
2227
|
-
call: {
|
|
2228
|
-
to: params.call.to,
|
|
2229
|
-
value: params.call.value,
|
|
2230
|
-
data: params.call.data,
|
|
2231
|
-
},
|
|
2232
|
-
sessionOwnerPrivateKey: params.sessionOwnerPrivateKey,
|
|
2233
|
-
},
|
|
2234
|
-
});
|
|
2235
|
-
const result = await response;
|
|
2236
|
-
if (result.payload.success === false) {
|
|
2237
|
-
throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
|
|
2238
|
-
}
|
|
2239
|
-
return result.payload.txHash;
|
|
2240
|
-
}
|
|
2241
|
-
async sendRevokePermissionsRequest(permissionId) {
|
|
2242
|
-
const response = firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirWalletMessageTypes.REVOKE_PERMISSIONS_RESPONSE)));
|
|
2243
|
-
await this.sendMessage({
|
|
2244
|
-
type: AirWalletMessageTypes.REVOKE_PERMISSIONS_REQUEST,
|
|
2245
|
-
payload: {
|
|
2246
|
-
permissionId,
|
|
2247
|
-
},
|
|
2248
|
-
});
|
|
2249
|
-
const result = await response;
|
|
2250
|
-
if (result.payload.success === false) {
|
|
2251
|
-
throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
|
|
2252
|
-
}
|
|
2253
|
-
return result.payload.txHash;
|
|
2254
2214
|
}
|
|
2255
2215
|
async sendDeploySmartAccountRequest() {
|
|
2256
2216
|
const response = firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirWalletMessageTypes.DEPLOY_SMART_ACCOUNT_RESPONSE)));
|
|
@@ -2276,16 +2236,6 @@ class WalletMessageService extends MessageServiceBase {
|
|
|
2276
2236
|
await this.sendMessage({ type: AirWalletMessageTypes.INITIALIZATION_REQUEST, payload });
|
|
2277
2237
|
return response;
|
|
2278
2238
|
}
|
|
2279
|
-
async sendGrantPermissionsRequest(payload) {
|
|
2280
|
-
const response = firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirWalletMessageTypes.GRANT_PERMISSIONS_RESPONSE)));
|
|
2281
|
-
await this.sendMessage({ type: AirWalletMessageTypes.GRANT_PERMISSIONS_REQUEST, payload });
|
|
2282
|
-
return response;
|
|
2283
|
-
}
|
|
2284
|
-
async sendListAllSessionKeyScopesRequest() {
|
|
2285
|
-
const response = firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirWalletMessageTypes.LIST_ALL_SESSION_KEY_SCOPES_RESPONSE)));
|
|
2286
|
-
await this.sendMessage({ type: AirWalletMessageTypes.LIST_ALL_SESSION_KEY_SCOPES_REQUEST });
|
|
2287
|
-
return response;
|
|
2288
|
-
}
|
|
2289
2239
|
onInitialized() {
|
|
2290
2240
|
return firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirWalletMessageTypes.WALLET_INITIALIZED)));
|
|
2291
2241
|
}
|
|
@@ -2342,7 +2292,7 @@ class WalletMessageService extends MessageServiceBase {
|
|
|
2342
2292
|
}
|
|
2343
2293
|
}
|
|
2344
2294
|
_a = WalletMessageService;
|
|
2345
|
-
_WalletMessageService_instance = { value:
|
|
2295
|
+
_WalletMessageService_instance = { value: void 0 };
|
|
2346
2296
|
|
|
2347
2297
|
const getLevelName = levelNum => {
|
|
2348
2298
|
const levelNames = Object.keys(log.levels);
|
|
@@ -2364,115 +2314,32 @@ const configureLogLevel = (environment, enableLogging) => {
|
|
|
2364
2314
|
level = enableLogging ? log.levels.WARN : log.levels.ERROR;
|
|
2365
2315
|
}
|
|
2366
2316
|
log.setLevel(level);
|
|
2367
|
-
log.info(`[${window?.location?.
|
|
2317
|
+
log.info(`[${window?.location?.href}] LogLevel: ${getLevelName(log.getLevel())}`);
|
|
2368
2318
|
};
|
|
2369
2319
|
|
|
2370
|
-
var
|
|
2371
|
-
var version = "1.2.1";
|
|
2372
|
-
var description = "Air kit to interact with the Moca Network";
|
|
2373
|
-
var main = "dist/airkit.cjs.js";
|
|
2374
|
-
var module$1 = "dist/airkit.esm.js";
|
|
2375
|
-
var unpkg = "dist/airkit.umd.min.js";
|
|
2376
|
-
var jsdelivr = "dist/airkit.umd.min.js";
|
|
2377
|
-
var types = "dist/types/index.d.ts";
|
|
2378
|
-
var files = [
|
|
2379
|
-
"dist"
|
|
2380
|
-
];
|
|
2381
|
-
var scripts = {
|
|
2382
|
-
build: "rollup --config",
|
|
2383
|
-
prepack: "npm run build && npm run postbuild",
|
|
2384
|
-
lint: "eslint --fix 'src/**/*.ts'",
|
|
2385
|
-
format: "prettier --write 'src/**/*.ts'",
|
|
2386
|
-
postbuild: "node scripts/copyAndAdjustDtsFiles.js '../common/src' 'common'"
|
|
2387
|
-
};
|
|
2388
|
-
var dependencies = {
|
|
2389
|
-
"@mocanetwork/airkit-connector": "^1.2.0",
|
|
2390
|
-
"fast-deep-equal": "^3.1.3",
|
|
2391
|
-
loglevel: "^1.9.2",
|
|
2392
|
-
pump: "^3.0.0",
|
|
2393
|
-
"readable-stream": "^4.5.2",
|
|
2394
|
-
rxjs: "^7.8.1"
|
|
2395
|
-
};
|
|
2396
|
-
var devDependencies = {
|
|
2397
|
-
"@babel/runtime": "^7.25.6",
|
|
2398
|
-
"@rushstack/eslint-patch": "^1.10.2",
|
|
2399
|
-
"@types/pump": "^1.1.3",
|
|
2400
|
-
"@types/readable-stream": "^4.0.15",
|
|
2401
|
-
"fs-extra": "^11.2.0",
|
|
2402
|
-
glob: "^11.0.0",
|
|
2403
|
-
process: "^0.11.10",
|
|
2404
|
-
"typescript-eslint": "^8.21.0"
|
|
2405
|
-
};
|
|
2406
|
-
var mocha = {
|
|
2407
|
-
timeout: 0
|
|
2408
|
-
};
|
|
2409
|
-
var keywords = [
|
|
2410
|
-
"airkit",
|
|
2411
|
-
"mocaverse",
|
|
2412
|
-
"wallet",
|
|
2413
|
-
"embed",
|
|
2414
|
-
"login",
|
|
2415
|
-
"OAuth",
|
|
2416
|
-
"crypto"
|
|
2417
|
-
];
|
|
2418
|
-
var author = "Mocaverse";
|
|
2419
|
-
var license = "ISC";
|
|
2420
|
-
var engines = {
|
|
2421
|
-
node: ">=18.x",
|
|
2422
|
-
npm: ">=9.x"
|
|
2423
|
-
};
|
|
2424
|
-
var publishConfig = {
|
|
2425
|
-
access: "restricted"
|
|
2426
|
-
};
|
|
2320
|
+
var version = "1.3.0";
|
|
2427
2321
|
var airkitPackage = {
|
|
2428
|
-
|
|
2429
|
-
version: version,
|
|
2430
|
-
description: description,
|
|
2431
|
-
main: main,
|
|
2432
|
-
module: module$1,
|
|
2433
|
-
unpkg: unpkg,
|
|
2434
|
-
jsdelivr: jsdelivr,
|
|
2435
|
-
types: types,
|
|
2436
|
-
files: files,
|
|
2437
|
-
scripts: scripts,
|
|
2438
|
-
dependencies: dependencies,
|
|
2439
|
-
devDependencies: devDependencies,
|
|
2440
|
-
mocha: mocha,
|
|
2441
|
-
keywords: keywords,
|
|
2442
|
-
author: author,
|
|
2443
|
-
license: license,
|
|
2444
|
-
"lint-staged": {
|
|
2445
|
-
"!(*d).{js,ts}": [
|
|
2446
|
-
"eslint --cache --fix",
|
|
2447
|
-
"prettier --write"
|
|
2448
|
-
],
|
|
2449
|
-
"*.{json, md}": [
|
|
2450
|
-
"prettier --write"
|
|
2451
|
-
]
|
|
2452
|
-
},
|
|
2453
|
-
engines: engines,
|
|
2454
|
-
publishConfig: publishConfig
|
|
2455
|
-
};
|
|
2322
|
+
version: version};
|
|
2456
2323
|
|
|
2457
2324
|
var _AirService_instances, _AirService_loginResult, _AirService_buildEnv, _AirService_enableLogging, _AirService_partnerId, _AirService_authMessagingService, _AirService_authIframeController, _AirService_isAuthInitialized, _AirService_airAuthListener, _AirService_walletMessagingService, _AirService_walletIframeController, _AirService_walletInitialization, _AirService_walletLoggedInResult, _AirService_airWalletProvider, _AirService_ensureWallet, _AirService_initializeWallet, _AirService_subscribeToWalletEvents, _AirService_triggerEventListeners, _AirService_triggerAirAuthInitialized, _AirService_triggerAirAuthLoggedIn, _AirService_triggerAirAuthLoggedOut, _AirService_triggerWalletInitialized, _AirService_createLoginResult, _AirService_createWalletInitializedResult, _AirService_cleanUpAuth, _AirService_cleanUpWallet;
|
|
2458
2325
|
const airKitVersion = airkitPackage.version;
|
|
2459
2326
|
class AirService {
|
|
2460
2327
|
constructor({ partnerId }) {
|
|
2461
2328
|
_AirService_instances.add(this);
|
|
2462
|
-
_AirService_loginResult.set(this,
|
|
2463
|
-
_AirService_buildEnv.set(this,
|
|
2329
|
+
_AirService_loginResult.set(this, void 0);
|
|
2330
|
+
_AirService_buildEnv.set(this, void 0);
|
|
2464
2331
|
_AirService_enableLogging.set(this, false);
|
|
2465
|
-
_AirService_partnerId.set(this,
|
|
2332
|
+
_AirService_partnerId.set(this, void 0);
|
|
2466
2333
|
//#modalZIndex: number; TODO implement z index overwrite
|
|
2467
|
-
_AirService_authMessagingService.set(this,
|
|
2468
|
-
_AirService_authIframeController.set(this,
|
|
2334
|
+
_AirService_authMessagingService.set(this, void 0);
|
|
2335
|
+
_AirService_authIframeController.set(this, void 0);
|
|
2469
2336
|
_AirService_isAuthInitialized.set(this, false);
|
|
2470
2337
|
_AirService_airAuthListener.set(this, []);
|
|
2471
|
-
_AirService_walletMessagingService.set(this,
|
|
2472
|
-
_AirService_walletIframeController.set(this,
|
|
2473
|
-
_AirService_walletInitialization.set(this,
|
|
2474
|
-
_AirService_walletLoggedInResult.set(this,
|
|
2475
|
-
_AirService_airWalletProvider.set(this,
|
|
2338
|
+
_AirService_walletMessagingService.set(this, void 0);
|
|
2339
|
+
_AirService_walletIframeController.set(this, void 0);
|
|
2340
|
+
_AirService_walletInitialization.set(this, void 0);
|
|
2341
|
+
_AirService_walletLoggedInResult.set(this, void 0);
|
|
2342
|
+
_AirService_airWalletProvider.set(this, void 0);
|
|
2476
2343
|
__classPrivateFieldSet(this, _AirService_partnerId, partnerId, "f");
|
|
2477
2344
|
__classPrivateFieldSet(this, _AirService_authMessagingService, AuthMessageService.create(), "f");
|
|
2478
2345
|
__classPrivateFieldSet(this, _AirService_walletMessagingService, WalletMessageService.create(), "f");
|
|
@@ -2502,6 +2369,9 @@ class AirService {
|
|
|
2502
2369
|
removeListener: provider.removeListener.bind(provider),
|
|
2503
2370
|
};
|
|
2504
2371
|
}
|
|
2372
|
+
shouldEnableAutomation() {
|
|
2373
|
+
return localStorage.getItem("automation") === "true" && __classPrivateFieldGet(this, _AirService_buildEnv, "f") !== "production";
|
|
2374
|
+
}
|
|
2505
2375
|
async init({ buildEnv = BUILD_ENV.PRODUCTION, enableLogging = false, skipRehydration = false, }) {
|
|
2506
2376
|
if (!__classPrivateFieldGet(this, _AirService_partnerId, "f"))
|
|
2507
2377
|
throw new Error("Partner ID is required to initialize auth service");
|
|
@@ -2515,6 +2385,7 @@ class AirService {
|
|
|
2515
2385
|
__classPrivateFieldSet(this, _AirService_authIframeController, new IframeController(authUrl, `air-auth-${randomId()}`), "f");
|
|
2516
2386
|
try {
|
|
2517
2387
|
__classPrivateFieldGet(this, _AirService_authIframeController, "f").createIframe();
|
|
2388
|
+
log.info(authUrl, "url loaded");
|
|
2518
2389
|
await __classPrivateFieldGet(this, _AirService_authMessagingService, "f").open(__classPrivateFieldGet(this, _AirService_authIframeController, "f").iframeElement);
|
|
2519
2390
|
__classPrivateFieldGet(this, _AirService_authMessagingService, "f").messages$.subscribe(async (msg) => {
|
|
2520
2391
|
switch (msg.type) {
|
|
@@ -2549,6 +2420,7 @@ class AirService {
|
|
|
2549
2420
|
partnerDAppUrl: window.location.href,
|
|
2550
2421
|
sdkVersion: airKitVersion,
|
|
2551
2422
|
enableLogging: __classPrivateFieldGet(this, _AirService_enableLogging, "f"),
|
|
2423
|
+
enableAutomation: this.shouldEnableAutomation(),
|
|
2552
2424
|
});
|
|
2553
2425
|
if (payload.success === true) {
|
|
2554
2426
|
resolve(payload);
|
|
@@ -2613,69 +2485,16 @@ class AirService {
|
|
|
2613
2485
|
/**
|
|
2614
2486
|
* @experimental This method is experimental and will change in the future.
|
|
2615
2487
|
*/
|
|
2616
|
-
async
|
|
2617
|
-
if (!__classPrivateFieldGet(this, _AirService_isAuthInitialized, "f"))
|
|
2618
|
-
throw new Error("AirAuth is not initialized");
|
|
2619
|
-
await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
|
|
2620
|
-
try {
|
|
2621
|
-
log.info("grantPermission", policies);
|
|
2622
|
-
const { payload } = await __classPrivateFieldGet(this, _AirService_walletMessagingService, "f").sendGrantPermissionsRequest({
|
|
2623
|
-
policies,
|
|
2624
|
-
});
|
|
2625
|
-
if (payload.success === false) {
|
|
2626
|
-
throw new AirServiceError(payload.errorName, payload.errorMessage);
|
|
2627
|
-
}
|
|
2628
|
-
return payload.sessionData;
|
|
2629
|
-
}
|
|
2630
|
-
catch (error) {
|
|
2631
|
-
throw AirServiceError.from(error);
|
|
2632
|
-
}
|
|
2633
|
-
}
|
|
2634
|
-
/**
|
|
2635
|
-
* @experimental This method is experimental and will change in the future.
|
|
2636
|
-
*/
|
|
2637
|
-
async listAllSessionKeyScopes() {
|
|
2488
|
+
async isSmartAccountDeployed() {
|
|
2638
2489
|
if (!__classPrivateFieldGet(this, _AirService_isAuthInitialized, "f"))
|
|
2639
2490
|
throw new Error("Service is not initialized");
|
|
2640
2491
|
await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
|
|
2641
2492
|
try {
|
|
2642
|
-
const { payload } = await __classPrivateFieldGet(this, _AirService_walletMessagingService, "f").
|
|
2493
|
+
const { payload } = await __classPrivateFieldGet(this, _AirService_walletMessagingService, "f").sendIsSmartAccountDeployedRequest();
|
|
2643
2494
|
if (payload.success === false) {
|
|
2644
2495
|
throw new AirServiceError(payload.errorName, payload.errorMessage);
|
|
2645
2496
|
}
|
|
2646
|
-
return payload.
|
|
2647
|
-
}
|
|
2648
|
-
catch (error) {
|
|
2649
|
-
throw AirServiceError.from(error);
|
|
2650
|
-
}
|
|
2651
|
-
}
|
|
2652
|
-
/**
|
|
2653
|
-
* @experimental This method is experimental and will change in the future.
|
|
2654
|
-
*/
|
|
2655
|
-
async executeAction(params) {
|
|
2656
|
-
if (!__classPrivateFieldGet(this, _AirService_isAuthInitialized, "f"))
|
|
2657
|
-
throw new Error("Service is not initialized");
|
|
2658
|
-
await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
|
|
2659
|
-
try {
|
|
2660
|
-
log.info("executeAction", params);
|
|
2661
|
-
const txHash = await __classPrivateFieldGet(this, _AirService_walletMessagingService, "f").sendExecuteActionRequest(params);
|
|
2662
|
-
return txHash;
|
|
2663
|
-
}
|
|
2664
|
-
catch (error) {
|
|
2665
|
-
throw AirServiceError.from(error);
|
|
2666
|
-
}
|
|
2667
|
-
}
|
|
2668
|
-
/**
|
|
2669
|
-
* @experimental This method is experimental and will change in the future.
|
|
2670
|
-
*/
|
|
2671
|
-
async revokePermission(permissionId) {
|
|
2672
|
-
if (!__classPrivateFieldGet(this, _AirService_isAuthInitialized, "f"))
|
|
2673
|
-
throw new Error("Service is not initialized");
|
|
2674
|
-
await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
|
|
2675
|
-
try {
|
|
2676
|
-
log.info("revokePermission", permissionId);
|
|
2677
|
-
const txHash = await __classPrivateFieldGet(this, _AirService_walletMessagingService, "f").sendRevokePermissionsRequest(permissionId);
|
|
2678
|
-
return txHash;
|
|
2497
|
+
return payload.isDeployed;
|
|
2679
2498
|
}
|
|
2680
2499
|
catch (error) {
|
|
2681
2500
|
throw AirServiceError.from(error);
|
|
@@ -2684,20 +2503,18 @@ class AirService {
|
|
|
2684
2503
|
/**
|
|
2685
2504
|
* @experimental This method is experimental and will change in the future.
|
|
2686
2505
|
*/
|
|
2687
|
-
async
|
|
2506
|
+
async getCredentialSalt() {
|
|
2688
2507
|
if (!__classPrivateFieldGet(this, _AirService_isAuthInitialized, "f"))
|
|
2689
2508
|
throw new Error("Service is not initialized");
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
}
|
|
2696
|
-
return payload.isDeployed;
|
|
2697
|
-
}
|
|
2698
|
-
catch (error) {
|
|
2699
|
-
throw AirServiceError.from(error);
|
|
2509
|
+
if (!this.isLoggedIn)
|
|
2510
|
+
throw new Error("No active session to get partner access token");
|
|
2511
|
+
const result = await __classPrivateFieldGet(this, _AirService_authMessagingService, "f").sendCredentialSaltRequest();
|
|
2512
|
+
if (result.payload.success === false) {
|
|
2513
|
+
throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
|
|
2700
2514
|
}
|
|
2515
|
+
return {
|
|
2516
|
+
credentialSalt: result.payload.credentialSalt,
|
|
2517
|
+
};
|
|
2701
2518
|
}
|
|
2702
2519
|
getProvider() {
|
|
2703
2520
|
return this.provider;
|
|
@@ -2829,7 +2646,6 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
|
|
|
2829
2646
|
if (__classPrivateFieldGet(this, _AirService_walletInitialization, "f"))
|
|
2830
2647
|
throw new Error("Already initializing");
|
|
2831
2648
|
const { walletUrl } = AIR_URLS[__classPrivateFieldGet(this, _AirService_buildEnv, "f")];
|
|
2832
|
-
log.info(walletUrl, "url loaded");
|
|
2833
2649
|
const walletIframeOrigin = new URL(walletUrl).origin;
|
|
2834
2650
|
try {
|
|
2835
2651
|
const walletInitRequestPromise = new Promise((resolve, reject) => {
|
|
@@ -2842,6 +2658,7 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
|
|
|
2842
2658
|
partnerId: __classPrivateFieldGet(this, _AirService_partnerId, "f"),
|
|
2843
2659
|
enableLogging: __classPrivateFieldGet(this, _AirService_enableLogging, "f"),
|
|
2844
2660
|
sdkVersion: airKitVersion,
|
|
2661
|
+
enableAutomation: this.shouldEnableAutomation(),
|
|
2845
2662
|
});
|
|
2846
2663
|
if (payload.success === true) {
|
|
2847
2664
|
resolve();
|
|
@@ -2855,14 +2672,14 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
|
|
|
2855
2672
|
});
|
|
2856
2673
|
__classPrivateFieldSet(this, _AirService_walletIframeController, new IframeController(walletUrl, `air-wallet-${randomId()}`), "f");
|
|
2857
2674
|
__classPrivateFieldGet(this, _AirService_walletIframeController, "f").createIframe();
|
|
2675
|
+
log.info(walletUrl, "url loaded");
|
|
2858
2676
|
await __classPrivateFieldGet(this, _AirService_walletMessagingService, "f").open(__classPrivateFieldGet(this, _AirService_walletIframeController, "f").iframeElement);
|
|
2859
2677
|
__classPrivateFieldGet(this, _AirService_instances, "m", _AirService_subscribeToWalletEvents).call(this);
|
|
2860
2678
|
await __classPrivateFieldGet(this, _AirService_airWalletProvider, "f").startEventMessageListening(__classPrivateFieldGet(this, _AirService_walletIframeController, "f").iframeElement);
|
|
2861
2679
|
const walletInitPromise = __classPrivateFieldGet(this, _AirService_walletMessagingService, "f").onInitialized();
|
|
2862
2680
|
await walletInitRequestPromise;
|
|
2863
|
-
|
|
2864
|
-
await __classPrivateFieldGet(this,
|
|
2865
|
-
await __classPrivateFieldGet(this, _AirService_walletMessagingService, "f").initAuthCommunication(option?.skipWalletLogin ?? false, channel.port2);
|
|
2681
|
+
await __classPrivateFieldGet(this, _AirService_authMessagingService, "f").initWalletCommunication();
|
|
2682
|
+
await __classPrivateFieldGet(this, _AirService_walletMessagingService, "f").initAuthCommunication(option?.skipWalletLogin ?? false);
|
|
2866
2683
|
const walletInitResult = await walletInitPromise;
|
|
2867
2684
|
if (walletInitResult.payload.success !== true) {
|
|
2868
2685
|
throw new AirServiceError(walletInitResult.payload.errorName, walletInitResult.payload.errorMessage);
|
|
@@ -2908,6 +2725,7 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
|
|
|
2908
2725
|
partnerId: __classPrivateFieldGet(this, _AirService_partnerId, "f"),
|
|
2909
2726
|
enableLogging: __classPrivateFieldGet(this, _AirService_enableLogging, "f"),
|
|
2910
2727
|
sdkVersion: airKitVersion,
|
|
2728
|
+
enableAutomation: this.shouldEnableAutomation(),
|
|
2911
2729
|
onRetry,
|
|
2912
2730
|
});
|
|
2913
2731
|
windowController.onClose(async () => await __classPrivateFieldGet(this, _AirService_walletMessagingService, "f").sendWindowClosed(msg.payload.windowId));
|