@metamask-previews/notification-services-controller 28.0.1-preview-5121808e1 → 28.0.1-preview-b7ffa92bf
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 +0 -8
- package/dist/NotificationServicesController/mocks/mock-raw-notifications.d.ts.map +1 -1
- package/dist/NotificationServicesController/mocks/mock-raw-notifications.js +1 -16
- package/dist/NotificationServicesController/mocks/mock-raw-notifications.js.map +1 -1
- package/dist/NotificationServicesController/types/notification-api/schema.d.ts +1 -103
- 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/get-notification-message.d.ts +62 -0
- package/dist/NotificationServicesPushController/utils/get-notification-message.d.ts.map +1 -0
- package/dist/NotificationServicesPushController/utils/get-notification-message.js +166 -0
- package/dist/NotificationServicesPushController/utils/get-notification-message.js.map +1 -0
- package/dist/NotificationServicesPushController/utils/index.d.ts +1 -0
- package/dist/NotificationServicesPushController/utils/index.d.ts.map +1 -1
- package/dist/NotificationServicesPushController/utils/index.js +1 -0
- 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/CHANGELOG.md
CHANGED
|
@@ -9,17 +9,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
### Changed
|
|
11
11
|
|
|
12
|
-
- **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))
|
|
13
|
-
- Regenerated `schema.ts` from the latest Notification API OpenAPI spec. ([#9184](https://github.com/MetaMask/core/pull/9184))
|
|
14
|
-
- `OnChainNotificationV4` now includes optional `template` (`OnChainTemplate`: required `title`, optional `body`).
|
|
15
|
-
- `LocalizedNotificationCTA` no longer includes `content`; it is `link` only.
|
|
16
12
|
- 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))
|
|
17
13
|
- Bump `@metamask/utils` from `^11.12.0` to `^12.0.0` ([#10192](https://github.com/MetaMask/core/pull/10192))
|
|
18
14
|
|
|
19
|
-
### Fixed
|
|
20
|
-
|
|
21
|
-
- Correct ESM entry points in the legacy notification and push service subpath manifests. ([#9184](https://github.com/MetaMask/core/pull/9184))
|
|
22
|
-
|
|
23
15
|
## [28.0.1]
|
|
24
16
|
|
|
25
17
|
### Changed
|
|
@@ -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,CAwCzE;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,IAAI,yBAAyB,CAwC7E;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,IAAI,yBAAyB,CA8C3E;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,IAAI,yBAAyB,CA8C/E;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,IAAI,yBAAyB,CAiD5E;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,IAAI,yBAAyB,CAiDhF;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,IAAI,yBAAyB,CAiD7E;AAED;;;;GAIG;AACH,wBAAgB,qCAAqC,IAAI,yBAAyB,CAiDjF;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,IAAI,yBAAyB,CAuDxF;AAED;;;;GAIG;AACH,wBAAgB,8CAA8C,IAAI,yBAAyB,CAsD1F;AAED;;;;GAIG;AACH,wBAAgB,gDAAgD,IAAI,yBAAyB,CAsD5F;AAED;;;;GAIG;AACH,wBAAgB,wCAAwC,IAAI,yBAAyB,CAsDpF;AAED;;;;GAIG;AACH,wBAAgB,6CAA6C,IAAI,yBAAyB,CAsDzF;AAED;;;;GAIG;AACH,wBAAgB,6CAA6C,IAAI,yBAAyB,CAsDzF;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,IAAI,yBAAyB,CAyCxF;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,IAAI,yBAAyB,CAqB1E;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,IAAI,yBAAyB,EAAE,CAM/E"}
|
|
@@ -8,7 +8,6 @@ export function createMockNotificationEthSent() {
|
|
|
8
8
|
const mockNotification = {
|
|
9
9
|
type: TRIGGER_TYPES.ETH_SENT,
|
|
10
10
|
notification_type: 'wallet_activity',
|
|
11
|
-
category: 'wallet_activity',
|
|
12
11
|
notification_subtype: 'eth_sent',
|
|
13
12
|
id: '3fa85f64-5717-4562-b3fc-2c963f66afa7',
|
|
14
13
|
unread: true,
|
|
@@ -53,7 +52,6 @@ export function createMockNotificationEthReceived() {
|
|
|
53
52
|
const mockNotification = {
|
|
54
53
|
type: TRIGGER_TYPES.ETH_RECEIVED,
|
|
55
54
|
notification_type: 'wallet_activity',
|
|
56
|
-
category: 'wallet_activity',
|
|
57
55
|
notification_subtype: 'eth_received',
|
|
58
56
|
id: '3fa85f64-5717-4562-b3fc-2c963f66afa8',
|
|
59
57
|
unread: true,
|
|
@@ -98,7 +96,6 @@ export function createMockNotificationERC20Sent() {
|
|
|
98
96
|
const mockNotification = {
|
|
99
97
|
type: TRIGGER_TYPES.ERC20_SENT,
|
|
100
98
|
notification_type: 'wallet_activity',
|
|
101
|
-
category: 'wallet_activity',
|
|
102
99
|
notification_subtype: 'erc20_sent',
|
|
103
100
|
id: '3fa85f64-5717-4562-b3fc-2c963f66afa9',
|
|
104
101
|
unread: true,
|
|
@@ -148,7 +145,6 @@ export function createMockNotificationERC20Received() {
|
|
|
148
145
|
const mockNotification = {
|
|
149
146
|
type: TRIGGER_TYPES.ERC20_RECEIVED,
|
|
150
147
|
notification_type: 'wallet_activity',
|
|
151
|
-
category: 'wallet_activity',
|
|
152
148
|
notification_subtype: 'erc20_received',
|
|
153
149
|
id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
|
|
154
150
|
unread: true,
|
|
@@ -198,7 +194,6 @@ export function createMockNotificationERC721Sent() {
|
|
|
198
194
|
const mockNotification = {
|
|
199
195
|
type: TRIGGER_TYPES.ERC721_SENT,
|
|
200
196
|
notification_type: 'wallet_activity',
|
|
201
|
-
category: 'wallet_activity',
|
|
202
197
|
notification_subtype: 'erc721_sent',
|
|
203
198
|
id: 'a4193058-9814-537e-9df4-79dcac727fb6',
|
|
204
199
|
created_at: '2023-11-15T11:08:17.895407Z',
|
|
@@ -250,7 +245,6 @@ export function createMockNotificationERC721Received() {
|
|
|
250
245
|
const mockNotification = {
|
|
251
246
|
type: TRIGGER_TYPES.ERC721_RECEIVED,
|
|
252
247
|
notification_type: 'wallet_activity',
|
|
253
|
-
category: 'wallet_activity',
|
|
254
248
|
notification_subtype: 'erc721_received',
|
|
255
249
|
id: '00a79d24-befa-57ed-a55a-9eb8696e1654',
|
|
256
250
|
created_at: '2023-11-14T17:40:52.319281Z',
|
|
@@ -302,7 +296,6 @@ export function createMockNotificationERC1155Sent() {
|
|
|
302
296
|
const mockNotification = {
|
|
303
297
|
type: TRIGGER_TYPES.ERC1155_SENT,
|
|
304
298
|
notification_type: 'wallet_activity',
|
|
305
|
-
category: 'wallet_activity',
|
|
306
299
|
notification_subtype: 'erc1155_sent',
|
|
307
300
|
id: 'a09ff9d1-623a-52ab-a3d4-c7c8c9a58362',
|
|
308
301
|
created_at: '2023-11-20T20:44:10.110706Z',
|
|
@@ -354,7 +347,6 @@ export function createMockNotificationERC1155Received() {
|
|
|
354
347
|
const mockNotification = {
|
|
355
348
|
type: TRIGGER_TYPES.ERC1155_RECEIVED,
|
|
356
349
|
notification_type: 'wallet_activity',
|
|
357
|
-
category: 'wallet_activity',
|
|
358
350
|
notification_subtype: 'erc1155_received',
|
|
359
351
|
id: 'b6b93c84-e8dc-54ed-9396-7ea50474843a',
|
|
360
352
|
created_at: '2023-11-20T20:44:10.110706Z',
|
|
@@ -406,7 +398,6 @@ export function createMockNotificationMetaMaskSwapsCompleted() {
|
|
|
406
398
|
const mockNotification = {
|
|
407
399
|
type: TRIGGER_TYPES.METAMASK_SWAP_COMPLETED,
|
|
408
400
|
notification_type: 'wallet_activity',
|
|
409
|
-
category: 'wallet_activity',
|
|
410
401
|
notification_subtype: 'metamask_swap_completed',
|
|
411
402
|
id: '7ddfe6a1-ac52-5ffe-aa40-f04242db4b8b',
|
|
412
403
|
created_at: '2023-10-18T13:58:49.854596Z',
|
|
@@ -464,7 +455,6 @@ export function createMockNotificationRocketPoolStakeCompleted() {
|
|
|
464
455
|
const mockNotification = {
|
|
465
456
|
type: TRIGGER_TYPES.ROCKETPOOL_STAKE_COMPLETED,
|
|
466
457
|
notification_type: 'wallet_activity',
|
|
467
|
-
category: 'wallet_activity',
|
|
468
458
|
notification_subtype: 'rocketpool_stake_completed',
|
|
469
459
|
id: 'c2a2f225-b2fb-5d6c-ba56-e27a5c71ffb9',
|
|
470
460
|
created_at: '2023-11-20T12:02:48.796824Z',
|
|
@@ -521,7 +511,6 @@ export function createMockNotificationRocketPoolUnStakeCompleted() {
|
|
|
521
511
|
const mockNotification = {
|
|
522
512
|
type: TRIGGER_TYPES.ROCKETPOOL_UNSTAKE_COMPLETED,
|
|
523
513
|
notification_type: 'wallet_activity',
|
|
524
|
-
category: 'wallet_activity',
|
|
525
514
|
notification_subtype: 'rocketpool_unstake_completed',
|
|
526
515
|
id: '291ec897-f569-4837-b6c0-21001b198dff',
|
|
527
516
|
created_at: '2023-10-19T13:11:10.623042Z',
|
|
@@ -578,7 +567,6 @@ export function createMockNotificationLidoStakeCompleted() {
|
|
|
578
567
|
const mockNotification = {
|
|
579
568
|
type: TRIGGER_TYPES.LIDO_STAKE_COMPLETED,
|
|
580
569
|
notification_type: 'wallet_activity',
|
|
581
|
-
category: 'wallet_activity',
|
|
582
570
|
notification_subtype: 'lido_stake_completed',
|
|
583
571
|
id: 'ec10d66a-f78f-461f-83c9-609aada8cc50',
|
|
584
572
|
created_at: '2023-11-02T22:28:49.970865Z',
|
|
@@ -635,7 +623,6 @@ export function createMockNotificationLidoWithdrawalRequested() {
|
|
|
635
623
|
const mockNotification = {
|
|
636
624
|
type: TRIGGER_TYPES.LIDO_WITHDRAWAL_REQUESTED,
|
|
637
625
|
notification_type: 'wallet_activity',
|
|
638
|
-
category: 'wallet_activity',
|
|
639
626
|
notification_subtype: 'lido_withdrawal_requested',
|
|
640
627
|
id: 'ef003925-3379-4ba7-9e2d-8218690cadc9',
|
|
641
628
|
created_at: '2023-10-18T15:04:02.482526Z',
|
|
@@ -692,7 +679,6 @@ export function createMockNotificationLidoWithdrawalCompleted() {
|
|
|
692
679
|
const mockNotification = {
|
|
693
680
|
type: TRIGGER_TYPES.LIDO_WITHDRAWAL_COMPLETED,
|
|
694
681
|
notification_type: 'wallet_activity',
|
|
695
|
-
category: 'wallet_activity',
|
|
696
682
|
notification_subtype: 'lido_withdrawal_completed',
|
|
697
683
|
id: 'd73df14d-ce73-4f38-bad3-ab028154042f',
|
|
698
684
|
created_at: '2023-10-18T16:35:03.147606Z',
|
|
@@ -749,7 +735,6 @@ export function createMockNotificationLidoReadyToBeWithdrawn() {
|
|
|
749
735
|
const mockNotification = {
|
|
750
736
|
type: TRIGGER_TYPES.LIDO_STAKE_READY_TO_BE_WITHDRAWN,
|
|
751
737
|
notification_type: 'wallet_activity',
|
|
752
|
-
category: 'wallet_activity',
|
|
753
738
|
notification_subtype: 'lido_stake_ready_to_be_withdrawn',
|
|
754
739
|
id: 'd73df14d-ce73-4f38-bad3-ab028154042e',
|
|
755
740
|
created_at: '2023-10-18T16:35:03.147606Z',
|
|
@@ -794,7 +779,6 @@ export function createMockPlatformNotification() {
|
|
|
794
779
|
const mockNotification = {
|
|
795
780
|
type: TRIGGER_TYPES.PLATFORM,
|
|
796
781
|
notification_type: 'perps',
|
|
797
|
-
category: 'trading_activity',
|
|
798
782
|
notification_subtype: 'position_liquidated',
|
|
799
783
|
id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
|
|
800
784
|
unread: true,
|
|
@@ -804,6 +788,7 @@ export function createMockPlatformNotification() {
|
|
|
804
788
|
title: 'This is a Platform Notification!',
|
|
805
789
|
body: 'Teams can now build out their own notifications, and add an optional CTA (like this one below).',
|
|
806
790
|
cta: {
|
|
791
|
+
content: 'Get Started',
|
|
807
792
|
link: 'https://metamask.io/get-started',
|
|
808
793
|
},
|
|
809
794
|
},
|
|
@@ -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 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"]}
|
|
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"]}
|
|
@@ -16,8 +16,6 @@ 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.
|
|
21
19
|
*/
|
|
22
20
|
post: {
|
|
23
21
|
parameters: {
|
|
@@ -103,53 +101,6 @@ export type paths = {
|
|
|
103
101
|
patch?: never;
|
|
104
102
|
trace?: never;
|
|
105
103
|
};
|
|
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
|
-
};
|
|
153
104
|
'/api/v3/notifications': {
|
|
154
105
|
parameters: {
|
|
155
106
|
query?: never;
|
|
@@ -437,31 +388,6 @@ export type components = {
|
|
|
437
388
|
* @enum {string}
|
|
438
389
|
*/
|
|
439
390
|
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
|
-
};
|
|
465
391
|
NotificationInputV3: {
|
|
466
392
|
/** @example en-US */
|
|
467
393
|
locale: string;
|
|
@@ -495,7 +421,7 @@ export type components = {
|
|
|
495
421
|
body: string;
|
|
496
422
|
};
|
|
497
423
|
LocalizedNotificationCTA: {
|
|
498
|
-
|
|
424
|
+
content: string;
|
|
499
425
|
link: string;
|
|
500
426
|
};
|
|
501
427
|
OnChainNotification: {
|
|
@@ -540,11 +466,6 @@ export type components = {
|
|
|
540
466
|
* @example perps
|
|
541
467
|
*/
|
|
542
468
|
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;
|
|
548
469
|
/**
|
|
549
470
|
* @description Producer-set platform_notifications.notification_subtype value.
|
|
550
471
|
* @example position_liquidated
|
|
@@ -567,11 +488,6 @@ export type components = {
|
|
|
567
488
|
id: string;
|
|
568
489
|
/** @enum {string} */
|
|
569
490
|
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;
|
|
575
491
|
/**
|
|
576
492
|
* @description notifications_part.kind value.
|
|
577
493
|
* @example metamask_swap_completed
|
|
@@ -584,26 +500,8 @@ export type components = {
|
|
|
584
500
|
* @example 2025-10-09T09:45:34.202Z
|
|
585
501
|
*/
|
|
586
502
|
created_at: string;
|
|
587
|
-
template?: components['schemas']['OnChainTemplate'];
|
|
588
503
|
payload: components['schemas']['OnChainPayload'];
|
|
589
504
|
};
|
|
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
|
-
};
|
|
607
505
|
NotificationInput: {
|
|
608
506
|
/** Format: address */
|
|
609
507
|
address: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/NotificationServicesController/types/notification-api/schema.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH,MAAM,MAAM,KAAK,GAAG;IAClB,uBAAuB,EAAE;QACvB,UAAU,EAAE;YACV,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAChB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ;;;;;WAKG;QACH,IAAI,EAAE;YACJ,UAAU,EAAE;gBACV,KAAK,CAAC,EAAE,KAAK,CAAC;gBACd,MAAM,CAAC,EAAE,KAAK,CAAC;gBACf,IAAI,CAAC,EAAE,KAAK,CAAC;gBACb,MAAM,CAAC,EAAE,KAAK,CAAC;aAChB,CAAC;YACF,WAAW,EAAE;gBACX,OAAO,EAAE;oBACP,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC;iBAClE,CAAC;aACH,CAAC;YACF,SAAS,EAAE;gBACT,qDAAqD;gBACrD,GAAG,EAAE;oBACH,OAAO,EAAE;wBACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;qBACzB,CAAC;oBACF,OAAO,EAAE;wBACP,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;qBACnE,CAAC;iBACH,CAAC;gBACF,+BAA+B;gBAC/B,GAAG,EAAE;oBACH,OAAO,EAAE;wBACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;qBACzB,CAAC;oBACF,OAAO,CAAC,EAAE,KAAK,CAAC;iBACjB,CAAC;gBACF,yCAAyC;gBACzC,GAAG,EAAE;oBACH,OAAO,EAAE;wBACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;qBACzB,CAAC;oBACF,OAAO,CAAC,EAAE,KAAK,CAAC;iBACjB,CAAC;aACH,CAAC;SACH,CAAC;QACF,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACf,CAAC;IACF,oCAAoC,EAAE;QACpC,UAAU,EAAE;YACV,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAChB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,iCAAiC;QACjC,IAAI,EAAE;YACJ,UAAU,EAAE;gBACV,KAAK,CAAC,EAAE,KAAK,CAAC;gBACd,MAAM,CAAC,EAAE,KAAK,CAAC;gBACf,IAAI,CAAC,EAAE,KAAK,CAAC;gBACb,MAAM,CAAC,EAAE,KAAK,CAAC;aAChB,CAAC;YACF,WAAW,EAAE;gBACX,OAAO,EAAE;oBACP,kBAAkB,EAAE;wBAClB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;qBAChB,CAAC;iBACH,CAAC;aACH,CAAC;YACF,SAAS,EAAE;gBACT,6DAA6D;gBAC7D,GAAG,EAAE;oBACH,OAAO,EAAE;wBACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;qBACzB,CAAC;oBACF,OAAO,CAAC,EAAE,KAAK,CAAC;iBACjB,CAAC;aACH,CAAC;SACH,CAAC;QACF,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACf,CAAC;IACF,kCAAkC,EAAE;QAClC,UAAU,EAAE;YACV,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAChB,CAAC;QACF;;;;WAIG;QACH,GAAG,EAAE;YACH,UAAU,EAAE;gBACV,KAAK,CAAC,EAAE,KAAK,CAAC;gBACd,MAAM,CAAC,EAAE,KAAK,CAAC;gBACf,IAAI,CAAC,EAAE,KAAK,CAAC;gBACb,MAAM,CAAC,EAAE,KAAK,CAAC;aAChB,CAAC;YACF,WAAW,CAAC,EAAE,KAAK,CAAC;YACpB,SAAS,EAAE;gBACT,wDAAwD;gBACxD,GAAG,EAAE;oBACH,OAAO,EAAE;wBACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;qBACzB,CAAC;oBACF,OAAO,EAAE;wBACP,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,wBAAwB,CAAC,CAAC;qBACrE,CAAC;iBACH,CAAC;gBACF,yCAAyC;gBACzC,GAAG,EAAE;oBACH,OAAO,EAAE;wBACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;qBACzB,CAAC;oBACF,OAAO,CAAC,EAAE,KAAK,CAAC;iBACjB,CAAC;aACH,CAAC;SACH,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACf,CAAC;IACF,uBAAuB,EAAE;QACvB,UAAU,EAAE;YACV,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAChB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,mFAAmF;QACnF,IAAI,EAAE;YACJ,UAAU,EAAE;gBACV,KAAK,CAAC,EAAE,KAAK,CAAC;gBACd,MAAM,CAAC,EAAE,KAAK,CAAC;gBACf,IAAI,CAAC,EAAE,KAAK,CAAC;gBACb,MAAM,CAAC,EAAE,KAAK,CAAC;aAChB,CAAC;YACF,WAAW,EAAE;gBACX,OAAO,EAAE;oBACP,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC;iBAClE,CAAC;aACH,CAAC;YACF,SAAS,EAAE;gBACT,qDAAqD;gBACrD,GAAG,EAAE;oBACH,OAAO,EAAE;wBACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;qBACzB,CAAC;oBACF,OAAO,EAAE;wBACP,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;qBACnE,CAAC;iBACH,CAAC;gBACF,+BAA+B;gBAC/B,GAAG,EAAE;oBACH,OAAO,EAAE;wBACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;qBACzB,CAAC;oBACF,OAAO,CAAC,EAAE,KAAK,CAAC;iBACjB,CAAC;gBACF,yCAAyC;gBACzC,GAAG,EAAE;oBACH,OAAO,EAAE;wBACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;qBACzB,CAAC;oBACF,OAAO,CAAC,EAAE,KAAK,CAAC;iBACjB,CAAC;aACH,CAAC;SACH,CAAC;QACF,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACf,CAAC;IACF,oCAAoC,EAAE;QACpC,UAAU,EAAE;YACV,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAChB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,iCAAiC;QACjC,IAAI,EAAE;YACJ,UAAU,EAAE;gBACV,KAAK,CAAC,EAAE,KAAK,CAAC;gBACd,MAAM,CAAC,EAAE,KAAK,CAAC;gBACf,IAAI,CAAC,EAAE,KAAK,CAAC;gBACb,MAAM,CAAC,EAAE,KAAK,CAAC;aAChB,CAAC;YACF,WAAW,EAAE;gBACX,OAAO,EAAE;oBACP,kBAAkB,EAAE;wBAClB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;qBAChB,CAAC;iBACH,CAAC;aACH,CAAC;YACF,SAAS,EAAE;gBACT,6DAA6D;gBAC7D,GAAG,EAAE;oBACH,OAAO,EAAE;wBACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;qBACzB,CAAC;oBACF,OAAO,CAAC,EAAE,KAAK,CAAC;iBACjB,CAAC;aACH,CAAC;SACH,CAAC;QACF,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACf,CAAC;IACF,uBAAuB,EAAE;QACvB,UAAU,EAAE;YACV,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAChB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,4DAA4D;QAC5D,IAAI,EAAE;YACJ,UAAU,EAAE;gBACV,KAAK,CAAC,EAAE,KAAK,CAAC;gBACd,MAAM,CAAC,EAAE,KAAK,CAAC;gBACf,IAAI,CAAC,EAAE,KAAK,CAAC;gBACb,MAAM,CAAC,EAAE,KAAK,CAAC;aAChB,CAAC;YACF,WAAW,EAAE;gBACX,OAAO,EAAE;oBACP,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC;iBAClE,CAAC;aACH,CAAC;YACF,SAAS,EAAE;gBACT,qDAAqD;gBACrD,GAAG,EAAE;oBACH,OAAO,EAAE;wBACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;qBACzB,CAAC;oBACF,OAAO,EAAE;wBACP,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC;qBACnE,CAAC;iBACH,CAAC;gBACF,+BAA+B;gBAC/B,GAAG,EAAE;oBACH,OAAO,EAAE;wBACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;qBACzB,CAAC;oBACF,OAAO,CAAC,EAAE,KAAK,CAAC;iBACjB,CAAC;gBACF,yCAAyC;gBACzC,GAAG,EAAE;oBACH,OAAO,EAAE;wBACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;qBACzB,CAAC;oBACF,OAAO,CAAC,EAAE,KAAK,CAAC;iBACjB,CAAC;aACH,CAAC;SACH,CAAC;QACF,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACf,CAAC;IACF,oCAAoC,EAAE;QACpC,UAAU,EAAE;YACV,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAChB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,iCAAiC;QACjC,IAAI,EAAE;YACJ,UAAU,EAAE;gBACV,KAAK,CAAC,EAAE,KAAK,CAAC;gBACd,MAAM,CAAC,EAAE,KAAK,CAAC;gBACf,IAAI,CAAC,EAAE,KAAK,CAAC;gBACb,MAAM,CAAC,EAAE,KAAK,CAAC;aAChB,CAAC;YACF,WAAW,EAAE;gBACX,OAAO,EAAE;oBACP,kBAAkB,EAAE;wBAClB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;qBAChB,CAAC;iBACH,CAAC;aACH,CAAC;YACF,SAAS,EAAE;gBACT,6DAA6D;gBAC7D,GAAG,EAAE;oBACH,OAAO,EAAE;wBACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;qBACzB,CAAC;oBACF,OAAO,CAAC,EAAE,KAAK,CAAC;iBACjB,CAAC;aACH,CAAC;SACH,CAAC;QACF,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACf,CAAC;IACF,uBAAuB,EAAE;QACvB,UAAU,EAAE;YACV,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAChB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,oDAAoD;QACpD,IAAI,EAAE;YACJ,UAAU,EAAE;gBACV,KAAK,CAAC,EAAE;oBACN,8CAA8C;oBAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;oBACd,mEAAmE;oBACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;iBACnB,CAAC;gBACF,MAAM,CAAC,EAAE,KAAK,CAAC;gBACf,IAAI,CAAC,EAAE,KAAK,CAAC;gBACb,MAAM,CAAC,EAAE,KAAK,CAAC;aAChB,CAAC;YACF,WAAW,CAAC,EAAE;gBACZ,OAAO,EAAE;oBACP,kBAAkB,EAAE;wBAClB,WAAW,EAAE,MAAM,EAAE,CAAC;wBACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;wBACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;wBACjB,MAAM,CAAC,EAAE,OAAO,CAAC;qBAClB,CAAC;iBACH,CAAC;aACH,CAAC;YACF,SAAS,EAAE;gBACT,gEAAgE;gBAChE,GAAG,EAAE;oBACH,OAAO,EAAE;wBACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;qBACzB,CAAC;oBACF,OAAO,EAAE;wBACP,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC;qBACnE,CAAC;iBACH,CAAC;aACH,CAAC;SACH,CAAC;QACF,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACf,CAAC;IACF,oCAAoC,EAAE;QACpC,UAAU,EAAE;YACV,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAChB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,iCAAiC;QACjC,IAAI,EAAE;YACJ,UAAU,EAAE;gBACV,KAAK,CAAC,EAAE,KAAK,CAAC;gBACd,MAAM,CAAC,EAAE,KAAK,CAAC;gBACf,IAAI,CAAC,EAAE,KAAK,CAAC;gBACb,MAAM,CAAC,EAAE,KAAK,CAAC;aAChB,CAAC;YACF,WAAW,EAAE;gBACX,OAAO,EAAE;oBACP,kBAAkB,EAAE;wBAClB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;qBAChB,CAAC;iBACH,CAAC;aACH,CAAC;YACF,SAAS,EAAE;gBACT,6DAA6D;gBAC7D,GAAG,EAAE;oBACH,OAAO,EAAE;wBACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;qBACzB,CAAC;oBACF,OAAO,CAAC,EAAE,KAAK,CAAC;iBACjB,CAAC;aACH,CAAC;SACH,CAAC;QACF,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACf,CAAC;CACH,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7C,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE;QACP;;;WAGG;QACH,WAAW,EAAE,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;QAClD,4PAA4P;QAC5P,sBAAsB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACxE,oBAAoB,EAAE;YACpB;;;eAGG;YACH,WAAW,EAAE,MAAM,CAAC;YACpB,wPAAwP;YACxP,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;YACnD;;;;;eAKG;YACH,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB;;;;;eAKG;YACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;SAC9B,CAAC;QACF,mBAAmB,EAAE;YACnB,qBAAqB;YACrB,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;YAC/C,SAAS,EAAE,MAAM,EAAE,CAAC;SACrB,CAAC;QACF,oBAAoB,EAAE,CAClB,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,GAC7C,UAAU,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAC/C,EAAE,CAAC;QACJ,oBAAoB,EAAE;YACpB;;;eAGG;YACH,EAAE,EAAE,MAAM,CAAC;YACX,qBAAqB;YACrB,iBAAiB,EAAE,UAAU,CAAC;YAC9B,mCAAmC;YACnC,oBAAoB,EAAE,MAAM,CAAC;YAC7B,qBAAqB;YACrB,MAAM,EAAE,OAAO,CAAC;YAChB,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;YACzD;;;eAGG;YACH,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,qBAAqB,EAAE;YACrB,SAAS,EAAE,MAAM,CAAC;YAClB,GAAG,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;YACxD,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,wBAAwB,EAAE;YACxB,oFAAoF;YACpF,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,mBAAmB,EAAE;YACnB;;;eAGG;YACH,EAAE,EAAE,MAAM,CAAC;YACX,qBAAqB;YACrB,iBAAiB,EAAE,UAAU,CAAC;YAC9B,qBAAqB;YACrB,MAAM,EAAE,OAAO,CAAC;YAChB;;;eAGG;YACH,UAAU,EAAE,MAAM,CAAC;YACnB,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;SAClD,CAAC;QACF,cAAc,EAAE;YACd,iBAAiB;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,wBAAwB;YACxB,YAAY,EAAE,MAAM,CAAC;YACrB,eAAe,EAAE,MAAM,CAAC;YACxB,0DAA0D;YAC1D,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAClD,IAAI,CAAC,EACD,UAAU,CAAC,SAAS,CAAC,CAAC,4BAA4B,CAAC,GACnD,UAAU,CAAC,SAAS,CAAC,CAAC,kCAAkC,CAAC,GACzD,UAAU,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,GAChD,UAAU,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,GACrD,UAAU,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,GACrD,UAAU,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,GACtD,UAAU,CAAC,SAAS,CAAC,CAAC,iCAAiC,CAAC,GACxD,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,GACrC,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,GACzC,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,GACvC,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,GAC3C,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,GACxC,UAAU,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,GAC5C,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,GACzC,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;SACnD,CAAC;QACF,+dAA+d;QAC/d,oBAAoB,EAAE,CAClB,UAAU,CAAC,SAAS,CAAC,CAAC,wBAAwB,CAAC,GAC/C,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CACjD,EAAE,CAAC;QACJ,sBAAsB,EAAE;YACtB;;;eAGG;YACH,EAAE,EAAE,MAAM,CAAC;YACX;;;eAGG;YACH,iBAAiB,EAAE,MAAM,CAAC;YAC1B;;;eAGG;YACH,QAAQ,EAAE,MAAM,CAAC;YACjB;;;eAGG;YACH,oBAAoB,EAAE,MAAM,CAAC;YAC7B,qBAAqB;YACrB,MAAM,EAAE,OAAO,CAAC;YAChB,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;YACzD;;;eAGG;YACH,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,qBAAqB,EAAE;YACrB;;;eAGG;YACH,EAAE,EAAE,MAAM,CAAC;YACX,qBAAqB;YACrB,iBAAiB,EAAE,iBAAiB,CAAC;YACrC;;;eAGG;YACH,QAAQ,EAAE,MAAM,CAAC;YACjB;;;eAGG;YACH,oBAAoB,EAAE,MAAM,CAAC;YAC7B,qBAAqB;YACrB,MAAM,EAAE,OAAO,CAAC;YAChB;;;eAGG;YACH,UAAU,EAAE,MAAM,CAAC;YACnB,QAAQ,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACpD,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;SAClD,CAAC;QACF;;;;WAIG;QACH,eAAe,EAAE;YACf;;;eAGG;YACH,KAAK,EAAE,MAAM,CAAC;YACd;;;eAGG;YACH,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;QACF,iBAAiB,EAAE;YACjB,sBAAsB;YACtB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,kBAAkB,EAAE;YAClB,mBAAmB;YACnB,EAAE,EAAE,MAAM,CAAC;YACX,mBAAmB;YACnB,UAAU,EAAE,MAAM,CAAC;YACnB,iBAAiB;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,wBAAwB;YACxB,YAAY,EAAE,MAAM,CAAC;YACrB,eAAe,EAAE,MAAM,CAAC;YACxB;;;eAGG;YACH,OAAO,EAAE,MAAM,CAAC;YAChB,qBAAqB;YACrB,MAAM,EAAE,OAAO,CAAC;YAChB,wBAAwB;YACxB,UAAU,EAAE,MAAM,CAAC;YACnB,sBAAsB;YACtB,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,CAAC,EACD,UAAU,CAAC,SAAS,CAAC,CAAC,4BAA4B,CAAC,GACnD,UAAU,CAAC,SAAS,CAAC,CAAC,kCAAkC,CAAC,GACzD,UAAU,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,GAChD,UAAU,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,GACrD,UAAU,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,GACrD,UAAU,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,GACtD,UAAU,CAAC,SAAS,CAAC,CAAC,iCAAiC,CAAC,GACxD,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,GACrC,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,GACzC,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,GACvC,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,GAC3C,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,GACxC,UAAU,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,GAC5C,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,GACzC,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;SACnD,CAAC;QACF,0BAA0B,EAAE;YAC1B,qBAAqB;YACrB,IAAI,EAAE,yBAAyB,CAAC;YAChC,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YACjD,sBAAsB;YACtB,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;YACzC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;SAC3C,CAAC;QACF,uBAAuB,EAAE;YACvB,qBAAqB;YACrB,IAAI,EAAE,sBAAsB,CAAC;YAC7B,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YACjD,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;YACzC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;SAC3C,CAAC;QACF,4BAA4B,EAAE;YAC5B,qBAAqB;YACrB,IAAI,EAAE,2BAA2B,CAAC;YAClC,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YACjD,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;YACzC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;SAC3C,CAAC;QACF,gCAAgC,EAAE;YAChC,qBAAqB;YACrB,IAAI,EAAE,kCAAkC,CAAC;YACzC,sBAAsB;YACtB,UAAU,EAAE,MAAM,CAAC;YACnB,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;SAC5C,CAAC;QACF,4BAA4B,EAAE;YAC5B,qBAAqB;YACrB,IAAI,EAAE,2BAA2B,CAAC;YAClC,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YACjD,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;YACzC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;SAC3C,CAAC;QACF,6BAA6B,EAAE;YAC7B,qBAAqB;YACrB,IAAI,EAAE,4BAA4B,CAAC;YACnC,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YACjD,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;YACzC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;SAC3C,CAAC;QACF,+BAA+B,EAAE;YAC/B,qBAAqB;YACrB,IAAI,EAAE,8BAA8B,CAAC;YACrC,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YACjD,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;YACzC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;SAC3C,CAAC;QACF,YAAY,EAAE;YACZ,qBAAqB;YACrB,IAAI,EAAE,UAAU,CAAC;YACjB,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YACjD,sBAAsB;YACtB,IAAI,EAAE,MAAM,CAAC;YACb,sBAAsB;YACtB,EAAE,EAAE,MAAM,CAAC;YACX,MAAM,EAAE;gBACN,sBAAsB;gBACtB,GAAG,EAAE,MAAM,CAAC;gBACZ,sBAAsB;gBACtB,GAAG,EAAE,MAAM,CAAC;aACb,CAAC;SACH,CAAC;QACF,gBAAgB,EAAE;YAChB,qBAAqB;YACrB,IAAI,EAAE,cAAc,CAAC;YACrB,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YACjD,sBAAsB;YACtB,IAAI,EAAE,MAAM,CAAC;YACb,sBAAsB;YACtB,EAAE,EAAE,MAAM,CAAC;YACX,MAAM,EAAE;gBACN,sBAAsB;gBACtB,GAAG,EAAE,MAAM,CAAC;gBACZ,sBAAsB;gBACtB,GAAG,EAAE,MAAM,CAAC;aACb,CAAC;SACH,CAAC;QACF,cAAc,EAAE;YACd,qBAAqB;YACrB,IAAI,EAAE,YAAY,CAAC;YACnB,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YACjD,sBAAsB;YACtB,IAAI,EAAE,MAAM,CAAC;YACb,sBAAsB;YACtB,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;SACvC,CAAC;QACF,kBAAkB,EAAE;YAClB,qBAAqB;YACrB,IAAI,EAAE,gBAAgB,CAAC;YACvB,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YACjD,sBAAsB;YACtB,IAAI,EAAE,MAAM,CAAC;YACb,sBAAsB;YACtB,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;SACvC,CAAC;QACF,eAAe,EAAE;YACf,qBAAqB;YACrB,IAAI,EAAE,aAAa,CAAC;YACpB,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YACjD,sBAAsB;YACtB,IAAI,EAAE,MAAM,CAAC;YACb,sBAAsB;YACtB,EAAE,EAAE,MAAM,CAAC;YACX,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;SACnC,CAAC;QACF,mBAAmB,EAAE;YACnB,qBAAqB;YACrB,IAAI,EAAE,iBAAiB,CAAC;YACxB,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YACjD,sBAAsB;YACtB,IAAI,EAAE,MAAM,CAAC;YACb,sBAAsB;YACtB,EAAE,EAAE,MAAM,CAAC;YACX,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;SACnC,CAAC;QACF,gBAAgB,EAAE;YAChB,qBAAqB;YACrB,IAAI,EAAE,cAAc,CAAC;YACrB,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YACjD,sBAAsB;YACtB,IAAI,EAAE,MAAM,CAAC;YACb,sBAAsB;YACtB,EAAE,EAAE,MAAM,CAAC;YACX,GAAG,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;SACpC,CAAC;QACF,oBAAoB,EAAE;YACpB,qBAAqB;YACrB,IAAI,EAAE,kBAAkB,CAAC;YACzB,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;YACjD,sBAAsB;YACtB,IAAI,EAAE,MAAM,CAAC;YACb,sBAAsB;YACtB,EAAE,EAAE,MAAM,CAAC;YACX,GAAG,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;SACpC,CAAC;QACF,UAAU,EAAE;YACV,sBAAsB;YACtB,SAAS,EAAE,MAAM,CAAC;YAClB,sBAAsB;YACtB,yBAAyB,EAAE,MAAM,CAAC;SACnC,CAAC;QACF,KAAK,EAAE;YACL,sBAAsB;YACtB,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;YACb,sBAAsB;YACtB,MAAM,EAAE,MAAM,CAAC;YACf,oBAAoB;YACpB,QAAQ,EAAE,MAAM,CAAC;YACjB,kBAAkB;YAClB,KAAK,EAAE,MAAM,CAAC;YACd,sBAAsB;YACtB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,GAAG,EAAE;YACH,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,kBAAkB;YAClB,KAAK,EAAE,MAAM,CAAC;YACd,UAAU,EAAE;gBACV,sBAAsB;gBACtB,OAAO,EAAE,MAAM,CAAC;gBAChB,IAAI,EAAE,MAAM,CAAC;gBACb,MAAM,EAAE,MAAM,CAAC;gBACf,kBAAkB;gBAClB,KAAK,EAAE,MAAM,CAAC;aACf,CAAC;SACH,CAAC;QACF,KAAK,EAAE;YACL,sBAAsB;YACtB,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;YACb,sBAAsB;YACtB,MAAM,EAAE,MAAM,CAAC;YACf,oBAAoB;YACpB,QAAQ,EAAE,MAAM,CAAC;YACjB,kBAAkB;YAClB,KAAK,EAAE,MAAM,CAAC;YACd,sBAAsB;YACtB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,aAAa,EAAE;YACb;;;eAGG;YACH,GAAG,EAAE,MAAM,CAAC;YACZ,yBAAyB;YACzB,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,eAAe,EAAE;YACf;;;eAGG;YACH,IAAI,EAAE,MAAM,CAAC;YACb;;;eAGG;YACH,aAAa,EAAE,MAAM,CAAC;YACtB,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;SACxD,CAAC;KACH,CAAC;IACF,SAAS,EAAE,KAAK,CAAC;IACjB,UAAU,EAAE,KAAK,CAAC;IAClB,aAAa,EAAE,KAAK,CAAC;IACrB,OAAO,EAAE,KAAK,CAAC;IACf,SAAS,EAAE,KAAK,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC1C,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC"}
|
|
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 * 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
|
+
{"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"]}
|
|
@@ -0,0 +1,62 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
@@ -1 +1 @@
|
|
|
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
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/NotificationServicesPushController/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,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,gCAAgC,CAAC","sourcesContent":["export * from './get-notification-data.js';\nexport * from './to-push-analytics-payload.js';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/NotificationServicesPushController/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC","sourcesContent":["export * from './get-notification-data.js';\nexport * from './get-notification-message.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.cjs",
|
|
8
|
+
"types": "../../dist/NotificationServicesController/mocks/index.d.cts"
|
|
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.cjs",
|
|
8
|
+
"types": "../dist/NotificationServicesController/index.d.cts"
|
|
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.cjs",
|
|
8
|
+
"types": "../../dist/NotificationServicesPushController/mocks/index.d.cts"
|
|
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.cjs",
|
|
8
|
+
"types": "../dist/NotificationServicesPushController/index.d.cts"
|
|
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.cjs",
|
|
8
|
+
"types": "../../dist/NotificationServicesPushController/web/index.d.cts"
|
|
9
9
|
}
|