@mocanetwork/airkit-connector 1.2.1 → 1.4.0-beta.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/airkitConnector.cjs.js +148 -310
- package/dist/airkitConnector.esm.js +148 -310
- package/dist/airkitConnector.umd.js +148 -310
- package/package.json +2 -2
- package/src/lib/connector.ts +3 -2
|
@@ -39,7 +39,7 @@ function __values(o) {
|
|
|
39
39
|
if (m) return m.call(o);
|
|
40
40
|
if (o && typeof o.length === "number") return {
|
|
41
41
|
next: function () {
|
|
42
|
-
if (o && i >= o.length) o =
|
|
42
|
+
if (o && i >= o.length) o = void 0;
|
|
43
43
|
return {
|
|
44
44
|
value: o && o[i++],
|
|
45
45
|
done: !o
|
|
@@ -117,6 +117,8 @@ const AirAuthMessageTypes = {
|
|
|
117
117
|
CROSS_PARTNER_TOKEN_RESPONSE: "air_auth_cross_partner_token_response",
|
|
118
118
|
PARTNER_ACCESS_TOKEN_REQUEST: "air_auth_partner_access_token_request",
|
|
119
119
|
PARTNER_ACCESS_TOKEN_RESPONSE: "air_auth_partner_access_token_response",
|
|
120
|
+
CREDENTIAL_SALT_REQUEST: "air_auth_credential_salt_request",
|
|
121
|
+
CREDENTIAL_SALT_RESPONSE: "air_auth_credential_salt_response",
|
|
120
122
|
LOGOUT_REQUEST: "air_auth_logout_request",
|
|
121
123
|
LOGOUT_RESPONSE: "air_auth_logout_response",
|
|
122
124
|
RESET_WALLET_COMMUNICATION: "air_auth_reset_wallet_communication"
|
|
@@ -135,14 +137,6 @@ const AirWalletMessageTypes = {
|
|
|
135
137
|
CLAIM_ID_RESPONSE: "air_claim_id_response",
|
|
136
138
|
DEPLOY_SMART_ACCOUNT_REQUEST: "air_deploy_smart_account_request",
|
|
137
139
|
DEPLOY_SMART_ACCOUNT_RESPONSE: "air_deploy_smart_account_response",
|
|
138
|
-
GRANT_PERMISSIONS_REQUEST: "air_grant_permissions_request",
|
|
139
|
-
GRANT_PERMISSIONS_RESPONSE: "air_grant_permissions_response",
|
|
140
|
-
EXECUTE_ACTION_REQUEST: "air_execute_action_request",
|
|
141
|
-
EXECUTE_ACTION_RESPONSE: "air_execute_action_response",
|
|
142
|
-
REVOKE_PERMISSIONS_REQUEST: "air_revoke_permissions_request",
|
|
143
|
-
REVOKE_PERMISSIONS_RESPONSE: "air_revoke_permissions_response",
|
|
144
|
-
LIST_ALL_SESSION_KEY_SCOPES_REQUEST: "air_list_all_session_key_scopes_request",
|
|
145
|
-
LIST_ALL_SESSION_KEY_SCOPES_RESPONSE: "air_list_all_session_key_scopes_response",
|
|
146
140
|
WALLET_IFRAME_VISIBILITY_REQUEST: "air_wallet_iframe_visibility_request",
|
|
147
141
|
OPEN_WINDOW_REQUEST: "air_open_window_request",
|
|
148
142
|
OPEN_WINDOW_RESPONSE: "air_open_window_response",
|
|
@@ -193,20 +187,20 @@ const BUILD_ENV = {
|
|
|
193
187
|
};
|
|
194
188
|
const AIR_URLS = {
|
|
195
189
|
[BUILD_ENV.DEVELOPMENT]: {
|
|
196
|
-
authUrl: "http://localhost:
|
|
197
|
-
walletUrl: "http://localhost:8200"
|
|
190
|
+
authUrl: "http://localhost:8200/auth/",
|
|
191
|
+
walletUrl: "http://localhost:8200/wallet/"
|
|
198
192
|
},
|
|
199
193
|
[BUILD_ENV.UAT]: {
|
|
200
|
-
authUrl: "https://
|
|
201
|
-
walletUrl: "https://account.uat.air3.com"
|
|
194
|
+
authUrl: "https://account.uat.air3.com/auth/",
|
|
195
|
+
walletUrl: "https://account.uat.air3.com/wallet/"
|
|
202
196
|
},
|
|
203
197
|
[BUILD_ENV.STAGING]: {
|
|
204
|
-
authUrl: "https://
|
|
205
|
-
walletUrl: "https://account.staging.air3.com"
|
|
198
|
+
authUrl: "https://account.staging.air3.com/auth/",
|
|
199
|
+
walletUrl: "https://account.staging.air3.com/wallet/"
|
|
206
200
|
},
|
|
207
201
|
[BUILD_ENV.PRODUCTION]: {
|
|
208
|
-
authUrl: "https://
|
|
209
|
-
walletUrl: "https://account.air3.com"
|
|
202
|
+
authUrl: "https://account.air3.com/auth/",
|
|
203
|
+
walletUrl: "https://account.air3.com/wallet/"
|
|
210
204
|
}
|
|
211
205
|
};
|
|
212
206
|
const isElement = element => element instanceof Element || element instanceof Document;
|
|
@@ -805,7 +799,7 @@ var Subscription = function () {
|
|
|
805
799
|
}
|
|
806
800
|
teardown._addParent(this);
|
|
807
801
|
}
|
|
808
|
-
(this._finalizers = (_a = this._finalizers) !== null && _a !==
|
|
802
|
+
(this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);
|
|
809
803
|
}
|
|
810
804
|
}
|
|
811
805
|
};
|
|
@@ -851,11 +845,7 @@ function execFinalizer(finalizer) {
|
|
|
851
845
|
}
|
|
852
846
|
}
|
|
853
847
|
var config = {
|
|
854
|
-
|
|
855
|
-
onStoppedNotification: null,
|
|
856
|
-
Promise: undefined,
|
|
857
|
-
useDeprecatedSynchronousErrorHandling: false,
|
|
858
|
-
useDeprecatedNextContext: false
|
|
848
|
+
Promise: undefined
|
|
859
849
|
};
|
|
860
850
|
var timeoutProvider = {
|
|
861
851
|
setTimeout: function (handler, timeout) {
|
|
@@ -863,7 +853,7 @@ var timeoutProvider = {
|
|
|
863
853
|
for (var _i = 2; _i < arguments.length; _i++) {
|
|
864
854
|
args[_i - 2] = arguments[_i];
|
|
865
855
|
}
|
|
866
|
-
return setTimeout.apply(
|
|
856
|
+
return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));
|
|
867
857
|
},
|
|
868
858
|
clearTimeout: function (handle) {
|
|
869
859
|
return clearTimeout(handle);
|
|
@@ -989,9 +979,9 @@ var SafeSubscriber = function (_super) {
|
|
|
989
979
|
var partialObserver;
|
|
990
980
|
if (isFunction(observerOrNext) || !observerOrNext) {
|
|
991
981
|
partialObserver = {
|
|
992
|
-
next: observerOrNext !== null && observerOrNext !==
|
|
993
|
-
error: error !== null && error !==
|
|
994
|
-
complete: complete !== null && complete !==
|
|
982
|
+
next: observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined,
|
|
983
|
+
error: error !== null && error !== void 0 ? error : undefined,
|
|
984
|
+
complete: complete !== null && complete !== void 0 ? complete : undefined
|
|
995
985
|
};
|
|
996
986
|
} else {
|
|
997
987
|
{
|
|
@@ -1087,7 +1077,7 @@ var Observable = function () {
|
|
|
1087
1077
|
};
|
|
1088
1078
|
Observable.prototype._subscribe = function (subscriber) {
|
|
1089
1079
|
var _a;
|
|
1090
|
-
return (_a = this.source) === null || _a ===
|
|
1080
|
+
return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);
|
|
1091
1081
|
};
|
|
1092
1082
|
Observable.prototype[observable] = function () {
|
|
1093
1083
|
return this;
|
|
@@ -1120,7 +1110,7 @@ var Observable = function () {
|
|
|
1120
1110
|
}();
|
|
1121
1111
|
function getPromiseCtor(promiseCtor) {
|
|
1122
1112
|
var _a;
|
|
1123
|
-
return (_a = promiseCtor !== null && promiseCtor !==
|
|
1113
|
+
return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;
|
|
1124
1114
|
}
|
|
1125
1115
|
function isObserver(value) {
|
|
1126
1116
|
return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);
|
|
@@ -1129,7 +1119,7 @@ function isSubscriber(value) {
|
|
|
1129
1119
|
return value && value instanceof Subscriber || isObserver(value) && isSubscription(value);
|
|
1130
1120
|
}
|
|
1131
1121
|
function hasLift(source) {
|
|
1132
|
-
return isFunction(source === null || source ===
|
|
1122
|
+
return isFunction(source === null || source === void 0 ? void 0 : source.lift);
|
|
1133
1123
|
}
|
|
1134
1124
|
function operate(init) {
|
|
1135
1125
|
return function (source) {
|
|
@@ -1186,7 +1176,7 @@ var OperatorSubscriber = function (_super) {
|
|
|
1186
1176
|
if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {
|
|
1187
1177
|
var closed_1 = this.closed;
|
|
1188
1178
|
_super.prototype.unsubscribe.call(this);
|
|
1189
|
-
!closed_1 && ((_a = this.onFinalize) === null || _a ===
|
|
1179
|
+
!closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));
|
|
1190
1180
|
}
|
|
1191
1181
|
};
|
|
1192
1182
|
return OperatorSubscriber;
|
|
@@ -1282,7 +1272,7 @@ var Subject = function (_super) {
|
|
|
1282
1272
|
Object.defineProperty(Subject.prototype, "observed", {
|
|
1283
1273
|
get: function () {
|
|
1284
1274
|
var _a;
|
|
1285
|
-
return ((_a = this.observers) === null || _a ===
|
|
1275
|
+
return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;
|
|
1286
1276
|
},
|
|
1287
1277
|
enumerable: false,
|
|
1288
1278
|
configurable: true
|
|
@@ -1343,19 +1333,19 @@ var AnonymousSubject = function (_super) {
|
|
|
1343
1333
|
}
|
|
1344
1334
|
AnonymousSubject.prototype.next = function (value) {
|
|
1345
1335
|
var _a, _b;
|
|
1346
|
-
(_b = (_a = this.destination) === null || _a ===
|
|
1336
|
+
(_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);
|
|
1347
1337
|
};
|
|
1348
1338
|
AnonymousSubject.prototype.error = function (err) {
|
|
1349
1339
|
var _a, _b;
|
|
1350
|
-
(_b = (_a = this.destination) === null || _a ===
|
|
1340
|
+
(_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);
|
|
1351
1341
|
};
|
|
1352
1342
|
AnonymousSubject.prototype.complete = function () {
|
|
1353
1343
|
var _a, _b;
|
|
1354
|
-
(_b = (_a = this.destination) === null || _a ===
|
|
1344
|
+
(_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
1355
1345
|
};
|
|
1356
1346
|
AnonymousSubject.prototype._subscribe = function (subscriber) {
|
|
1357
1347
|
var _a, _b;
|
|
1358
|
-
return (_b = (_a = this.source) === null || _a ===
|
|
1348
|
+
return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;
|
|
1359
1349
|
};
|
|
1360
1350
|
return AnonymousSubject;
|
|
1361
1351
|
}(Subject);
|
|
@@ -1399,6 +1389,27 @@ function filter(predicate, thisArg) {
|
|
|
1399
1389
|
}));
|
|
1400
1390
|
});
|
|
1401
1391
|
}
|
|
1392
|
+
const bigIntReplacer = (_key, value) => {
|
|
1393
|
+
return typeof value === "bigint" ? value.toString() : value;
|
|
1394
|
+
};
|
|
1395
|
+
/**
|
|
1396
|
+
* Creates a window features string for `window.open`, based on the current screen size.
|
|
1397
|
+
* It tries to center the window and limits the size to the given max width and height.
|
|
1398
|
+
* Slightly reduces the size to avoid browser auto-resizing.
|
|
1399
|
+
*/
|
|
1400
|
+
const getWindowFeatures = (maxWidth, maxHeight) => {
|
|
1401
|
+
const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : window.screenX;
|
|
1402
|
+
const dualScreenTop = window.screenTop !== undefined ? window.screenTop : window.screenY;
|
|
1403
|
+
const w = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : window.screen.width;
|
|
1404
|
+
const h = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : window.screen.height;
|
|
1405
|
+
// 95% adjustment for mobile devices, some browser might resize the window
|
|
1406
|
+
const finalWidth = Math.min(w, maxWidth) * 0.95;
|
|
1407
|
+
const finalHeight = Math.min(h, maxHeight) * 0.95;
|
|
1408
|
+
const systemZoom = 1; // No reliable estimate
|
|
1409
|
+
const left = Math.abs((w - finalWidth) / 2 / systemZoom + dualScreenLeft);
|
|
1410
|
+
const top = Math.abs((h - finalHeight) / 2 / systemZoom + dualScreenTop);
|
|
1411
|
+
return `titlebar=0,toolbar=0,status=0,location=0,menubar=0,height=${finalHeight / systemZoom},width=${finalWidth / systemZoom},top=${top},left=${left}`;
|
|
1412
|
+
};
|
|
1402
1413
|
|
|
1403
1414
|
// refer to realm-network-api/src/common/enums/error-codes.enum.ts
|
|
1404
1415
|
/*** Authentication Errors ***/
|
|
@@ -1563,7 +1574,15 @@ class MessageServiceBase {
|
|
|
1563
1574
|
this.messagePort = target;
|
|
1564
1575
|
target.onmessage = handleMessage;
|
|
1565
1576
|
this.closeListener = async () => {
|
|
1566
|
-
|
|
1577
|
+
this.messagePort?.close();
|
|
1578
|
+
this.messagePort = undefined;
|
|
1579
|
+
};
|
|
1580
|
+
} else if (target instanceof BroadcastChannel) {
|
|
1581
|
+
this.messageChannel = target;
|
|
1582
|
+
target.onmessage = handleMessage;
|
|
1583
|
+
this.closeListener = async () => {
|
|
1584
|
+
this.messageChannel?.close();
|
|
1585
|
+
this.messageChannel = undefined;
|
|
1567
1586
|
};
|
|
1568
1587
|
} else {
|
|
1569
1588
|
this.targetWindow = target.window;
|
|
@@ -1605,23 +1624,22 @@ class MessageServiceBase {
|
|
|
1605
1624
|
const clonedMessage = this.deepClone(message);
|
|
1606
1625
|
if (this.messagePort) {
|
|
1607
1626
|
this.messagePort.postMessage(clonedMessage);
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
origin: window.origin
|
|
1611
|
-
}));
|
|
1627
|
+
} else if (this.messageChannel) {
|
|
1628
|
+
this.messageChannel.postMessage(clonedMessage);
|
|
1612
1629
|
} else if (this.targetWindow && this.targetOrigin) {
|
|
1613
1630
|
this.targetWindow.postMessage(clonedMessage, this.targetOrigin, transfer);
|
|
1614
|
-
this.eventSubject.next(new MessageEvent("message", {
|
|
1615
|
-
data: clonedMessage,
|
|
1616
|
-
origin: window.origin
|
|
1617
|
-
}));
|
|
1618
1631
|
} else {
|
|
1619
1632
|
log$1.debug(`[${this.name}] Not opened yet`);
|
|
1633
|
+
return;
|
|
1620
1634
|
}
|
|
1635
|
+
this.eventSubject.next(new MessageEvent("message", {
|
|
1636
|
+
data: clonedMessage,
|
|
1637
|
+
origin: window.origin
|
|
1638
|
+
}));
|
|
1621
1639
|
}
|
|
1622
1640
|
deepClone(message) {
|
|
1623
1641
|
try {
|
|
1624
|
-
return JSON.parse(JSON.stringify(message));
|
|
1642
|
+
return JSON.parse(JSON.stringify(message, bigIntReplacer));
|
|
1625
1643
|
} catch (e) {
|
|
1626
1644
|
log$1.warn("Error generating cloneable message", e);
|
|
1627
1645
|
return message;
|
|
@@ -1661,7 +1679,7 @@ class ProviderMessageService extends MessageServiceBase {
|
|
|
1661
1679
|
}
|
|
1662
1680
|
_a$2 = ProviderMessageService;
|
|
1663
1681
|
_ProviderMessageService_instance = {
|
|
1664
|
-
value:
|
|
1682
|
+
value: void 0
|
|
1665
1683
|
};
|
|
1666
1684
|
var _AirWalletProvider_instances, _AirWalletProvider_providerMessageService, _AirWalletProvider_isLoggedIn, _AirWalletProvider_ensureWallet, _AirWalletProvider_eventListeners, _AirWalletProvider_emit;
|
|
1667
1685
|
class AirWalletProvider {
|
|
@@ -1670,10 +1688,10 @@ class AirWalletProvider {
|
|
|
1670
1688
|
ensureWallet
|
|
1671
1689
|
}) {
|
|
1672
1690
|
_AirWalletProvider_instances.add(this);
|
|
1673
|
-
_AirWalletProvider_providerMessageService.set(this,
|
|
1674
|
-
_AirWalletProvider_isLoggedIn.set(this,
|
|
1675
|
-
_AirWalletProvider_ensureWallet.set(this,
|
|
1676
|
-
_AirWalletProvider_eventListeners.set(this,
|
|
1691
|
+
_AirWalletProvider_providerMessageService.set(this, void 0);
|
|
1692
|
+
_AirWalletProvider_isLoggedIn.set(this, void 0);
|
|
1693
|
+
_AirWalletProvider_ensureWallet.set(this, void 0);
|
|
1694
|
+
_AirWalletProvider_eventListeners.set(this, void 0);
|
|
1677
1695
|
this.startEventMessageListening = async walletIframe => {
|
|
1678
1696
|
await __classPrivateFieldGet$1(this, _AirWalletProvider_providerMessageService, "f").open(walletIframe);
|
|
1679
1697
|
__classPrivateFieldGet$1(this, _AirWalletProvider_providerMessageService, "f").messages$.pipe(filter(msg => msg.type === AirWalletProviderMessageTypes.EVENT)).subscribe(message => {
|
|
@@ -1712,8 +1730,15 @@ class AirWalletProvider {
|
|
|
1712
1730
|
if (!__classPrivateFieldGet$1(this, _AirWalletProvider_isLoggedIn, "f").call(this)) {
|
|
1713
1731
|
throw new UnauthorizedProviderError("User is not logged in");
|
|
1714
1732
|
}
|
|
1733
|
+
const skipWalletLoginMethods = ['eth_chainId'];
|
|
1715
1734
|
try {
|
|
1716
|
-
|
|
1735
|
+
if (skipWalletLoginMethods.includes(method)) {
|
|
1736
|
+
await __classPrivateFieldGet$1(this, _AirWalletProvider_ensureWallet, "f").call(this, {
|
|
1737
|
+
skipWalletLogin: true
|
|
1738
|
+
});
|
|
1739
|
+
} else {
|
|
1740
|
+
await __classPrivateFieldGet$1(this, _AirWalletProvider_ensureWallet, "f").call(this);
|
|
1741
|
+
}
|
|
1717
1742
|
} catch (error) {
|
|
1718
1743
|
throw ensureProviderRpcError(error);
|
|
1719
1744
|
}
|
|
@@ -1819,25 +1844,6 @@ class IframeController {
|
|
|
1819
1844
|
IframeController.defaultState = {
|
|
1820
1845
|
isVisible: false
|
|
1821
1846
|
};
|
|
1822
|
-
|
|
1823
|
-
/**
|
|
1824
|
-
* Creates a window features string for `window.open`, based on the current screen size.
|
|
1825
|
-
* It tries to center the window and limits the size to the given max width and height.
|
|
1826
|
-
* Slightly reduces the size to avoid browser auto-resizing.
|
|
1827
|
-
*/
|
|
1828
|
-
const getWindowFeatures = (maxWidth, maxHeight) => {
|
|
1829
|
-
const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : window.screenX;
|
|
1830
|
-
const dualScreenTop = window.screenTop !== undefined ? window.screenTop : window.screenY;
|
|
1831
|
-
const w = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : window.screen.width;
|
|
1832
|
-
const h = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : window.screen.height;
|
|
1833
|
-
// 95% adjustment for mobile devices, some browser might resize the window
|
|
1834
|
-
const finalWidth = Math.min(w, maxWidth) * 0.95;
|
|
1835
|
-
const finalHeight = Math.min(h, maxHeight) * 0.95;
|
|
1836
|
-
const systemZoom = 1; // No reliable estimate
|
|
1837
|
-
const left = Math.abs((w - finalWidth) / 2 / systemZoom + dualScreenLeft);
|
|
1838
|
-
const top = Math.abs((h - finalHeight) / 2 / systemZoom + dualScreenTop);
|
|
1839
|
-
return `titlebar=0,toolbar=0,status=0,location=0,menubar=0,height=${finalHeight / systemZoom},width=${finalWidth / systemZoom},top=${top},left=${left}`;
|
|
1840
|
-
};
|
|
1841
1847
|
class WindowController {
|
|
1842
1848
|
get messages$() {
|
|
1843
1849
|
return this._messages$.asObservable();
|
|
@@ -1980,7 +1986,8 @@ class WindowService {
|
|
|
1980
1986
|
partnerId,
|
|
1981
1987
|
enableLogging,
|
|
1982
1988
|
onRetry,
|
|
1983
|
-
sdkVersion
|
|
1989
|
+
sdkVersion,
|
|
1990
|
+
enableAutomation
|
|
1984
1991
|
}) {
|
|
1985
1992
|
if (this.windowControllers.has(windowId)) {
|
|
1986
1993
|
throw new Error("Window controller already exists");
|
|
@@ -2005,7 +2012,8 @@ class WindowService {
|
|
|
2005
2012
|
} = await this.sendWindowInitializationRequest(windowId, {
|
|
2006
2013
|
partnerId,
|
|
2007
2014
|
enableLogging,
|
|
2008
|
-
sdkVersion
|
|
2015
|
+
sdkVersion,
|
|
2016
|
+
enableAutomation
|
|
2009
2017
|
}, channel.port1);
|
|
2010
2018
|
if (payload.success === false) {
|
|
2011
2019
|
reject(new AirServiceError(payload.errorName, payload.errorMessage));
|
|
@@ -2041,7 +2049,7 @@ class WindowService {
|
|
|
2041
2049
|
}
|
|
2042
2050
|
var WindowService$1 = WindowService.instance;
|
|
2043
2051
|
var _a$1, _AuthMessageService_instance;
|
|
2044
|
-
const ALLOWED_AUTH_MESSAGES = [AirAuthMessageTypes.INITIALIZATION_RESPONSE, AirAuthMessageTypes.LOGIN_RESPONSE, AirAuthMessageTypes.SETUP_WALLET_REQUEST, AirAuthMessageTypes.LOGOUT_RESPONSE, AirAuthMessageTypes.PARTNER_USER_INFO_RESPONSE, AirAuthMessageTypes.CROSS_PARTNER_TOKEN_RESPONSE, AirAuthMessageTypes.PARTNER_ACCESS_TOKEN_RESPONSE, AirAuthMessageTypes.IFRAME_VISIBILITY_REQUEST];
|
|
2052
|
+
const ALLOWED_AUTH_MESSAGES = [AirAuthMessageTypes.INITIALIZATION_RESPONSE, AirAuthMessageTypes.LOGIN_RESPONSE, AirAuthMessageTypes.SETUP_WALLET_REQUEST, AirAuthMessageTypes.LOGOUT_RESPONSE, AirAuthMessageTypes.PARTNER_USER_INFO_RESPONSE, AirAuthMessageTypes.CROSS_PARTNER_TOKEN_RESPONSE, AirAuthMessageTypes.PARTNER_ACCESS_TOKEN_RESPONSE, AirAuthMessageTypes.IFRAME_VISIBILITY_REQUEST, AirAuthMessageTypes.CREDENTIAL_SALT_RESPONSE];
|
|
2045
2053
|
class AuthMessageService extends MessageServiceBase {
|
|
2046
2054
|
static create() {
|
|
2047
2055
|
if (__classPrivateFieldGet$1(this, _a$1, "f", _AuthMessageService_instance)) throw new Error("AuthMessageService already created");
|
|
@@ -2056,10 +2064,10 @@ class AuthMessageService extends MessageServiceBase {
|
|
|
2056
2064
|
origin
|
|
2057
2065
|
});
|
|
2058
2066
|
}
|
|
2059
|
-
async initWalletCommunication(
|
|
2067
|
+
async initWalletCommunication() {
|
|
2060
2068
|
await this.sendMessage({
|
|
2061
2069
|
type: AirAuthMessageTypes.INIT_WALLET_COMMUNICATION
|
|
2062
|
-
}
|
|
2070
|
+
});
|
|
2063
2071
|
}
|
|
2064
2072
|
async sendPartnerUserInfoRequest() {
|
|
2065
2073
|
const response = firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirAuthMessageTypes.PARTNER_USER_INFO_RESPONSE)));
|
|
@@ -2127,13 +2135,20 @@ class AuthMessageService extends MessageServiceBase {
|
|
|
2127
2135
|
});
|
|
2128
2136
|
return response;
|
|
2129
2137
|
}
|
|
2138
|
+
async sendCredentialSaltRequest() {
|
|
2139
|
+
const response = firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirAuthMessageTypes.CREDENTIAL_SALT_RESPONSE)));
|
|
2140
|
+
await this.sendMessage({
|
|
2141
|
+
type: AirAuthMessageTypes.CREDENTIAL_SALT_REQUEST
|
|
2142
|
+
});
|
|
2143
|
+
return response;
|
|
2144
|
+
}
|
|
2130
2145
|
}
|
|
2131
2146
|
_a$1 = AuthMessageService;
|
|
2132
2147
|
_AuthMessageService_instance = {
|
|
2133
|
-
value:
|
|
2148
|
+
value: void 0
|
|
2134
2149
|
};
|
|
2135
2150
|
var _a, _WalletMessageService_instance;
|
|
2136
|
-
const ALLOWED_WALLET_MESSAGES = [AirWalletMessageTypes.INITIALIZATION_RESPONSE, AirWalletMessageTypes.WALLET_INITIALIZED, AirWalletMessageTypes.WALLET_LOGIN_RESPONSE, AirWalletMessageTypes.SETUP_OR_UPDATE_MFA_RESPONSE, AirWalletMessageTypes.CLAIM_ID_RESPONSE, AirWalletMessageTypes.IS_SMART_ACCOUNT_DEPLOYED_RESPONSE, AirWalletMessageTypes.DEPLOY_SMART_ACCOUNT_RESPONSE, AirWalletMessageTypes.
|
|
2151
|
+
const ALLOWED_WALLET_MESSAGES = [AirWalletMessageTypes.INITIALIZATION_RESPONSE, AirWalletMessageTypes.WALLET_INITIALIZED, AirWalletMessageTypes.WALLET_LOGIN_RESPONSE, AirWalletMessageTypes.SETUP_OR_UPDATE_MFA_RESPONSE, AirWalletMessageTypes.CLAIM_ID_RESPONSE, AirWalletMessageTypes.IS_SMART_ACCOUNT_DEPLOYED_RESPONSE, AirWalletMessageTypes.DEPLOY_SMART_ACCOUNT_RESPONSE, AirWalletMessageTypes.WALLET_INITIALIZED, AirWalletMessageTypes.WALLET_IFRAME_VISIBILITY_REQUEST, AirWalletMessageTypes.LOGOUT_RESPONSE, AirWalletMessageTypes.OPEN_WINDOW_REQUEST, AirWalletMessageTypes.OPEN_WINDOW_RETRY_RESPONSE];
|
|
2137
2152
|
class WalletMessageService extends MessageServiceBase {
|
|
2138
2153
|
static create() {
|
|
2139
2154
|
if (__classPrivateFieldGet$1(this, _a, "f", _WalletMessageService_instance)) throw new Error("WalletMessageService already created");
|
|
@@ -2148,61 +2163,13 @@ class WalletMessageService extends MessageServiceBase {
|
|
|
2148
2163
|
origin
|
|
2149
2164
|
});
|
|
2150
2165
|
}
|
|
2151
|
-
async initAuthCommunication(skipWalletLogin
|
|
2166
|
+
async initAuthCommunication(skipWalletLogin) {
|
|
2152
2167
|
await this.sendMessage({
|
|
2153
2168
|
type: AirWalletMessageTypes.INIT_AUTH_COMMUNICATION,
|
|
2154
2169
|
payload: {
|
|
2155
2170
|
skipWalletLogin
|
|
2156
2171
|
}
|
|
2157
|
-
}, [port]);
|
|
2158
|
-
}
|
|
2159
|
-
async sendGrantPermissionRequest(policies) {
|
|
2160
|
-
const response = firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirWalletMessageTypes.GRANT_PERMISSIONS_RESPONSE)));
|
|
2161
|
-
await this.sendMessage({
|
|
2162
|
-
type: AirWalletMessageTypes.GRANT_PERMISSIONS_REQUEST,
|
|
2163
|
-
payload: {
|
|
2164
|
-
policies
|
|
2165
|
-
}
|
|
2166
2172
|
});
|
|
2167
|
-
const result = await response;
|
|
2168
|
-
if (result.payload.success === false) {
|
|
2169
|
-
throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
|
|
2170
|
-
}
|
|
2171
|
-
return result.payload.sessionData;
|
|
2172
|
-
}
|
|
2173
|
-
async sendExecuteActionRequest(params) {
|
|
2174
|
-
const response = firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirWalletMessageTypes.EXECUTE_ACTION_RESPONSE)));
|
|
2175
|
-
await this.sendMessage({
|
|
2176
|
-
type: AirWalletMessageTypes.EXECUTE_ACTION_REQUEST,
|
|
2177
|
-
payload: {
|
|
2178
|
-
sessionData: params.sessionData,
|
|
2179
|
-
call: {
|
|
2180
|
-
to: params.call.to,
|
|
2181
|
-
value: params.call.value,
|
|
2182
|
-
data: params.call.data
|
|
2183
|
-
},
|
|
2184
|
-
sessionOwnerPrivateKey: params.sessionOwnerPrivateKey
|
|
2185
|
-
}
|
|
2186
|
-
});
|
|
2187
|
-
const result = await response;
|
|
2188
|
-
if (result.payload.success === false) {
|
|
2189
|
-
throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
|
|
2190
|
-
}
|
|
2191
|
-
return result.payload.txHash;
|
|
2192
|
-
}
|
|
2193
|
-
async sendRevokePermissionsRequest(permissionId) {
|
|
2194
|
-
const response = firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirWalletMessageTypes.REVOKE_PERMISSIONS_RESPONSE)));
|
|
2195
|
-
await this.sendMessage({
|
|
2196
|
-
type: AirWalletMessageTypes.REVOKE_PERMISSIONS_REQUEST,
|
|
2197
|
-
payload: {
|
|
2198
|
-
permissionId
|
|
2199
|
-
}
|
|
2200
|
-
});
|
|
2201
|
-
const result = await response;
|
|
2202
|
-
if (result.payload.success === false) {
|
|
2203
|
-
throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
|
|
2204
|
-
}
|
|
2205
|
-
return result.payload.txHash;
|
|
2206
2173
|
}
|
|
2207
2174
|
async sendDeploySmartAccountRequest() {
|
|
2208
2175
|
const response = firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirWalletMessageTypes.DEPLOY_SMART_ACCOUNT_RESPONSE)));
|
|
@@ -2233,21 +2200,6 @@ class WalletMessageService extends MessageServiceBase {
|
|
|
2233
2200
|
});
|
|
2234
2201
|
return response;
|
|
2235
2202
|
}
|
|
2236
|
-
async sendGrantPermissionsRequest(payload) {
|
|
2237
|
-
const response = firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirWalletMessageTypes.GRANT_PERMISSIONS_RESPONSE)));
|
|
2238
|
-
await this.sendMessage({
|
|
2239
|
-
type: AirWalletMessageTypes.GRANT_PERMISSIONS_REQUEST,
|
|
2240
|
-
payload
|
|
2241
|
-
});
|
|
2242
|
-
return response;
|
|
2243
|
-
}
|
|
2244
|
-
async sendListAllSessionKeyScopesRequest() {
|
|
2245
|
-
const response = firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirWalletMessageTypes.LIST_ALL_SESSION_KEY_SCOPES_RESPONSE)));
|
|
2246
|
-
await this.sendMessage({
|
|
2247
|
-
type: AirWalletMessageTypes.LIST_ALL_SESSION_KEY_SCOPES_REQUEST
|
|
2248
|
-
});
|
|
2249
|
-
return response;
|
|
2250
|
-
}
|
|
2251
2203
|
onInitialized() {
|
|
2252
2204
|
return firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirWalletMessageTypes.WALLET_INITIALIZED)));
|
|
2253
2205
|
}
|
|
@@ -2313,7 +2265,7 @@ class WalletMessageService extends MessageServiceBase {
|
|
|
2313
2265
|
}
|
|
2314
2266
|
_a = WalletMessageService;
|
|
2315
2267
|
_WalletMessageService_instance = {
|
|
2316
|
-
value:
|
|
2268
|
+
value: void 0
|
|
2317
2269
|
};
|
|
2318
2270
|
const getLevelName = levelNum => {
|
|
2319
2271
|
const levelNames = Object.keys(log$1.levels);
|
|
@@ -2335,78 +2287,11 @@ const configureLogLevel = (environment, enableLogging) => {
|
|
|
2335
2287
|
level = enableLogging ? log$1.levels.WARN : log$1.levels.ERROR;
|
|
2336
2288
|
}
|
|
2337
2289
|
log$1.setLevel(level);
|
|
2338
|
-
log$1.info(`[${window?.location?.
|
|
2339
|
-
};
|
|
2340
|
-
var name = "@mocanetwork/airkit";
|
|
2341
|
-
var version$2 = "1.2.1";
|
|
2342
|
-
var description = "Air kit to interact with the Moca Network";
|
|
2343
|
-
var main = "dist/airkit.cjs.js";
|
|
2344
|
-
var module = "dist/airkit.esm.js";
|
|
2345
|
-
var unpkg = "dist/airkit.umd.min.js";
|
|
2346
|
-
var jsdelivr = "dist/airkit.umd.min.js";
|
|
2347
|
-
var types = "dist/types/index.d.ts";
|
|
2348
|
-
var files = ["dist"];
|
|
2349
|
-
var scripts = {
|
|
2350
|
-
build: "rollup --config",
|
|
2351
|
-
prepack: "npm run build && npm run postbuild",
|
|
2352
|
-
lint: "eslint --fix 'src/**/*.ts'",
|
|
2353
|
-
format: "prettier --write 'src/**/*.ts'",
|
|
2354
|
-
postbuild: "node scripts/copyAndAdjustDtsFiles.js '../common/src' 'common'"
|
|
2355
|
-
};
|
|
2356
|
-
var dependencies = {
|
|
2357
|
-
"@mocanetwork/airkit-connector": "^1.2.0",
|
|
2358
|
-
"fast-deep-equal": "^3.1.3",
|
|
2359
|
-
loglevel: "^1.9.2",
|
|
2360
|
-
pump: "^3.0.0",
|
|
2361
|
-
"readable-stream": "^4.5.2",
|
|
2362
|
-
rxjs: "^7.8.1"
|
|
2363
|
-
};
|
|
2364
|
-
var devDependencies = {
|
|
2365
|
-
"@babel/runtime": "^7.25.6",
|
|
2366
|
-
"@rushstack/eslint-patch": "^1.10.2",
|
|
2367
|
-
"@types/pump": "^1.1.3",
|
|
2368
|
-
"@types/readable-stream": "^4.0.15",
|
|
2369
|
-
"fs-extra": "^11.2.0",
|
|
2370
|
-
glob: "^11.0.0",
|
|
2371
|
-
process: "^0.11.10",
|
|
2372
|
-
"typescript-eslint": "^8.21.0"
|
|
2373
|
-
};
|
|
2374
|
-
var mocha = {
|
|
2375
|
-
timeout: 0
|
|
2376
|
-
};
|
|
2377
|
-
var keywords = ["airkit", "mocaverse", "wallet", "embed", "login", "OAuth", "crypto"];
|
|
2378
|
-
var author = "Mocaverse";
|
|
2379
|
-
var license = "ISC";
|
|
2380
|
-
var engines = {
|
|
2381
|
-
node: ">=18.x",
|
|
2382
|
-
npm: ">=9.x"
|
|
2383
|
-
};
|
|
2384
|
-
var publishConfig = {
|
|
2385
|
-
access: "restricted"
|
|
2290
|
+
log$1.info(`[${window?.location?.href}] LogLevel: ${getLevelName(log$1.getLevel())}`);
|
|
2386
2291
|
};
|
|
2292
|
+
var version$2 = "1.3.0";
|
|
2387
2293
|
var airkitPackage = {
|
|
2388
|
-
|
|
2389
|
-
version: version$2,
|
|
2390
|
-
description: description,
|
|
2391
|
-
main: main,
|
|
2392
|
-
module: module,
|
|
2393
|
-
unpkg: unpkg,
|
|
2394
|
-
jsdelivr: jsdelivr,
|
|
2395
|
-
types: types,
|
|
2396
|
-
files: files,
|
|
2397
|
-
scripts: scripts,
|
|
2398
|
-
dependencies: dependencies,
|
|
2399
|
-
devDependencies: devDependencies,
|
|
2400
|
-
mocha: mocha,
|
|
2401
|
-
keywords: keywords,
|
|
2402
|
-
author: author,
|
|
2403
|
-
license: license,
|
|
2404
|
-
"lint-staged": {
|
|
2405
|
-
"!(*d).{js,ts}": ["eslint --cache --fix", "prettier --write"],
|
|
2406
|
-
"*.{json, md}": ["prettier --write"]
|
|
2407
|
-
},
|
|
2408
|
-
engines: engines,
|
|
2409
|
-
publishConfig: publishConfig
|
|
2294
|
+
version: version$2
|
|
2410
2295
|
};
|
|
2411
2296
|
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;
|
|
2412
2297
|
const airKitVersion = airkitPackage.version;
|
|
@@ -2415,20 +2300,20 @@ class AirService {
|
|
|
2415
2300
|
partnerId
|
|
2416
2301
|
}) {
|
|
2417
2302
|
_AirService_instances.add(this);
|
|
2418
|
-
_AirService_loginResult.set(this,
|
|
2419
|
-
_AirService_buildEnv.set(this,
|
|
2303
|
+
_AirService_loginResult.set(this, void 0);
|
|
2304
|
+
_AirService_buildEnv.set(this, void 0);
|
|
2420
2305
|
_AirService_enableLogging.set(this, false);
|
|
2421
|
-
_AirService_partnerId.set(this,
|
|
2306
|
+
_AirService_partnerId.set(this, void 0);
|
|
2422
2307
|
//#modalZIndex: number; TODO implement z index overwrite
|
|
2423
|
-
_AirService_authMessagingService.set(this,
|
|
2424
|
-
_AirService_authIframeController.set(this,
|
|
2308
|
+
_AirService_authMessagingService.set(this, void 0);
|
|
2309
|
+
_AirService_authIframeController.set(this, void 0);
|
|
2425
2310
|
_AirService_isAuthInitialized.set(this, false);
|
|
2426
2311
|
_AirService_airAuthListener.set(this, []);
|
|
2427
|
-
_AirService_walletMessagingService.set(this,
|
|
2428
|
-
_AirService_walletIframeController.set(this,
|
|
2429
|
-
_AirService_walletInitialization.set(this,
|
|
2430
|
-
_AirService_walletLoggedInResult.set(this,
|
|
2431
|
-
_AirService_airWalletProvider.set(this,
|
|
2312
|
+
_AirService_walletMessagingService.set(this, void 0);
|
|
2313
|
+
_AirService_walletIframeController.set(this, void 0);
|
|
2314
|
+
_AirService_walletInitialization.set(this, void 0);
|
|
2315
|
+
_AirService_walletLoggedInResult.set(this, void 0);
|
|
2316
|
+
_AirService_airWalletProvider.set(this, void 0);
|
|
2432
2317
|
__classPrivateFieldSet(this, _AirService_partnerId, partnerId);
|
|
2433
2318
|
__classPrivateFieldSet(this, _AirService_authMessagingService, AuthMessageService.create());
|
|
2434
2319
|
__classPrivateFieldSet(this, _AirService_walletMessagingService, WalletMessageService.create());
|
|
@@ -2458,6 +2343,9 @@ class AirService {
|
|
|
2458
2343
|
removeListener: provider.removeListener.bind(provider)
|
|
2459
2344
|
};
|
|
2460
2345
|
}
|
|
2346
|
+
shouldEnableAutomation() {
|
|
2347
|
+
return localStorage.getItem("automation") === "true" && __classPrivateFieldGet$1(this, _AirService_buildEnv, "f") !== "production";
|
|
2348
|
+
}
|
|
2461
2349
|
async init({
|
|
2462
2350
|
buildEnv = BUILD_ENV.PRODUCTION,
|
|
2463
2351
|
enableLogging = false,
|
|
@@ -2475,6 +2363,7 @@ class AirService {
|
|
|
2475
2363
|
__classPrivateFieldSet(this, _AirService_authIframeController, new IframeController(authUrl, `air-auth-${randomId()}`));
|
|
2476
2364
|
try {
|
|
2477
2365
|
__classPrivateFieldGet$1(this, _AirService_authIframeController, "f").createIframe();
|
|
2366
|
+
log$1.info(authUrl, "url loaded");
|
|
2478
2367
|
await __classPrivateFieldGet$1(this, _AirService_authMessagingService, "f").open(__classPrivateFieldGet$1(this, _AirService_authIframeController, "f").iframeElement);
|
|
2479
2368
|
__classPrivateFieldGet$1(this, _AirService_authMessagingService, "f").messages$.subscribe(async msg => {
|
|
2480
2369
|
switch (msg.type) {
|
|
@@ -2512,7 +2401,8 @@ class AirService {
|
|
|
2512
2401
|
skipRehydration,
|
|
2513
2402
|
partnerDAppUrl: window.location.href,
|
|
2514
2403
|
sdkVersion: airKitVersion,
|
|
2515
|
-
enableLogging: __classPrivateFieldGet$1(this, _AirService_enableLogging, "f")
|
|
2404
|
+
enableLogging: __classPrivateFieldGet$1(this, _AirService_enableLogging, "f"),
|
|
2405
|
+
enableAutomation: this.shouldEnableAutomation()
|
|
2516
2406
|
});
|
|
2517
2407
|
if (payload.success === true) {
|
|
2518
2408
|
resolve(payload);
|
|
@@ -2579,66 +2469,17 @@ class AirService {
|
|
|
2579
2469
|
/**
|
|
2580
2470
|
* @experimental This method is experimental and will change in the future.
|
|
2581
2471
|
*/
|
|
2582
|
-
async
|
|
2583
|
-
if (!__classPrivateFieldGet$1(this, _AirService_isAuthInitialized, "f")) throw new Error("AirAuth is not initialized");
|
|
2584
|
-
await __classPrivateFieldGet$1(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
|
|
2585
|
-
try {
|
|
2586
|
-
log$1.info("grantPermission", policies);
|
|
2587
|
-
const {
|
|
2588
|
-
payload
|
|
2589
|
-
} = await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").sendGrantPermissionsRequest({
|
|
2590
|
-
policies
|
|
2591
|
-
});
|
|
2592
|
-
if (payload.success === false) {
|
|
2593
|
-
throw new AirServiceError(payload.errorName, payload.errorMessage);
|
|
2594
|
-
}
|
|
2595
|
-
return payload.sessionData;
|
|
2596
|
-
} catch (error) {
|
|
2597
|
-
throw AirServiceError.from(error);
|
|
2598
|
-
}
|
|
2599
|
-
}
|
|
2600
|
-
/**
|
|
2601
|
-
* @experimental This method is experimental and will change in the future.
|
|
2602
|
-
*/
|
|
2603
|
-
async listAllSessionKeyScopes() {
|
|
2472
|
+
async isSmartAccountDeployed() {
|
|
2604
2473
|
if (!__classPrivateFieldGet$1(this, _AirService_isAuthInitialized, "f")) throw new Error("Service is not initialized");
|
|
2605
2474
|
await __classPrivateFieldGet$1(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
|
|
2606
2475
|
try {
|
|
2607
2476
|
const {
|
|
2608
2477
|
payload
|
|
2609
|
-
} = await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").
|
|
2478
|
+
} = await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").sendIsSmartAccountDeployedRequest();
|
|
2610
2479
|
if (payload.success === false) {
|
|
2611
2480
|
throw new AirServiceError(payload.errorName, payload.errorMessage);
|
|
2612
2481
|
}
|
|
2613
|
-
return payload.
|
|
2614
|
-
} catch (error) {
|
|
2615
|
-
throw AirServiceError.from(error);
|
|
2616
|
-
}
|
|
2617
|
-
}
|
|
2618
|
-
/**
|
|
2619
|
-
* @experimental This method is experimental and will change in the future.
|
|
2620
|
-
*/
|
|
2621
|
-
async executeAction(params) {
|
|
2622
|
-
if (!__classPrivateFieldGet$1(this, _AirService_isAuthInitialized, "f")) throw new Error("Service is not initialized");
|
|
2623
|
-
await __classPrivateFieldGet$1(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
|
|
2624
|
-
try {
|
|
2625
|
-
log$1.info("executeAction", params);
|
|
2626
|
-
const txHash = await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").sendExecuteActionRequest(params);
|
|
2627
|
-
return txHash;
|
|
2628
|
-
} catch (error) {
|
|
2629
|
-
throw AirServiceError.from(error);
|
|
2630
|
-
}
|
|
2631
|
-
}
|
|
2632
|
-
/**
|
|
2633
|
-
* @experimental This method is experimental and will change in the future.
|
|
2634
|
-
*/
|
|
2635
|
-
async revokePermission(permissionId) {
|
|
2636
|
-
if (!__classPrivateFieldGet$1(this, _AirService_isAuthInitialized, "f")) throw new Error("Service is not initialized");
|
|
2637
|
-
await __classPrivateFieldGet$1(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
|
|
2638
|
-
try {
|
|
2639
|
-
log$1.info("revokePermission", permissionId);
|
|
2640
|
-
const txHash = await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").sendRevokePermissionsRequest(permissionId);
|
|
2641
|
-
return txHash;
|
|
2482
|
+
return payload.isDeployed;
|
|
2642
2483
|
} catch (error) {
|
|
2643
2484
|
throw AirServiceError.from(error);
|
|
2644
2485
|
}
|
|
@@ -2646,20 +2487,16 @@ class AirService {
|
|
|
2646
2487
|
/**
|
|
2647
2488
|
* @experimental This method is experimental and will change in the future.
|
|
2648
2489
|
*/
|
|
2649
|
-
async
|
|
2490
|
+
async getCredentialSalt() {
|
|
2650
2491
|
if (!__classPrivateFieldGet$1(this, _AirService_isAuthInitialized, "f")) throw new Error("Service is not initialized");
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
} = await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").sendIsSmartAccountDeployedRequest();
|
|
2656
|
-
if (payload.success === false) {
|
|
2657
|
-
throw new AirServiceError(payload.errorName, payload.errorMessage);
|
|
2658
|
-
}
|
|
2659
|
-
return payload.isDeployed;
|
|
2660
|
-
} catch (error) {
|
|
2661
|
-
throw AirServiceError.from(error);
|
|
2492
|
+
if (!this.isLoggedIn) throw new Error("No active session to get partner access token");
|
|
2493
|
+
const result = await __classPrivateFieldGet$1(this, _AirService_authMessagingService, "f").sendCredentialSaltRequest();
|
|
2494
|
+
if (result.payload.success === false) {
|
|
2495
|
+
throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
|
|
2662
2496
|
}
|
|
2497
|
+
return {
|
|
2498
|
+
credentialSalt: result.payload.credentialSalt
|
|
2499
|
+
};
|
|
2663
2500
|
}
|
|
2664
2501
|
getProvider() {
|
|
2665
2502
|
return this.provider;
|
|
@@ -2785,7 +2622,6 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
|
|
|
2785
2622
|
const {
|
|
2786
2623
|
walletUrl
|
|
2787
2624
|
} = AIR_URLS[__classPrivateFieldGet$1(this, _AirService_buildEnv, "f")];
|
|
2788
|
-
log$1.info(walletUrl, "url loaded");
|
|
2789
2625
|
const walletIframeOrigin = new URL(walletUrl).origin;
|
|
2790
2626
|
try {
|
|
2791
2627
|
const walletInitRequestPromise = new Promise((resolve, reject) => {
|
|
@@ -2798,7 +2634,8 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
|
|
|
2798
2634
|
} = await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").sendInitializationRequest({
|
|
2799
2635
|
partnerId: __classPrivateFieldGet$1(this, _AirService_partnerId, "f"),
|
|
2800
2636
|
enableLogging: __classPrivateFieldGet$1(this, _AirService_enableLogging, "f"),
|
|
2801
|
-
sdkVersion: airKitVersion
|
|
2637
|
+
sdkVersion: airKitVersion,
|
|
2638
|
+
enableAutomation: this.shouldEnableAutomation()
|
|
2802
2639
|
});
|
|
2803
2640
|
if (payload.success === true) {
|
|
2804
2641
|
resolve();
|
|
@@ -2811,14 +2648,14 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
|
|
|
2811
2648
|
});
|
|
2812
2649
|
__classPrivateFieldSet(this, _AirService_walletIframeController, new IframeController(walletUrl, `air-wallet-${randomId()}`), "f");
|
|
2813
2650
|
__classPrivateFieldGet$1(this, _AirService_walletIframeController, "f").createIframe();
|
|
2651
|
+
log$1.info(walletUrl, "url loaded");
|
|
2814
2652
|
await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").open(__classPrivateFieldGet$1(this, _AirService_walletIframeController, "f").iframeElement);
|
|
2815
2653
|
__classPrivateFieldGet$1(this, _AirService_instances, "m", _AirService_subscribeToWalletEvents).call(this);
|
|
2816
2654
|
await __classPrivateFieldGet$1(this, _AirService_airWalletProvider, "f").startEventMessageListening(__classPrivateFieldGet$1(this, _AirService_walletIframeController, "f").iframeElement);
|
|
2817
2655
|
const walletInitPromise = __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").onInitialized();
|
|
2818
2656
|
await walletInitRequestPromise;
|
|
2819
|
-
|
|
2820
|
-
await __classPrivateFieldGet$1(this,
|
|
2821
|
-
await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").initAuthCommunication(option?.skipWalletLogin ?? false, channel.port2);
|
|
2657
|
+
await __classPrivateFieldGet$1(this, _AirService_authMessagingService, "f").initWalletCommunication();
|
|
2658
|
+
await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").initAuthCommunication(option?.skipWalletLogin ?? false);
|
|
2822
2659
|
const walletInitResult = await walletInitPromise;
|
|
2823
2660
|
if (walletInitResult.payload.success !== true) {
|
|
2824
2661
|
throw new AirServiceError(walletInitResult.payload.errorName, walletInitResult.payload.errorMessage);
|
|
@@ -2871,6 +2708,7 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
|
|
|
2871
2708
|
partnerId: __classPrivateFieldGet$1(this, _AirService_partnerId, "f"),
|
|
2872
2709
|
enableLogging: __classPrivateFieldGet$1(this, _AirService_enableLogging, "f"),
|
|
2873
2710
|
sdkVersion: airKitVersion,
|
|
2711
|
+
enableAutomation: this.shouldEnableAutomation(),
|
|
2874
2712
|
onRetry
|
|
2875
2713
|
});
|
|
2876
2714
|
windowController.onClose(async () => await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").sendWindowClosed(msg.payload.windowId));
|
|
@@ -2989,31 +2827,31 @@ let BaseError$1 = class BaseError extends Error {
|
|
|
2989
2827
|
enumerable: true,
|
|
2990
2828
|
configurable: true,
|
|
2991
2829
|
writable: true,
|
|
2992
|
-
value:
|
|
2830
|
+
value: void 0
|
|
2993
2831
|
});
|
|
2994
2832
|
Object.defineProperty(this, "docsPath", {
|
|
2995
2833
|
enumerable: true,
|
|
2996
2834
|
configurable: true,
|
|
2997
2835
|
writable: true,
|
|
2998
|
-
value:
|
|
2836
|
+
value: void 0
|
|
2999
2837
|
});
|
|
3000
2838
|
Object.defineProperty(this, "metaMessages", {
|
|
3001
2839
|
enumerable: true,
|
|
3002
2840
|
configurable: true,
|
|
3003
2841
|
writable: true,
|
|
3004
|
-
value:
|
|
2842
|
+
value: void 0
|
|
3005
2843
|
});
|
|
3006
2844
|
Object.defineProperty(this, "shortMessage", {
|
|
3007
2845
|
enumerable: true,
|
|
3008
2846
|
configurable: true,
|
|
3009
2847
|
writable: true,
|
|
3010
|
-
value:
|
|
2848
|
+
value: void 0
|
|
3011
2849
|
});
|
|
3012
2850
|
Object.defineProperty(this, "version", {
|
|
3013
2851
|
enumerable: true,
|
|
3014
2852
|
configurable: true,
|
|
3015
2853
|
writable: true,
|
|
3016
|
-
value:
|
|
2854
|
+
value: void 0
|
|
3017
2855
|
});
|
|
3018
2856
|
Object.defineProperty(this, "name", {
|
|
3019
2857
|
enumerable: true,
|
|
@@ -3399,7 +3237,7 @@ class LruMap extends Map {
|
|
|
3399
3237
|
enumerable: true,
|
|
3400
3238
|
configurable: true,
|
|
3401
3239
|
writable: true,
|
|
3402
|
-
value:
|
|
3240
|
+
value: void 0
|
|
3403
3241
|
});
|
|
3404
3242
|
this.maxSize = size;
|
|
3405
3243
|
}
|
|
@@ -3818,7 +3656,7 @@ const isAddressCache = /*#__PURE__*/new LruMap(8192);
|
|
|
3818
3656
|
function isAddress(address, options) {
|
|
3819
3657
|
const {
|
|
3820
3658
|
strict = true
|
|
3821
|
-
} = options;
|
|
3659
|
+
} = options ?? {};
|
|
3822
3660
|
const cacheKey = `${address}.${strict}`;
|
|
3823
3661
|
if (isAddressCache.has(cacheKey)) return isAddressCache.get(cacheKey);
|
|
3824
3662
|
const result = (() => {
|
|
@@ -3854,13 +3692,13 @@ class RpcRequestError extends BaseError$1 {
|
|
|
3854
3692
|
enumerable: true,
|
|
3855
3693
|
configurable: true,
|
|
3856
3694
|
writable: true,
|
|
3857
|
-
value:
|
|
3695
|
+
value: void 0
|
|
3858
3696
|
});
|
|
3859
3697
|
Object.defineProperty(this, "data", {
|
|
3860
3698
|
enumerable: true,
|
|
3861
3699
|
configurable: true,
|
|
3862
3700
|
writable: true,
|
|
3863
|
-
value:
|
|
3701
|
+
value: void 0
|
|
3864
3702
|
});
|
|
3865
3703
|
this.code = error.code;
|
|
3866
3704
|
this.data = error.data;
|
|
@@ -3886,7 +3724,7 @@ class RpcError extends BaseError$1 {
|
|
|
3886
3724
|
enumerable: true,
|
|
3887
3725
|
configurable: true,
|
|
3888
3726
|
writable: true,
|
|
3889
|
-
value:
|
|
3727
|
+
value: void 0
|
|
3890
3728
|
});
|
|
3891
3729
|
this.name = name || cause.name;
|
|
3892
3730
|
this.code = cause instanceof RpcRequestError ? cause.code : code ?? unknownErrorCode;
|
|
@@ -3899,7 +3737,7 @@ class ProviderRpcError extends RpcError {
|
|
|
3899
3737
|
enumerable: true,
|
|
3900
3738
|
configurable: true,
|
|
3901
3739
|
writable: true,
|
|
3902
|
-
value:
|
|
3740
|
+
value: void 0
|
|
3903
3741
|
});
|
|
3904
3742
|
this.data = options.data;
|
|
3905
3743
|
}
|
|
@@ -3959,25 +3797,25 @@ class BaseError extends Error {
|
|
|
3959
3797
|
enumerable: true,
|
|
3960
3798
|
configurable: true,
|
|
3961
3799
|
writable: true,
|
|
3962
|
-
value:
|
|
3800
|
+
value: void 0
|
|
3963
3801
|
});
|
|
3964
3802
|
Object.defineProperty(this, "docsPath", {
|
|
3965
3803
|
enumerable: true,
|
|
3966
3804
|
configurable: true,
|
|
3967
3805
|
writable: true,
|
|
3968
|
-
value:
|
|
3806
|
+
value: void 0
|
|
3969
3807
|
});
|
|
3970
3808
|
Object.defineProperty(this, "metaMessages", {
|
|
3971
3809
|
enumerable: true,
|
|
3972
3810
|
configurable: true,
|
|
3973
3811
|
writable: true,
|
|
3974
|
-
value:
|
|
3812
|
+
value: void 0
|
|
3975
3813
|
});
|
|
3976
3814
|
Object.defineProperty(this, "shortMessage", {
|
|
3977
3815
|
enumerable: true,
|
|
3978
3816
|
configurable: true,
|
|
3979
3817
|
writable: true,
|
|
3980
|
-
value:
|
|
3818
|
+
value: void 0
|
|
3981
3819
|
});
|
|
3982
3820
|
Object.defineProperty(this, "name", {
|
|
3983
3821
|
enumerable: true,
|
|
@@ -4369,7 +4207,7 @@ function airConnector(parameters) {
|
|
|
4369
4207
|
isRainbowKitConnector: true,
|
|
4370
4208
|
airService: service,
|
|
4371
4209
|
getLoginResult: () => loginResult,
|
|
4372
|
-
async connect({ chainId } = {}) {
|
|
4210
|
+
async connect({ chainId, authToken } = {}) {
|
|
4373
4211
|
try {
|
|
4374
4212
|
config.emitter.emit("message", { type: "connecting" });
|
|
4375
4213
|
const provider = await this.getProvider();
|
|
@@ -4377,7 +4215,7 @@ function airConnector(parameters) {
|
|
|
4377
4215
|
provider.on("chainChanged", this.onChainChanged);
|
|
4378
4216
|
provider.on("disconnect", this.onDisconnect.bind(this));
|
|
4379
4217
|
loginResult = await service.login({
|
|
4380
|
-
authToken: parameters.loginOptions?.authToken,
|
|
4218
|
+
authToken: authToken ?? parameters.loginOptions?.authToken,
|
|
4381
4219
|
});
|
|
4382
4220
|
let currentChainId = await this.getChainId();
|
|
4383
4221
|
if (chainId && currentChainId !== chainId) {
|