@metamask-previews/notification-services-controller 28.0.1-preview-d27fd1d8f → 29.0.0-preview-7aac301dc
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/CHANGELOG.md +12 -1
- package/dist/NotificationServicesController/mocks/mock-raw-notifications.d.ts.map +1 -1
- package/dist/NotificationServicesController/mocks/mock-raw-notifications.js +16 -1
- package/dist/NotificationServicesController/mocks/mock-raw-notifications.js.map +1 -1
- package/dist/NotificationServicesController/types/notification-api/schema.d.ts +103 -1
- package/dist/NotificationServicesController/types/notification-api/schema.d.ts.map +1 -1
- package/dist/NotificationServicesController/types/notification-api/schema.js.map +1 -1
- package/dist/NotificationServicesPushController/utils/index.d.ts +0 -1
- package/dist/NotificationServicesPushController/utils/index.d.ts.map +1 -1
- package/dist/NotificationServicesPushController/utils/index.js +0 -1
- package/dist/NotificationServicesPushController/utils/index.js.map +1 -1
- package/notification-services/mocks/package.json +2 -2
- package/notification-services/package.json +2 -2
- package/package.json +1 -1
- package/push-services/mocks/package.json +2 -2
- package/push-services/package.json +2 -2
- package/push-services/web/package.json +2 -2
- package/dist/NotificationServicesPushController/utils/get-notification-message.d.ts +0 -62
- package/dist/NotificationServicesPushController/utils/get-notification-message.d.ts.map +0 -1
- package/dist/NotificationServicesPushController/utils/get-notification-message.js +0 -166
- package/dist/NotificationServicesPushController/utils/get-notification-message.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,12 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [29.0.0]
|
|
11
|
+
|
|
10
12
|
### Changed
|
|
11
13
|
|
|
14
|
+
- **BREAKING:** Remove `createOnChainPushNotificationMessage`, `createOnChainPushNotificationMessages`, and the `TranslationKeys` type. Push notification copy is now provided by the Notification API via `template`, so client-side translation keys are no longer required. ([#9184](https://github.com/MetaMask/core/pull/9184))
|
|
15
|
+
- Regenerated `schema.ts` from the latest Notification API OpenAPI spec. ([#9184](https://github.com/MetaMask/core/pull/9184))
|
|
16
|
+
- `OnChainNotificationV4` now includes optional `template` (`OnChainTemplate`: required `title`, optional `body`).
|
|
17
|
+
- `LocalizedNotificationCTA` no longer includes `content`; it is `link` only.
|
|
12
18
|
- Bump `@metamask/profile-sync-controller` from `^32.0.0` to `^32.1.1` ([#10184](https://github.com/MetaMask/core/pull/10184), [#10220](https://github.com/MetaMask/core/pull/10220))
|
|
13
19
|
- Bump `@metamask/utils` from `^11.12.0` to `^12.0.0` ([#10192](https://github.com/MetaMask/core/pull/10192))
|
|
14
20
|
- Bump `uuid` from `^9.0.1` to `^11.1.1` ([#10243](https://github.com/MetaMask/core/pull/10243))
|
|
15
21
|
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- Correct ESM entry points in the legacy notification and push service subpath manifests. ([#9184](https://github.com/MetaMask/core/pull/9184))
|
|
25
|
+
|
|
16
26
|
## [28.0.1]
|
|
17
27
|
|
|
18
28
|
### Changed
|
|
@@ -926,7 +936,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
926
936
|
|
|
927
937
|
- Initial release
|
|
928
938
|
|
|
929
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/notification-services-controller@
|
|
939
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/notification-services-controller@29.0.0...HEAD
|
|
940
|
+
[29.0.0]: https://github.com/MetaMask/core/compare/@metamask/notification-services-controller@28.0.1...@metamask/notification-services-controller@29.0.0
|
|
930
941
|
[28.0.1]: https://github.com/MetaMask/core/compare/@metamask/notification-services-controller@28.0.0...@metamask/notification-services-controller@28.0.1
|
|
931
942
|
[28.0.0]: https://github.com/MetaMask/core/compare/@metamask/notification-services-controller@27.0.2...@metamask/notification-services-controller@28.0.0
|
|
932
943
|
[27.0.2]: https://github.com/MetaMask/core/compare/@metamask/notification-services-controller@27.0.1...@metamask/notification-services-controller@27.0.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-raw-notifications.d.ts","sourceRoot":"","sources":["../../../src/NotificationServicesController/mocks/mock-raw-notifications.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAE/F;;;;GAIG;AACH,wBAAgB,6BAA6B,IAAI,yBAAyB,
|
|
1
|
+
{"version":3,"file":"mock-raw-notifications.d.ts","sourceRoot":"","sources":["../../../src/NotificationServicesController/mocks/mock-raw-notifications.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAE/F;;;;GAIG;AACH,wBAAgB,6BAA6B,IAAI,yBAAyB,CAyCzE;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,IAAI,yBAAyB,CAyC7E;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,IAAI,yBAAyB,CA+C3E;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,IAAI,yBAAyB,CA+C/E;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,IAAI,yBAAyB,CAkD5E;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,IAAI,yBAAyB,CAkDhF;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,IAAI,yBAAyB,CAkD7E;AAED;;;;GAIG;AACH,wBAAgB,qCAAqC,IAAI,yBAAyB,CAkDjF;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,IAAI,yBAAyB,CAwDxF;AAED;;;;GAIG;AACH,wBAAgB,8CAA8C,IAAI,yBAAyB,CAuD1F;AAED;;;;GAIG;AACH,wBAAgB,gDAAgD,IAAI,yBAAyB,CAuD5F;AAED;;;;GAIG;AACH,wBAAgB,wCAAwC,IAAI,yBAAyB,CAuDpF;AAED;;;;GAIG;AACH,wBAAgB,6CAA6C,IAAI,yBAAyB,CAuDzF;AAED;;;;GAIG;AACH,wBAAgB,6CAA6C,IAAI,yBAAyB,CAuDzF;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,IAAI,yBAAyB,CA0CxF;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,IAAI,yBAAyB,CAqB1E;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,IAAI,yBAAyB,EAAE,CAM/E"}
|
|
@@ -8,6 +8,7 @@ export function createMockNotificationEthSent() {
|
|
|
8
8
|
const mockNotification = {
|
|
9
9
|
type: TRIGGER_TYPES.ETH_SENT,
|
|
10
10
|
notification_type: 'wallet_activity',
|
|
11
|
+
category: 'wallet_activity',
|
|
11
12
|
notification_subtype: 'eth_sent',
|
|
12
13
|
id: '3fa85f64-5717-4562-b3fc-2c963f66afa7',
|
|
13
14
|
unread: true,
|
|
@@ -52,6 +53,7 @@ export function createMockNotificationEthReceived() {
|
|
|
52
53
|
const mockNotification = {
|
|
53
54
|
type: TRIGGER_TYPES.ETH_RECEIVED,
|
|
54
55
|
notification_type: 'wallet_activity',
|
|
56
|
+
category: 'wallet_activity',
|
|
55
57
|
notification_subtype: 'eth_received',
|
|
56
58
|
id: '3fa85f64-5717-4562-b3fc-2c963f66afa8',
|
|
57
59
|
unread: true,
|
|
@@ -96,6 +98,7 @@ export function createMockNotificationERC20Sent() {
|
|
|
96
98
|
const mockNotification = {
|
|
97
99
|
type: TRIGGER_TYPES.ERC20_SENT,
|
|
98
100
|
notification_type: 'wallet_activity',
|
|
101
|
+
category: 'wallet_activity',
|
|
99
102
|
notification_subtype: 'erc20_sent',
|
|
100
103
|
id: '3fa85f64-5717-4562-b3fc-2c963f66afa9',
|
|
101
104
|
unread: true,
|
|
@@ -145,6 +148,7 @@ export function createMockNotificationERC20Received() {
|
|
|
145
148
|
const mockNotification = {
|
|
146
149
|
type: TRIGGER_TYPES.ERC20_RECEIVED,
|
|
147
150
|
notification_type: 'wallet_activity',
|
|
151
|
+
category: 'wallet_activity',
|
|
148
152
|
notification_subtype: 'erc20_received',
|
|
149
153
|
id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
|
|
150
154
|
unread: true,
|
|
@@ -194,6 +198,7 @@ export function createMockNotificationERC721Sent() {
|
|
|
194
198
|
const mockNotification = {
|
|
195
199
|
type: TRIGGER_TYPES.ERC721_SENT,
|
|
196
200
|
notification_type: 'wallet_activity',
|
|
201
|
+
category: 'wallet_activity',
|
|
197
202
|
notification_subtype: 'erc721_sent',
|
|
198
203
|
id: 'a4193058-9814-537e-9df4-79dcac727fb6',
|
|
199
204
|
created_at: '2023-11-15T11:08:17.895407Z',
|
|
@@ -245,6 +250,7 @@ export function createMockNotificationERC721Received() {
|
|
|
245
250
|
const mockNotification = {
|
|
246
251
|
type: TRIGGER_TYPES.ERC721_RECEIVED,
|
|
247
252
|
notification_type: 'wallet_activity',
|
|
253
|
+
category: 'wallet_activity',
|
|
248
254
|
notification_subtype: 'erc721_received',
|
|
249
255
|
id: '00a79d24-befa-57ed-a55a-9eb8696e1654',
|
|
250
256
|
created_at: '2023-11-14T17:40:52.319281Z',
|
|
@@ -296,6 +302,7 @@ export function createMockNotificationERC1155Sent() {
|
|
|
296
302
|
const mockNotification = {
|
|
297
303
|
type: TRIGGER_TYPES.ERC1155_SENT,
|
|
298
304
|
notification_type: 'wallet_activity',
|
|
305
|
+
category: 'wallet_activity',
|
|
299
306
|
notification_subtype: 'erc1155_sent',
|
|
300
307
|
id: 'a09ff9d1-623a-52ab-a3d4-c7c8c9a58362',
|
|
301
308
|
created_at: '2023-11-20T20:44:10.110706Z',
|
|
@@ -347,6 +354,7 @@ export function createMockNotificationERC1155Received() {
|
|
|
347
354
|
const mockNotification = {
|
|
348
355
|
type: TRIGGER_TYPES.ERC1155_RECEIVED,
|
|
349
356
|
notification_type: 'wallet_activity',
|
|
357
|
+
category: 'wallet_activity',
|
|
350
358
|
notification_subtype: 'erc1155_received',
|
|
351
359
|
id: 'b6b93c84-e8dc-54ed-9396-7ea50474843a',
|
|
352
360
|
created_at: '2023-11-20T20:44:10.110706Z',
|
|
@@ -398,6 +406,7 @@ export function createMockNotificationMetaMaskSwapsCompleted() {
|
|
|
398
406
|
const mockNotification = {
|
|
399
407
|
type: TRIGGER_TYPES.METAMASK_SWAP_COMPLETED,
|
|
400
408
|
notification_type: 'wallet_activity',
|
|
409
|
+
category: 'wallet_activity',
|
|
401
410
|
notification_subtype: 'metamask_swap_completed',
|
|
402
411
|
id: '7ddfe6a1-ac52-5ffe-aa40-f04242db4b8b',
|
|
403
412
|
created_at: '2023-10-18T13:58:49.854596Z',
|
|
@@ -455,6 +464,7 @@ export function createMockNotificationRocketPoolStakeCompleted() {
|
|
|
455
464
|
const mockNotification = {
|
|
456
465
|
type: TRIGGER_TYPES.ROCKETPOOL_STAKE_COMPLETED,
|
|
457
466
|
notification_type: 'wallet_activity',
|
|
467
|
+
category: 'wallet_activity',
|
|
458
468
|
notification_subtype: 'rocketpool_stake_completed',
|
|
459
469
|
id: 'c2a2f225-b2fb-5d6c-ba56-e27a5c71ffb9',
|
|
460
470
|
created_at: '2023-11-20T12:02:48.796824Z',
|
|
@@ -511,6 +521,7 @@ export function createMockNotificationRocketPoolUnStakeCompleted() {
|
|
|
511
521
|
const mockNotification = {
|
|
512
522
|
type: TRIGGER_TYPES.ROCKETPOOL_UNSTAKE_COMPLETED,
|
|
513
523
|
notification_type: 'wallet_activity',
|
|
524
|
+
category: 'wallet_activity',
|
|
514
525
|
notification_subtype: 'rocketpool_unstake_completed',
|
|
515
526
|
id: '291ec897-f569-4837-b6c0-21001b198dff',
|
|
516
527
|
created_at: '2023-10-19T13:11:10.623042Z',
|
|
@@ -567,6 +578,7 @@ export function createMockNotificationLidoStakeCompleted() {
|
|
|
567
578
|
const mockNotification = {
|
|
568
579
|
type: TRIGGER_TYPES.LIDO_STAKE_COMPLETED,
|
|
569
580
|
notification_type: 'wallet_activity',
|
|
581
|
+
category: 'wallet_activity',
|
|
570
582
|
notification_subtype: 'lido_stake_completed',
|
|
571
583
|
id: 'ec10d66a-f78f-461f-83c9-609aada8cc50',
|
|
572
584
|
created_at: '2023-11-02T22:28:49.970865Z',
|
|
@@ -623,6 +635,7 @@ export function createMockNotificationLidoWithdrawalRequested() {
|
|
|
623
635
|
const mockNotification = {
|
|
624
636
|
type: TRIGGER_TYPES.LIDO_WITHDRAWAL_REQUESTED,
|
|
625
637
|
notification_type: 'wallet_activity',
|
|
638
|
+
category: 'wallet_activity',
|
|
626
639
|
notification_subtype: 'lido_withdrawal_requested',
|
|
627
640
|
id: 'ef003925-3379-4ba7-9e2d-8218690cadc9',
|
|
628
641
|
created_at: '2023-10-18T15:04:02.482526Z',
|
|
@@ -679,6 +692,7 @@ export function createMockNotificationLidoWithdrawalCompleted() {
|
|
|
679
692
|
const mockNotification = {
|
|
680
693
|
type: TRIGGER_TYPES.LIDO_WITHDRAWAL_COMPLETED,
|
|
681
694
|
notification_type: 'wallet_activity',
|
|
695
|
+
category: 'wallet_activity',
|
|
682
696
|
notification_subtype: 'lido_withdrawal_completed',
|
|
683
697
|
id: 'd73df14d-ce73-4f38-bad3-ab028154042f',
|
|
684
698
|
created_at: '2023-10-18T16:35:03.147606Z',
|
|
@@ -735,6 +749,7 @@ export function createMockNotificationLidoReadyToBeWithdrawn() {
|
|
|
735
749
|
const mockNotification = {
|
|
736
750
|
type: TRIGGER_TYPES.LIDO_STAKE_READY_TO_BE_WITHDRAWN,
|
|
737
751
|
notification_type: 'wallet_activity',
|
|
752
|
+
category: 'wallet_activity',
|
|
738
753
|
notification_subtype: 'lido_stake_ready_to_be_withdrawn',
|
|
739
754
|
id: 'd73df14d-ce73-4f38-bad3-ab028154042e',
|
|
740
755
|
created_at: '2023-10-18T16:35:03.147606Z',
|
|
@@ -779,6 +794,7 @@ export function createMockPlatformNotification() {
|
|
|
779
794
|
const mockNotification = {
|
|
780
795
|
type: TRIGGER_TYPES.PLATFORM,
|
|
781
796
|
notification_type: 'perps',
|
|
797
|
+
category: 'trading_activity',
|
|
782
798
|
notification_subtype: 'position_liquidated',
|
|
783
799
|
id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
|
|
784
800
|
unread: true,
|
|
@@ -788,7 +804,6 @@ export function createMockPlatformNotification() {
|
|
|
788
804
|
title: 'This is a Platform Notification!',
|
|
789
805
|
body: 'Teams can now build out their own notifications, and add an optional CTA (like this one below).',
|
|
790
806
|
cta: {
|
|
791
|
-
content: 'Get Started',
|
|
792
807
|
link: 'https://metamask.io/get-started',
|
|
793
808
|
},
|
|
794
809
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-raw-notifications.js","sourceRoot":"","sources":["../../../src/NotificationServicesController/mocks/mock-raw-notifications.ts"],"names":[],"mappings":"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","sourcesContent":["import { TRIGGER_TYPES } from '../constants/notification-schema.js';\nimport type { NormalisedAPINotification } from '../types/notification-api/notification-api.js';\n\n/**\n * Mocking Utility - create a mock Eth sent notification\n *\n * @returns Mock raw Eth sent notification\n */\nexport function createMockNotificationEthSent(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ETH_SENT,\n notification_type: 'wallet_activity',\n notification_subtype: 'eth_sent',\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa7',\n unread: true,\n created_at: '2022-03-01T00:00:00Z',\n payload: {\n chain_id: 1,\n block_number: 17485840,\n block_timestamp: '2022-03-01T00:00:00Z',\n tx_hash:\n '0xb2256b183f2fb3872f99294ab55fb03e6a479b0d4aca556a3b27568b712505a6',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'eth_sent',\n network_fee: {\n gas_price: '207806259583',\n native_token_price_in_usd: '0.83',\n },\n from: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n to: '0x881D40237659C251811CEC9c364ef91dC08D300D',\n amount: {\n usd: '670.64',\n eth: '0.005',\n },\n },\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Eth Received notification\n *\n * @returns Mock raw Eth Received notification\n */\nexport function createMockNotificationEthReceived(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ETH_RECEIVED,\n notification_type: 'wallet_activity',\n notification_subtype: 'eth_received',\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa8',\n unread: true,\n created_at: '2022-03-01T00:00:00Z',\n payload: {\n chain_id: 1,\n block_number: 17485840,\n block_timestamp: '2022-03-01T00:00:00Z',\n tx_hash:\n '0xb2256b183f2fb3872f99294ab55fb03e6a479b0d4aca556a3b27568b712505a6',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'eth_received',\n network_fee: {\n gas_price: '207806259583',\n native_token_price_in_usd: '0.83',\n },\n from: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n to: '0x881D40237659C251811CEC9c364ef91dC08D300D',\n amount: {\n usd: '670.64',\n eth: '808.000000000000000000',\n },\n },\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC20 sent notification\n *\n * @returns Mock raw ERC20 sent notification\n */\nexport function createMockNotificationERC20Sent(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ERC20_SENT,\n notification_type: 'wallet_activity',\n notification_subtype: 'erc20_sent',\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa9',\n unread: true,\n created_at: '2022-03-01T00:00:00Z',\n payload: {\n chain_id: 1,\n block_number: 17485840,\n block_timestamp: '2022-03-01T00:00:00Z',\n tx_hash:\n '0xb2256b183f2fb3872f99294ab55fb03e6a479b0d4aca556a3b27568b712505a6',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'erc20_sent',\n network_fee: {\n gas_price: '207806259583',\n native_token_price_in_usd: '0.83',\n },\n to: '0xecc19e177d24551aa7ed6bc6fe566eca726cc8a9',\n from: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',\n token: {\n usd: '1.00',\n name: 'USDC',\n image:\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/images/usdc.svg',\n amount: '4956250000',\n symbol: 'USDC',\n address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n decimals: '6',\n },\n },\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC20 received notification\n *\n * @returns Mock raw ERC20 received notification\n */\nexport function createMockNotificationERC20Received(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ERC20_RECEIVED,\n notification_type: 'wallet_activity',\n notification_subtype: 'erc20_received',\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n unread: true,\n created_at: '2022-03-01T00:00:00Z',\n payload: {\n chain_id: 1,\n block_number: 17485840,\n block_timestamp: '2022-03-01T00:00:00Z',\n tx_hash:\n '0xb2256b183f2fb3872f99294ab55fb03e6a479b0d4aca556a3b27568b712505a6',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'erc20_received',\n network_fee: {\n gas_price: '207806259583',\n native_token_price_in_usd: '0.83',\n },\n to: '0xeae7380dd4cef6fbd1144f49e4d1e6964258a4f4',\n from: '0x51c72848c68a965f66fa7a88855f9f7784502a7f',\n token: {\n usd: '0.00',\n name: 'SHIBA INU',\n image:\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/images/shib.svg',\n amount: '8382798736999999457296646144',\n symbol: 'SHIB',\n address: '0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce',\n decimals: '18',\n },\n },\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC721 sent notification\n *\n * @returns Mock raw ERC721 sent notification\n */\nexport function createMockNotificationERC721Sent(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ERC721_SENT,\n notification_type: 'wallet_activity',\n notification_subtype: 'erc721_sent',\n id: 'a4193058-9814-537e-9df4-79dcac727fb6',\n created_at: '2023-11-15T11:08:17.895407Z',\n unread: true,\n payload: {\n block_number: 18576643,\n block_timestamp: '1700043467',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n to: '0xf47f628fe3bd2595e9ab384bfffc3859b448e451',\n nft: {\n name: 'Captainz #8680',\n image:\n 'https://i.seadn.io/s/raw/files/ae0fc06714ff7fb40217340d8a242c0e.gif?w=500&auto=format',\n token_id: '8680',\n collection: {\n name: 'The Captainz',\n image:\n 'https://i.seadn.io/gcs/files/6df4d75778066bce740050615bc84e21.png?w=500&auto=format',\n symbol: 'Captainz',\n address: '0x769272677fab02575e84945f03eca517acc544cc',\n },\n },\n from: '0x24a0bb54b7e7a8e406e9b28058a9fd6c49e6df4f',\n kind: 'erc721_sent',\n network_fee: {\n gas_price: '24550653274',\n native_token_price_in_usd: '1986.61',\n },\n },\n tx_hash:\n '0x0833c69fb41cf972a0f031fceca242939bc3fcf82b964b74606649abcad371bd',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC721 received notification\n *\n * @returns Mock raw ERC721 received notification\n */\nexport function createMockNotificationERC721Received(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ERC721_RECEIVED,\n notification_type: 'wallet_activity',\n notification_subtype: 'erc721_received',\n id: '00a79d24-befa-57ed-a55a-9eb8696e1654',\n created_at: '2023-11-14T17:40:52.319281Z',\n unread: true,\n payload: {\n block_number: 18571446,\n block_timestamp: '1699980623',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n to: '0xba7f3daa8adfdad686574406ab9bd5d2f0a49d2e',\n nft: {\n name: 'The Plague #2722',\n image:\n 'https://i.seadn.io/s/raw/files/a96f90ec8ebf55a2300c66a0c46d6a16.png?w=500&auto=format',\n token_id: '2722',\n collection: {\n name: 'The Plague NFT',\n image:\n 'https://i.seadn.io/gcs/files/4577987a5ca45ca5118b2e31559ee4d1.jpg?w=500&auto=format',\n symbol: 'FROG',\n address: '0xc379e535caff250a01caa6c3724ed1359fe5c29b',\n },\n },\n from: '0x24a0bb54b7e7a8e406e9b28058a9fd6c49e6df4f',\n kind: 'erc721_received',\n network_fee: {\n gas_price: '53701898538',\n native_token_price_in_usd: '2047.01',\n },\n },\n tx_hash:\n '0xe554c9e29e6eeca8ba94da4d047334ba08b8eb9ca3b801dd69cec08dfdd4ae43',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC1155 sent notification\n *\n * @returns Mock raw ERC1155 sent notification\n */\nexport function createMockNotificationERC1155Sent(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ERC1155_SENT,\n notification_type: 'wallet_activity',\n notification_subtype: 'erc1155_sent',\n id: 'a09ff9d1-623a-52ab-a3d4-c7c8c9a58362',\n created_at: '2023-11-20T20:44:10.110706Z',\n unread: true,\n payload: {\n block_number: 18615206,\n block_timestamp: '1700510003',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n to: '0x15bd77ccacf2da39b84f0c31fee2e451225bb190',\n nft: {\n name: 'IlluminatiNFT DAO',\n image:\n 'https://i.seadn.io/gcs/files/79a77cb37c7b2f1069f752645d29fea7.jpg?w=500&auto=format',\n token_id: '1',\n collection: {\n name: 'IlluminatiNFT DAO',\n image:\n 'https://i.seadn.io/gae/LTKz3om2eCQfn3M6PkqEmY7KhLtdMCOm0QVch2318KJq7-KyToCH7NBTMo4UuJ0AZI-oaBh1HcgrAEIEWYbXY3uMcYpuGXunaXEh?w=500&auto=format',\n symbol: 'TRUTH',\n address: '0xe25f0fe686477f9df3c2876c4902d3b85f75f33a',\n },\n },\n from: '0x0000000000000000000000000000000000000000',\n kind: 'erc1155_sent',\n network_fee: {\n gas_price: '33571446596',\n native_token_price_in_usd: '2038.88',\n },\n },\n tx_hash:\n '0x03381aba290facbaf71c123e263c8dc3dd550aac00ef589cce395182eaeff76f',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC1155 received notification\n *\n * @returns Mock raw ERC1155 received notification\n */\nexport function createMockNotificationERC1155Received(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ERC1155_RECEIVED,\n notification_type: 'wallet_activity',\n notification_subtype: 'erc1155_received',\n id: 'b6b93c84-e8dc-54ed-9396-7ea50474843a',\n created_at: '2023-11-20T20:44:10.110706Z',\n unread: true,\n payload: {\n block_number: 18615206,\n block_timestamp: '1700510003',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n to: '0x15bd77ccacf2da39b84f0c31fee2e451225bb190',\n nft: {\n name: 'IlluminatiNFT DAO',\n image:\n 'https://i.seadn.io/gcs/files/79a77cb37c7b2f1069f752645d29fea7.jpg?w=500&auto=format',\n token_id: '1',\n collection: {\n name: 'IlluminatiNFT DAO',\n image:\n 'https://i.seadn.io/gae/LTKz3om2eCQfn3M6PkqEmY7KhLtdMCOm0QVch2318KJq7-KyToCH7NBTMo4UuJ0AZI-oaBh1HcgrAEIEWYbXY3uMcYpuGXunaXEh?w=500&auto=format',\n symbol: 'TRUTH',\n address: '0xe25f0fe686477f9df3c2876c4902d3b85f75f33a',\n },\n },\n from: '0x0000000000000000000000000000000000000000',\n kind: 'erc1155_received',\n network_fee: {\n gas_price: '33571446596',\n native_token_price_in_usd: '2038.88',\n },\n },\n tx_hash:\n '0x03381aba290facbaf71c123e263c8dc3dd550aac00ef589cce395182eaeff76f',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock MetaMask Swaps notification\n *\n * @returns Mock raw MetaMask Swaps notification\n */\nexport function createMockNotificationMetaMaskSwapsCompleted(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.METAMASK_SWAP_COMPLETED,\n notification_type: 'wallet_activity',\n notification_subtype: 'metamask_swap_completed',\n id: '7ddfe6a1-ac52-5ffe-aa40-f04242db4b8b',\n created_at: '2023-10-18T13:58:49.854596Z',\n unread: true,\n payload: {\n block_number: 18377666,\n block_timestamp: '1697637275',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'metamask_swap_completed',\n rate: '1558.27',\n token_in: {\n usd: '1576.73',\n image:\n 'https://token.api.cx.metamask.io/assets/nativeCurrencyLogos/ethereum.svg',\n amount: '9000000000000000',\n symbol: 'ETH',\n address: '0x0000000000000000000000000000000000000000',\n decimals: '18',\n name: 'Ethereum',\n },\n token_out: {\n usd: '1.00',\n image:\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/images/usdt.svg',\n amount: '14024419',\n symbol: 'USDT',\n address: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n decimals: '6',\n name: 'USDT',\n },\n network_fee: {\n gas_price: '15406129273',\n native_token_price_in_usd: '1576.73',\n },\n },\n tx_hash:\n '0xf69074290f3aa11bce567aabc9ca0df7a12559dfae1b80ba1a124e9dfe19ecc5',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock RocketPool Stake Completed notification\n *\n * @returns Mock raw RocketPool Stake Completed notification\n */\nexport function createMockNotificationRocketPoolStakeCompleted(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ROCKETPOOL_STAKE_COMPLETED,\n notification_type: 'wallet_activity',\n notification_subtype: 'rocketpool_stake_completed',\n id: 'c2a2f225-b2fb-5d6c-ba56-e27a5c71ffb9',\n created_at: '2023-11-20T12:02:48.796824Z',\n unread: true,\n payload: {\n block_number: 18585057,\n block_timestamp: '1700145059',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'rocketpool_stake_completed',\n stake_in: {\n usd: '2031.86',\n name: 'Ethereum',\n image:\n 'https://token.api.cx.metamask.io/assets/nativeCurrencyLogos/ethereum.svg',\n amount: '190690478063438272',\n symbol: 'ETH',\n address: '0x0000000000000000000000000000000000000000',\n decimals: '18',\n },\n stake_out: {\n usd: '2226.49',\n name: 'Rocket Pool ETH',\n image:\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/images/rETH.svg',\n amount: '175024360778165879',\n symbol: 'RETH',\n address: '0xae78736Cd615f374D3085123A210448E74Fc6393',\n decimals: '18',\n },\n network_fee: {\n gas_price: '36000000000',\n native_token_price_in_usd: '2031.86',\n },\n },\n tx_hash:\n '0xcfc0693bf47995907b0f46ef0644cf16dd9a0de797099b2e00fd481e1b2117d3',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock RocketPool Un-staked notification\n *\n * @returns Mock raw RocketPool Un-staked notification\n */\nexport function createMockNotificationRocketPoolUnStakeCompleted(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ROCKETPOOL_UNSTAKE_COMPLETED,\n notification_type: 'wallet_activity',\n notification_subtype: 'rocketpool_unstake_completed',\n id: '291ec897-f569-4837-b6c0-21001b198dff',\n created_at: '2023-10-19T13:11:10.623042Z',\n unread: true,\n payload: {\n block_number: 18384336,\n block_timestamp: '1697718011',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'rocketpool_unstake_completed',\n stake_in: {\n usd: '1686.34',\n image:\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/images/rETH.svg',\n amount: '66608041413696770',\n symbol: 'RETH',\n address: '0xae78736Cd615f374D3085123A210448E74Fc6393',\n decimals: '18',\n name: 'Rocketpool Eth',\n },\n stake_out: {\n usd: '1553.75',\n image:\n 'https://token.api.cx.metamask.io/assets/nativeCurrencyLogos/ethereum.svg',\n amount: '72387843427700824',\n symbol: 'ETH',\n address: '0x0000000000000000000000000000000000000000',\n decimals: '18',\n name: 'Ethereum',\n },\n network_fee: {\n gas_price: '5656322987',\n native_token_price_in_usd: '1553.75',\n },\n },\n tx_hash:\n '0xc7972a7e409abfc62590ec90e633acd70b9b74e76ad02305be8bf133a0e22d5f',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Stake Completed notification\n *\n * @returns Mock raw Lido Stake Completed notification\n */\nexport function createMockNotificationLidoStakeCompleted(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.LIDO_STAKE_COMPLETED,\n notification_type: 'wallet_activity',\n notification_subtype: 'lido_stake_completed',\n id: 'ec10d66a-f78f-461f-83c9-609aada8cc50',\n created_at: '2023-11-02T22:28:49.970865Z',\n unread: true,\n payload: {\n block_number: 18487118,\n block_timestamp: '1698961091',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'lido_stake_completed',\n stake_in: {\n usd: '1806.33',\n name: 'Ethereum',\n image:\n 'https://token.api.cx.metamask.io/assets/nativeCurrencyLogos/ethereum.svg',\n amount: '330303634023928032',\n symbol: 'ETH',\n address: '0x0000000000000000000000000000000000000000',\n decimals: '18',\n },\n stake_out: {\n usd: '1801.30',\n name: 'Liquid staked Ether 2.0',\n image:\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/images/stETH.svg',\n amount: '330303634023928032',\n symbol: 'STETH',\n address: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84',\n decimals: '18',\n },\n network_fee: {\n gas_price: '26536359866',\n native_token_price_in_usd: '1806.33',\n },\n },\n tx_hash:\n '0x8cc0fa805f7c3b1743b14f3b91c6b824113b094f26d4ccaf6a71ad8547ce6a0f',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Withdrawal Requested notification\n *\n * @returns Mock raw Lido Withdrawal Requested notification\n */\nexport function createMockNotificationLidoWithdrawalRequested(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.LIDO_WITHDRAWAL_REQUESTED,\n notification_type: 'wallet_activity',\n notification_subtype: 'lido_withdrawal_requested',\n id: 'ef003925-3379-4ba7-9e2d-8218690cadc9',\n created_at: '2023-10-18T15:04:02.482526Z',\n unread: true,\n payload: {\n block_number: 18377760,\n block_timestamp: '1697638415',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'lido_withdrawal_requested',\n stake_in: {\n usd: '1568.54',\n image:\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/images/stETH.svg',\n amount: '97180668792218669859',\n symbol: 'STETH',\n address: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84',\n decimals: '18',\n name: 'Staked Eth',\n },\n stake_out: {\n usd: '1576.73',\n image:\n 'https://token.api.cx.metamask.io/assets/nativeCurrencyLogos/ethereum.svg',\n amount: '97180668792218669859',\n symbol: 'ETH',\n address: '0x0000000000000000000000000000000000000000',\n decimals: '18',\n name: 'Ethereum',\n },\n network_fee: {\n gas_price: '11658906980',\n native_token_price_in_usd: '1576.73',\n },\n },\n tx_hash:\n '0x58b5f82e084cb750ea174e02b20fbdfd2ba8d78053deac787f34fc38e5d427aa',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Withdrawal Completed notification\n *\n * @returns Mock raw Lido Withdrawal Completed notification\n */\nexport function createMockNotificationLidoWithdrawalCompleted(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.LIDO_WITHDRAWAL_COMPLETED,\n notification_type: 'wallet_activity',\n notification_subtype: 'lido_withdrawal_completed',\n id: 'd73df14d-ce73-4f38-bad3-ab028154042f',\n created_at: '2023-10-18T16:35:03.147606Z',\n unread: true,\n payload: {\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'lido_withdrawal_completed',\n stake_in: {\n usd: '1570.23',\n image:\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/images/stETH.svg',\n amount: '35081997661451346',\n symbol: 'STETH',\n address: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84',\n decimals: '18',\n name: 'Staked Eth',\n },\n stake_out: {\n usd: '1571.74',\n image:\n 'https://token.api.cx.metamask.io/assets/nativeCurrencyLogos/ethereum.svg',\n amount: '35081997661451346',\n symbol: 'ETH',\n address: '0x0000000000000000000000000000000000000000',\n decimals: '18',\n name: 'Ethereum',\n },\n network_fee: {\n gas_price: '12699495150',\n native_token_price_in_usd: '1571.74',\n },\n },\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Withdrawal Ready notification\n *\n * @returns Mock raw Lido Withdrawal Ready notification\n */\nexport function createMockNotificationLidoReadyToBeWithdrawn(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.LIDO_STAKE_READY_TO_BE_WITHDRAWN,\n notification_type: 'wallet_activity',\n notification_subtype: 'lido_stake_ready_to_be_withdrawn',\n id: 'd73df14d-ce73-4f38-bad3-ab028154042e',\n created_at: '2023-10-18T16:35:03.147606Z',\n unread: true,\n payload: {\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'lido_stake_ready_to_be_withdrawn',\n request_id: '123456789',\n staked_eth: {\n address: '0x881D40237659C251811CEC9c364ef91dC08D300F',\n symbol: 'ETH',\n name: 'Ethereum',\n amount: '2.5',\n decimals: '18',\n image:\n 'https://token.api.cx.metamask.io/assets/nativeCurrencyLogos/ethereum.svg',\n usd: '10000.00',\n },\n },\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Generic Platform notification\n *\n * @returns Mock raw Generic Platform notification\n */\nexport function createMockPlatformNotification(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.PLATFORM,\n notification_type: 'perps',\n notification_subtype: 'position_liquidated',\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n unread: true,\n created_at: '2025-10-09T09:45:34.202Z',\n template: {\n image_url:\n 'https://images.ctfassets.net/clixtyxoaeas/4rnpEzy1ATWRKVBOLxZ1Fm/a74dc1eed36d23d7ea6030383a4d5163/MetaMask-icon-fox.svg',\n title: 'This is a Platform Notification!',\n body: 'Teams can now build out their own notifications, and add an optional CTA (like this one below).',\n cta: {\n content: 'Get Started',\n link: 'https://metamask.io/get-started',\n },\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - creates an array of raw on-chain notifications\n *\n * @returns Array of raw on-chain notifications\n */\nexport function createMockRawOnChainNotifications(): NormalisedAPINotification[] {\n return [1, 2, 3].map((id) => {\n const notification = createMockNotificationEthSent();\n notification.id += `-${id}`;\n return notification;\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"mock-raw-notifications.js","sourceRoot":"","sources":["../../../src/NotificationServicesController/mocks/mock-raw-notifications.ts"],"names":[],"mappings":"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","sourcesContent":["import { TRIGGER_TYPES } from '../constants/notification-schema.js';\nimport type { NormalisedAPINotification } from '../types/notification-api/notification-api.js';\n\n/**\n * Mocking Utility - create a mock Eth sent notification\n *\n * @returns Mock raw Eth sent notification\n */\nexport function createMockNotificationEthSent(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ETH_SENT,\n notification_type: 'wallet_activity',\n category: 'wallet_activity',\n notification_subtype: 'eth_sent',\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa7',\n unread: true,\n created_at: '2022-03-01T00:00:00Z',\n payload: {\n chain_id: 1,\n block_number: 17485840,\n block_timestamp: '2022-03-01T00:00:00Z',\n tx_hash:\n '0xb2256b183f2fb3872f99294ab55fb03e6a479b0d4aca556a3b27568b712505a6',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'eth_sent',\n network_fee: {\n gas_price: '207806259583',\n native_token_price_in_usd: '0.83',\n },\n from: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n to: '0x881D40237659C251811CEC9c364ef91dC08D300D',\n amount: {\n usd: '670.64',\n eth: '0.005',\n },\n },\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Eth Received notification\n *\n * @returns Mock raw Eth Received notification\n */\nexport function createMockNotificationEthReceived(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ETH_RECEIVED,\n notification_type: 'wallet_activity',\n category: 'wallet_activity',\n notification_subtype: 'eth_received',\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa8',\n unread: true,\n created_at: '2022-03-01T00:00:00Z',\n payload: {\n chain_id: 1,\n block_number: 17485840,\n block_timestamp: '2022-03-01T00:00:00Z',\n tx_hash:\n '0xb2256b183f2fb3872f99294ab55fb03e6a479b0d4aca556a3b27568b712505a6',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'eth_received',\n network_fee: {\n gas_price: '207806259583',\n native_token_price_in_usd: '0.83',\n },\n from: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n to: '0x881D40237659C251811CEC9c364ef91dC08D300D',\n amount: {\n usd: '670.64',\n eth: '808.000000000000000000',\n },\n },\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC20 sent notification\n *\n * @returns Mock raw ERC20 sent notification\n */\nexport function createMockNotificationERC20Sent(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ERC20_SENT,\n notification_type: 'wallet_activity',\n category: 'wallet_activity',\n notification_subtype: 'erc20_sent',\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa9',\n unread: true,\n created_at: '2022-03-01T00:00:00Z',\n payload: {\n chain_id: 1,\n block_number: 17485840,\n block_timestamp: '2022-03-01T00:00:00Z',\n tx_hash:\n '0xb2256b183f2fb3872f99294ab55fb03e6a479b0d4aca556a3b27568b712505a6',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'erc20_sent',\n network_fee: {\n gas_price: '207806259583',\n native_token_price_in_usd: '0.83',\n },\n to: '0xecc19e177d24551aa7ed6bc6fe566eca726cc8a9',\n from: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',\n token: {\n usd: '1.00',\n name: 'USDC',\n image:\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/images/usdc.svg',\n amount: '4956250000',\n symbol: 'USDC',\n address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n decimals: '6',\n },\n },\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC20 received notification\n *\n * @returns Mock raw ERC20 received notification\n */\nexport function createMockNotificationERC20Received(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ERC20_RECEIVED,\n notification_type: 'wallet_activity',\n category: 'wallet_activity',\n notification_subtype: 'erc20_received',\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n unread: true,\n created_at: '2022-03-01T00:00:00Z',\n payload: {\n chain_id: 1,\n block_number: 17485840,\n block_timestamp: '2022-03-01T00:00:00Z',\n tx_hash:\n '0xb2256b183f2fb3872f99294ab55fb03e6a479b0d4aca556a3b27568b712505a6',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'erc20_received',\n network_fee: {\n gas_price: '207806259583',\n native_token_price_in_usd: '0.83',\n },\n to: '0xeae7380dd4cef6fbd1144f49e4d1e6964258a4f4',\n from: '0x51c72848c68a965f66fa7a88855f9f7784502a7f',\n token: {\n usd: '0.00',\n name: 'SHIBA INU',\n image:\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/images/shib.svg',\n amount: '8382798736999999457296646144',\n symbol: 'SHIB',\n address: '0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce',\n decimals: '18',\n },\n },\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC721 sent notification\n *\n * @returns Mock raw ERC721 sent notification\n */\nexport function createMockNotificationERC721Sent(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ERC721_SENT,\n notification_type: 'wallet_activity',\n category: 'wallet_activity',\n notification_subtype: 'erc721_sent',\n id: 'a4193058-9814-537e-9df4-79dcac727fb6',\n created_at: '2023-11-15T11:08:17.895407Z',\n unread: true,\n payload: {\n block_number: 18576643,\n block_timestamp: '1700043467',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n to: '0xf47f628fe3bd2595e9ab384bfffc3859b448e451',\n nft: {\n name: 'Captainz #8680',\n image:\n 'https://i.seadn.io/s/raw/files/ae0fc06714ff7fb40217340d8a242c0e.gif?w=500&auto=format',\n token_id: '8680',\n collection: {\n name: 'The Captainz',\n image:\n 'https://i.seadn.io/gcs/files/6df4d75778066bce740050615bc84e21.png?w=500&auto=format',\n symbol: 'Captainz',\n address: '0x769272677fab02575e84945f03eca517acc544cc',\n },\n },\n from: '0x24a0bb54b7e7a8e406e9b28058a9fd6c49e6df4f',\n kind: 'erc721_sent',\n network_fee: {\n gas_price: '24550653274',\n native_token_price_in_usd: '1986.61',\n },\n },\n tx_hash:\n '0x0833c69fb41cf972a0f031fceca242939bc3fcf82b964b74606649abcad371bd',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC721 received notification\n *\n * @returns Mock raw ERC721 received notification\n */\nexport function createMockNotificationERC721Received(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ERC721_RECEIVED,\n notification_type: 'wallet_activity',\n category: 'wallet_activity',\n notification_subtype: 'erc721_received',\n id: '00a79d24-befa-57ed-a55a-9eb8696e1654',\n created_at: '2023-11-14T17:40:52.319281Z',\n unread: true,\n payload: {\n block_number: 18571446,\n block_timestamp: '1699980623',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n to: '0xba7f3daa8adfdad686574406ab9bd5d2f0a49d2e',\n nft: {\n name: 'The Plague #2722',\n image:\n 'https://i.seadn.io/s/raw/files/a96f90ec8ebf55a2300c66a0c46d6a16.png?w=500&auto=format',\n token_id: '2722',\n collection: {\n name: 'The Plague NFT',\n image:\n 'https://i.seadn.io/gcs/files/4577987a5ca45ca5118b2e31559ee4d1.jpg?w=500&auto=format',\n symbol: 'FROG',\n address: '0xc379e535caff250a01caa6c3724ed1359fe5c29b',\n },\n },\n from: '0x24a0bb54b7e7a8e406e9b28058a9fd6c49e6df4f',\n kind: 'erc721_received',\n network_fee: {\n gas_price: '53701898538',\n native_token_price_in_usd: '2047.01',\n },\n },\n tx_hash:\n '0xe554c9e29e6eeca8ba94da4d047334ba08b8eb9ca3b801dd69cec08dfdd4ae43',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC1155 sent notification\n *\n * @returns Mock raw ERC1155 sent notification\n */\nexport function createMockNotificationERC1155Sent(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ERC1155_SENT,\n notification_type: 'wallet_activity',\n category: 'wallet_activity',\n notification_subtype: 'erc1155_sent',\n id: 'a09ff9d1-623a-52ab-a3d4-c7c8c9a58362',\n created_at: '2023-11-20T20:44:10.110706Z',\n unread: true,\n payload: {\n block_number: 18615206,\n block_timestamp: '1700510003',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n to: '0x15bd77ccacf2da39b84f0c31fee2e451225bb190',\n nft: {\n name: 'IlluminatiNFT DAO',\n image:\n 'https://i.seadn.io/gcs/files/79a77cb37c7b2f1069f752645d29fea7.jpg?w=500&auto=format',\n token_id: '1',\n collection: {\n name: 'IlluminatiNFT DAO',\n image:\n 'https://i.seadn.io/gae/LTKz3om2eCQfn3M6PkqEmY7KhLtdMCOm0QVch2318KJq7-KyToCH7NBTMo4UuJ0AZI-oaBh1HcgrAEIEWYbXY3uMcYpuGXunaXEh?w=500&auto=format',\n symbol: 'TRUTH',\n address: '0xe25f0fe686477f9df3c2876c4902d3b85f75f33a',\n },\n },\n from: '0x0000000000000000000000000000000000000000',\n kind: 'erc1155_sent',\n network_fee: {\n gas_price: '33571446596',\n native_token_price_in_usd: '2038.88',\n },\n },\n tx_hash:\n '0x03381aba290facbaf71c123e263c8dc3dd550aac00ef589cce395182eaeff76f',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC1155 received notification\n *\n * @returns Mock raw ERC1155 received notification\n */\nexport function createMockNotificationERC1155Received(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ERC1155_RECEIVED,\n notification_type: 'wallet_activity',\n category: 'wallet_activity',\n notification_subtype: 'erc1155_received',\n id: 'b6b93c84-e8dc-54ed-9396-7ea50474843a',\n created_at: '2023-11-20T20:44:10.110706Z',\n unread: true,\n payload: {\n block_number: 18615206,\n block_timestamp: '1700510003',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n to: '0x15bd77ccacf2da39b84f0c31fee2e451225bb190',\n nft: {\n name: 'IlluminatiNFT DAO',\n image:\n 'https://i.seadn.io/gcs/files/79a77cb37c7b2f1069f752645d29fea7.jpg?w=500&auto=format',\n token_id: '1',\n collection: {\n name: 'IlluminatiNFT DAO',\n image:\n 'https://i.seadn.io/gae/LTKz3om2eCQfn3M6PkqEmY7KhLtdMCOm0QVch2318KJq7-KyToCH7NBTMo4UuJ0AZI-oaBh1HcgrAEIEWYbXY3uMcYpuGXunaXEh?w=500&auto=format',\n symbol: 'TRUTH',\n address: '0xe25f0fe686477f9df3c2876c4902d3b85f75f33a',\n },\n },\n from: '0x0000000000000000000000000000000000000000',\n kind: 'erc1155_received',\n network_fee: {\n gas_price: '33571446596',\n native_token_price_in_usd: '2038.88',\n },\n },\n tx_hash:\n '0x03381aba290facbaf71c123e263c8dc3dd550aac00ef589cce395182eaeff76f',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock MetaMask Swaps notification\n *\n * @returns Mock raw MetaMask Swaps notification\n */\nexport function createMockNotificationMetaMaskSwapsCompleted(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.METAMASK_SWAP_COMPLETED,\n notification_type: 'wallet_activity',\n category: 'wallet_activity',\n notification_subtype: 'metamask_swap_completed',\n id: '7ddfe6a1-ac52-5ffe-aa40-f04242db4b8b',\n created_at: '2023-10-18T13:58:49.854596Z',\n unread: true,\n payload: {\n block_number: 18377666,\n block_timestamp: '1697637275',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'metamask_swap_completed',\n rate: '1558.27',\n token_in: {\n usd: '1576.73',\n image:\n 'https://token.api.cx.metamask.io/assets/nativeCurrencyLogos/ethereum.svg',\n amount: '9000000000000000',\n symbol: 'ETH',\n address: '0x0000000000000000000000000000000000000000',\n decimals: '18',\n name: 'Ethereum',\n },\n token_out: {\n usd: '1.00',\n image:\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/images/usdt.svg',\n amount: '14024419',\n symbol: 'USDT',\n address: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n decimals: '6',\n name: 'USDT',\n },\n network_fee: {\n gas_price: '15406129273',\n native_token_price_in_usd: '1576.73',\n },\n },\n tx_hash:\n '0xf69074290f3aa11bce567aabc9ca0df7a12559dfae1b80ba1a124e9dfe19ecc5',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock RocketPool Stake Completed notification\n *\n * @returns Mock raw RocketPool Stake Completed notification\n */\nexport function createMockNotificationRocketPoolStakeCompleted(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ROCKETPOOL_STAKE_COMPLETED,\n notification_type: 'wallet_activity',\n category: 'wallet_activity',\n notification_subtype: 'rocketpool_stake_completed',\n id: 'c2a2f225-b2fb-5d6c-ba56-e27a5c71ffb9',\n created_at: '2023-11-20T12:02:48.796824Z',\n unread: true,\n payload: {\n block_number: 18585057,\n block_timestamp: '1700145059',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'rocketpool_stake_completed',\n stake_in: {\n usd: '2031.86',\n name: 'Ethereum',\n image:\n 'https://token.api.cx.metamask.io/assets/nativeCurrencyLogos/ethereum.svg',\n amount: '190690478063438272',\n symbol: 'ETH',\n address: '0x0000000000000000000000000000000000000000',\n decimals: '18',\n },\n stake_out: {\n usd: '2226.49',\n name: 'Rocket Pool ETH',\n image:\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/images/rETH.svg',\n amount: '175024360778165879',\n symbol: 'RETH',\n address: '0xae78736Cd615f374D3085123A210448E74Fc6393',\n decimals: '18',\n },\n network_fee: {\n gas_price: '36000000000',\n native_token_price_in_usd: '2031.86',\n },\n },\n tx_hash:\n '0xcfc0693bf47995907b0f46ef0644cf16dd9a0de797099b2e00fd481e1b2117d3',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock RocketPool Un-staked notification\n *\n * @returns Mock raw RocketPool Un-staked notification\n */\nexport function createMockNotificationRocketPoolUnStakeCompleted(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.ROCKETPOOL_UNSTAKE_COMPLETED,\n notification_type: 'wallet_activity',\n category: 'wallet_activity',\n notification_subtype: 'rocketpool_unstake_completed',\n id: '291ec897-f569-4837-b6c0-21001b198dff',\n created_at: '2023-10-19T13:11:10.623042Z',\n unread: true,\n payload: {\n block_number: 18384336,\n block_timestamp: '1697718011',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'rocketpool_unstake_completed',\n stake_in: {\n usd: '1686.34',\n image:\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/images/rETH.svg',\n amount: '66608041413696770',\n symbol: 'RETH',\n address: '0xae78736Cd615f374D3085123A210448E74Fc6393',\n decimals: '18',\n name: 'Rocketpool Eth',\n },\n stake_out: {\n usd: '1553.75',\n image:\n 'https://token.api.cx.metamask.io/assets/nativeCurrencyLogos/ethereum.svg',\n amount: '72387843427700824',\n symbol: 'ETH',\n address: '0x0000000000000000000000000000000000000000',\n decimals: '18',\n name: 'Ethereum',\n },\n network_fee: {\n gas_price: '5656322987',\n native_token_price_in_usd: '1553.75',\n },\n },\n tx_hash:\n '0xc7972a7e409abfc62590ec90e633acd70b9b74e76ad02305be8bf133a0e22d5f',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Stake Completed notification\n *\n * @returns Mock raw Lido Stake Completed notification\n */\nexport function createMockNotificationLidoStakeCompleted(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.LIDO_STAKE_COMPLETED,\n notification_type: 'wallet_activity',\n category: 'wallet_activity',\n notification_subtype: 'lido_stake_completed',\n id: 'ec10d66a-f78f-461f-83c9-609aada8cc50',\n created_at: '2023-11-02T22:28:49.970865Z',\n unread: true,\n payload: {\n block_number: 18487118,\n block_timestamp: '1698961091',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'lido_stake_completed',\n stake_in: {\n usd: '1806.33',\n name: 'Ethereum',\n image:\n 'https://token.api.cx.metamask.io/assets/nativeCurrencyLogos/ethereum.svg',\n amount: '330303634023928032',\n symbol: 'ETH',\n address: '0x0000000000000000000000000000000000000000',\n decimals: '18',\n },\n stake_out: {\n usd: '1801.30',\n name: 'Liquid staked Ether 2.0',\n image:\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/images/stETH.svg',\n amount: '330303634023928032',\n symbol: 'STETH',\n address: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84',\n decimals: '18',\n },\n network_fee: {\n gas_price: '26536359866',\n native_token_price_in_usd: '1806.33',\n },\n },\n tx_hash:\n '0x8cc0fa805f7c3b1743b14f3b91c6b824113b094f26d4ccaf6a71ad8547ce6a0f',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Withdrawal Requested notification\n *\n * @returns Mock raw Lido Withdrawal Requested notification\n */\nexport function createMockNotificationLidoWithdrawalRequested(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.LIDO_WITHDRAWAL_REQUESTED,\n notification_type: 'wallet_activity',\n category: 'wallet_activity',\n notification_subtype: 'lido_withdrawal_requested',\n id: 'ef003925-3379-4ba7-9e2d-8218690cadc9',\n created_at: '2023-10-18T15:04:02.482526Z',\n unread: true,\n payload: {\n block_number: 18377760,\n block_timestamp: '1697638415',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'lido_withdrawal_requested',\n stake_in: {\n usd: '1568.54',\n image:\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/images/stETH.svg',\n amount: '97180668792218669859',\n symbol: 'STETH',\n address: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84',\n decimals: '18',\n name: 'Staked Eth',\n },\n stake_out: {\n usd: '1576.73',\n image:\n 'https://token.api.cx.metamask.io/assets/nativeCurrencyLogos/ethereum.svg',\n amount: '97180668792218669859',\n symbol: 'ETH',\n address: '0x0000000000000000000000000000000000000000',\n decimals: '18',\n name: 'Ethereum',\n },\n network_fee: {\n gas_price: '11658906980',\n native_token_price_in_usd: '1576.73',\n },\n },\n tx_hash:\n '0x58b5f82e084cb750ea174e02b20fbdfd2ba8d78053deac787f34fc38e5d427aa',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Withdrawal Completed notification\n *\n * @returns Mock raw Lido Withdrawal Completed notification\n */\nexport function createMockNotificationLidoWithdrawalCompleted(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.LIDO_WITHDRAWAL_COMPLETED,\n notification_type: 'wallet_activity',\n category: 'wallet_activity',\n notification_subtype: 'lido_withdrawal_completed',\n id: 'd73df14d-ce73-4f38-bad3-ab028154042f',\n created_at: '2023-10-18T16:35:03.147606Z',\n unread: true,\n payload: {\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'lido_withdrawal_completed',\n stake_in: {\n usd: '1570.23',\n image:\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/images/stETH.svg',\n amount: '35081997661451346',\n symbol: 'STETH',\n address: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84',\n decimals: '18',\n name: 'Staked Eth',\n },\n stake_out: {\n usd: '1571.74',\n image:\n 'https://token.api.cx.metamask.io/assets/nativeCurrencyLogos/ethereum.svg',\n amount: '35081997661451346',\n symbol: 'ETH',\n address: '0x0000000000000000000000000000000000000000',\n decimals: '18',\n name: 'Ethereum',\n },\n network_fee: {\n gas_price: '12699495150',\n native_token_price_in_usd: '1571.74',\n },\n },\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Withdrawal Ready notification\n *\n * @returns Mock raw Lido Withdrawal Ready notification\n */\nexport function createMockNotificationLidoReadyToBeWithdrawn(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.LIDO_STAKE_READY_TO_BE_WITHDRAWN,\n notification_type: 'wallet_activity',\n category: 'wallet_activity',\n notification_subtype: 'lido_stake_ready_to_be_withdrawn',\n id: 'd73df14d-ce73-4f38-bad3-ab028154042e',\n created_at: '2023-10-18T16:35:03.147606Z',\n unread: true,\n payload: {\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n network: {\n name: 'Ethereum',\n native_symbol: 'ETH',\n block_explorer: {\n url: 'https://etherscan.io',\n name: 'Etherscan',\n },\n },\n data: {\n kind: 'lido_stake_ready_to_be_withdrawn',\n request_id: '123456789',\n staked_eth: {\n address: '0x881D40237659C251811CEC9c364ef91dC08D300F',\n symbol: 'ETH',\n name: 'Ethereum',\n amount: '2.5',\n decimals: '18',\n image:\n 'https://token.api.cx.metamask.io/assets/nativeCurrencyLogos/ethereum.svg',\n usd: '10000.00',\n },\n },\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Generic Platform notification\n *\n * @returns Mock raw Generic Platform notification\n */\nexport function createMockPlatformNotification(): NormalisedAPINotification {\n const mockNotification: NormalisedAPINotification = {\n type: TRIGGER_TYPES.PLATFORM,\n notification_type: 'perps',\n category: 'trading_activity',\n notification_subtype: 'position_liquidated',\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n unread: true,\n created_at: '2025-10-09T09:45:34.202Z',\n template: {\n image_url:\n 'https://images.ctfassets.net/clixtyxoaeas/4rnpEzy1ATWRKVBOLxZ1Fm/a74dc1eed36d23d7ea6030383a4d5163/MetaMask-icon-fox.svg',\n title: 'This is a Platform Notification!',\n body: 'Teams can now build out their own notifications, and add an optional CTA (like this one below).',\n cta: {\n link: 'https://metamask.io/get-started',\n },\n },\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - creates an array of raw on-chain notifications\n *\n * @returns Array of raw on-chain notifications\n */\nexport function createMockRawOnChainNotifications(): NormalisedAPINotification[] {\n return [1, 2, 3].map((id) => {\n const notification = createMockNotificationEthSent();\n notification.id += `-${id}`;\n return notification;\n });\n}\n"]}
|
|
@@ -16,6 +16,8 @@ export type paths = {
|
|
|
16
16
|
/**
|
|
17
17
|
* List both platform and on-chain notifications for a certain user/address(es)
|
|
18
18
|
* @description Same behaviour as /api/v3/notifications, but the returned notification_type and notification_subtype are taken directly from the producer-set database fields: platform notifications expose platform_notifications.notification_type / notification_subtype, while on-chain notifications expose the constant "wallet_activity" as notification_type and notifications_part.kind as notification_subtype. Clients should distinguish the two shapes structurally (presence of "payload" for on-chain vs "template" for platform).
|
|
19
|
+
*
|
|
20
|
+
* Both shapes also carry a "category": the category_id of the settings category the notification_type belongs to, resolved server-side from the same manifest served by GET /api/v4/notifications/categories. It lets clients group or filter a notification list with the same taxonomy the settings screen uses, without duplicating the notification_type -> category mapping client-side.
|
|
19
21
|
*/
|
|
20
22
|
post: {
|
|
21
23
|
parameters: {
|
|
@@ -101,6 +103,53 @@ export type paths = {
|
|
|
101
103
|
patch?: never;
|
|
102
104
|
trace?: never;
|
|
103
105
|
};
|
|
106
|
+
'/api/v4/notifications/categories': {
|
|
107
|
+
parameters: {
|
|
108
|
+
query?: never;
|
|
109
|
+
header?: never;
|
|
110
|
+
path?: never;
|
|
111
|
+
cookie?: never;
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* List notification categories (server-driven settings manifest)
|
|
115
|
+
* @description Read-only manifest that drives the client notification-settings UX. It is a single artifact identical for every user and platform: the client renders only the entries whose `visible_on` includes its own platform, in the order they appear in the array, and toggles the AUS preference keys listed in `aus_keys`. It ties together the AUS preference keys (user-storage), the platform notification_types, and the UX grouping, so changing the taxonomy no longer requires a client release.
|
|
116
|
+
* Presentation (labels, descriptions, icons) is client-owned for now and keyed off `category_id`; server-side localization is a future, additive change. This endpoint is unauthenticated — it carries no per-user state.
|
|
117
|
+
*/
|
|
118
|
+
get: {
|
|
119
|
+
parameters: {
|
|
120
|
+
query?: never;
|
|
121
|
+
header?: never;
|
|
122
|
+
path?: never;
|
|
123
|
+
cookie?: never;
|
|
124
|
+
};
|
|
125
|
+
requestBody?: never;
|
|
126
|
+
responses: {
|
|
127
|
+
/** @description The notification categories manifest */
|
|
128
|
+
200: {
|
|
129
|
+
headers: {
|
|
130
|
+
[name: string]: unknown;
|
|
131
|
+
};
|
|
132
|
+
content: {
|
|
133
|
+
'application/json': components['schemas']['NotificationCategories'];
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
/** @description Internal server error */
|
|
137
|
+
500: {
|
|
138
|
+
headers: {
|
|
139
|
+
[name: string]: unknown;
|
|
140
|
+
};
|
|
141
|
+
content?: never;
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
put?: never;
|
|
146
|
+
post?: never;
|
|
147
|
+
delete?: never;
|
|
148
|
+
options?: never;
|
|
149
|
+
head?: never;
|
|
150
|
+
patch?: never;
|
|
151
|
+
trace?: never;
|
|
152
|
+
};
|
|
104
153
|
'/api/v3/notifications': {
|
|
105
154
|
parameters: {
|
|
106
155
|
query?: never;
|
|
@@ -388,6 +437,31 @@ export type components = {
|
|
|
388
437
|
* @enum {string}
|
|
389
438
|
*/
|
|
390
439
|
AppPlatform: 'portfolio' | 'extension' | 'mobile';
|
|
440
|
+
/** @description The full set of notification categories, in display order. Returned in its entirety to every client regardless of platform; the client renders only the entries whose `visible_on` includes its platform, in the order they appear here. */
|
|
441
|
+
NotificationCategories: components['schemas']['NotificationCategory'][];
|
|
442
|
+
NotificationCategory: {
|
|
443
|
+
/**
|
|
444
|
+
* @description Stable identifier for the category. The client keys its localized copy and icon off this value.
|
|
445
|
+
* @example trading_activity
|
|
446
|
+
*/
|
|
447
|
+
category_id: string;
|
|
448
|
+
/** @description Platforms on which the client should render this category. An empty array means it is hidden everywhere but still present in the manifest (so the set of categories stays complete with respect to the platform notification_types). */
|
|
449
|
+
visible_on: components['schemas']['AppPlatform'][];
|
|
450
|
+
/**
|
|
451
|
+
* @description The user-storage notification-preference keys this category toggles. The AUS key is the toggle pivot: turning the category off disables every listed key, turning it on enables them. An empty array means the category is display-only (not user-toggleable).
|
|
452
|
+
* @example [
|
|
453
|
+
* "perps"
|
|
454
|
+
* ]
|
|
455
|
+
*/
|
|
456
|
+
aus_keys: string[];
|
|
457
|
+
/**
|
|
458
|
+
* @description The platform notification_type values this category covers. Advisory / validation only — the client toggles `aus_keys`, not these. May be empty when a category maps to an AUS-only key (e.g. `marketing`, or the reserved on-chain `wallet_activity`) that has no platform notification_type.
|
|
459
|
+
* @example [
|
|
460
|
+
* "perps"
|
|
461
|
+
* ]
|
|
462
|
+
*/
|
|
463
|
+
notification_types: string[];
|
|
464
|
+
};
|
|
391
465
|
NotificationInputV3: {
|
|
392
466
|
/** @example en-US */
|
|
393
467
|
locale: string;
|
|
@@ -421,7 +495,7 @@ export type components = {
|
|
|
421
495
|
body: string;
|
|
422
496
|
};
|
|
423
497
|
LocalizedNotificationCTA: {
|
|
424
|
-
|
|
498
|
+
/** @description Deeplink URL. Clients open this when the notification is tapped. */
|
|
425
499
|
link: string;
|
|
426
500
|
};
|
|
427
501
|
OnChainNotification: {
|
|
@@ -466,6 +540,11 @@ export type components = {
|
|
|
466
540
|
* @example perps
|
|
467
541
|
*/
|
|
468
542
|
notification_type: string;
|
|
543
|
+
/**
|
|
544
|
+
* @description The `category_id` of the settings category this notification belongs to, derived server-side from `notification_type` via the manifest served by GET /api/v4/notifications/categories. Empty string when no category covers the notification_type (e.g. a type newer than the manifest); clients should treat that, and any category_id they do not know, as uncategorized.
|
|
545
|
+
* @example trading_activity
|
|
546
|
+
*/
|
|
547
|
+
category: string;
|
|
469
548
|
/**
|
|
470
549
|
* @description Producer-set platform_notifications.notification_subtype value.
|
|
471
550
|
* @example position_liquidated
|
|
@@ -488,6 +567,11 @@ export type components = {
|
|
|
488
567
|
id: string;
|
|
489
568
|
/** @enum {string} */
|
|
490
569
|
notification_type: 'wallet_activity';
|
|
570
|
+
/**
|
|
571
|
+
* @description The `category_id` of the settings category this notification belongs to, derived server-side from `notification_type` via the manifest served by GET /api/v4/notifications/categories.
|
|
572
|
+
* @example wallet_activity
|
|
573
|
+
*/
|
|
574
|
+
category: string;
|
|
491
575
|
/**
|
|
492
576
|
* @description notifications_part.kind value.
|
|
493
577
|
* @example metamask_swap_completed
|
|
@@ -500,8 +584,26 @@ export type components = {
|
|
|
500
584
|
* @example 2025-10-09T09:45:34.202Z
|
|
501
585
|
*/
|
|
502
586
|
created_at: string;
|
|
587
|
+
template?: components['schemas']['OnChainTemplate'];
|
|
503
588
|
payload: components['schemas']['OnChainPayload'];
|
|
504
589
|
};
|
|
590
|
+
/**
|
|
591
|
+
* @description The notification's copy, already localized into the `locale` sent with the request. This is the same text the clients used to assemble themselves from their own locale files; rendering it server-side keeps every surface (in-app, push, each client) on one set of strings.
|
|
592
|
+
* Optional: it is absent when the server cannot render the row — a notification_subtype newer than the server, or a payload it cannot read. Clients must keep their local rendering as a fallback for those, and may drop it once this field is present for every subtype they support.
|
|
593
|
+
* Only translated copy lives here. The amount, token name, network name, icons and timestamp are not included: clients already derive those from `payload` and render them with locale-aware, user-configured formatting.
|
|
594
|
+
*/
|
|
595
|
+
OnChainTemplate: {
|
|
596
|
+
/**
|
|
597
|
+
* @description The notification headline.
|
|
598
|
+
* @example Received from 0x5aAeb...BeAed
|
|
599
|
+
*/
|
|
600
|
+
title: string;
|
|
601
|
+
/**
|
|
602
|
+
* @description Secondary line, present only for the subtypes whose description is translated copy (today lido_withdrawal_requested and lido_stake_ready_to_be_withdrawn). For every other subtype the client composes the secondary line from `payload` as before.
|
|
603
|
+
* @example You can now withdraw your unstaked stETH
|
|
604
|
+
*/
|
|
605
|
+
body?: string;
|
|
606
|
+
};
|
|
505
607
|
NotificationInput: {
|
|
506
608
|
/** Format: address */
|
|
507
609
|
address: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/NotificationServicesController/types/notification-api/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/NotificationServicesController/types/notification-api/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/NotificationServicesController/types/notification-api/schema.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,2EAA2E;AAC3E,yDAAyD","sourcesContent":["/* eslint-disable jsdoc/tag-lines */\n// Auto-generated from OpenAPI spec - naming follows API schema conventions\n/* eslint-disable @typescript-eslint/naming-convention */\n\n/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n * Script: `npx openapi-typescript <PATH_TO_API_SPEC> -o ./schema.ts`\n */\n\nexport type paths = {\n '/api/v4/notifications': {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /**\n * List both platform and on-chain notifications for a certain user/address(es)\n * @description Same behaviour as /api/v3/notifications, but the returned notification_type and notification_subtype are taken directly from the producer-set database fields: platform notifications expose platform_notifications.notification_type / notification_subtype, while on-chain notifications expose the constant \"wallet_activity\" as notification_type and notifications_part.kind as notification_subtype. Clients should distinguish the two shapes structurally (presence of \"payload\" for on-chain vs \"template\" for platform).\n */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n 'application/json': components['schemas']['NotificationInputV3'];\n };\n };\n responses: {\n /** @description Notifications listed successfully */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n 'application/json': components['schemas']['NotificationOutputV4'];\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n '/api/v4/notifications/mark-as-read': {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Mark notifications as read */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n 'application/json': {\n ids?: string[];\n };\n };\n };\n responses: {\n /** @description Successfully marked notifications as read */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n '/api/v3/notifications': {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** List both platform and on-chain notifications for a certain user/address(es) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n 'application/json': components['schemas']['NotificationInputV3'];\n };\n };\n responses: {\n /** @description Notifications listed successfully */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n 'application/json': components['schemas']['NotificationOutputV3'];\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n '/api/v3/notifications/mark-as-read': {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Mark notifications as read */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n 'application/json': {\n ids?: string[];\n };\n };\n };\n responses: {\n /** @description Successfully marked notifications as read */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n '/api/v2/notifications': {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** List all notifications for a certain user/address(es) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n 'application/json': components['schemas']['NotificationInput'][];\n };\n };\n responses: {\n /** @description Notifications listed successfully */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n 'application/json': components['schemas']['WalletNotification'][];\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n '/api/v2/notifications/mark-as-read': {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Mark notifications as read */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n 'application/json': {\n ids?: string[];\n };\n };\n };\n responses: {\n /** @description Successfully marked notifications as read */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n '/api/v1/notifications': {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** List all notifications ordered by most recent */\n post: {\n parameters: {\n query?: {\n /** @description Page number for pagination */\n page?: number;\n /** @description Number of notifications per page for pagination */\n per_page?: number;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n 'application/json': {\n trigger_ids: string[];\n chain_ids?: number[];\n kinds?: string[];\n unread?: boolean;\n };\n };\n };\n responses: {\n /** @description Successfully fetched a list of notifications */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n 'application/json': components['schemas']['WalletNotification'][];\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n '/api/v1/notifications/mark-as-read': {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Mark notifications as read */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n 'application/json': {\n ids?: string[];\n };\n };\n };\n responses: {\n /** @description Successfully marked notifications as read */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n};\nexport type webhooks = Record<string, never>;\nexport type components = {\n schemas: {\n /**\n * @example mobile\n * @enum {string}\n */\n AppPlatform: 'portfolio' | 'extension' | 'mobile';\n NotificationInputV3: {\n /** @example en-US */\n locale: string;\n platform: components['schemas']['AppPlatform'];\n addresses: string[];\n };\n NotificationOutputV3: (\n | components['schemas']['PlatformNotification']\n | components['schemas']['OnChainNotification']\n )[];\n PlatformNotification: {\n /**\n * Format: uuid\n * @example 3fa85f64-5717-4562-b3fc-2c963f66afa6\n */\n id: string;\n /** @enum {string} */\n notification_type: 'platform';\n /** @example position_liquidated */\n notification_subtype: string;\n /** @example false */\n unread: boolean;\n template: components['schemas']['LocalizedNotification'];\n /**\n * Format: date-time\n * @example 2025-10-09T09:45:34.202Z\n */\n created_at: string;\n };\n LocalizedNotification: {\n image_url: string;\n cta?: components['schemas']['LocalizedNotificationCTA'];\n title: string;\n body: string;\n };\n LocalizedNotificationCTA: {\n content: string;\n link: string;\n };\n OnChainNotification: {\n /**\n * Format: uuid\n * @example 3fa85f64-5717-4562-b3fc-2c963f66afa6\n */\n id: string;\n /** @enum {string} */\n notification_type: 'on-chain';\n /** @example false */\n unread: boolean;\n /**\n * Format: date-time\n * @example 2025-10-09T09:45:34.202Z\n */\n created_at: string;\n payload: components['schemas']['OnChainPayload'];\n };\n OnChainPayload: {\n /** @example 1 */\n chain_id: number;\n /** @example 17485840 */\n block_number: number;\n block_timestamp: string;\n /** @example 0x881D40237659C251811CEC9c364ef91dC08D300C */\n tx_hash: string;\n address: string;\n network: components['schemas']['NetworkMetadata'];\n data?:\n | components['schemas']['Data_MetamaskSwapCompleted']\n | components['schemas']['Data_LidoStakeReadyToBeWithdrawn']\n | components['schemas']['Data_LidoStakeCompleted']\n | components['schemas']['Data_LidoWithdrawalRequested']\n | components['schemas']['Data_LidoWithdrawalCompleted']\n | components['schemas']['Data_RocketPoolStakeCompleted']\n | components['schemas']['Data_RocketPoolUnstakeCompleted']\n | components['schemas']['Data_ETHSent']\n | components['schemas']['Data_ETHReceived']\n | components['schemas']['Data_ERC20Sent']\n | components['schemas']['Data_ERC20Received']\n | components['schemas']['Data_ERC721Sent']\n | components['schemas']['Data_ERC721Received']\n | components['schemas']['Data_ERC1155Sent']\n | components['schemas']['Data_ERC1155Received'];\n };\n /** @description A heterogeneous list of platform and on-chain notifications. The two shapes are discriminated by `notification_type`: a value of \"wallet_activity\" identifies an OnChainNotificationV4, any other value identifies a PlatformNotificationV4. \"wallet_activity\" is a reserved value and MUST NOT be used as a producer-set platform notification_type. (This cannot be modelled as a formal OpenAPI discriminator because the platform notification_type set is open-ended.) */\n NotificationOutputV4: (\n | components['schemas']['PlatformNotificationV4']\n | components['schemas']['OnChainNotificationV4']\n )[];\n PlatformNotificationV4: {\n /**\n * Format: uuid\n * @example 3fa85f64-5717-4562-b3fc-2c963f66afa6\n */\n id: string;\n /**\n * @description Producer-set platform_notifications.notification_type value.\n * @example perps\n */\n notification_type: string;\n /**\n * @description Producer-set platform_notifications.notification_subtype value.\n * @example position_liquidated\n */\n notification_subtype: string;\n /** @example false */\n unread: boolean;\n template: components['schemas']['LocalizedNotification'];\n /**\n * Format: date-time\n * @example 2025-10-09T09:45:34.202Z\n */\n created_at: string;\n };\n OnChainNotificationV4: {\n /**\n * Format: uuid\n * @example 3fa85f64-5717-4562-b3fc-2c963f66afa6\n */\n id: string;\n /** @enum {string} */\n notification_type: 'wallet_activity';\n /**\n * @description notifications_part.kind value.\n * @example metamask_swap_completed\n */\n notification_subtype: string;\n /** @example false */\n unread: boolean;\n /**\n * Format: date-time\n * @example 2025-10-09T09:45:34.202Z\n */\n created_at: string;\n payload: components['schemas']['OnChainPayload'];\n };\n NotificationInput: {\n /** Format: address */\n address: string;\n };\n WalletNotification: {\n /** Format: uuid */\n id: string;\n /** Format: uuid */\n trigger_id: string;\n /** @example 1 */\n chain_id: number;\n /** @example 17485840 */\n block_number: number;\n block_timestamp: string;\n /**\n * Format: address\n * @example 0x881D40237659C251811CEC9c364ef91dC08D300C\n */\n tx_hash: string;\n /** @example false */\n unread: boolean;\n /** Format: date-time */\n created_at: string;\n /** Format: address */\n address: string;\n data?:\n | components['schemas']['Data_MetamaskSwapCompleted']\n | components['schemas']['Data_LidoStakeReadyToBeWithdrawn']\n | components['schemas']['Data_LidoStakeCompleted']\n | components['schemas']['Data_LidoWithdrawalRequested']\n | components['schemas']['Data_LidoWithdrawalCompleted']\n | components['schemas']['Data_RocketPoolStakeCompleted']\n | components['schemas']['Data_RocketPoolUnstakeCompleted']\n | components['schemas']['Data_ETHSent']\n | components['schemas']['Data_ETHReceived']\n | components['schemas']['Data_ERC20Sent']\n | components['schemas']['Data_ERC20Received']\n | components['schemas']['Data_ERC721Sent']\n | components['schemas']['Data_ERC721Received']\n | components['schemas']['Data_ERC1155Sent']\n | components['schemas']['Data_ERC1155Received'];\n };\n Data_MetamaskSwapCompleted: {\n /** @enum {string} */\n kind: 'metamask_swap_completed';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: decimal */\n rate: string;\n token_in: components['schemas']['Token'];\n token_out: components['schemas']['Token'];\n };\n Data_LidoStakeCompleted: {\n /** @enum {string} */\n kind: 'lido_stake_completed';\n network_fee: components['schemas']['NetworkFee'];\n stake_in: components['schemas']['Stake'];\n stake_out: components['schemas']['Stake'];\n };\n Data_LidoWithdrawalRequested: {\n /** @enum {string} */\n kind: 'lido_withdrawal_requested';\n network_fee: components['schemas']['NetworkFee'];\n stake_in: components['schemas']['Stake'];\n stake_out: components['schemas']['Stake'];\n };\n Data_LidoStakeReadyToBeWithdrawn: {\n /** @enum {string} */\n kind: 'lido_stake_ready_to_be_withdrawn';\n /** Format: decimal */\n request_id: string;\n staked_eth: components['schemas']['Stake'];\n };\n Data_LidoWithdrawalCompleted: {\n /** @enum {string} */\n kind: 'lido_withdrawal_completed';\n network_fee: components['schemas']['NetworkFee'];\n stake_in: components['schemas']['Stake'];\n stake_out: components['schemas']['Stake'];\n };\n Data_RocketPoolStakeCompleted: {\n /** @enum {string} */\n kind: 'rocketpool_stake_completed';\n network_fee: components['schemas']['NetworkFee'];\n stake_in: components['schemas']['Stake'];\n stake_out: components['schemas']['Stake'];\n };\n Data_RocketPoolUnstakeCompleted: {\n /** @enum {string} */\n kind: 'rocketpool_unstake_completed';\n network_fee: components['schemas']['NetworkFee'];\n stake_in: components['schemas']['Stake'];\n stake_out: components['schemas']['Stake'];\n };\n Data_ETHSent: {\n /** @enum {string} */\n kind: 'eth_sent';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: address */\n from: string;\n /** Format: address */\n to: string;\n amount: {\n /** Format: decimal */\n usd: string;\n /** Format: decimal */\n eth: string;\n };\n };\n Data_ETHReceived: {\n /** @enum {string} */\n kind: 'eth_received';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: address */\n from: string;\n /** Format: address */\n to: string;\n amount: {\n /** Format: decimal */\n usd: string;\n /** Format: decimal */\n eth: string;\n };\n };\n Data_ERC20Sent: {\n /** @enum {string} */\n kind: 'erc20_sent';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: address */\n from: string;\n /** Format: address */\n to: string;\n token: components['schemas']['Token'];\n };\n Data_ERC20Received: {\n /** @enum {string} */\n kind: 'erc20_received';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: address */\n from: string;\n /** Format: address */\n to: string;\n token: components['schemas']['Token'];\n };\n Data_ERC721Sent: {\n /** @enum {string} */\n kind: 'erc721_sent';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: address */\n from: string;\n /** Format: address */\n to: string;\n nft: components['schemas']['NFT'];\n };\n Data_ERC721Received: {\n /** @enum {string} */\n kind: 'erc721_received';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: address */\n from: string;\n /** Format: address */\n to: string;\n nft: components['schemas']['NFT'];\n };\n Data_ERC1155Sent: {\n /** @enum {string} */\n kind: 'erc1155_sent';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: address */\n from: string;\n /** Format: address */\n to: string;\n nft?: components['schemas']['NFT'];\n };\n Data_ERC1155Received: {\n /** @enum {string} */\n kind: 'erc1155_received';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: address */\n from: string;\n /** Format: address */\n to: string;\n nft?: components['schemas']['NFT'];\n };\n NetworkFee: {\n /** Format: decimal */\n gas_price: string;\n /** Format: decimal */\n native_token_price_in_usd: string;\n };\n Token: {\n /** Format: address */\n address: string;\n symbol: string;\n name: string;\n /** Format: decimal */\n amount: string;\n /** Format: int32 */\n decimals: string;\n /** Format: uri */\n image: string;\n /** Format: decimal */\n usd: string;\n };\n NFT: {\n name: string;\n token_id: string;\n /** Format: uri */\n image: string;\n collection: {\n /** Format: address */\n address: string;\n name: string;\n symbol: string;\n /** Format: uri */\n image: string;\n };\n };\n Stake: {\n /** Format: address */\n address: string;\n symbol: string;\n name: string;\n /** Format: decimal */\n amount: string;\n /** Format: int32 */\n decimals: string;\n /** Format: uri */\n image: string;\n /** Format: decimal */\n usd: string;\n };\n BlockExplorer: {\n /**\n * Format: uri\n * @example https://etherscan.io\n */\n url: string;\n /** @example Etherscan */\n name: string;\n };\n NetworkMetadata: {\n /**\n * @description Human-readable network name\n * @example Ethereum\n */\n name: string;\n /**\n * @description Native token symbol\n * @example ETH\n */\n native_symbol: string;\n block_explorer: components['schemas']['BlockExplorer'];\n };\n };\n responses: never;\n parameters: never;\n requestBodies: never;\n headers: never;\n pathItems: never;\n};\nexport type $defs = Record<string, never>;\nexport type operations = Record<string, never>;\n"]}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/NotificationServicesController/types/notification-api/schema.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,2EAA2E;AAC3E,yDAAyD","sourcesContent":["/* eslint-disable jsdoc/tag-lines */\n// Auto-generated from OpenAPI spec - naming follows API schema conventions\n/* eslint-disable @typescript-eslint/naming-convention */\n\n/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n * Script: `npx openapi-typescript <PATH_TO_API_SPEC> -o ./schema.ts`\n */\n\nexport type paths = {\n '/api/v4/notifications': {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /**\n * List both platform and on-chain notifications for a certain user/address(es)\n * @description Same behaviour as /api/v3/notifications, but the returned notification_type and notification_subtype are taken directly from the producer-set database fields: platform notifications expose platform_notifications.notification_type / notification_subtype, while on-chain notifications expose the constant \"wallet_activity\" as notification_type and notifications_part.kind as notification_subtype. Clients should distinguish the two shapes structurally (presence of \"payload\" for on-chain vs \"template\" for platform).\n *\n * Both shapes also carry a \"category\": the category_id of the settings category the notification_type belongs to, resolved server-side from the same manifest served by GET /api/v4/notifications/categories. It lets clients group or filter a notification list with the same taxonomy the settings screen uses, without duplicating the notification_type -> category mapping client-side.\n */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n 'application/json': components['schemas']['NotificationInputV3'];\n };\n };\n responses: {\n /** @description Notifications listed successfully */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n 'application/json': components['schemas']['NotificationOutputV4'];\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n '/api/v4/notifications/mark-as-read': {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Mark notifications as read */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n 'application/json': {\n ids?: string[];\n };\n };\n };\n responses: {\n /** @description Successfully marked notifications as read */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n '/api/v4/notifications/categories': {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /**\n * List notification categories (server-driven settings manifest)\n * @description Read-only manifest that drives the client notification-settings UX. It is a single artifact identical for every user and platform: the client renders only the entries whose `visible_on` includes its own platform, in the order they appear in the array, and toggles the AUS preference keys listed in `aus_keys`. It ties together the AUS preference keys (user-storage), the platform notification_types, and the UX grouping, so changing the taxonomy no longer requires a client release.\n * Presentation (labels, descriptions, icons) is client-owned for now and keyed off `category_id`; server-side localization is a future, additive change. This endpoint is unauthenticated — it carries no per-user state.\n */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description The notification categories manifest */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n 'application/json': components['schemas']['NotificationCategories'];\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n '/api/v3/notifications': {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** List both platform and on-chain notifications for a certain user/address(es) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n 'application/json': components['schemas']['NotificationInputV3'];\n };\n };\n responses: {\n /** @description Notifications listed successfully */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n 'application/json': components['schemas']['NotificationOutputV3'];\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n '/api/v3/notifications/mark-as-read': {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Mark notifications as read */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n 'application/json': {\n ids?: string[];\n };\n };\n };\n responses: {\n /** @description Successfully marked notifications as read */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n '/api/v2/notifications': {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** List all notifications for a certain user/address(es) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n 'application/json': components['schemas']['NotificationInput'][];\n };\n };\n responses: {\n /** @description Notifications listed successfully */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n 'application/json': components['schemas']['WalletNotification'][];\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n '/api/v2/notifications/mark-as-read': {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Mark notifications as read */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n 'application/json': {\n ids?: string[];\n };\n };\n };\n responses: {\n /** @description Successfully marked notifications as read */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n '/api/v1/notifications': {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** List all notifications ordered by most recent */\n post: {\n parameters: {\n query?: {\n /** @description Page number for pagination */\n page?: number;\n /** @description Number of notifications per page for pagination */\n per_page?: number;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n 'application/json': {\n trigger_ids: string[];\n chain_ids?: number[];\n kinds?: string[];\n unread?: boolean;\n };\n };\n };\n responses: {\n /** @description Successfully fetched a list of notifications */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n 'application/json': components['schemas']['WalletNotification'][];\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n '/api/v1/notifications/mark-as-read': {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Mark notifications as read */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n 'application/json': {\n ids?: string[];\n };\n };\n };\n responses: {\n /** @description Successfully marked notifications as read */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content?: never;\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n};\nexport type webhooks = Record<string, never>;\nexport type components = {\n schemas: {\n /**\n * @example mobile\n * @enum {string}\n */\n AppPlatform: 'portfolio' | 'extension' | 'mobile';\n /** @description The full set of notification categories, in display order. Returned in its entirety to every client regardless of platform; the client renders only the entries whose `visible_on` includes its platform, in the order they appear here. */\n NotificationCategories: components['schemas']['NotificationCategory'][];\n NotificationCategory: {\n /**\n * @description Stable identifier for the category. The client keys its localized copy and icon off this value.\n * @example trading_activity\n */\n category_id: string;\n /** @description Platforms on which the client should render this category. An empty array means it is hidden everywhere but still present in the manifest (so the set of categories stays complete with respect to the platform notification_types). */\n visible_on: components['schemas']['AppPlatform'][];\n /**\n * @description The user-storage notification-preference keys this category toggles. The AUS key is the toggle pivot: turning the category off disables every listed key, turning it on enables them. An empty array means the category is display-only (not user-toggleable).\n * @example [\n * \"perps\"\n * ]\n */\n aus_keys: string[];\n /**\n * @description The platform notification_type values this category covers. Advisory / validation only — the client toggles `aus_keys`, not these. May be empty when a category maps to an AUS-only key (e.g. `marketing`, or the reserved on-chain `wallet_activity`) that has no platform notification_type.\n * @example [\n * \"perps\"\n * ]\n */\n notification_types: string[];\n };\n NotificationInputV3: {\n /** @example en-US */\n locale: string;\n platform: components['schemas']['AppPlatform'];\n addresses: string[];\n };\n NotificationOutputV3: (\n | components['schemas']['PlatformNotification']\n | components['schemas']['OnChainNotification']\n )[];\n PlatformNotification: {\n /**\n * Format: uuid\n * @example 3fa85f64-5717-4562-b3fc-2c963f66afa6\n */\n id: string;\n /** @enum {string} */\n notification_type: 'platform';\n /** @example position_liquidated */\n notification_subtype: string;\n /** @example false */\n unread: boolean;\n template: components['schemas']['LocalizedNotification'];\n /**\n * Format: date-time\n * @example 2025-10-09T09:45:34.202Z\n */\n created_at: string;\n };\n LocalizedNotification: {\n image_url: string;\n cta?: components['schemas']['LocalizedNotificationCTA'];\n title: string;\n body: string;\n };\n LocalizedNotificationCTA: {\n /** @description Deeplink URL. Clients open this when the notification is tapped. */\n link: string;\n };\n OnChainNotification: {\n /**\n * Format: uuid\n * @example 3fa85f64-5717-4562-b3fc-2c963f66afa6\n */\n id: string;\n /** @enum {string} */\n notification_type: 'on-chain';\n /** @example false */\n unread: boolean;\n /**\n * Format: date-time\n * @example 2025-10-09T09:45:34.202Z\n */\n created_at: string;\n payload: components['schemas']['OnChainPayload'];\n };\n OnChainPayload: {\n /** @example 1 */\n chain_id: number;\n /** @example 17485840 */\n block_number: number;\n block_timestamp: string;\n /** @example 0x881D40237659C251811CEC9c364ef91dC08D300C */\n tx_hash: string;\n address: string;\n network: components['schemas']['NetworkMetadata'];\n data?:\n | components['schemas']['Data_MetamaskSwapCompleted']\n | components['schemas']['Data_LidoStakeReadyToBeWithdrawn']\n | components['schemas']['Data_LidoStakeCompleted']\n | components['schemas']['Data_LidoWithdrawalRequested']\n | components['schemas']['Data_LidoWithdrawalCompleted']\n | components['schemas']['Data_RocketPoolStakeCompleted']\n | components['schemas']['Data_RocketPoolUnstakeCompleted']\n | components['schemas']['Data_ETHSent']\n | components['schemas']['Data_ETHReceived']\n | components['schemas']['Data_ERC20Sent']\n | components['schemas']['Data_ERC20Received']\n | components['schemas']['Data_ERC721Sent']\n | components['schemas']['Data_ERC721Received']\n | components['schemas']['Data_ERC1155Sent']\n | components['schemas']['Data_ERC1155Received'];\n };\n /** @description A heterogeneous list of platform and on-chain notifications. The two shapes are discriminated by `notification_type`: a value of \"wallet_activity\" identifies an OnChainNotificationV4, any other value identifies a PlatformNotificationV4. \"wallet_activity\" is a reserved value and MUST NOT be used as a producer-set platform notification_type. (This cannot be modelled as a formal OpenAPI discriminator because the platform notification_type set is open-ended.) */\n NotificationOutputV4: (\n | components['schemas']['PlatformNotificationV4']\n | components['schemas']['OnChainNotificationV4']\n )[];\n PlatformNotificationV4: {\n /**\n * Format: uuid\n * @example 3fa85f64-5717-4562-b3fc-2c963f66afa6\n */\n id: string;\n /**\n * @description Producer-set platform_notifications.notification_type value.\n * @example perps\n */\n notification_type: string;\n /**\n * @description The `category_id` of the settings category this notification belongs to, derived server-side from `notification_type` via the manifest served by GET /api/v4/notifications/categories. Empty string when no category covers the notification_type (e.g. a type newer than the manifest); clients should treat that, and any category_id they do not know, as uncategorized.\n * @example trading_activity\n */\n category: string;\n /**\n * @description Producer-set platform_notifications.notification_subtype value.\n * @example position_liquidated\n */\n notification_subtype: string;\n /** @example false */\n unread: boolean;\n template: components['schemas']['LocalizedNotification'];\n /**\n * Format: date-time\n * @example 2025-10-09T09:45:34.202Z\n */\n created_at: string;\n };\n OnChainNotificationV4: {\n /**\n * Format: uuid\n * @example 3fa85f64-5717-4562-b3fc-2c963f66afa6\n */\n id: string;\n /** @enum {string} */\n notification_type: 'wallet_activity';\n /**\n * @description The `category_id` of the settings category this notification belongs to, derived server-side from `notification_type` via the manifest served by GET /api/v4/notifications/categories.\n * @example wallet_activity\n */\n category: string;\n /**\n * @description notifications_part.kind value.\n * @example metamask_swap_completed\n */\n notification_subtype: string;\n /** @example false */\n unread: boolean;\n /**\n * Format: date-time\n * @example 2025-10-09T09:45:34.202Z\n */\n created_at: string;\n template?: components['schemas']['OnChainTemplate'];\n payload: components['schemas']['OnChainPayload'];\n };\n /**\n * @description The notification's copy, already localized into the `locale` sent with the request. This is the same text the clients used to assemble themselves from their own locale files; rendering it server-side keeps every surface (in-app, push, each client) on one set of strings.\n * Optional: it is absent when the server cannot render the row — a notification_subtype newer than the server, or a payload it cannot read. Clients must keep their local rendering as a fallback for those, and may drop it once this field is present for every subtype they support.\n * Only translated copy lives here. The amount, token name, network name, icons and timestamp are not included: clients already derive those from `payload` and render them with locale-aware, user-configured formatting.\n */\n OnChainTemplate: {\n /**\n * @description The notification headline.\n * @example Received from 0x5aAeb...BeAed\n */\n title: string;\n /**\n * @description Secondary line, present only for the subtypes whose description is translated copy (today lido_withdrawal_requested and lido_stake_ready_to_be_withdrawn). For every other subtype the client composes the secondary line from `payload` as before.\n * @example You can now withdraw your unstaked stETH\n */\n body?: string;\n };\n NotificationInput: {\n /** Format: address */\n address: string;\n };\n WalletNotification: {\n /** Format: uuid */\n id: string;\n /** Format: uuid */\n trigger_id: string;\n /** @example 1 */\n chain_id: number;\n /** @example 17485840 */\n block_number: number;\n block_timestamp: string;\n /**\n * Format: address\n * @example 0x881D40237659C251811CEC9c364ef91dC08D300C\n */\n tx_hash: string;\n /** @example false */\n unread: boolean;\n /** Format: date-time */\n created_at: string;\n /** Format: address */\n address: string;\n data?:\n | components['schemas']['Data_MetamaskSwapCompleted']\n | components['schemas']['Data_LidoStakeReadyToBeWithdrawn']\n | components['schemas']['Data_LidoStakeCompleted']\n | components['schemas']['Data_LidoWithdrawalRequested']\n | components['schemas']['Data_LidoWithdrawalCompleted']\n | components['schemas']['Data_RocketPoolStakeCompleted']\n | components['schemas']['Data_RocketPoolUnstakeCompleted']\n | components['schemas']['Data_ETHSent']\n | components['schemas']['Data_ETHReceived']\n | components['schemas']['Data_ERC20Sent']\n | components['schemas']['Data_ERC20Received']\n | components['schemas']['Data_ERC721Sent']\n | components['schemas']['Data_ERC721Received']\n | components['schemas']['Data_ERC1155Sent']\n | components['schemas']['Data_ERC1155Received'];\n };\n Data_MetamaskSwapCompleted: {\n /** @enum {string} */\n kind: 'metamask_swap_completed';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: decimal */\n rate: string;\n token_in: components['schemas']['Token'];\n token_out: components['schemas']['Token'];\n };\n Data_LidoStakeCompleted: {\n /** @enum {string} */\n kind: 'lido_stake_completed';\n network_fee: components['schemas']['NetworkFee'];\n stake_in: components['schemas']['Stake'];\n stake_out: components['schemas']['Stake'];\n };\n Data_LidoWithdrawalRequested: {\n /** @enum {string} */\n kind: 'lido_withdrawal_requested';\n network_fee: components['schemas']['NetworkFee'];\n stake_in: components['schemas']['Stake'];\n stake_out: components['schemas']['Stake'];\n };\n Data_LidoStakeReadyToBeWithdrawn: {\n /** @enum {string} */\n kind: 'lido_stake_ready_to_be_withdrawn';\n /** Format: decimal */\n request_id: string;\n staked_eth: components['schemas']['Stake'];\n };\n Data_LidoWithdrawalCompleted: {\n /** @enum {string} */\n kind: 'lido_withdrawal_completed';\n network_fee: components['schemas']['NetworkFee'];\n stake_in: components['schemas']['Stake'];\n stake_out: components['schemas']['Stake'];\n };\n Data_RocketPoolStakeCompleted: {\n /** @enum {string} */\n kind: 'rocketpool_stake_completed';\n network_fee: components['schemas']['NetworkFee'];\n stake_in: components['schemas']['Stake'];\n stake_out: components['schemas']['Stake'];\n };\n Data_RocketPoolUnstakeCompleted: {\n /** @enum {string} */\n kind: 'rocketpool_unstake_completed';\n network_fee: components['schemas']['NetworkFee'];\n stake_in: components['schemas']['Stake'];\n stake_out: components['schemas']['Stake'];\n };\n Data_ETHSent: {\n /** @enum {string} */\n kind: 'eth_sent';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: address */\n from: string;\n /** Format: address */\n to: string;\n amount: {\n /** Format: decimal */\n usd: string;\n /** Format: decimal */\n eth: string;\n };\n };\n Data_ETHReceived: {\n /** @enum {string} */\n kind: 'eth_received';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: address */\n from: string;\n /** Format: address */\n to: string;\n amount: {\n /** Format: decimal */\n usd: string;\n /** Format: decimal */\n eth: string;\n };\n };\n Data_ERC20Sent: {\n /** @enum {string} */\n kind: 'erc20_sent';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: address */\n from: string;\n /** Format: address */\n to: string;\n token: components['schemas']['Token'];\n };\n Data_ERC20Received: {\n /** @enum {string} */\n kind: 'erc20_received';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: address */\n from: string;\n /** Format: address */\n to: string;\n token: components['schemas']['Token'];\n };\n Data_ERC721Sent: {\n /** @enum {string} */\n kind: 'erc721_sent';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: address */\n from: string;\n /** Format: address */\n to: string;\n nft: components['schemas']['NFT'];\n };\n Data_ERC721Received: {\n /** @enum {string} */\n kind: 'erc721_received';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: address */\n from: string;\n /** Format: address */\n to: string;\n nft: components['schemas']['NFT'];\n };\n Data_ERC1155Sent: {\n /** @enum {string} */\n kind: 'erc1155_sent';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: address */\n from: string;\n /** Format: address */\n to: string;\n nft?: components['schemas']['NFT'];\n };\n Data_ERC1155Received: {\n /** @enum {string} */\n kind: 'erc1155_received';\n network_fee: components['schemas']['NetworkFee'];\n /** Format: address */\n from: string;\n /** Format: address */\n to: string;\n nft?: components['schemas']['NFT'];\n };\n NetworkFee: {\n /** Format: decimal */\n gas_price: string;\n /** Format: decimal */\n native_token_price_in_usd: string;\n };\n Token: {\n /** Format: address */\n address: string;\n symbol: string;\n name: string;\n /** Format: decimal */\n amount: string;\n /** Format: int32 */\n decimals: string;\n /** Format: uri */\n image: string;\n /** Format: decimal */\n usd: string;\n };\n NFT: {\n name: string;\n token_id: string;\n /** Format: uri */\n image: string;\n collection: {\n /** Format: address */\n address: string;\n name: string;\n symbol: string;\n /** Format: uri */\n image: string;\n };\n };\n Stake: {\n /** Format: address */\n address: string;\n symbol: string;\n name: string;\n /** Format: decimal */\n amount: string;\n /** Format: int32 */\n decimals: string;\n /** Format: uri */\n image: string;\n /** Format: decimal */\n usd: string;\n };\n BlockExplorer: {\n /**\n * Format: uri\n * @example https://etherscan.io\n */\n url: string;\n /** @example Etherscan */\n name: string;\n };\n NetworkMetadata: {\n /**\n * @description Human-readable network name\n * @example Ethereum\n */\n name: string;\n /**\n * @description Native token symbol\n * @example ETH\n */\n native_symbol: string;\n block_explorer: components['schemas']['BlockExplorer'];\n };\n };\n responses: never;\n parameters: never;\n requestBodies: never;\n headers: never;\n pathItems: never;\n};\nexport type $defs = Record<string, never>;\nexport type operations = Record<string, never>;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/NotificationServicesPushController/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/NotificationServicesPushController/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/NotificationServicesPushController/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/NotificationServicesPushController/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC","sourcesContent":["export * from './get-notification-data.js';\nexport * from './to-push-analytics-payload.js';\n"]}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": false,
|
|
7
|
-
"main": "../../dist/NotificationServicesController/mocks/index.
|
|
8
|
-
"types": "../../dist/NotificationServicesController/mocks/index.d.
|
|
7
|
+
"main": "../../dist/NotificationServicesController/mocks/index.js",
|
|
8
|
+
"types": "../../dist/NotificationServicesController/mocks/index.d.ts"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": false,
|
|
7
|
-
"main": "../dist/NotificationServicesController/index.
|
|
8
|
-
"types": "../dist/NotificationServicesController/index.d.
|
|
7
|
+
"main": "../dist/NotificationServicesController/index.js",
|
|
8
|
+
"types": "../dist/NotificationServicesController/index.d.ts"
|
|
9
9
|
}
|
package/package.json
CHANGED
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": false,
|
|
7
|
-
"main": "../../dist/NotificationServicesPushController/mocks/index.
|
|
8
|
-
"types": "../../dist/NotificationServicesPushController/mocks/index.d.
|
|
7
|
+
"main": "../../dist/NotificationServicesPushController/mocks/index.js",
|
|
8
|
+
"types": "../../dist/NotificationServicesPushController/mocks/index.d.ts"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": false,
|
|
7
|
-
"main": "../dist/NotificationServicesPushController/index.
|
|
8
|
-
"types": "../dist/NotificationServicesPushController/index.d.
|
|
7
|
+
"main": "../dist/NotificationServicesPushController/index.js",
|
|
8
|
+
"types": "../dist/NotificationServicesPushController/index.d.ts"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": false,
|
|
7
|
-
"main": "../../dist/NotificationServicesPushController/web/index.
|
|
8
|
-
"types": "../../dist/NotificationServicesPushController/web/index.d.
|
|
7
|
+
"main": "../../dist/NotificationServicesPushController/web/index.js",
|
|
8
|
+
"types": "../../dist/NotificationServicesPushController/web/index.d.ts"
|
|
9
9
|
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import type { Types } from '../../NotificationServicesController/index.js';
|
|
2
|
-
import type { Constants } from '../../NotificationServicesController/index.js';
|
|
3
|
-
export type TranslationKeys = {
|
|
4
|
-
pushPlatformNotificationsFundsSentTitle: () => string;
|
|
5
|
-
pushPlatformNotificationsFundsSentDescriptionDefault: () => string;
|
|
6
|
-
pushPlatformNotificationsFundsSentDescription: (...args: [string, string]) => string;
|
|
7
|
-
pushPlatformNotificationsFundsReceivedTitle: () => string;
|
|
8
|
-
pushPlatformNotificationsFundsReceivedDescriptionDefault: () => string;
|
|
9
|
-
pushPlatformNotificationsFundsReceivedDescription: (...args: [string, string]) => string;
|
|
10
|
-
pushPlatformNotificationsSwapCompletedTitle: () => string;
|
|
11
|
-
pushPlatformNotificationsSwapCompletedDescription: () => string;
|
|
12
|
-
pushPlatformNotificationsNftSentTitle: () => string;
|
|
13
|
-
pushPlatformNotificationsNftSentDescription: () => string;
|
|
14
|
-
pushPlatformNotificationsNftReceivedTitle: () => string;
|
|
15
|
-
pushPlatformNotificationsNftReceivedDescription: () => string;
|
|
16
|
-
pushPlatformNotificationsStakingRocketpoolStakeCompletedTitle: () => string;
|
|
17
|
-
pushPlatformNotificationsStakingRocketpoolStakeCompletedDescription: () => string;
|
|
18
|
-
pushPlatformNotificationsStakingRocketpoolUnstakeCompletedTitle: () => string;
|
|
19
|
-
pushPlatformNotificationsStakingRocketpoolUnstakeCompletedDescription: () => string;
|
|
20
|
-
pushPlatformNotificationsStakingLidoStakeCompletedTitle: () => string;
|
|
21
|
-
pushPlatformNotificationsStakingLidoStakeCompletedDescription: () => string;
|
|
22
|
-
pushPlatformNotificationsStakingLidoStakeReadyToBeWithdrawnTitle: () => string;
|
|
23
|
-
pushPlatformNotificationsStakingLidoStakeReadyToBeWithdrawnDescription: () => string;
|
|
24
|
-
pushPlatformNotificationsStakingLidoWithdrawalRequestedTitle: () => string;
|
|
25
|
-
pushPlatformNotificationsStakingLidoWithdrawalRequestedDescription: () => string;
|
|
26
|
-
pushPlatformNotificationsStakingLidoWithdrawalCompletedTitle: () => string;
|
|
27
|
-
pushPlatformNotificationsStakingLidoWithdrawalCompletedDescription: () => string;
|
|
28
|
-
};
|
|
29
|
-
type PushNotificationMessage = {
|
|
30
|
-
title: string;
|
|
31
|
-
description: string;
|
|
32
|
-
ctaLink?: string;
|
|
33
|
-
};
|
|
34
|
-
type NotificationMessage<TNotification extends Types.INotification> = {
|
|
35
|
-
title: (notification: TNotification) => string | null;
|
|
36
|
-
defaultDescription: (notification: TNotification) => string | null;
|
|
37
|
-
getDescription?: (notification: TNotification) => string | null;
|
|
38
|
-
link?: (notification: TNotification) => string | null;
|
|
39
|
-
};
|
|
40
|
-
type NotificationMessageDict = {
|
|
41
|
-
[TriggerType in Constants.TRIGGER_TYPES]?: NotificationMessage<Extract<Types.INotification, {
|
|
42
|
-
type: TriggerType;
|
|
43
|
-
}>>;
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* On Chain Push Notification Messages.
|
|
47
|
-
* This is a list of all the push notifications we support. Update this for synced notifications on mobile and extension
|
|
48
|
-
*
|
|
49
|
-
* @param translationKeys - all translations supported
|
|
50
|
-
* @returns A translation push message object.
|
|
51
|
-
*/
|
|
52
|
-
export declare const createOnChainPushNotificationMessages: (translationKeys: TranslationKeys) => NotificationMessageDict;
|
|
53
|
-
/**
|
|
54
|
-
* Creates a push notification message based on the given on-chain raw notification.
|
|
55
|
-
*
|
|
56
|
-
* @param notification - processed notification.
|
|
57
|
-
* @param translations - translates keys into text
|
|
58
|
-
* @returns The push notification message object, or null if the notification is invalid.
|
|
59
|
-
*/
|
|
60
|
-
export declare function createOnChainPushNotificationMessage(notification: Types.INotification, translations: TranslationKeys): PushNotificationMessage | null;
|
|
61
|
-
export {};
|
|
62
|
-
//# sourceMappingURL=get-notification-message.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-notification-message.d.ts","sourceRoot":"","sources":["../../../src/NotificationServicesPushController/utils/get-notification-message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+CAA+C,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAG/E,MAAM,MAAM,eAAe,GAAG;IAC5B,uCAAuC,EAAE,MAAM,MAAM,CAAC;IACtD,oDAAoD,EAAE,MAAM,MAAM,CAAC;IACnE,6CAA6C,EAAE,CAC7C,GAAG,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KACtB,MAAM,CAAC;IACZ,2CAA2C,EAAE,MAAM,MAAM,CAAC;IAC1D,wDAAwD,EAAE,MAAM,MAAM,CAAC;IACvE,iDAAiD,EAAE,CACjD,GAAG,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KACtB,MAAM,CAAC;IACZ,2CAA2C,EAAE,MAAM,MAAM,CAAC;IAC1D,iDAAiD,EAAE,MAAM,MAAM,CAAC;IAChE,qCAAqC,EAAE,MAAM,MAAM,CAAC;IACpD,2CAA2C,EAAE,MAAM,MAAM,CAAC;IAC1D,yCAAyC,EAAE,MAAM,MAAM,CAAC;IACxD,+CAA+C,EAAE,MAAM,MAAM,CAAC;IAC9D,6DAA6D,EAAE,MAAM,MAAM,CAAC;IAC5E,mEAAmE,EAAE,MAAM,MAAM,CAAC;IAClF,+DAA+D,EAAE,MAAM,MAAM,CAAC;IAC9E,qEAAqE,EAAE,MAAM,MAAM,CAAC;IACpF,uDAAuD,EAAE,MAAM,MAAM,CAAC;IACtE,6DAA6D,EAAE,MAAM,MAAM,CAAC;IAC5E,gEAAgE,EAAE,MAAM,MAAM,CAAC;IAC/E,sEAAsE,EAAE,MAAM,MAAM,CAAC;IACrF,4DAA4D,EAAE,MAAM,MAAM,CAAC;IAC3E,kEAAkE,EAAE,MAAM,MAAM,CAAC;IACjF,4DAA4D,EAAE,MAAM,MAAM,CAAC;IAC3E,kEAAkE,EAAE,MAAM,MAAM,CAAC;CAClF,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,mBAAmB,CAAC,aAAa,SAAS,KAAK,CAAC,aAAa,IAAI;IACpE,KAAK,EAAE,CAAC,YAAY,EAAE,aAAa,KAAK,MAAM,GAAG,IAAI,CAAC;IACtD,kBAAkB,EAAE,CAAC,YAAY,EAAE,aAAa,KAAK,MAAM,GAAG,IAAI,CAAC;IACnE,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,KAAK,MAAM,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,KAAK,MAAM,GAAG,IAAI,CAAC;CACvD,CAAC;AAEF,KAAK,uBAAuB,GAAG;KAC5B,WAAW,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,mBAAmB,CAC5D,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC,CACpD;CACF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qCAAqC,oBAC/B,eAAe,KAC/B,uBAwMF,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,oCAAoC,CAClD,YAAY,EAAE,KAAK,CAAC,aAAa,EACjC,YAAY,EAAE,eAAe,GAC5B,uBAAuB,GAAG,IAAI,CA8BhC"}
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import { getAmount, formatAmount } from './get-notification-data.js';
|
|
2
|
-
/**
|
|
3
|
-
* On Chain Push Notification Messages.
|
|
4
|
-
* This is a list of all the push notifications we support. Update this for synced notifications on mobile and extension
|
|
5
|
-
*
|
|
6
|
-
* @param translationKeys - all translations supported
|
|
7
|
-
* @returns A translation push message object.
|
|
8
|
-
*/
|
|
9
|
-
export const createOnChainPushNotificationMessages = (translationKeys) => {
|
|
10
|
-
const translate = (...args) => {
|
|
11
|
-
const [key, ...otherArgs] = args;
|
|
12
|
-
// Coerce types for the translation function
|
|
13
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
14
|
-
const fn = translationKeys[key];
|
|
15
|
-
return fn(...otherArgs);
|
|
16
|
-
};
|
|
17
|
-
return {
|
|
18
|
-
erc20_sent: {
|
|
19
|
-
title: () => translate('pushPlatformNotificationsFundsSentTitle'),
|
|
20
|
-
defaultDescription: () => translate('pushPlatformNotificationsFundsSentDescriptionDefault'),
|
|
21
|
-
getDescription: (notification) => {
|
|
22
|
-
const symbol = notification?.payload?.data?.token?.symbol;
|
|
23
|
-
const tokenAmount = notification?.payload?.data?.token?.amount;
|
|
24
|
-
const tokenDecimals = notification?.payload?.data?.token?.decimals;
|
|
25
|
-
if (!symbol || !tokenAmount || !tokenDecimals) {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
const amount = getAmount(tokenAmount, tokenDecimals, {
|
|
29
|
-
shouldEllipse: true,
|
|
30
|
-
});
|
|
31
|
-
return translate('pushPlatformNotificationsFundsSentDescription', amount, symbol);
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
eth_sent: {
|
|
35
|
-
title: () => translate('pushPlatformNotificationsFundsSentTitle'),
|
|
36
|
-
defaultDescription: () => translate('pushPlatformNotificationsFundsSentDescriptionDefault'),
|
|
37
|
-
getDescription: (notification) => {
|
|
38
|
-
const symbol = notification?.payload?.network?.native_symbol;
|
|
39
|
-
const tokenAmount = notification?.payload?.data?.amount?.eth;
|
|
40
|
-
if (!symbol || !tokenAmount) {
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
const amount = formatAmount(parseFloat(tokenAmount), {
|
|
44
|
-
shouldEllipse: true,
|
|
45
|
-
});
|
|
46
|
-
return translate('pushPlatformNotificationsFundsSentDescription', amount, symbol);
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
erc20_received: {
|
|
50
|
-
title: () => translate('pushPlatformNotificationsFundsReceivedTitle'),
|
|
51
|
-
defaultDescription: () => translate('pushPlatformNotificationsFundsReceivedDescriptionDefault'),
|
|
52
|
-
getDescription: (notification) => {
|
|
53
|
-
const symbol = notification?.payload?.data?.token?.symbol;
|
|
54
|
-
const tokenAmount = notification?.payload?.data?.token?.amount;
|
|
55
|
-
const tokenDecimals = notification?.payload?.data?.token?.decimals;
|
|
56
|
-
if (!symbol || !tokenAmount || !tokenDecimals) {
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
const amount = getAmount(tokenAmount, tokenDecimals, {
|
|
60
|
-
shouldEllipse: true,
|
|
61
|
-
});
|
|
62
|
-
return translate('pushPlatformNotificationsFundsReceivedDescription', amount, symbol);
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
eth_received: {
|
|
66
|
-
title: () => translate('pushPlatformNotificationsFundsReceivedTitle'),
|
|
67
|
-
defaultDescription: () => translate('pushPlatformNotificationsFundsReceivedDescriptionDefault'),
|
|
68
|
-
getDescription: (notification) => {
|
|
69
|
-
const symbol = notification?.payload?.network?.native_symbol;
|
|
70
|
-
const tokenAmount = notification?.payload?.data?.amount?.eth;
|
|
71
|
-
if (!symbol || !tokenAmount) {
|
|
72
|
-
return null;
|
|
73
|
-
}
|
|
74
|
-
const amount = formatAmount(parseFloat(tokenAmount), {
|
|
75
|
-
shouldEllipse: true,
|
|
76
|
-
});
|
|
77
|
-
return translate('pushPlatformNotificationsFundsReceivedDescription', amount, symbol);
|
|
78
|
-
},
|
|
79
|
-
},
|
|
80
|
-
metamask_swap_completed: {
|
|
81
|
-
title: () => translate('pushPlatformNotificationsSwapCompletedTitle'),
|
|
82
|
-
defaultDescription: () => translate('pushPlatformNotificationsSwapCompletedDescription'),
|
|
83
|
-
},
|
|
84
|
-
erc721_sent: {
|
|
85
|
-
title: () => translate('pushPlatformNotificationsNftSentTitle'),
|
|
86
|
-
defaultDescription: () => translate('pushPlatformNotificationsNftSentDescription'),
|
|
87
|
-
},
|
|
88
|
-
erc1155_sent: {
|
|
89
|
-
title: () => translate('pushPlatformNotificationsNftSentTitle'),
|
|
90
|
-
defaultDescription: () => translate('pushPlatformNotificationsNftSentDescription'),
|
|
91
|
-
},
|
|
92
|
-
erc721_received: {
|
|
93
|
-
title: () => translate('pushPlatformNotificationsNftReceivedTitle'),
|
|
94
|
-
defaultDescription: () => translate('pushPlatformNotificationsNftReceivedDescription'),
|
|
95
|
-
},
|
|
96
|
-
erc1155_received: {
|
|
97
|
-
title: () => translate('pushPlatformNotificationsNftReceivedTitle'),
|
|
98
|
-
defaultDescription: () => translate('pushPlatformNotificationsNftReceivedDescription'),
|
|
99
|
-
},
|
|
100
|
-
rocketpool_stake_completed: {
|
|
101
|
-
title: () => translate('pushPlatformNotificationsStakingRocketpoolStakeCompletedTitle'),
|
|
102
|
-
defaultDescription: () => translate('pushPlatformNotificationsStakingRocketpoolStakeCompletedDescription'),
|
|
103
|
-
},
|
|
104
|
-
rocketpool_unstake_completed: {
|
|
105
|
-
title: () => translate('pushPlatformNotificationsStakingRocketpoolUnstakeCompletedTitle'),
|
|
106
|
-
defaultDescription: () => translate('pushPlatformNotificationsStakingRocketpoolUnstakeCompletedDescription'),
|
|
107
|
-
},
|
|
108
|
-
lido_stake_completed: {
|
|
109
|
-
title: () => translate('pushPlatformNotificationsStakingLidoStakeCompletedTitle'),
|
|
110
|
-
defaultDescription: () => translate('pushPlatformNotificationsStakingLidoStakeCompletedDescription'),
|
|
111
|
-
},
|
|
112
|
-
lido_stake_ready_to_be_withdrawn: {
|
|
113
|
-
title: () => translate('pushPlatformNotificationsStakingLidoStakeReadyToBeWithdrawnTitle'),
|
|
114
|
-
defaultDescription: () => translate('pushPlatformNotificationsStakingLidoStakeReadyToBeWithdrawnDescription'),
|
|
115
|
-
},
|
|
116
|
-
lido_withdrawal_requested: {
|
|
117
|
-
title: () => translate('pushPlatformNotificationsStakingLidoWithdrawalRequestedTitle'),
|
|
118
|
-
defaultDescription: () => translate('pushPlatformNotificationsStakingLidoWithdrawalRequestedDescription'),
|
|
119
|
-
},
|
|
120
|
-
lido_withdrawal_completed: {
|
|
121
|
-
title: () => translate('pushPlatformNotificationsStakingLidoWithdrawalCompletedTitle'),
|
|
122
|
-
defaultDescription: () => translate('pushPlatformNotificationsStakingLidoWithdrawalCompletedDescription'),
|
|
123
|
-
},
|
|
124
|
-
platform: {
|
|
125
|
-
title: (notification) => notification.template.title,
|
|
126
|
-
defaultDescription: (notification) => notification.template.body,
|
|
127
|
-
getDescription: (notification) => notification.template.body,
|
|
128
|
-
},
|
|
129
|
-
};
|
|
130
|
-
};
|
|
131
|
-
/**
|
|
132
|
-
* Creates a push notification message based on the given on-chain raw notification.
|
|
133
|
-
*
|
|
134
|
-
* @param notification - processed notification.
|
|
135
|
-
* @param translations - translates keys into text
|
|
136
|
-
* @returns The push notification message object, or null if the notification is invalid.
|
|
137
|
-
*/
|
|
138
|
-
export function createOnChainPushNotificationMessage(notification, translations) {
|
|
139
|
-
if (!notification?.type) {
|
|
140
|
-
return null;
|
|
141
|
-
}
|
|
142
|
-
const notificationMessage = createOnChainPushNotificationMessages(translations)[notification.type];
|
|
143
|
-
if (!notificationMessage) {
|
|
144
|
-
return null;
|
|
145
|
-
}
|
|
146
|
-
let description = null;
|
|
147
|
-
try {
|
|
148
|
-
description =
|
|
149
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
150
|
-
notificationMessage?.getDescription?.(notification) ??
|
|
151
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
152
|
-
notificationMessage.defaultDescription?.(notification) ??
|
|
153
|
-
null;
|
|
154
|
-
}
|
|
155
|
-
catch {
|
|
156
|
-
description =
|
|
157
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
158
|
-
notificationMessage.defaultDescription?.(notification) ?? null;
|
|
159
|
-
}
|
|
160
|
-
return {
|
|
161
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
162
|
-
title: notificationMessage?.title?.(notification) ?? '', // Ensure title is always a string
|
|
163
|
-
description: description ?? '', // Fallback to empty string if null
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
//# sourceMappingURL=get-notification-message.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-notification-message.js","sourceRoot":"","sources":["../../../src/NotificationServicesPushController/utils/get-notification-message.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Types } from '../../NotificationServicesController/index.js';\nimport type { Constants } from '../../NotificationServicesController/index.js';\nimport { getAmount, formatAmount } from './get-notification-data.js';\n\nexport type TranslationKeys = {\n pushPlatformNotificationsFundsSentTitle: () => string;\n pushPlatformNotificationsFundsSentDescriptionDefault: () => string;\n pushPlatformNotificationsFundsSentDescription: (\n ...args: [string, string]\n ) => string;\n pushPlatformNotificationsFundsReceivedTitle: () => string;\n pushPlatformNotificationsFundsReceivedDescriptionDefault: () => string;\n pushPlatformNotificationsFundsReceivedDescription: (\n ...args: [string, string]\n ) => string;\n pushPlatformNotificationsSwapCompletedTitle: () => string;\n pushPlatformNotificationsSwapCompletedDescription: () => string;\n pushPlatformNotificationsNftSentTitle: () => string;\n pushPlatformNotificationsNftSentDescription: () => string;\n pushPlatformNotificationsNftReceivedTitle: () => string;\n pushPlatformNotificationsNftReceivedDescription: () => string;\n pushPlatformNotificationsStakingRocketpoolStakeCompletedTitle: () => string;\n pushPlatformNotificationsStakingRocketpoolStakeCompletedDescription: () => string;\n pushPlatformNotificationsStakingRocketpoolUnstakeCompletedTitle: () => string;\n pushPlatformNotificationsStakingRocketpoolUnstakeCompletedDescription: () => string;\n pushPlatformNotificationsStakingLidoStakeCompletedTitle: () => string;\n pushPlatformNotificationsStakingLidoStakeCompletedDescription: () => string;\n pushPlatformNotificationsStakingLidoStakeReadyToBeWithdrawnTitle: () => string;\n pushPlatformNotificationsStakingLidoStakeReadyToBeWithdrawnDescription: () => string;\n pushPlatformNotificationsStakingLidoWithdrawalRequestedTitle: () => string;\n pushPlatformNotificationsStakingLidoWithdrawalRequestedDescription: () => string;\n pushPlatformNotificationsStakingLidoWithdrawalCompletedTitle: () => string;\n pushPlatformNotificationsStakingLidoWithdrawalCompletedDescription: () => string;\n};\n\ntype PushNotificationMessage = {\n title: string;\n description: string;\n ctaLink?: string;\n};\n\ntype NotificationMessage<TNotification extends Types.INotification> = {\n title: (notification: TNotification) => string | null;\n defaultDescription: (notification: TNotification) => string | null;\n getDescription?: (notification: TNotification) => string | null;\n link?: (notification: TNotification) => string | null;\n};\n\ntype NotificationMessageDict = {\n [TriggerType in Constants.TRIGGER_TYPES]?: NotificationMessage<\n Extract<Types.INotification, { type: TriggerType }>\n >;\n};\n\n/**\n * On Chain Push Notification Messages.\n * This is a list of all the push notifications we support. Update this for synced notifications on mobile and extension\n *\n * @param translationKeys - all translations supported\n * @returns A translation push message object.\n */\nexport const createOnChainPushNotificationMessages = (\n translationKeys: TranslationKeys,\n): NotificationMessageDict => {\n type TranslationFn = <TKey extends keyof TranslationKeys>(\n ...args: [TKey, ...Parameters<TranslationKeys[TKey]>]\n ) => string;\n const translate: TranslationFn = (...args) => {\n const [key, ...otherArgs] = args;\n\n // Coerce types for the translation function\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const fn: any = translationKeys[key];\n return fn(...otherArgs);\n };\n\n return {\n erc20_sent: {\n title: (): string | null =>\n translate('pushPlatformNotificationsFundsSentTitle'),\n defaultDescription: (): string | null =>\n translate('pushPlatformNotificationsFundsSentDescriptionDefault'),\n getDescription: (notification): string | null => {\n const symbol = notification?.payload?.data?.token?.symbol;\n const tokenAmount = notification?.payload?.data?.token?.amount;\n const tokenDecimals = notification?.payload?.data?.token?.decimals;\n if (!symbol || !tokenAmount || !tokenDecimals) {\n return null;\n }\n\n const amount = getAmount(tokenAmount, tokenDecimals, {\n shouldEllipse: true,\n });\n return translate(\n 'pushPlatformNotificationsFundsSentDescription',\n amount,\n symbol,\n );\n },\n },\n eth_sent: {\n title: (): string | null =>\n translate('pushPlatformNotificationsFundsSentTitle'),\n defaultDescription: (): string | null =>\n translate('pushPlatformNotificationsFundsSentDescriptionDefault'),\n getDescription: (notification): string | null => {\n const symbol = notification?.payload?.network?.native_symbol;\n const tokenAmount = notification?.payload?.data?.amount?.eth;\n if (!symbol || !tokenAmount) {\n return null;\n }\n\n const amount = formatAmount(parseFloat(tokenAmount), {\n shouldEllipse: true,\n });\n return translate(\n 'pushPlatformNotificationsFundsSentDescription',\n amount,\n symbol,\n );\n },\n },\n erc20_received: {\n title: (): string | null =>\n translate('pushPlatformNotificationsFundsReceivedTitle'),\n defaultDescription: (): string | null =>\n translate('pushPlatformNotificationsFundsReceivedDescriptionDefault'),\n getDescription: (notification): string | null => {\n const symbol = notification?.payload?.data?.token?.symbol;\n const tokenAmount = notification?.payload?.data?.token?.amount;\n const tokenDecimals = notification?.payload?.data?.token?.decimals;\n if (!symbol || !tokenAmount || !tokenDecimals) {\n return null;\n }\n\n const amount = getAmount(tokenAmount, tokenDecimals, {\n shouldEllipse: true,\n });\n return translate(\n 'pushPlatformNotificationsFundsReceivedDescription',\n amount,\n symbol,\n );\n },\n },\n eth_received: {\n title: (): string | null =>\n translate('pushPlatformNotificationsFundsReceivedTitle'),\n defaultDescription: (): string | null =>\n translate('pushPlatformNotificationsFundsReceivedDescriptionDefault'),\n getDescription: (notification): string | null => {\n const symbol = notification?.payload?.network?.native_symbol;\n const tokenAmount = notification?.payload?.data?.amount?.eth;\n if (!symbol || !tokenAmount) {\n return null;\n }\n\n const amount = formatAmount(parseFloat(tokenAmount), {\n shouldEllipse: true,\n });\n return translate(\n 'pushPlatformNotificationsFundsReceivedDescription',\n amount,\n symbol,\n );\n },\n },\n metamask_swap_completed: {\n title: (): string | null =>\n translate('pushPlatformNotificationsSwapCompletedTitle'),\n defaultDescription: (): string | null =>\n translate('pushPlatformNotificationsSwapCompletedDescription'),\n },\n erc721_sent: {\n title: (): string | null =>\n translate('pushPlatformNotificationsNftSentTitle'),\n defaultDescription: (): string | null =>\n translate('pushPlatformNotificationsNftSentDescription'),\n },\n erc1155_sent: {\n title: (): string | null =>\n translate('pushPlatformNotificationsNftSentTitle'),\n defaultDescription: (): string | null =>\n translate('pushPlatformNotificationsNftSentDescription'),\n },\n erc721_received: {\n title: (): string | null =>\n translate('pushPlatformNotificationsNftReceivedTitle'),\n defaultDescription: (): string | null =>\n translate('pushPlatformNotificationsNftReceivedDescription'),\n },\n erc1155_received: {\n title: (): string | null =>\n translate('pushPlatformNotificationsNftReceivedTitle'),\n defaultDescription: (): string | null =>\n translate('pushPlatformNotificationsNftReceivedDescription'),\n },\n rocketpool_stake_completed: {\n title: (): string | null =>\n translate(\n 'pushPlatformNotificationsStakingRocketpoolStakeCompletedTitle',\n ),\n defaultDescription: (): string | null =>\n translate(\n 'pushPlatformNotificationsStakingRocketpoolStakeCompletedDescription',\n ),\n },\n rocketpool_unstake_completed: {\n title: (): string | null =>\n translate(\n 'pushPlatformNotificationsStakingRocketpoolUnstakeCompletedTitle',\n ),\n defaultDescription: (): string | null =>\n translate(\n 'pushPlatformNotificationsStakingRocketpoolUnstakeCompletedDescription',\n ),\n },\n lido_stake_completed: {\n title: (): string | null =>\n translate('pushPlatformNotificationsStakingLidoStakeCompletedTitle'),\n defaultDescription: (): string | null =>\n translate(\n 'pushPlatformNotificationsStakingLidoStakeCompletedDescription',\n ),\n },\n lido_stake_ready_to_be_withdrawn: {\n title: (): string | null =>\n translate(\n 'pushPlatformNotificationsStakingLidoStakeReadyToBeWithdrawnTitle',\n ),\n defaultDescription: (): string | null =>\n translate(\n 'pushPlatformNotificationsStakingLidoStakeReadyToBeWithdrawnDescription',\n ),\n },\n lido_withdrawal_requested: {\n title: (): string | null =>\n translate(\n 'pushPlatformNotificationsStakingLidoWithdrawalRequestedTitle',\n ),\n defaultDescription: (): string | null =>\n translate(\n 'pushPlatformNotificationsStakingLidoWithdrawalRequestedDescription',\n ),\n },\n lido_withdrawal_completed: {\n title: (): string | null =>\n translate(\n 'pushPlatformNotificationsStakingLidoWithdrawalCompletedTitle',\n ),\n defaultDescription: (): string | null =>\n translate(\n 'pushPlatformNotificationsStakingLidoWithdrawalCompletedDescription',\n ),\n },\n platform: {\n title: (notification): string | null => notification.template.title,\n defaultDescription: (notification): string | null =>\n notification.template.body,\n getDescription: (notification): string | null =>\n notification.template.body,\n },\n };\n};\n\n/**\n * Creates a push notification message based on the given on-chain raw notification.\n *\n * @param notification - processed notification.\n * @param translations - translates keys into text\n * @returns The push notification message object, or null if the notification is invalid.\n */\nexport function createOnChainPushNotificationMessage(\n notification: Types.INotification,\n translations: TranslationKeys,\n): PushNotificationMessage | null {\n if (!notification?.type) {\n return null;\n }\n const notificationMessage =\n createOnChainPushNotificationMessages(translations)[notification.type];\n\n if (!notificationMessage) {\n return null;\n }\n\n let description: string | null = null;\n try {\n description =\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n notificationMessage?.getDescription?.(notification as any) ??\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n notificationMessage.defaultDescription?.(notification as any) ??\n null;\n } catch {\n description =\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n notificationMessage.defaultDescription?.(notification as any) ?? null;\n }\n\n return {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n title: notificationMessage?.title?.(notification as any) ?? '', // Ensure title is always a string\n description: description ?? '', // Fallback to empty string if null\n };\n}\n"]}
|