@reown/appkit-core 0.0.3
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/LICENSE +190 -0
- package/dist/esm/exports/index.js +30 -0
- package/dist/esm/exports/index.js.map +1 -0
- package/dist/esm/exports/react.js +20 -0
- package/dist/esm/exports/react.js.map +1 -0
- package/dist/esm/src/controllers/AccountController.js +150 -0
- package/dist/esm/src/controllers/AccountController.js.map +1 -0
- package/dist/esm/src/controllers/ApiController.js +230 -0
- package/dist/esm/src/controllers/ApiController.js.map +1 -0
- package/dist/esm/src/controllers/AssetController.js +43 -0
- package/dist/esm/src/controllers/AssetController.js.map +1 -0
- package/dist/esm/src/controllers/BlockchainApiController.js +334 -0
- package/dist/esm/src/controllers/BlockchainApiController.js.map +1 -0
- package/dist/esm/src/controllers/ChainController.js +289 -0
- package/dist/esm/src/controllers/ChainController.js.map +1 -0
- package/dist/esm/src/controllers/ConnectionController.js +128 -0
- package/dist/esm/src/controllers/ConnectionController.js.map +1 -0
- package/dist/esm/src/controllers/ConnectorController.js +111 -0
- package/dist/esm/src/controllers/ConnectorController.js.map +1 -0
- package/dist/esm/src/controllers/EnsController.js +135 -0
- package/dist/esm/src/controllers/EnsController.js.map +1 -0
- package/dist/esm/src/controllers/EventsController.js +60 -0
- package/dist/esm/src/controllers/EventsController.js.map +1 -0
- package/dist/esm/src/controllers/ModalController.js +73 -0
- package/dist/esm/src/controllers/ModalController.js.map +1 -0
- package/dist/esm/src/controllers/NetworkController.js +236 -0
- package/dist/esm/src/controllers/NetworkController.js.map +1 -0
- package/dist/esm/src/controllers/OnRampController.js +133 -0
- package/dist/esm/src/controllers/OnRampController.js.map +1 -0
- package/dist/esm/src/controllers/OptionsController.js +84 -0
- package/dist/esm/src/controllers/OptionsController.js.map +1 -0
- package/dist/esm/src/controllers/PublicStateController.js +19 -0
- package/dist/esm/src/controllers/PublicStateController.js.map +1 -0
- package/dist/esm/src/controllers/RouterController.js +101 -0
- package/dist/esm/src/controllers/RouterController.js.map +1 -0
- package/dist/esm/src/controllers/SendController.js +214 -0
- package/dist/esm/src/controllers/SendController.js.map +1 -0
- package/dist/esm/src/controllers/SnackController.js +36 -0
- package/dist/esm/src/controllers/SnackController.js.map +1 -0
- package/dist/esm/src/controllers/SwapController.js +627 -0
- package/dist/esm/src/controllers/SwapController.js.map +1 -0
- package/dist/esm/src/controllers/ThemeController.js +55 -0
- package/dist/esm/src/controllers/ThemeController.js.map +1 -0
- package/dist/esm/src/controllers/TooltipController.js +41 -0
- package/dist/esm/src/controllers/TooltipController.js.map +1 -0
- package/dist/esm/src/controllers/TransactionsController.js +115 -0
- package/dist/esm/src/controllers/TransactionsController.js.map +1 -0
- package/dist/esm/src/utils/AssetUtil.js +62 -0
- package/dist/esm/src/utils/AssetUtil.js.map +1 -0
- package/dist/esm/src/utils/ConstantsUtil.js +194 -0
- package/dist/esm/src/utils/ConstantsUtil.js.map +1 -0
- package/dist/esm/src/utils/CoreHelperUtil.js +238 -0
- package/dist/esm/src/utils/CoreHelperUtil.js.map +1 -0
- package/dist/esm/src/utils/EnsUtil.js +10 -0
- package/dist/esm/src/utils/EnsUtil.js.map +1 -0
- package/dist/esm/src/utils/FetchUtil.js +73 -0
- package/dist/esm/src/utils/FetchUtil.js.map +1 -0
- package/dist/esm/src/utils/OptionsUtil.js +11 -0
- package/dist/esm/src/utils/OptionsUtil.js.map +1 -0
- package/dist/esm/src/utils/RouterUtil.js +23 -0
- package/dist/esm/src/utils/RouterUtil.js.map +1 -0
- package/dist/esm/src/utils/StorageUtil.js +107 -0
- package/dist/esm/src/utils/StorageUtil.js.map +1 -0
- package/dist/esm/src/utils/SwapApiUtil.js +92 -0
- package/dist/esm/src/utils/SwapApiUtil.js.map +1 -0
- package/dist/esm/src/utils/SwapCalculationUtil.js +74 -0
- package/dist/esm/src/utils/SwapCalculationUtil.js.map +1 -0
- package/dist/esm/src/utils/TypeUtil.js +2 -0
- package/dist/esm/src/utils/TypeUtil.js.map +1 -0
- package/dist/esm/tests/constants/OnrampTransactions.js +151 -0
- package/dist/esm/tests/constants/OnrampTransactions.js.map +1 -0
- package/dist/esm/tests/controllers/AccountController.test.js +82 -0
- package/dist/esm/tests/controllers/AccountController.test.js.map +1 -0
- package/dist/esm/tests/controllers/ApiController.test.js +532 -0
- package/dist/esm/tests/controllers/ApiController.test.js.map +1 -0
- package/dist/esm/tests/controllers/AssetController.test.js +92 -0
- package/dist/esm/tests/controllers/AssetController.test.js.map +1 -0
- package/dist/esm/tests/controllers/ChainController.test.js +70 -0
- package/dist/esm/tests/controllers/ChainController.test.js.map +1 -0
- package/dist/esm/tests/controllers/ConnectionController.test.js +116 -0
- package/dist/esm/tests/controllers/ConnectionController.test.js.map +1 -0
- package/dist/esm/tests/controllers/ConnectorController.test.js +133 -0
- package/dist/esm/tests/controllers/ConnectorController.test.js.map +1 -0
- package/dist/esm/tests/controllers/EnsController.test.js +166 -0
- package/dist/esm/tests/controllers/EnsController.test.js.map +1 -0
- package/dist/esm/tests/controllers/EventsController.test.js +18 -0
- package/dist/esm/tests/controllers/EventsController.test.js.map +1 -0
- package/dist/esm/tests/controllers/ModalController.test.js +18 -0
- package/dist/esm/tests/controllers/ModalController.test.js.map +1 -0
- package/dist/esm/tests/controllers/NetworkController.test.js +134 -0
- package/dist/esm/tests/controllers/NetworkController.test.js.map +1 -0
- package/dist/esm/tests/controllers/OnRampController.test.js +118 -0
- package/dist/esm/tests/controllers/OnRampController.test.js.map +1 -0
- package/dist/esm/tests/controllers/OptionsController.test.js +23 -0
- package/dist/esm/tests/controllers/OptionsController.test.js.map +1 -0
- package/dist/esm/tests/controllers/PublicStateController.test.js +27 -0
- package/dist/esm/tests/controllers/PublicStateController.test.js.map +1 -0
- package/dist/esm/tests/controllers/RouterController.test.js +76 -0
- package/dist/esm/tests/controllers/RouterController.test.js.map +1 -0
- package/dist/esm/tests/controllers/SendController.test.js +51 -0
- package/dist/esm/tests/controllers/SendController.test.js.map +1 -0
- package/dist/esm/tests/controllers/SnackController.test.js +37 -0
- package/dist/esm/tests/controllers/SnackController.test.js.map +1 -0
- package/dist/esm/tests/controllers/SwapController.test.js +70 -0
- package/dist/esm/tests/controllers/SwapController.test.js.map +1 -0
- package/dist/esm/tests/controllers/ThemeController.test.js +26 -0
- package/dist/esm/tests/controllers/ThemeController.test.js.map +1 -0
- package/dist/esm/tests/controllers/TooltipController.test.js +40 -0
- package/dist/esm/tests/controllers/TooltipController.test.js.map +1 -0
- package/dist/esm/tests/controllers/TransactionsController.test.js +247 -0
- package/dist/esm/tests/controllers/TransactionsController.test.js.map +1 -0
- package/dist/esm/tests/mocks/SwapController.js +118 -0
- package/dist/esm/tests/mocks/SwapController.js.map +1 -0
- package/dist/esm/tests/utils/AssetUtil.test.js +87 -0
- package/dist/esm/tests/utils/AssetUtil.test.js.map +1 -0
- package/dist/esm/tests/utils/CoreHelperUtil.test.js +27 -0
- package/dist/esm/tests/utils/CoreHelperUtil.test.js.map +1 -0
- package/dist/esm/tests/utils/SwapCalculationUtil.test.js +80 -0
- package/dist/esm/tests/utils/SwapCalculationUtil.test.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/dist/types/exports/index.d.ts +48 -0
- package/dist/types/exports/react.d.ts +19 -0
- package/dist/types/src/controllers/AccountController.d.ts +59 -0
- package/dist/types/src/controllers/ApiController.d.ts +43 -0
- package/dist/types/src/controllers/AssetController.d.ts +20 -0
- package/dist/types/src/controllers/BlockchainApiController.d.ts +49 -0
- package/dist/types/src/controllers/ChainController.d.ts +42 -0
- package/dist/types/src/controllers/ConnectionController.d.ts +63 -0
- package/dist/types/src/controllers/ConnectorController.d.ts +24 -0
- package/dist/types/src/controllers/EnsController.d.ts +21 -0
- package/dist/types/src/controllers/EventsController.d.ts +16 -0
- package/dist/types/src/controllers/ModalController.d.ts +20 -0
- package/dist/types/src/controllers/NetworkController.d.ts +42 -0
- package/dist/types/src/controllers/OnRampController.d.ts +53 -0
- package/dist/types/src/controllers/OptionsController.d.ts +43 -0
- package/dist/types/src/controllers/PublicStateController.d.ts +12 -0
- package/dist/types/src/controllers/RouterController.d.ts +55 -0
- package/dist/types/src/controllers/SendController.d.ts +42 -0
- package/dist/types/src/controllers/SnackController.d.ts +13 -0
- package/dist/types/src/controllers/SwapController.d.ts +126 -0
- package/dist/types/src/controllers/ThemeController.d.ts +29 -0
- package/dist/types/src/controllers/TooltipController.d.ts +24 -0
- package/dist/types/src/controllers/TransactionsController.d.ts +25 -0
- package/dist/types/src/utils/AssetUtil.d.ts +11 -0
- package/dist/types/src/utils/ConstantsUtil.d.ts +45 -0
- package/dist/types/src/utils/CoreHelperUtil.d.ts +43 -0
- package/dist/types/src/utils/EnsUtil.d.ts +3 -0
- package/dist/types/src/utils/FetchUtil.d.ts +26 -0
- package/dist/types/src/utils/OptionsUtil.d.ts +4 -0
- package/dist/types/src/utils/RouterUtil.d.ts +4 -0
- package/dist/types/src/utils/StorageUtil.d.ts +16 -0
- package/dist/types/src/utils/SwapApiUtil.d.ts +23 -0
- package/dist/types/src/utils/SwapCalculationUtil.d.ts +22 -0
- package/dist/types/src/utils/TypeUtil.d.ts +744 -0
- package/dist/types/tests/constants/OnrampTransactions.d.ts +138 -0
- package/dist/types/tests/controllers/AccountController.test.d.ts +1 -0
- package/dist/types/tests/controllers/ApiController.test.d.ts +1 -0
- package/dist/types/tests/controllers/AssetController.test.d.ts +1 -0
- package/dist/types/tests/controllers/ChainController.test.d.ts +1 -0
- package/dist/types/tests/controllers/ConnectionController.test.d.ts +1 -0
- package/dist/types/tests/controllers/ConnectorController.test.d.ts +1 -0
- package/dist/types/tests/controllers/EnsController.test.d.ts +1 -0
- package/dist/types/tests/controllers/EventsController.test.d.ts +1 -0
- package/dist/types/tests/controllers/ModalController.test.d.ts +1 -0
- package/dist/types/tests/controllers/NetworkController.test.d.ts +1 -0
- package/dist/types/tests/controllers/OnRampController.test.d.ts +1 -0
- package/dist/types/tests/controllers/OptionsController.test.d.ts +1 -0
- package/dist/types/tests/controllers/PublicStateController.test.d.ts +1 -0
- package/dist/types/tests/controllers/RouterController.test.d.ts +1 -0
- package/dist/types/tests/controllers/SendController.test.d.ts +1 -0
- package/dist/types/tests/controllers/SnackController.test.d.ts +1 -0
- package/dist/types/tests/controllers/SwapController.test.d.ts +1 -0
- package/dist/types/tests/controllers/ThemeController.test.d.ts +1 -0
- package/dist/types/tests/controllers/TooltipController.test.d.ts +1 -0
- package/dist/types/tests/controllers/TransactionsController.test.d.ts +1 -0
- package/dist/types/tests/mocks/SwapController.d.ts +74 -0
- package/dist/types/tests/utils/AssetUtil.test.d.ts +1 -0
- package/dist/types/tests/utils/CoreHelperUtil.test.d.ts +1 -0
- package/dist/types/tests/utils/SwapCalculationUtil.test.d.ts +1 -0
- package/package.json +52 -0
- package/readme.md +11 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { proxy, subscribe as sub, snapshot } from 'valtio/vanilla';
|
|
2
|
+
import { ConnectorController } from './ConnectorController.js';
|
|
3
|
+
import { getW3mThemeVariables } from '@reown/appkit-common';
|
|
4
|
+
// -- State --------------------------------------------- //
|
|
5
|
+
const state = proxy({
|
|
6
|
+
themeMode: 'dark',
|
|
7
|
+
themeVariables: {},
|
|
8
|
+
w3mThemeVariables: undefined
|
|
9
|
+
});
|
|
10
|
+
// -- Controller ---------------------------------------- //
|
|
11
|
+
export const ThemeController = {
|
|
12
|
+
state,
|
|
13
|
+
subscribe(callback) {
|
|
14
|
+
return sub(state, () => callback(state));
|
|
15
|
+
},
|
|
16
|
+
setThemeMode(themeMode) {
|
|
17
|
+
state.themeMode = themeMode;
|
|
18
|
+
try {
|
|
19
|
+
const authConnector = ConnectorController.getAuthConnector();
|
|
20
|
+
if (authConnector) {
|
|
21
|
+
const themeVariables = ThemeController.getSnapshot().themeVariables;
|
|
22
|
+
authConnector.provider.syncTheme({
|
|
23
|
+
themeMode,
|
|
24
|
+
themeVariables,
|
|
25
|
+
w3mThemeVariables: getW3mThemeVariables(themeVariables, themeMode)
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
// eslint-disable-next-line no-console
|
|
31
|
+
console.info('Unable to sync theme to auth connector');
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
setThemeVariables(themeVariables) {
|
|
35
|
+
state.themeVariables = { ...state.themeVariables, ...themeVariables };
|
|
36
|
+
try {
|
|
37
|
+
const authConnector = ConnectorController.getAuthConnector();
|
|
38
|
+
if (authConnector) {
|
|
39
|
+
const themeVariablesSnapshot = ThemeController.getSnapshot().themeVariables;
|
|
40
|
+
authConnector.provider.syncTheme({
|
|
41
|
+
themeVariables: themeVariablesSnapshot,
|
|
42
|
+
w3mThemeVariables: getW3mThemeVariables(state.themeVariables, state.themeMode)
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// eslint-disable-next-line no-console
|
|
48
|
+
console.info('Unable to sync theme to auth connector');
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
getSnapshot() {
|
|
52
|
+
return snapshot(state);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=ThemeController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeController.js","sourceRoot":"","sources":["../../../../src/controllers/ThemeController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,IAAI,GAAG,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAElE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAU3D,4DAA4D;AAC5D,MAAM,KAAK,GAAG,KAAK,CAAuB;IACxC,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,EAAE;IAClB,iBAAiB,EAAE,SAAS;CAC7B,CAAC,CAAA;AAEF,4DAA4D;AAC5D,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK;IAEL,SAAS,CAAC,QAAkD;QAC1D,OAAO,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,YAAY,CAAC,SAA4C;QACvD,KAAK,CAAC,SAAS,GAAG,SAAS,CAAA;QAE3B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAA;YAE5D,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,cAAc,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC,cAAc,CAAA;gBAEnE,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAC/B,SAAS;oBACT,cAAc;oBACd,iBAAiB,EAAE,oBAAoB,CAAC,cAAc,EAAE,SAAS,CAAC;iBACnE,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,cAAsD;QACtE,KAAK,CAAC,cAAc,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,EAAE,GAAG,cAAc,EAAE,CAAA;QAErE,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAA;YAE5D,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,sBAAsB,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC,cAAc,CAAA;gBAE3E,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAC/B,cAAc,EAAE,sBAAsB;oBACtC,iBAAiB,EAAE,oBAAoB,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC;iBAC/E,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IAED,WAAW;QACT,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { subscribeKey as subKey } from 'valtio/vanilla/utils';
|
|
2
|
+
import { proxy, subscribe as sub } from 'valtio/vanilla';
|
|
3
|
+
// -- State --------------------------------------------- //
|
|
4
|
+
const state = proxy({
|
|
5
|
+
message: '',
|
|
6
|
+
open: false,
|
|
7
|
+
triggerRect: {
|
|
8
|
+
width: 0,
|
|
9
|
+
height: 0,
|
|
10
|
+
top: 0,
|
|
11
|
+
left: 0
|
|
12
|
+
},
|
|
13
|
+
variant: 'shade'
|
|
14
|
+
});
|
|
15
|
+
// -- Controller ---------------------------------------- //
|
|
16
|
+
export const TooltipController = {
|
|
17
|
+
state,
|
|
18
|
+
subscribe(callback) {
|
|
19
|
+
return sub(state, () => callback(state));
|
|
20
|
+
},
|
|
21
|
+
subscribeKey(key, callback) {
|
|
22
|
+
return subKey(state, key, callback);
|
|
23
|
+
},
|
|
24
|
+
showTooltip({ message, triggerRect, variant }) {
|
|
25
|
+
state.open = true;
|
|
26
|
+
state.message = message;
|
|
27
|
+
state.triggerRect = triggerRect;
|
|
28
|
+
state.variant = variant;
|
|
29
|
+
},
|
|
30
|
+
hide() {
|
|
31
|
+
state.open = false;
|
|
32
|
+
state.message = '';
|
|
33
|
+
state.triggerRect = {
|
|
34
|
+
width: 0,
|
|
35
|
+
height: 0,
|
|
36
|
+
top: 0,
|
|
37
|
+
left: 0
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=TooltipController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TooltipController.js","sourceRoot":"","sources":["../../../../src/controllers/TooltipController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,KAAK,EAAE,SAAS,IAAI,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAmBxD,4DAA4D;AAC5D,MAAM,KAAK,GAAG,KAAK,CAAyB;IAC1C,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,KAAK;IACX,WAAW,EAAE;QACX,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;KACR;IACD,OAAO,EAAE,OAAO;CACjB,CAAC,CAAA;AAEF,4DAA4D;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK;IAEL,SAAS,CAAC,QAAoD;QAC5D,OAAO,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,YAAY,CAAqB,GAAM,EAAE,QAAoD;QAC3F,OAAO,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;IACrC,CAAC;IAED,WAAW,CAAC,EACV,OAAO,EACP,WAAW,EACX,OAAO,EAKR;QACC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;QACjB,KAAK,CAAC,OAAO,GAAG,OAAO,CAAA;QACvB,KAAK,CAAC,WAAW,GAAG,WAAW,CAAA;QAC/B,KAAK,CAAC,OAAO,GAAG,OAAO,CAAA;IACzB,CAAC;IAED,IAAI;QACF,KAAK,CAAC,IAAI,GAAG,KAAK,CAAA;QAClB,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;QAClB,KAAK,CAAC,WAAW,GAAG;YAClB,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;SACR,CAAA;IACH,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { proxy, subscribe as sub } from 'valtio/vanilla';
|
|
2
|
+
import { OptionsController } from './OptionsController.js';
|
|
3
|
+
import { EventsController } from './EventsController.js';
|
|
4
|
+
import { SnackController } from './SnackController.js';
|
|
5
|
+
import { NetworkController } from './NetworkController.js';
|
|
6
|
+
import { BlockchainApiController } from './BlockchainApiController.js';
|
|
7
|
+
import { AccountController } from './AccountController.js';
|
|
8
|
+
import { W3mFrameRpcConstants } from '@reown/appkit-wallet';
|
|
9
|
+
// -- State --------------------------------------------- //
|
|
10
|
+
const state = proxy({
|
|
11
|
+
transactions: [],
|
|
12
|
+
coinbaseTransactions: {},
|
|
13
|
+
transactionsByYear: {},
|
|
14
|
+
lastNetworkInView: undefined,
|
|
15
|
+
loading: false,
|
|
16
|
+
empty: false,
|
|
17
|
+
next: undefined
|
|
18
|
+
});
|
|
19
|
+
// -- Controller ---------------------------------------- //
|
|
20
|
+
export const TransactionsController = {
|
|
21
|
+
state,
|
|
22
|
+
subscribe(callback) {
|
|
23
|
+
return sub(state, () => callback(state));
|
|
24
|
+
},
|
|
25
|
+
setLastNetworkInView(lastNetworkInView) {
|
|
26
|
+
state.lastNetworkInView = lastNetworkInView;
|
|
27
|
+
},
|
|
28
|
+
async fetchTransactions(accountAddress, onramp) {
|
|
29
|
+
const { projectId } = OptionsController.state;
|
|
30
|
+
if (!projectId || !accountAddress) {
|
|
31
|
+
throw new Error("Transactions can't be fetched without a projectId and an accountAddress");
|
|
32
|
+
}
|
|
33
|
+
state.loading = true;
|
|
34
|
+
try {
|
|
35
|
+
const response = await BlockchainApiController.fetchTransactions({
|
|
36
|
+
account: accountAddress,
|
|
37
|
+
projectId,
|
|
38
|
+
cursor: state.next,
|
|
39
|
+
onramp,
|
|
40
|
+
// Coinbase transaction history state updates require the latest data
|
|
41
|
+
cache: onramp === 'coinbase' ? 'no-cache' : undefined,
|
|
42
|
+
chainId: NetworkController.state.caipNetwork?.id
|
|
43
|
+
});
|
|
44
|
+
const nonSpamTransactions = this.filterSpamTransactions(response.data);
|
|
45
|
+
const sameChainTransactions = this.filterByConnectedChain(nonSpamTransactions);
|
|
46
|
+
const filteredTransactions = [...state.transactions, ...sameChainTransactions];
|
|
47
|
+
state.loading = false;
|
|
48
|
+
if (onramp === 'coinbase') {
|
|
49
|
+
state.coinbaseTransactions = this.groupTransactionsByYearAndMonth(state.coinbaseTransactions, response.data);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
state.transactions = filteredTransactions;
|
|
53
|
+
state.transactionsByYear = this.groupTransactionsByYearAndMonth(state.transactionsByYear, sameChainTransactions);
|
|
54
|
+
}
|
|
55
|
+
state.empty = filteredTransactions.length === 0;
|
|
56
|
+
state.next = response.next ? response.next : undefined;
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
EventsController.sendEvent({
|
|
60
|
+
type: 'track',
|
|
61
|
+
event: 'ERROR_FETCH_TRANSACTIONS',
|
|
62
|
+
properties: {
|
|
63
|
+
address: accountAddress,
|
|
64
|
+
projectId,
|
|
65
|
+
cursor: state.next,
|
|
66
|
+
isSmartAccount: AccountController.state.preferredAccountType ===
|
|
67
|
+
W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
SnackController.showError('Failed to fetch transactions');
|
|
71
|
+
state.loading = false;
|
|
72
|
+
state.empty = true;
|
|
73
|
+
state.next = undefined;
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
groupTransactionsByYearAndMonth(transactionsMap = {}, transactions = []) {
|
|
77
|
+
const grouped = transactionsMap;
|
|
78
|
+
transactions.forEach(transaction => {
|
|
79
|
+
const year = new Date(transaction.metadata.minedAt).getFullYear();
|
|
80
|
+
const month = new Date(transaction.metadata.minedAt).getMonth();
|
|
81
|
+
const yearTransactions = grouped[year] ?? {};
|
|
82
|
+
const monthTransactions = yearTransactions[month] ?? [];
|
|
83
|
+
// If there's a transaction with the same id, remove the old one
|
|
84
|
+
const newMonthTransactions = monthTransactions.filter(tx => tx.id !== transaction.id);
|
|
85
|
+
grouped[year] = {
|
|
86
|
+
...yearTransactions,
|
|
87
|
+
[month]: [...newMonthTransactions, transaction].sort((a, b) => new Date(b.metadata.minedAt).getTime() - new Date(a.metadata.minedAt).getTime())
|
|
88
|
+
};
|
|
89
|
+
});
|
|
90
|
+
return grouped;
|
|
91
|
+
},
|
|
92
|
+
filterSpamTransactions(transactions) {
|
|
93
|
+
return transactions.filter(transaction => {
|
|
94
|
+
const isAllSpam = transaction.transfers.every(transfer => transfer.nft_info?.flags.is_spam === true);
|
|
95
|
+
return !isAllSpam;
|
|
96
|
+
});
|
|
97
|
+
},
|
|
98
|
+
filterByConnectedChain(transactions) {
|
|
99
|
+
const chainId = NetworkController.state.caipNetwork?.id;
|
|
100
|
+
const filteredTransactions = transactions.filter(transaction => transaction.metadata.chain === chainId);
|
|
101
|
+
return filteredTransactions;
|
|
102
|
+
},
|
|
103
|
+
clearCursor() {
|
|
104
|
+
state.next = undefined;
|
|
105
|
+
},
|
|
106
|
+
resetTransactions() {
|
|
107
|
+
state.transactions = [];
|
|
108
|
+
state.transactionsByYear = {};
|
|
109
|
+
state.lastNetworkInView = undefined;
|
|
110
|
+
state.loading = false;
|
|
111
|
+
state.empty = false;
|
|
112
|
+
state.next = undefined;
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=TransactionsController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionsController.js","sourceRoot":"","sources":["../../../../src/controllers/TransactionsController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ApiController } from '../controllers/ApiController.js';
|
|
2
|
+
import { AssetController } from '../controllers/AssetController.js';
|
|
3
|
+
const namespaceImageIds = {
|
|
4
|
+
// Ethereum
|
|
5
|
+
eip155: 'ba0ba0cd-17c6-4806-ad93-f9d174f17900',
|
|
6
|
+
// Solana
|
|
7
|
+
solana: 'a1b58899-f671-4276-6a5e-56ca5bd59700',
|
|
8
|
+
// Polkadot
|
|
9
|
+
polkadot: ''
|
|
10
|
+
};
|
|
11
|
+
export const AssetUtil = {
|
|
12
|
+
async fetchWalletImage(imageId) {
|
|
13
|
+
if (!imageId) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
await ApiController._fetchWalletImage(imageId);
|
|
17
|
+
return this.getWalletImageById(imageId);
|
|
18
|
+
},
|
|
19
|
+
getWalletImageById(imageId) {
|
|
20
|
+
if (!imageId) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
return AssetController.state.walletImages[imageId];
|
|
24
|
+
},
|
|
25
|
+
getWalletImage(wallet) {
|
|
26
|
+
if (wallet?.image_url) {
|
|
27
|
+
return wallet?.image_url;
|
|
28
|
+
}
|
|
29
|
+
if (wallet?.image_id) {
|
|
30
|
+
return AssetController.state.walletImages[wallet.image_id];
|
|
31
|
+
}
|
|
32
|
+
return undefined;
|
|
33
|
+
},
|
|
34
|
+
getNetworkImage(network) {
|
|
35
|
+
if (network?.imageUrl) {
|
|
36
|
+
return network?.imageUrl;
|
|
37
|
+
}
|
|
38
|
+
if (network?.imageId) {
|
|
39
|
+
return AssetController.state.networkImages[network.imageId];
|
|
40
|
+
}
|
|
41
|
+
return undefined;
|
|
42
|
+
},
|
|
43
|
+
getNetworkImageById(imageId) {
|
|
44
|
+
if (!imageId) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
return AssetController.state.networkImages[imageId];
|
|
48
|
+
},
|
|
49
|
+
getConnectorImage(connector) {
|
|
50
|
+
if (connector?.imageUrl) {
|
|
51
|
+
return connector.imageUrl;
|
|
52
|
+
}
|
|
53
|
+
if (connector?.imageId) {
|
|
54
|
+
return AssetController.state.connectorImages[connector.imageId];
|
|
55
|
+
}
|
|
56
|
+
return undefined;
|
|
57
|
+
},
|
|
58
|
+
getChainImage(chain) {
|
|
59
|
+
return AssetController.state.networkImages[namespaceImageIds[chain]];
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=AssetUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssetUtil.js","sourceRoot":"","sources":["../../../../src/utils/AssetUtil.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAGnE,MAAM,iBAAiB,GAAmC;IACxD,WAAW;IACX,MAAM,EAAE,sCAAsC;IAC9C,SAAS;IACT,MAAM,EAAE,sCAAsC;IAC9C,WAAW;IACX,QAAQ,EAAE,EAAE;CACb,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,KAAK,CAAC,gBAAgB,CAAC,OAAgB;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAE9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC;IAED,kBAAkB,CAAC,OAAgB;QACjC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,OAAO,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IACpD,CAAC;IAED,cAAc,CAAC,MAAiB;QAC9B,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;YACtB,OAAO,MAAM,EAAE,SAAS,CAAA;QAC1B,CAAC;QAED,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;YACrB,OAAO,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC5D,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,eAAe,CAAC,OAAqB;QACnC,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,OAAO,OAAO,EAAE,QAAQ,CAAA;QAC1B,CAAC;QAED,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,OAAO,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC7D,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,mBAAmB,CAAC,OAAgB;QAClC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,OAAO,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACrD,CAAC;IAED,iBAAiB,CAAC,SAAqB;QACrC,IAAI,SAAS,EAAE,QAAQ,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC,QAAQ,CAAA;QAC3B,CAAC;QAED,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;YACvB,OAAO,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACjE,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,aAAa,CAAC,KAAqB;QACjC,OAAO,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;IACtE,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
const SECURE_SITE = 'https://secure.walletconnect.org';
|
|
2
|
+
export const ONRAMP_PROVIDERS = [
|
|
3
|
+
{
|
|
4
|
+
label: 'Coinbase',
|
|
5
|
+
name: 'coinbase',
|
|
6
|
+
feeRange: '1-2%',
|
|
7
|
+
url: '',
|
|
8
|
+
supportedChains: ['eip155']
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
label: 'Meld.io',
|
|
12
|
+
name: 'meld',
|
|
13
|
+
feeRange: '1-2%',
|
|
14
|
+
url: 'https://meldcrypto.com',
|
|
15
|
+
supportedChains: ['eip155', 'solana']
|
|
16
|
+
}
|
|
17
|
+
];
|
|
18
|
+
export const MELD_DEV_PUBLIC_KEY = 'WXETMsajb7XcQBm7mcxAab:q3MtzJpiEMtXVNXsqYkAnAaBkgStybGVtZ';
|
|
19
|
+
export const MELD_PROD_PUBLIC_KEY = 'WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6LVjR2ytU5Cwh7Z4Sch2ocoU';
|
|
20
|
+
export const ConstantsUtil = {
|
|
21
|
+
FOUR_MINUTES_MS: 240000,
|
|
22
|
+
TEN_SEC_MS: 10000,
|
|
23
|
+
ONE_SEC_MS: 1000,
|
|
24
|
+
SECURE_SITE,
|
|
25
|
+
SECURE_SITE_DASHBOARD: `${SECURE_SITE}/dashboard`,
|
|
26
|
+
SECURE_SITE_FAVICON: `${SECURE_SITE}/images/favicon.png`,
|
|
27
|
+
RESTRICTED_TIMEZONES: [
|
|
28
|
+
'ASIA/SHANGHAI',
|
|
29
|
+
'ASIA/URUMQI',
|
|
30
|
+
'ASIA/CHONGQING',
|
|
31
|
+
'ASIA/HARBIN',
|
|
32
|
+
'ASIA/KASHGAR',
|
|
33
|
+
'ASIA/MACAU',
|
|
34
|
+
'ASIA/HONG_KONG',
|
|
35
|
+
'ASIA/MACAO',
|
|
36
|
+
'ASIA/BEIJING',
|
|
37
|
+
'ASIA/HARBIN'
|
|
38
|
+
],
|
|
39
|
+
/**
|
|
40
|
+
* Network name to Coinbase Pay SDK chain name map object
|
|
41
|
+
* @see supported chain names on Coinbase for Pay SDK: https://github.com/coinbase/cbpay-js/blob/d4bda2c05c4d5917c8db6a05476b603546046394/src/types/onramp.ts
|
|
42
|
+
*/
|
|
43
|
+
WC_COINBASE_PAY_SDK_CHAINS: [
|
|
44
|
+
'ethereum',
|
|
45
|
+
'arbitrum',
|
|
46
|
+
'polygon',
|
|
47
|
+
'avalanche-c-chain',
|
|
48
|
+
'optimism',
|
|
49
|
+
'celo',
|
|
50
|
+
'base'
|
|
51
|
+
],
|
|
52
|
+
WC_COINBASE_PAY_SDK_FALLBACK_CHAIN: 'ethereum',
|
|
53
|
+
WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP: {
|
|
54
|
+
Ethereum: 'ethereum',
|
|
55
|
+
'Arbitrum One': 'arbitrum',
|
|
56
|
+
Polygon: 'polygon',
|
|
57
|
+
Avalanche: 'avalanche-c-chain',
|
|
58
|
+
'OP Mainnet': 'optimism',
|
|
59
|
+
Celo: 'celo',
|
|
60
|
+
Base: 'base'
|
|
61
|
+
},
|
|
62
|
+
WC_COINBASE_ONRAMP_APP_ID: 'bf18c88d-495a-463b-b249-0b9d3656cf5e',
|
|
63
|
+
SWAP_SUGGESTED_TOKENS: [
|
|
64
|
+
'ETH',
|
|
65
|
+
'UNI',
|
|
66
|
+
'1INCH',
|
|
67
|
+
'AAVE',
|
|
68
|
+
'SOL',
|
|
69
|
+
'ADA',
|
|
70
|
+
'AVAX',
|
|
71
|
+
'DOT',
|
|
72
|
+
'LINK',
|
|
73
|
+
'NITRO',
|
|
74
|
+
'GAIA',
|
|
75
|
+
'MILK',
|
|
76
|
+
'TRX',
|
|
77
|
+
'NEAR',
|
|
78
|
+
'GNO',
|
|
79
|
+
'WBTC',
|
|
80
|
+
'DAI',
|
|
81
|
+
'WETH',
|
|
82
|
+
'USDC',
|
|
83
|
+
'USDT',
|
|
84
|
+
'ARB',
|
|
85
|
+
'BAL',
|
|
86
|
+
'BICO',
|
|
87
|
+
'CRV',
|
|
88
|
+
'ENS',
|
|
89
|
+
'MATIC',
|
|
90
|
+
'OP'
|
|
91
|
+
],
|
|
92
|
+
SWAP_POPULAR_TOKENS: [
|
|
93
|
+
'ETH',
|
|
94
|
+
'UNI',
|
|
95
|
+
'1INCH',
|
|
96
|
+
'AAVE',
|
|
97
|
+
'SOL',
|
|
98
|
+
'ADA',
|
|
99
|
+
'AVAX',
|
|
100
|
+
'DOT',
|
|
101
|
+
'LINK',
|
|
102
|
+
'NITRO',
|
|
103
|
+
'GAIA',
|
|
104
|
+
'MILK',
|
|
105
|
+
'TRX',
|
|
106
|
+
'NEAR',
|
|
107
|
+
'GNO',
|
|
108
|
+
'WBTC',
|
|
109
|
+
'DAI',
|
|
110
|
+
'WETH',
|
|
111
|
+
'USDC',
|
|
112
|
+
'USDT',
|
|
113
|
+
'ARB',
|
|
114
|
+
'BAL',
|
|
115
|
+
'BICO',
|
|
116
|
+
'CRV',
|
|
117
|
+
'ENS',
|
|
118
|
+
'MATIC',
|
|
119
|
+
'OP',
|
|
120
|
+
'METAL',
|
|
121
|
+
'DAI',
|
|
122
|
+
'CHAMP',
|
|
123
|
+
'WOLF',
|
|
124
|
+
'SALE',
|
|
125
|
+
'BAL',
|
|
126
|
+
'BUSD',
|
|
127
|
+
'MUST',
|
|
128
|
+
'BTCpx',
|
|
129
|
+
'ROUTE',
|
|
130
|
+
'HEX',
|
|
131
|
+
'WELT',
|
|
132
|
+
'amDAI',
|
|
133
|
+
'VSQ',
|
|
134
|
+
'VISION',
|
|
135
|
+
'AURUM',
|
|
136
|
+
'pSP',
|
|
137
|
+
'SNX',
|
|
138
|
+
'VC',
|
|
139
|
+
'LINK',
|
|
140
|
+
'CHP',
|
|
141
|
+
'amUSDT',
|
|
142
|
+
'SPHERE',
|
|
143
|
+
'FOX',
|
|
144
|
+
'GIDDY',
|
|
145
|
+
'GFC',
|
|
146
|
+
'OMEN',
|
|
147
|
+
'OX_OLD',
|
|
148
|
+
'DE',
|
|
149
|
+
'WNT'
|
|
150
|
+
],
|
|
151
|
+
SWAP_SUPPORTED_NETWORKS: [
|
|
152
|
+
// Ethereum'
|
|
153
|
+
'eip155:1',
|
|
154
|
+
// Arbitrum One'
|
|
155
|
+
'eip155:42161',
|
|
156
|
+
// Optimism'
|
|
157
|
+
'eip155:10',
|
|
158
|
+
// ZKSync Era'
|
|
159
|
+
'eip155:324',
|
|
160
|
+
// Base'
|
|
161
|
+
'eip155:8453',
|
|
162
|
+
// BNB Smart Chain'
|
|
163
|
+
'eip155:56',
|
|
164
|
+
// Polygon'
|
|
165
|
+
'eip155:137',
|
|
166
|
+
// Gnosis'
|
|
167
|
+
'eip155:100',
|
|
168
|
+
// Avalanche'
|
|
169
|
+
'eip155:43114',
|
|
170
|
+
// Fantom'
|
|
171
|
+
'eip155:250',
|
|
172
|
+
// Klaytn'
|
|
173
|
+
'eip155:8217',
|
|
174
|
+
// Aurora
|
|
175
|
+
'eip155:1313161554'
|
|
176
|
+
],
|
|
177
|
+
NATIVE_TOKEN_ADDRESS: {
|
|
178
|
+
eip155: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
|
|
179
|
+
solana: 'So11111111111111111111111111111111111111111',
|
|
180
|
+
polkadot: '0x'
|
|
181
|
+
},
|
|
182
|
+
CONVERT_SLIPPAGE_TOLERANCE: 1,
|
|
183
|
+
DEFAULT_FEATURES: {
|
|
184
|
+
swaps: true,
|
|
185
|
+
onramp: true,
|
|
186
|
+
email: true,
|
|
187
|
+
emailShowWallets: true,
|
|
188
|
+
socials: ['google', 'x', 'discord', 'farcaster', 'github', 'apple', 'facebook'],
|
|
189
|
+
history: true,
|
|
190
|
+
analytics: true,
|
|
191
|
+
allWallets: true
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
//# sourceMappingURL=ConstantsUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConstantsUtil.js","sourceRoot":"","sources":["../../../../src/utils/ConstantsUtil.ts"],"names":[],"mappings":"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"}
|