@metamask-previews/notification-services-controller 0.9.0-preview-1159a55d → 0.9.0-preview-200beb79

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.
Files changed (21) hide show
  1. package/dist/NotificationServicesController/NotificationServicesController.cjs +3 -2
  2. package/dist/NotificationServicesController/NotificationServicesController.cjs.map +1 -1
  3. package/dist/NotificationServicesController/NotificationServicesController.d.cts +2 -1
  4. package/dist/NotificationServicesController/NotificationServicesController.d.cts.map +1 -1
  5. package/dist/NotificationServicesController/NotificationServicesController.d.mts +2 -1
  6. package/dist/NotificationServicesController/NotificationServicesController.d.mts.map +1 -1
  7. package/dist/NotificationServicesController/NotificationServicesController.mjs +3 -2
  8. package/dist/NotificationServicesController/NotificationServicesController.mjs.map +1 -1
  9. package/dist/NotificationServicesController/__fixtures__/mock-raw-notifications.cjs +12 -12
  10. package/dist/NotificationServicesController/__fixtures__/mock-raw-notifications.cjs.map +1 -1
  11. package/dist/NotificationServicesController/__fixtures__/mock-raw-notifications.mjs +12 -12
  12. package/dist/NotificationServicesController/__fixtures__/mock-raw-notifications.mjs.map +1 -1
  13. package/dist/NotificationServicesController/services/feature-announcements.cjs +17 -9
  14. package/dist/NotificationServicesController/services/feature-announcements.cjs.map +1 -1
  15. package/dist/NotificationServicesController/services/feature-announcements.d.cts +3 -1
  16. package/dist/NotificationServicesController/services/feature-announcements.d.cts.map +1 -1
  17. package/dist/NotificationServicesController/services/feature-announcements.d.mts +3 -1
  18. package/dist/NotificationServicesController/services/feature-announcements.d.mts.map +1 -1
  19. package/dist/NotificationServicesController/services/feature-announcements.mjs +15 -8
  20. package/dist/NotificationServicesController/services/feature-announcements.mjs.map +1 -1
  21. package/package.json +1 -1
@@ -631,7 +631,7 @@ export function createMockNotificationEnsExpiration() {
631
631
  data: {
632
632
  kind: 'ens_expiration',
633
633
  chainId: 1,
634
- reverseEnsName: 'example.eth',
634
+ reverseEnsName: 'vitalik.eth',
635
635
  expirationDateIso: '2024-01-01T00:00:00Z',
636
636
  reminderDelayInSeconds: 86400,
637
637
  },
@@ -657,11 +657,11 @@ export function createMockNotificationLidoStakingRewards() {
657
657
  data: {
658
658
  kind: 'lido_staking_rewards',
659
659
  chainId: 1,
660
- currentStethBalance: '100',
661
- currentEthValue: '10000.00',
662
- estimatedTotalRewardInPeriod: '10000.00',
663
- daysSinceLastNotification: 1,
664
- notificationIntervalDays: 1,
660
+ currentStethBalance: '10',
661
+ currentEthValue: '10.5',
662
+ estimatedTotalRewardInPeriod: '0.5',
663
+ daysSinceLastNotification: 30,
664
+ notificationIntervalDays: 30,
665
665
  },
666
666
  id: 'd73df14d-ce73-4f38-bad3-ab028154042l',
667
667
  trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042l',
@@ -687,7 +687,7 @@ export function createMockNotificationNotionalLoanExpiration() {
687
687
  chainId: 1,
688
688
  loans: [
689
689
  {
690
- amount: '100',
690
+ amount: '1.1234',
691
691
  symbol: 'ETH',
692
692
  maturityDateIso: '2024-01-01T00:00:00Z',
693
693
  },
@@ -716,11 +716,11 @@ export function createMockNotificationRocketpoolStakingRewards() {
716
716
  data: {
717
717
  kind: 'rocketpool_staking_rewards',
718
718
  chainId: 1,
719
- currentRethBalance: '100',
720
- currentEthValue: '10000.00',
721
- estimatedTotalRewardInPeriod: '10000.00',
722
- daysSinceLastNotification: 1,
723
- notificationIntervalDays: 1,
719
+ currentRethBalance: '10',
720
+ currentEthValue: '10.5',
721
+ estimatedTotalRewardInPeriod: '0.5',
722
+ daysSinceLastNotification: 30,
723
+ notificationIntervalDays: 30,
724
724
  },
725
725
  id: 'd73df14d-ce73-4f38-bad3-ab028154042r',
726
726
  trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042r',
@@ -1 +1 @@
1
- {"version":3,"file":"mock-raw-notifications.mjs","sourceRoot":"","sources":["../../../src/NotificationServicesController/__fixtures__/mock-raw-notifications.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { TRIGGER_TYPES } from '../constants/notification-schema';\nimport type { OnChainRawNotification } from '../types/on-chain-notification/on-chain-notification';\n\n/**\n * Mocking Utility - create a mock Eth sent notification\n * @returns Mock raw Eth sent notification\n */\nexport function createMockNotificationEthSent(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ETH_SENT,\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa7',\n trigger_id: '3fa85f64-5717-4562-b3fc-2c963f66afa7',\n chain_id: 1,\n block_number: 17485840,\n block_timestamp: '2022-03-01T00:00:00Z',\n tx_hash:\n '0xb2256b183f2fb3872f99294ab55fb03e6a479b0d4aca556a3b27568b712505a6',\n unread: true,\n created_at: '2022-03-01T00:00:00Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Eth Received notification\n * @returns Mock raw Eth Received notification\n */\nexport function createMockNotificationEthReceived(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ETH_RECEIVED,\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa8',\n trigger_id: '3fa85f64-5717-4562-b3fc-2c963f66afa8',\n chain_id: 1,\n block_number: 17485840,\n block_timestamp: '2022-03-01T00:00:00Z',\n tx_hash:\n '0xb2256b183f2fb3872f99294ab55fb03e6a479b0d4aca556a3b27568b712505a6',\n unread: true,\n created_at: '2022-03-01T00:00:00Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC20 sent notification\n * @returns Mock raw ERC20 sent notification\n */\nexport function createMockNotificationERC20Sent(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ERC20_SENT,\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa9',\n trigger_id: '3fa85f64-5717-4562-b3fc-2c963f66afa9',\n chain_id: 1,\n block_number: 17485840,\n block_timestamp: '2022-03-01T00:00:00Z',\n tx_hash:\n '0xb2256b183f2fb3872f99294ab55fb03e6a479b0d4aca556a3b27568b712505a6',\n unread: true,\n created_at: '2022-03-01T00:00:00Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC20 received notification\n * @returns Mock raw ERC20 received notification\n */\nexport function createMockNotificationERC20Received(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ERC20_RECEIVED,\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n trigger_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n chain_id: 1,\n block_number: 17485840,\n block_timestamp: '2022-03-01T00:00:00Z',\n tx_hash:\n '0xb2256b183f2fb3872f99294ab55fb03e6a479b0d4aca556a3b27568b712505a6',\n unread: true,\n created_at: '2022-03-01T00:00:00Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC721 sent notification\n * @returns Mock raw ERC721 sent notification\n */\nexport function createMockNotificationERC721Sent(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ERC721_SENT,\n block_number: 18576643,\n block_timestamp: '1700043467',\n chain_id: 1,\n created_at: '2023-11-15T11:08:17.895407Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: 'a4193058-9814-537e-9df4-79dcac727fb6',\n trigger_id: '028485be-b994-422b-a93b-03fcc01ab715',\n tx_hash:\n '0x0833c69fb41cf972a0f031fceca242939bc3fcf82b964b74606649abcad371bd',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC721 received notification\n * @returns Mock raw ERC721 received notification\n */\nexport function createMockNotificationERC721Received(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ERC721_RECEIVED,\n block_number: 18571446,\n block_timestamp: '1699980623',\n chain_id: 1,\n created_at: '2023-11-14T17:40:52.319281Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: '00a79d24-befa-57ed-a55a-9eb8696e1654',\n trigger_id: 'd24ac26a-8579-49ec-9947-d04d63592ebd',\n tx_hash:\n '0xe554c9e29e6eeca8ba94da4d047334ba08b8eb9ca3b801dd69cec08dfdd4ae43',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC1155 sent notification\n * @returns Mock raw ERC1155 sent notification\n */\nexport function createMockNotificationERC1155Sent(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ERC1155_SENT,\n block_number: 18615206,\n block_timestamp: '1700510003',\n chain_id: 1,\n created_at: '2023-11-20T20:44:10.110706Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: 'a09ff9d1-623a-52ab-a3d4-c7c8c9a58362',\n trigger_id: 'e2130f7d-78b8-4c34-999a-3f3d3bb5b03c',\n tx_hash:\n '0x03381aba290facbaf71c123e263c8dc3dd550aac00ef589cce395182eaeff76f',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC1155 received notification\n * @returns Mock raw ERC1155 received notification\n */\nexport function createMockNotificationERC1155Received(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ERC1155_RECEIVED,\n block_number: 18615206,\n block_timestamp: '1700510003',\n chain_id: 1,\n created_at: '2023-11-20T20:44:10.110706Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: 'b6b93c84-e8dc-54ed-9396-7ea50474843a',\n trigger_id: '710c8abb-43a9-42a5-9d86-9dd258726c82',\n tx_hash:\n '0x03381aba290facbaf71c123e263c8dc3dd550aac00ef589cce395182eaeff76f',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock MetaMask Swaps notification\n * @returns Mock raw MetaMask Swaps notification\n */\nexport function createMockNotificationMetaMaskSwapsCompleted(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.METAMASK_SWAP_COMPLETED,\n block_number: 18377666,\n block_timestamp: '1697637275',\n chain_id: 1,\n created_at: '2023-10-18T13:58:49.854596Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: '7ddfe6a1-ac52-5ffe-aa40-f04242db4b8b',\n trigger_id: 'd2eaa2eb-2e6e-4fd5-8763-b70ea571b46c',\n tx_hash:\n '0xf69074290f3aa11bce567aabc9ca0df7a12559dfae1b80ba1a124e9dfe19ecc5',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock RocketPool Stake Completed notification\n * @returns Mock raw RocketPool Stake Completed notification\n */\nexport function createMockNotificationRocketPoolStakeCompleted(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ROCKETPOOL_STAKE_COMPLETED,\n block_number: 18585057,\n block_timestamp: '1700145059',\n chain_id: 1,\n created_at: '2023-11-20T12:02:48.796824Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: 'c2a2f225-b2fb-5d6c-ba56-e27a5c71ffb9',\n trigger_id: '5110ff97-acff-40c0-83b4-11d487b8c7b0',\n tx_hash:\n '0xcfc0693bf47995907b0f46ef0644cf16dd9a0de797099b2e00fd481e1b2117d3',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock RocketPool Un-staked notification\n * @returns Mock raw RocketPool Un-staked notification\n */\nexport function createMockNotificationRocketPoolUnStakeCompleted(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ROCKETPOOL_UNSTAKE_COMPLETED,\n block_number: 18384336,\n block_timestamp: '1697718011',\n chain_id: 1,\n created_at: '2023-10-19T13:11:10.623042Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: '291ec897-f569-4837-b6c0-21001b198dff',\n trigger_id: '291ec897-f569-4837-b6c0-21001b198dff',\n tx_hash:\n '0xc7972a7e409abfc62590ec90e633acd70b9b74e76ad02305be8bf133a0e22d5f',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Stake Completed notification\n * @returns Mock raw Lido Stake Completed notification\n */\nexport function createMockNotificationLidoStakeCompleted(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.LIDO_STAKE_COMPLETED,\n block_number: 18487118,\n block_timestamp: '1698961091',\n chain_id: 1,\n created_at: '2023-11-02T22:28:49.970865Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: 'ec10d66a-f78f-461f-83c9-609aada8cc50',\n trigger_id: 'ec10d66a-f78f-461f-83c9-609aada8cc50',\n tx_hash:\n '0x8cc0fa805f7c3b1743b14f3b91c6b824113b094f26d4ccaf6a71ad8547ce6a0f',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Withdrawal Requested notification\n * @returns Mock raw Lido Withdrawal Requested notification\n */\nexport function createMockNotificationLidoWithdrawalRequested(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.LIDO_WITHDRAWAL_REQUESTED,\n block_number: 18377760,\n block_timestamp: '1697638415',\n chain_id: 1,\n created_at: '2023-10-18T15:04:02.482526Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: 'ef003925-3379-4ba7-9e2d-8218690cadc9',\n trigger_id: 'ef003925-3379-4ba7-9e2d-8218690cadc9',\n tx_hash:\n '0x58b5f82e084cb750ea174e02b20fbdfd2ba8d78053deac787f34fc38e5d427aa',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Withdrawal Completed notification\n * @returns Mock raw Lido Withdrawal Completed notification\n */\nexport function createMockNotificationLidoWithdrawalCompleted(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.LIDO_WITHDRAWAL_COMPLETED,\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n created_at: '2023-10-18T16:35:03.147606Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: 'd73df14d-ce73-4f38-bad3-ab028154042f',\n trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042f',\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Withdrawal Ready notification\n * @returns Mock raw Lido Withdrawal Ready notification\n */\nexport function createMockNotificationLidoReadyToBeWithdrawn(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.LIDO_STAKE_READY_TO_BE_WITHDRAWN,\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n created_at: '2023-10-18T16:35:03.147606Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: 'd73df14d-ce73-4f38-bad3-ab028154042e',\n trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042e',\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Aave V3 Health Factor notification\n * @returns Mock raw Aave V3 Health Factor notification\n */\nexport function createMockNotificationAaveV3HealthFactor(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.AAVE_V3_HEALTH_FACTOR,\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n created_at: '2023-10-18T16:35:03.147606Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n data: {\n kind: 'aave_v3_health_factor',\n chainId: 1,\n healthFactor: '3.4',\n threshold: '5.5',\n },\n id: 'd73df14d-ce73-4f38-bad3-ab028154042b',\n trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042b',\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ENS Expiration notification\n * @returns Mock raw ENS Expiration notification\n */\nexport function createMockNotificationEnsExpiration(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ENS_EXPIRATION,\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n created_at: '2023-10-18T16:35:03.147606Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n data: {\n kind: 'ens_expiration',\n chainId: 1,\n reverseEnsName: 'example.eth',\n expirationDateIso: '2024-01-01T00:00:00Z',\n reminderDelayInSeconds: 86400,\n },\n id: 'f4ef0b7f-5612-537f-9144-0b5c63ae5391',\n trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042c',\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Staking Rewards notification\n * @returns Mock raw Lido Staking Rewards notification\n */\nexport function createMockNotificationLidoStakingRewards(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.LIDO_STAKING_REWARDS,\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n created_at: '2023-10-18T16:35:03.147606Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n data: {\n kind: 'lido_staking_rewards',\n chainId: 1,\n currentStethBalance: '100',\n currentEthValue: '10000.00',\n estimatedTotalRewardInPeriod: '10000.00',\n daysSinceLastNotification: 1,\n notificationIntervalDays: 1,\n },\n id: 'd73df14d-ce73-4f38-bad3-ab028154042l',\n trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042l',\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Notional Loan Expiration notification\n * @returns Mock raw Notional Loan Expiration notification\n */\nexport function createMockNotificationNotionalLoanExpiration(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.NOTIONAL_LOAN_EXPIRATION,\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n created_at: '2023-10-18T16:35:03.147606Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n data: {\n kind: 'notional_loan_expiration',\n chainId: 1,\n loans: [\n {\n amount: '100',\n symbol: 'ETH',\n maturityDateIso: '2024-01-01T00:00:00Z',\n },\n ],\n reminderDelayInSeconds: 86400,\n },\n id: 'd73df14d-ce73-4f38-bad3-ab028154042n',\n trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042n',\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Rocketpool Staking Rewards notification\n * @returns Mock raw Rocketpool Staking Rewards notification\n */\nexport function createMockNotificationRocketpoolStakingRewards(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ROCKETPOOL_STAKING_REWARDS,\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n created_at: '2023-10-18T16:35:03.147606Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n data: {\n kind: 'rocketpool_staking_rewards',\n chainId: 1,\n currentRethBalance: '100',\n currentEthValue: '10000.00',\n estimatedTotalRewardInPeriod: '10000.00',\n daysSinceLastNotification: 1,\n notificationIntervalDays: 1,\n },\n id: 'd73df14d-ce73-4f38-bad3-ab028154042r',\n trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042r',\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock SparkFi Health Factor notification\n * @returns Mock raw SparkFi Health Factor notification\n */\nexport function createMockNotificationSparkFiHealthFactor(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.SPARK_FI_HEALTH_FACTOR,\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n created_at: '2023-10-18T16:35:03.147606Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n data: {\n kind: 'spark_fi_health_factor',\n chainId: 1,\n healthFactor: '3.4',\n threshold: '5.5',\n },\n id: 'd73df14d-ce73-4f38-bad3-ab028154042s',\n trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042s',\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - creates an array of raw on-chain notifications\n * @returns Array of raw on-chain notifications\n */\nexport function createMockRawOnChainNotifications(): OnChainRawNotification[] {\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.mjs","sourceRoot":"","sources":["../../../src/NotificationServicesController/__fixtures__/mock-raw-notifications.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { TRIGGER_TYPES } from '../constants/notification-schema';\nimport type { OnChainRawNotification } from '../types/on-chain-notification/on-chain-notification';\n\n/**\n * Mocking Utility - create a mock Eth sent notification\n * @returns Mock raw Eth sent notification\n */\nexport function createMockNotificationEthSent(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ETH_SENT,\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa7',\n trigger_id: '3fa85f64-5717-4562-b3fc-2c963f66afa7',\n chain_id: 1,\n block_number: 17485840,\n block_timestamp: '2022-03-01T00:00:00Z',\n tx_hash:\n '0xb2256b183f2fb3872f99294ab55fb03e6a479b0d4aca556a3b27568b712505a6',\n unread: true,\n created_at: '2022-03-01T00:00:00Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Eth Received notification\n * @returns Mock raw Eth Received notification\n */\nexport function createMockNotificationEthReceived(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ETH_RECEIVED,\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa8',\n trigger_id: '3fa85f64-5717-4562-b3fc-2c963f66afa8',\n chain_id: 1,\n block_number: 17485840,\n block_timestamp: '2022-03-01T00:00:00Z',\n tx_hash:\n '0xb2256b183f2fb3872f99294ab55fb03e6a479b0d4aca556a3b27568b712505a6',\n unread: true,\n created_at: '2022-03-01T00:00:00Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC20 sent notification\n * @returns Mock raw ERC20 sent notification\n */\nexport function createMockNotificationERC20Sent(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ERC20_SENT,\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa9',\n trigger_id: '3fa85f64-5717-4562-b3fc-2c963f66afa9',\n chain_id: 1,\n block_number: 17485840,\n block_timestamp: '2022-03-01T00:00:00Z',\n tx_hash:\n '0xb2256b183f2fb3872f99294ab55fb03e6a479b0d4aca556a3b27568b712505a6',\n unread: true,\n created_at: '2022-03-01T00:00:00Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC20 received notification\n * @returns Mock raw ERC20 received notification\n */\nexport function createMockNotificationERC20Received(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ERC20_RECEIVED,\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n trigger_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n chain_id: 1,\n block_number: 17485840,\n block_timestamp: '2022-03-01T00:00:00Z',\n tx_hash:\n '0xb2256b183f2fb3872f99294ab55fb03e6a479b0d4aca556a3b27568b712505a6',\n unread: true,\n created_at: '2022-03-01T00:00:00Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC721 sent notification\n * @returns Mock raw ERC721 sent notification\n */\nexport function createMockNotificationERC721Sent(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ERC721_SENT,\n block_number: 18576643,\n block_timestamp: '1700043467',\n chain_id: 1,\n created_at: '2023-11-15T11:08:17.895407Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: 'a4193058-9814-537e-9df4-79dcac727fb6',\n trigger_id: '028485be-b994-422b-a93b-03fcc01ab715',\n tx_hash:\n '0x0833c69fb41cf972a0f031fceca242939bc3fcf82b964b74606649abcad371bd',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC721 received notification\n * @returns Mock raw ERC721 received notification\n */\nexport function createMockNotificationERC721Received(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ERC721_RECEIVED,\n block_number: 18571446,\n block_timestamp: '1699980623',\n chain_id: 1,\n created_at: '2023-11-14T17:40:52.319281Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: '00a79d24-befa-57ed-a55a-9eb8696e1654',\n trigger_id: 'd24ac26a-8579-49ec-9947-d04d63592ebd',\n tx_hash:\n '0xe554c9e29e6eeca8ba94da4d047334ba08b8eb9ca3b801dd69cec08dfdd4ae43',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC1155 sent notification\n * @returns Mock raw ERC1155 sent notification\n */\nexport function createMockNotificationERC1155Sent(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ERC1155_SENT,\n block_number: 18615206,\n block_timestamp: '1700510003',\n chain_id: 1,\n created_at: '2023-11-20T20:44:10.110706Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: 'a09ff9d1-623a-52ab-a3d4-c7c8c9a58362',\n trigger_id: 'e2130f7d-78b8-4c34-999a-3f3d3bb5b03c',\n tx_hash:\n '0x03381aba290facbaf71c123e263c8dc3dd550aac00ef589cce395182eaeff76f',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ERC1155 received notification\n * @returns Mock raw ERC1155 received notification\n */\nexport function createMockNotificationERC1155Received(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ERC1155_RECEIVED,\n block_number: 18615206,\n block_timestamp: '1700510003',\n chain_id: 1,\n created_at: '2023-11-20T20:44:10.110706Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: 'b6b93c84-e8dc-54ed-9396-7ea50474843a',\n trigger_id: '710c8abb-43a9-42a5-9d86-9dd258726c82',\n tx_hash:\n '0x03381aba290facbaf71c123e263c8dc3dd550aac00ef589cce395182eaeff76f',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock MetaMask Swaps notification\n * @returns Mock raw MetaMask Swaps notification\n */\nexport function createMockNotificationMetaMaskSwapsCompleted(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.METAMASK_SWAP_COMPLETED,\n block_number: 18377666,\n block_timestamp: '1697637275',\n chain_id: 1,\n created_at: '2023-10-18T13:58:49.854596Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: '7ddfe6a1-ac52-5ffe-aa40-f04242db4b8b',\n trigger_id: 'd2eaa2eb-2e6e-4fd5-8763-b70ea571b46c',\n tx_hash:\n '0xf69074290f3aa11bce567aabc9ca0df7a12559dfae1b80ba1a124e9dfe19ecc5',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock RocketPool Stake Completed notification\n * @returns Mock raw RocketPool Stake Completed notification\n */\nexport function createMockNotificationRocketPoolStakeCompleted(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ROCKETPOOL_STAKE_COMPLETED,\n block_number: 18585057,\n block_timestamp: '1700145059',\n chain_id: 1,\n created_at: '2023-11-20T12:02:48.796824Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: 'c2a2f225-b2fb-5d6c-ba56-e27a5c71ffb9',\n trigger_id: '5110ff97-acff-40c0-83b4-11d487b8c7b0',\n tx_hash:\n '0xcfc0693bf47995907b0f46ef0644cf16dd9a0de797099b2e00fd481e1b2117d3',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock RocketPool Un-staked notification\n * @returns Mock raw RocketPool Un-staked notification\n */\nexport function createMockNotificationRocketPoolUnStakeCompleted(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ROCKETPOOL_UNSTAKE_COMPLETED,\n block_number: 18384336,\n block_timestamp: '1697718011',\n chain_id: 1,\n created_at: '2023-10-19T13:11:10.623042Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: '291ec897-f569-4837-b6c0-21001b198dff',\n trigger_id: '291ec897-f569-4837-b6c0-21001b198dff',\n tx_hash:\n '0xc7972a7e409abfc62590ec90e633acd70b9b74e76ad02305be8bf133a0e22d5f',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Stake Completed notification\n * @returns Mock raw Lido Stake Completed notification\n */\nexport function createMockNotificationLidoStakeCompleted(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.LIDO_STAKE_COMPLETED,\n block_number: 18487118,\n block_timestamp: '1698961091',\n chain_id: 1,\n created_at: '2023-11-02T22:28:49.970865Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: 'ec10d66a-f78f-461f-83c9-609aada8cc50',\n trigger_id: 'ec10d66a-f78f-461f-83c9-609aada8cc50',\n tx_hash:\n '0x8cc0fa805f7c3b1743b14f3b91c6b824113b094f26d4ccaf6a71ad8547ce6a0f',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Withdrawal Requested notification\n * @returns Mock raw Lido Withdrawal Requested notification\n */\nexport function createMockNotificationLidoWithdrawalRequested(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.LIDO_WITHDRAWAL_REQUESTED,\n block_number: 18377760,\n block_timestamp: '1697638415',\n chain_id: 1,\n created_at: '2023-10-18T15:04:02.482526Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: 'ef003925-3379-4ba7-9e2d-8218690cadc9',\n trigger_id: 'ef003925-3379-4ba7-9e2d-8218690cadc9',\n tx_hash:\n '0x58b5f82e084cb750ea174e02b20fbdfd2ba8d78053deac787f34fc38e5d427aa',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Withdrawal Completed notification\n * @returns Mock raw Lido Withdrawal Completed notification\n */\nexport function createMockNotificationLidoWithdrawalCompleted(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.LIDO_WITHDRAWAL_COMPLETED,\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n created_at: '2023-10-18T16:35:03.147606Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: 'd73df14d-ce73-4f38-bad3-ab028154042f',\n trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042f',\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Withdrawal Ready notification\n * @returns Mock raw Lido Withdrawal Ready notification\n */\nexport function createMockNotificationLidoReadyToBeWithdrawn(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.LIDO_STAKE_READY_TO_BE_WITHDRAWN,\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n created_at: '2023-10-18T16:35:03.147606Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\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 id: 'd73df14d-ce73-4f38-bad3-ab028154042e',\n trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042e',\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Aave V3 Health Factor notification\n * @returns Mock raw Aave V3 Health Factor notification\n */\nexport function createMockNotificationAaveV3HealthFactor(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.AAVE_V3_HEALTH_FACTOR,\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n created_at: '2023-10-18T16:35:03.147606Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n data: {\n kind: 'aave_v3_health_factor',\n chainId: 1,\n healthFactor: '3.4',\n threshold: '5.5',\n },\n id: 'd73df14d-ce73-4f38-bad3-ab028154042b',\n trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042b',\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock ENS Expiration notification\n * @returns Mock raw ENS Expiration notification\n */\nexport function createMockNotificationEnsExpiration(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ENS_EXPIRATION,\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n created_at: '2023-10-18T16:35:03.147606Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n data: {\n kind: 'ens_expiration',\n chainId: 1,\n reverseEnsName: 'vitalik.eth',\n expirationDateIso: '2024-01-01T00:00:00Z',\n reminderDelayInSeconds: 86400,\n },\n id: 'f4ef0b7f-5612-537f-9144-0b5c63ae5391',\n trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042c',\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Lido Staking Rewards notification\n * @returns Mock raw Lido Staking Rewards notification\n */\nexport function createMockNotificationLidoStakingRewards(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.LIDO_STAKING_REWARDS,\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n created_at: '2023-10-18T16:35:03.147606Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n data: {\n kind: 'lido_staking_rewards',\n chainId: 1,\n currentStethBalance: '10',\n currentEthValue: '10.5',\n estimatedTotalRewardInPeriod: '0.5',\n daysSinceLastNotification: 30,\n notificationIntervalDays: 30,\n },\n id: 'd73df14d-ce73-4f38-bad3-ab028154042l',\n trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042l',\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Notional Loan Expiration notification\n * @returns Mock raw Notional Loan Expiration notification\n */\nexport function createMockNotificationNotionalLoanExpiration(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.NOTIONAL_LOAN_EXPIRATION,\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n created_at: '2023-10-18T16:35:03.147606Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n data: {\n kind: 'notional_loan_expiration',\n chainId: 1,\n loans: [\n {\n amount: '1.1234',\n symbol: 'ETH',\n maturityDateIso: '2024-01-01T00:00:00Z',\n },\n ],\n reminderDelayInSeconds: 86400,\n },\n id: 'd73df14d-ce73-4f38-bad3-ab028154042n',\n trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042n',\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock Rocketpool Staking Rewards notification\n * @returns Mock raw Rocketpool Staking Rewards notification\n */\nexport function createMockNotificationRocketpoolStakingRewards(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.ROCKETPOOL_STAKING_REWARDS,\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n created_at: '2023-10-18T16:35:03.147606Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n data: {\n kind: 'rocketpool_staking_rewards',\n chainId: 1,\n currentRethBalance: '10',\n currentEthValue: '10.5',\n estimatedTotalRewardInPeriod: '0.5',\n daysSinceLastNotification: 30,\n notificationIntervalDays: 30,\n },\n id: 'd73df14d-ce73-4f38-bad3-ab028154042r',\n trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042r',\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - create a mock SparkFi Health Factor notification\n * @returns Mock raw SparkFi Health Factor notification\n */\nexport function createMockNotificationSparkFiHealthFactor(): OnChainRawNotification {\n const mockNotification: OnChainRawNotification = {\n type: TRIGGER_TYPES.SPARK_FI_HEALTH_FACTOR,\n block_number: 18378208,\n block_timestamp: '1697643851',\n chain_id: 1,\n created_at: '2023-10-18T16:35:03.147606Z',\n address: '0x881D40237659C251811CEC9c364ef91dC08D300C',\n data: {\n kind: 'spark_fi_health_factor',\n chainId: 1,\n healthFactor: '3.4',\n threshold: '5.5',\n },\n id: 'd73df14d-ce73-4f38-bad3-ab028154042s',\n trigger_id: 'd73df14d-ce73-4f38-bad3-ab028154042s',\n tx_hash:\n '0xe6d210d2e601ef3dd1075c48e71452cf35f2daae3886911e964e3babad8ac657',\n unread: true,\n };\n\n return mockNotification;\n}\n\n/**\n * Mocking Utility - creates an array of raw on-chain notifications\n * @returns Array of raw on-chain notifications\n */\nexport function createMockRawOnChainNotifications(): OnChainRawNotification[] {\n return [1, 2, 3].map((id) => {\n const notification = createMockNotificationEthSent();\n notification.id += `-${id}`;\n return notification;\n });\n}\n"]}
@@ -1,19 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFeatureAnnouncementNotifications = exports.FEATURE_ANNOUNCEMENT_URL = exports.FEATURE_ANNOUNCEMENT_API = void 0;
3
+ exports.getFeatureAnnouncementNotifications = exports.getFeatureAnnouncementUrl = exports.FEATURE_ANNOUNCEMENT_URL = exports.FEATURE_ANNOUNCEMENT_API = void 0;
4
4
  const rich_text_html_renderer_1 = require("@contentful/rich-text-html-renderer");
5
5
  const notification_schema_1 = require("../constants/notification-schema.cjs");
6
6
  const process_feature_announcement_1 = require("../processors/process-feature-announcement.cjs");
7
7
  const DEFAULT_SPACE_ID = ':space_id';
8
8
  const DEFAULT_ACCESS_TOKEN = ':access_token';
9
9
  const DEFAULT_CLIENT_ID = ':client_id';
10
- exports.FEATURE_ANNOUNCEMENT_API = `https://cdn.contentful.com/spaces/${DEFAULT_SPACE_ID}/environments/master/entries`;
10
+ const DEFAULT_DOMAIN = 'cdn.contentful.com';
11
+ const PREVIEW_DOMAIN = 'preview.contentful.com';
12
+ exports.FEATURE_ANNOUNCEMENT_API = `https://${DEFAULT_DOMAIN}/spaces/${DEFAULT_SPACE_ID}/environments/master/entries`;
11
13
  exports.FEATURE_ANNOUNCEMENT_URL = `${exports.FEATURE_ANNOUNCEMENT_API}?access_token=${DEFAULT_ACCESS_TOKEN}&content_type=productAnnouncement&include=10&fields.clients=${DEFAULT_CLIENT_ID}`;
12
- const getFeatureAnnouncementUrl = (env) => exports.FEATURE_ANNOUNCEMENT_URL.replace(DEFAULT_SPACE_ID, env.spaceId)
13
- .replace(DEFAULT_ACCESS_TOKEN, env.accessToken)
14
- .replace(DEFAULT_CLIENT_ID, env.platform);
15
- const fetchFeatureAnnouncementNotifications = async (env) => {
16
- const url = getFeatureAnnouncementUrl(env);
14
+ const getFeatureAnnouncementUrl = (env, previewToken) => {
15
+ const domain = previewToken ? PREVIEW_DOMAIN : DEFAULT_DOMAIN;
16
+ return exports.FEATURE_ANNOUNCEMENT_URL.replace(DEFAULT_SPACE_ID, env.spaceId)
17
+ .replace(DEFAULT_ACCESS_TOKEN, previewToken || env.accessToken)
18
+ .replace(DEFAULT_CLIENT_ID, env.platform)
19
+ .replace(DEFAULT_DOMAIN, domain);
20
+ };
21
+ exports.getFeatureAnnouncementUrl = getFeatureAnnouncementUrl;
22
+ const fetchFeatureAnnouncementNotifications = async (env, previewToken) => {
23
+ const url = (0, exports.getFeatureAnnouncementUrl)(env, previewToken);
17
24
  const data = await fetch(url)
18
25
  .then((r) => r.json())
19
26
  .catch(() => null);
@@ -83,11 +90,12 @@ const fetchFeatureAnnouncementNotifications = async (env) => {
83
90
  /**
84
91
  * Gets Feature Announcement from our services
85
92
  * @param env - environment for feature announcements
93
+ * @param previewToken - the preview token to use if needed
86
94
  * @returns Raw Feature Announcements
87
95
  */
88
- async function getFeatureAnnouncementNotifications(env) {
96
+ async function getFeatureAnnouncementNotifications(env, previewToken) {
89
97
  if (env?.accessToken && env?.spaceId && env?.platform) {
90
- const rawNotifications = await fetchFeatureAnnouncementNotifications(env);
98
+ const rawNotifications = await fetchFeatureAnnouncementNotifications(env, previewToken);
91
99
  const notifications = rawNotifications.map((notification) => (0, process_feature_announcement_1.processFeatureAnnouncement)(notification));
92
100
  return notifications;
93
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"feature-announcements.cjs","sourceRoot":"","sources":["../../../src/NotificationServicesController/services/feature-announcements.ts"],"names":[],"mappings":"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","sourcesContent":["import { documentToHtmlString } from '@contentful/rich-text-html-renderer';\nimport type { Entry, Asset, EntryCollection } from 'contentful';\n\nimport { TRIGGER_TYPES } from '../constants/notification-schema';\nimport { processFeatureAnnouncement } from '../processors/process-feature-announcement';\nimport type { FeatureAnnouncementRawNotification } from '../types/feature-announcement/feature-announcement';\nimport type {\n ImageFields,\n TypeFeatureAnnouncement,\n} from '../types/feature-announcement/type-feature-announcement';\nimport type {\n TypeExternalLinkFields,\n TypePortfolioLinkFields,\n TypeExtensionLinkFields,\n TypeMobileLinkFields,\n} from '../types/feature-announcement/type-links';\nimport type { INotification } from '../types/notification/notification';\n\nconst DEFAULT_SPACE_ID = ':space_id';\nconst DEFAULT_ACCESS_TOKEN = ':access_token';\nconst DEFAULT_CLIENT_ID = ':client_id';\nexport const FEATURE_ANNOUNCEMENT_API = `https://cdn.contentful.com/spaces/${DEFAULT_SPACE_ID}/environments/master/entries`;\nexport const FEATURE_ANNOUNCEMENT_URL = `${FEATURE_ANNOUNCEMENT_API}?access_token=${DEFAULT_ACCESS_TOKEN}&content_type=productAnnouncement&include=10&fields.clients=${DEFAULT_CLIENT_ID}`;\n\ntype Env = {\n spaceId: string;\n accessToken: string;\n platform: string;\n};\n\n/**\n * Contentful API Response Shape\n */\nexport type ContentfulResult = {\n includes?: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Entry?: Entry[];\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Asset?: Asset[];\n };\n items?: TypeFeatureAnnouncement[];\n};\n\nconst getFeatureAnnouncementUrl = (env: Env) =>\n FEATURE_ANNOUNCEMENT_URL.replace(DEFAULT_SPACE_ID, env.spaceId)\n .replace(DEFAULT_ACCESS_TOKEN, env.accessToken)\n .replace(DEFAULT_CLIENT_ID, env.platform);\n\nconst fetchFeatureAnnouncementNotifications = async (\n env: Env,\n): Promise<FeatureAnnouncementRawNotification[]> => {\n const url = getFeatureAnnouncementUrl(env);\n\n const data = await fetch(url)\n .then((r) => r.json())\n .catch(() => null);\n\n if (!data) {\n return [];\n }\n\n const findIncludedItem = (sysId: string) => {\n const typedData: EntryCollection<\n | ImageFields\n | TypeExtensionLinkFields\n | TypePortfolioLinkFields\n | TypeMobileLinkFields\n | TypeExternalLinkFields\n > = data;\n const item =\n typedData?.includes?.Entry?.find((i: Entry) => i?.sys?.id === sysId) ||\n typedData?.includes?.Asset?.find((i: Asset) => i?.sys?.id === sysId);\n return item ? item?.fields : null;\n };\n\n const contentfulNotifications = data?.items ?? [];\n const rawNotifications: FeatureAnnouncementRawNotification[] =\n contentfulNotifications.map((n: TypeFeatureAnnouncement) => {\n const { fields } = n;\n const imageFields = fields.image\n ? (findIncludedItem(fields.image.sys.id) as ImageFields['fields'])\n : undefined;\n\n const externalLinkFields = fields.externalLink\n ? (findIncludedItem(\n fields.externalLink.sys.id,\n ) as TypeExternalLinkFields['fields'])\n : undefined;\n const portfolioLinkFields = fields.portfolioLink\n ? (findIncludedItem(\n fields.portfolioLink.sys.id,\n ) as TypePortfolioLinkFields['fields'])\n : undefined;\n const extensionLinkFields = fields.extensionLink\n ? (findIncludedItem(\n fields.extensionLink.sys.id,\n ) as TypeExtensionLinkFields['fields'])\n : undefined;\n const mobileLinkFields = fields.mobileLink\n ? (findIncludedItem(\n fields.mobileLink.sys.id,\n ) as TypeMobileLinkFields['fields'])\n : undefined;\n\n const notification: FeatureAnnouncementRawNotification = {\n type: TRIGGER_TYPES.FEATURES_ANNOUNCEMENT,\n createdAt: new Date(n.sys.createdAt).toString(),\n data: {\n id: fields.id,\n category: fields.category,\n title: fields.title,\n longDescription: documentToHtmlString(fields.longDescription),\n shortDescription: fields.shortDescription,\n image: {\n title: imageFields?.title,\n description: imageFields?.description,\n url: imageFields?.file?.url ?? '',\n },\n externalLink: externalLinkFields && {\n externalLinkText: externalLinkFields?.externalLinkText,\n externalLinkUrl: externalLinkFields?.externalLinkUrl,\n },\n portfolioLink: portfolioLinkFields && {\n portfolioLinkText: portfolioLinkFields?.portfolioLinkText,\n portfolioLinkUrl: portfolioLinkFields?.portfolioLinkUrl,\n },\n extensionLink: extensionLinkFields && {\n extensionLinkText: extensionLinkFields?.extensionLinkText,\n extensionLinkRoute: extensionLinkFields?.extensionLinkRoute,\n },\n mobileLink: mobileLinkFields && {\n mobileLinkText: mobileLinkFields?.mobileLinkText,\n mobileLinkUrl: mobileLinkFields?.mobileLinkUrl,\n },\n },\n };\n\n return notification;\n });\n\n return rawNotifications;\n};\n\n/**\n * Gets Feature Announcement from our services\n * @param env - environment for feature announcements\n * @returns Raw Feature Announcements\n */\nexport async function getFeatureAnnouncementNotifications(\n env: Env,\n): Promise<INotification[]> {\n if (env?.accessToken && env?.spaceId && env?.platform) {\n const rawNotifications = await fetchFeatureAnnouncementNotifications(env);\n const notifications = rawNotifications.map((notification) =>\n processFeatureAnnouncement(notification),\n );\n\n return notifications;\n }\n\n return [];\n}\n"]}
1
+ {"version":3,"file":"feature-announcements.cjs","sourceRoot":"","sources":["../../../src/NotificationServicesController/services/feature-announcements.ts"],"names":[],"mappings":"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","sourcesContent":["import { documentToHtmlString } from '@contentful/rich-text-html-renderer';\nimport type { Entry, Asset, EntryCollection } from 'contentful';\n\nimport { TRIGGER_TYPES } from '../constants/notification-schema';\nimport { processFeatureAnnouncement } from '../processors/process-feature-announcement';\nimport type { FeatureAnnouncementRawNotification } from '../types/feature-announcement/feature-announcement';\nimport type {\n ImageFields,\n TypeFeatureAnnouncement,\n} from '../types/feature-announcement/type-feature-announcement';\nimport type {\n TypeExternalLinkFields,\n TypePortfolioLinkFields,\n TypeExtensionLinkFields,\n TypeMobileLinkFields,\n} from '../types/feature-announcement/type-links';\nimport type { INotification } from '../types/notification/notification';\n\nconst DEFAULT_SPACE_ID = ':space_id';\nconst DEFAULT_ACCESS_TOKEN = ':access_token';\nconst DEFAULT_CLIENT_ID = ':client_id';\nconst DEFAULT_DOMAIN = 'cdn.contentful.com';\nconst PREVIEW_DOMAIN = 'preview.contentful.com';\nexport const FEATURE_ANNOUNCEMENT_API = `https://${DEFAULT_DOMAIN}/spaces/${DEFAULT_SPACE_ID}/environments/master/entries`;\nexport const FEATURE_ANNOUNCEMENT_URL = `${FEATURE_ANNOUNCEMENT_API}?access_token=${DEFAULT_ACCESS_TOKEN}&content_type=productAnnouncement&include=10&fields.clients=${DEFAULT_CLIENT_ID}`;\n\ntype Env = {\n spaceId: string;\n accessToken: string;\n platform: string;\n};\n\n/**\n * Contentful API Response Shape\n */\nexport type ContentfulResult = {\n includes?: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Entry?: Entry[];\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Asset?: Asset[];\n };\n items?: TypeFeatureAnnouncement[];\n};\n\nexport const getFeatureAnnouncementUrl = (env: Env, previewToken?: string) => {\n const domain = previewToken ? PREVIEW_DOMAIN : DEFAULT_DOMAIN;\n return FEATURE_ANNOUNCEMENT_URL.replace(DEFAULT_SPACE_ID, env.spaceId)\n .replace(DEFAULT_ACCESS_TOKEN, previewToken || env.accessToken)\n .replace(DEFAULT_CLIENT_ID, env.platform)\n .replace(DEFAULT_DOMAIN, domain);\n};\n\nconst fetchFeatureAnnouncementNotifications = async (\n env: Env,\n previewToken?: string,\n): Promise<FeatureAnnouncementRawNotification[]> => {\n const url = getFeatureAnnouncementUrl(env, previewToken);\n\n const data = await fetch(url)\n .then((r) => r.json())\n .catch(() => null);\n\n if (!data) {\n return [];\n }\n\n const findIncludedItem = (sysId: string) => {\n const typedData: EntryCollection<\n | ImageFields\n | TypeExtensionLinkFields\n | TypePortfolioLinkFields\n | TypeMobileLinkFields\n | TypeExternalLinkFields\n > = data;\n const item =\n typedData?.includes?.Entry?.find((i: Entry) => i?.sys?.id === sysId) ||\n typedData?.includes?.Asset?.find((i: Asset) => i?.sys?.id === sysId);\n return item ? item?.fields : null;\n };\n\n const contentfulNotifications = data?.items ?? [];\n const rawNotifications: FeatureAnnouncementRawNotification[] =\n contentfulNotifications.map((n: TypeFeatureAnnouncement) => {\n const { fields } = n;\n const imageFields = fields.image\n ? (findIncludedItem(fields.image.sys.id) as ImageFields['fields'])\n : undefined;\n\n const externalLinkFields = fields.externalLink\n ? (findIncludedItem(\n fields.externalLink.sys.id,\n ) as TypeExternalLinkFields['fields'])\n : undefined;\n const portfolioLinkFields = fields.portfolioLink\n ? (findIncludedItem(\n fields.portfolioLink.sys.id,\n ) as TypePortfolioLinkFields['fields'])\n : undefined;\n const extensionLinkFields = fields.extensionLink\n ? (findIncludedItem(\n fields.extensionLink.sys.id,\n ) as TypeExtensionLinkFields['fields'])\n : undefined;\n const mobileLinkFields = fields.mobileLink\n ? (findIncludedItem(\n fields.mobileLink.sys.id,\n ) as TypeMobileLinkFields['fields'])\n : undefined;\n\n const notification: FeatureAnnouncementRawNotification = {\n type: TRIGGER_TYPES.FEATURES_ANNOUNCEMENT,\n createdAt: new Date(n.sys.createdAt).toString(),\n data: {\n id: fields.id,\n category: fields.category,\n title: fields.title,\n longDescription: documentToHtmlString(fields.longDescription),\n shortDescription: fields.shortDescription,\n image: {\n title: imageFields?.title,\n description: imageFields?.description,\n url: imageFields?.file?.url ?? '',\n },\n externalLink: externalLinkFields && {\n externalLinkText: externalLinkFields?.externalLinkText,\n externalLinkUrl: externalLinkFields?.externalLinkUrl,\n },\n portfolioLink: portfolioLinkFields && {\n portfolioLinkText: portfolioLinkFields?.portfolioLinkText,\n portfolioLinkUrl: portfolioLinkFields?.portfolioLinkUrl,\n },\n extensionLink: extensionLinkFields && {\n extensionLinkText: extensionLinkFields?.extensionLinkText,\n extensionLinkRoute: extensionLinkFields?.extensionLinkRoute,\n },\n mobileLink: mobileLinkFields && {\n mobileLinkText: mobileLinkFields?.mobileLinkText,\n mobileLinkUrl: mobileLinkFields?.mobileLinkUrl,\n },\n },\n };\n\n return notification;\n });\n\n return rawNotifications;\n};\n\n/**\n * Gets Feature Announcement from our services\n * @param env - environment for feature announcements\n * @param previewToken - the preview token to use if needed\n * @returns Raw Feature Announcements\n */\nexport async function getFeatureAnnouncementNotifications(\n env: Env,\n previewToken?: string,\n): Promise<INotification[]> {\n if (env?.accessToken && env?.spaceId && env?.platform) {\n const rawNotifications = await fetchFeatureAnnouncementNotifications(\n env,\n previewToken,\n );\n const notifications = rawNotifications.map((notification) =>\n processFeatureAnnouncement(notification),\n );\n\n return notifications;\n }\n\n return [];\n}\n"]}
@@ -18,11 +18,13 @@ export type ContentfulResult = {
18
18
  };
19
19
  items?: TypeFeatureAnnouncement[];
20
20
  };
21
+ export declare const getFeatureAnnouncementUrl: (env: Env, previewToken?: string) => string;
21
22
  /**
22
23
  * Gets Feature Announcement from our services
23
24
  * @param env - environment for feature announcements
25
+ * @param previewToken - the preview token to use if needed
24
26
  * @returns Raw Feature Announcements
25
27
  */
26
- export declare function getFeatureAnnouncementNotifications(env: Env): Promise<INotification[]>;
28
+ export declare function getFeatureAnnouncementNotifications(env: Env, previewToken?: string): Promise<INotification[]>;
27
29
  export {};
28
30
  //# sourceMappingURL=feature-announcements.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-announcements.d.cts","sourceRoot":"","sources":["../../../src/NotificationServicesController/services/feature-announcements.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAmB,mBAAmB;AAKhE,OAAO,KAAK,EAEV,uBAAuB,EACxB,oEAAgE;AAOjE,OAAO,KAAK,EAAE,aAAa,EAAE,+CAA2C;AAKxE,eAAO,MAAM,wBAAwB,4EAAsF,CAAC;AAC5H,eAAO,MAAM,wBAAwB,6KAAqJ,CAAC;AAE3L,KAAK,GAAG,GAAG;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE;QAET,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;QAEhB,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;KACjB,CAAC;IACF,KAAK,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACnC,CAAC;AAsGF;;;;GAIG;AACH,wBAAsB,mCAAmC,CACvD,GAAG,EAAE,GAAG,GACP,OAAO,CAAC,aAAa,EAAE,CAAC,CAW1B"}
1
+ {"version":3,"file":"feature-announcements.d.cts","sourceRoot":"","sources":["../../../src/NotificationServicesController/services/feature-announcements.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAmB,mBAAmB;AAKhE,OAAO,KAAK,EAEV,uBAAuB,EACxB,oEAAgE;AAOjE,OAAO,KAAK,EAAE,aAAa,EAAE,+CAA2C;AAOxE,eAAO,MAAM,wBAAwB,4EAAqF,CAAC;AAC3H,eAAO,MAAM,wBAAwB,6KAAqJ,CAAC;AAE3L,KAAK,GAAG,GAAG;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE;QAET,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;QAEhB,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;KACjB,CAAC;IACF,KAAK,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAS,GAAG,iBAAiB,MAAM,WAMxE,CAAC;AAkGF;;;;;GAKG;AACH,wBAAsB,mCAAmC,CACvD,GAAG,EAAE,GAAG,EACR,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,EAAE,CAAC,CAc1B"}
@@ -18,11 +18,13 @@ export type ContentfulResult = {
18
18
  };
19
19
  items?: TypeFeatureAnnouncement[];
20
20
  };
21
+ export declare const getFeatureAnnouncementUrl: (env: Env, previewToken?: string) => string;
21
22
  /**
22
23
  * Gets Feature Announcement from our services
23
24
  * @param env - environment for feature announcements
25
+ * @param previewToken - the preview token to use if needed
24
26
  * @returns Raw Feature Announcements
25
27
  */
26
- export declare function getFeatureAnnouncementNotifications(env: Env): Promise<INotification[]>;
28
+ export declare function getFeatureAnnouncementNotifications(env: Env, previewToken?: string): Promise<INotification[]>;
27
29
  export {};
28
30
  //# sourceMappingURL=feature-announcements.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-announcements.d.mts","sourceRoot":"","sources":["../../../src/NotificationServicesController/services/feature-announcements.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAmB,mBAAmB;AAKhE,OAAO,KAAK,EAEV,uBAAuB,EACxB,oEAAgE;AAOjE,OAAO,KAAK,EAAE,aAAa,EAAE,+CAA2C;AAKxE,eAAO,MAAM,wBAAwB,4EAAsF,CAAC;AAC5H,eAAO,MAAM,wBAAwB,6KAAqJ,CAAC;AAE3L,KAAK,GAAG,GAAG;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE;QAET,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;QAEhB,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;KACjB,CAAC;IACF,KAAK,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACnC,CAAC;AAsGF;;;;GAIG;AACH,wBAAsB,mCAAmC,CACvD,GAAG,EAAE,GAAG,GACP,OAAO,CAAC,aAAa,EAAE,CAAC,CAW1B"}
1
+ {"version":3,"file":"feature-announcements.d.mts","sourceRoot":"","sources":["../../../src/NotificationServicesController/services/feature-announcements.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAmB,mBAAmB;AAKhE,OAAO,KAAK,EAEV,uBAAuB,EACxB,oEAAgE;AAOjE,OAAO,KAAK,EAAE,aAAa,EAAE,+CAA2C;AAOxE,eAAO,MAAM,wBAAwB,4EAAqF,CAAC;AAC3H,eAAO,MAAM,wBAAwB,6KAAqJ,CAAC;AAE3L,KAAK,GAAG,GAAG;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE;QAET,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;QAEhB,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;KACjB,CAAC;IACF,KAAK,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAS,GAAG,iBAAiB,MAAM,WAMxE,CAAC;AAkGF;;;;;GAKG;AACH,wBAAsB,mCAAmC,CACvD,GAAG,EAAE,GAAG,EACR,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,EAAE,CAAC,CAc1B"}
@@ -4,13 +4,19 @@ import { processFeatureAnnouncement } from "../processors/process-feature-announ
4
4
  const DEFAULT_SPACE_ID = ':space_id';
5
5
  const DEFAULT_ACCESS_TOKEN = ':access_token';
6
6
  const DEFAULT_CLIENT_ID = ':client_id';
7
- export const FEATURE_ANNOUNCEMENT_API = `https://cdn.contentful.com/spaces/${DEFAULT_SPACE_ID}/environments/master/entries`;
7
+ const DEFAULT_DOMAIN = 'cdn.contentful.com';
8
+ const PREVIEW_DOMAIN = 'preview.contentful.com';
9
+ export const FEATURE_ANNOUNCEMENT_API = `https://${DEFAULT_DOMAIN}/spaces/${DEFAULT_SPACE_ID}/environments/master/entries`;
8
10
  export const FEATURE_ANNOUNCEMENT_URL = `${FEATURE_ANNOUNCEMENT_API}?access_token=${DEFAULT_ACCESS_TOKEN}&content_type=productAnnouncement&include=10&fields.clients=${DEFAULT_CLIENT_ID}`;
9
- const getFeatureAnnouncementUrl = (env) => FEATURE_ANNOUNCEMENT_URL.replace(DEFAULT_SPACE_ID, env.spaceId)
10
- .replace(DEFAULT_ACCESS_TOKEN, env.accessToken)
11
- .replace(DEFAULT_CLIENT_ID, env.platform);
12
- const fetchFeatureAnnouncementNotifications = async (env) => {
13
- const url = getFeatureAnnouncementUrl(env);
11
+ export const getFeatureAnnouncementUrl = (env, previewToken) => {
12
+ const domain = previewToken ? PREVIEW_DOMAIN : DEFAULT_DOMAIN;
13
+ return FEATURE_ANNOUNCEMENT_URL.replace(DEFAULT_SPACE_ID, env.spaceId)
14
+ .replace(DEFAULT_ACCESS_TOKEN, previewToken || env.accessToken)
15
+ .replace(DEFAULT_CLIENT_ID, env.platform)
16
+ .replace(DEFAULT_DOMAIN, domain);
17
+ };
18
+ const fetchFeatureAnnouncementNotifications = async (env, previewToken) => {
19
+ const url = getFeatureAnnouncementUrl(env, previewToken);
14
20
  const data = await fetch(url)
15
21
  .then((r) => r.json())
16
22
  .catch(() => null);
@@ -80,11 +86,12 @@ const fetchFeatureAnnouncementNotifications = async (env) => {
80
86
  /**
81
87
  * Gets Feature Announcement from our services
82
88
  * @param env - environment for feature announcements
89
+ * @param previewToken - the preview token to use if needed
83
90
  * @returns Raw Feature Announcements
84
91
  */
85
- export async function getFeatureAnnouncementNotifications(env) {
92
+ export async function getFeatureAnnouncementNotifications(env, previewToken) {
86
93
  if (env?.accessToken && env?.spaceId && env?.platform) {
87
- const rawNotifications = await fetchFeatureAnnouncementNotifications(env);
94
+ const rawNotifications = await fetchFeatureAnnouncementNotifications(env, previewToken);
88
95
  const notifications = rawNotifications.map((notification) => processFeatureAnnouncement(notification));
89
96
  return notifications;
90
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"feature-announcements.mjs","sourceRoot":"","sources":["../../../src/NotificationServicesController/services/feature-announcements.ts"],"names":[],"mappings":"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","sourcesContent":["import { documentToHtmlString } from '@contentful/rich-text-html-renderer';\nimport type { Entry, Asset, EntryCollection } from 'contentful';\n\nimport { TRIGGER_TYPES } from '../constants/notification-schema';\nimport { processFeatureAnnouncement } from '../processors/process-feature-announcement';\nimport type { FeatureAnnouncementRawNotification } from '../types/feature-announcement/feature-announcement';\nimport type {\n ImageFields,\n TypeFeatureAnnouncement,\n} from '../types/feature-announcement/type-feature-announcement';\nimport type {\n TypeExternalLinkFields,\n TypePortfolioLinkFields,\n TypeExtensionLinkFields,\n TypeMobileLinkFields,\n} from '../types/feature-announcement/type-links';\nimport type { INotification } from '../types/notification/notification';\n\nconst DEFAULT_SPACE_ID = ':space_id';\nconst DEFAULT_ACCESS_TOKEN = ':access_token';\nconst DEFAULT_CLIENT_ID = ':client_id';\nexport const FEATURE_ANNOUNCEMENT_API = `https://cdn.contentful.com/spaces/${DEFAULT_SPACE_ID}/environments/master/entries`;\nexport const FEATURE_ANNOUNCEMENT_URL = `${FEATURE_ANNOUNCEMENT_API}?access_token=${DEFAULT_ACCESS_TOKEN}&content_type=productAnnouncement&include=10&fields.clients=${DEFAULT_CLIENT_ID}`;\n\ntype Env = {\n spaceId: string;\n accessToken: string;\n platform: string;\n};\n\n/**\n * Contentful API Response Shape\n */\nexport type ContentfulResult = {\n includes?: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Entry?: Entry[];\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Asset?: Asset[];\n };\n items?: TypeFeatureAnnouncement[];\n};\n\nconst getFeatureAnnouncementUrl = (env: Env) =>\n FEATURE_ANNOUNCEMENT_URL.replace(DEFAULT_SPACE_ID, env.spaceId)\n .replace(DEFAULT_ACCESS_TOKEN, env.accessToken)\n .replace(DEFAULT_CLIENT_ID, env.platform);\n\nconst fetchFeatureAnnouncementNotifications = async (\n env: Env,\n): Promise<FeatureAnnouncementRawNotification[]> => {\n const url = getFeatureAnnouncementUrl(env);\n\n const data = await fetch(url)\n .then((r) => r.json())\n .catch(() => null);\n\n if (!data) {\n return [];\n }\n\n const findIncludedItem = (sysId: string) => {\n const typedData: EntryCollection<\n | ImageFields\n | TypeExtensionLinkFields\n | TypePortfolioLinkFields\n | TypeMobileLinkFields\n | TypeExternalLinkFields\n > = data;\n const item =\n typedData?.includes?.Entry?.find((i: Entry) => i?.sys?.id === sysId) ||\n typedData?.includes?.Asset?.find((i: Asset) => i?.sys?.id === sysId);\n return item ? item?.fields : null;\n };\n\n const contentfulNotifications = data?.items ?? [];\n const rawNotifications: FeatureAnnouncementRawNotification[] =\n contentfulNotifications.map((n: TypeFeatureAnnouncement) => {\n const { fields } = n;\n const imageFields = fields.image\n ? (findIncludedItem(fields.image.sys.id) as ImageFields['fields'])\n : undefined;\n\n const externalLinkFields = fields.externalLink\n ? (findIncludedItem(\n fields.externalLink.sys.id,\n ) as TypeExternalLinkFields['fields'])\n : undefined;\n const portfolioLinkFields = fields.portfolioLink\n ? (findIncludedItem(\n fields.portfolioLink.sys.id,\n ) as TypePortfolioLinkFields['fields'])\n : undefined;\n const extensionLinkFields = fields.extensionLink\n ? (findIncludedItem(\n fields.extensionLink.sys.id,\n ) as TypeExtensionLinkFields['fields'])\n : undefined;\n const mobileLinkFields = fields.mobileLink\n ? (findIncludedItem(\n fields.mobileLink.sys.id,\n ) as TypeMobileLinkFields['fields'])\n : undefined;\n\n const notification: FeatureAnnouncementRawNotification = {\n type: TRIGGER_TYPES.FEATURES_ANNOUNCEMENT,\n createdAt: new Date(n.sys.createdAt).toString(),\n data: {\n id: fields.id,\n category: fields.category,\n title: fields.title,\n longDescription: documentToHtmlString(fields.longDescription),\n shortDescription: fields.shortDescription,\n image: {\n title: imageFields?.title,\n description: imageFields?.description,\n url: imageFields?.file?.url ?? '',\n },\n externalLink: externalLinkFields && {\n externalLinkText: externalLinkFields?.externalLinkText,\n externalLinkUrl: externalLinkFields?.externalLinkUrl,\n },\n portfolioLink: portfolioLinkFields && {\n portfolioLinkText: portfolioLinkFields?.portfolioLinkText,\n portfolioLinkUrl: portfolioLinkFields?.portfolioLinkUrl,\n },\n extensionLink: extensionLinkFields && {\n extensionLinkText: extensionLinkFields?.extensionLinkText,\n extensionLinkRoute: extensionLinkFields?.extensionLinkRoute,\n },\n mobileLink: mobileLinkFields && {\n mobileLinkText: mobileLinkFields?.mobileLinkText,\n mobileLinkUrl: mobileLinkFields?.mobileLinkUrl,\n },\n },\n };\n\n return notification;\n });\n\n return rawNotifications;\n};\n\n/**\n * Gets Feature Announcement from our services\n * @param env - environment for feature announcements\n * @returns Raw Feature Announcements\n */\nexport async function getFeatureAnnouncementNotifications(\n env: Env,\n): Promise<INotification[]> {\n if (env?.accessToken && env?.spaceId && env?.platform) {\n const rawNotifications = await fetchFeatureAnnouncementNotifications(env);\n const notifications = rawNotifications.map((notification) =>\n processFeatureAnnouncement(notification),\n );\n\n return notifications;\n }\n\n return [];\n}\n"]}
1
+ {"version":3,"file":"feature-announcements.mjs","sourceRoot":"","sources":["../../../src/NotificationServicesController/services/feature-announcements.ts"],"names":[],"mappings":"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","sourcesContent":["import { documentToHtmlString } from '@contentful/rich-text-html-renderer';\nimport type { Entry, Asset, EntryCollection } from 'contentful';\n\nimport { TRIGGER_TYPES } from '../constants/notification-schema';\nimport { processFeatureAnnouncement } from '../processors/process-feature-announcement';\nimport type { FeatureAnnouncementRawNotification } from '../types/feature-announcement/feature-announcement';\nimport type {\n ImageFields,\n TypeFeatureAnnouncement,\n} from '../types/feature-announcement/type-feature-announcement';\nimport type {\n TypeExternalLinkFields,\n TypePortfolioLinkFields,\n TypeExtensionLinkFields,\n TypeMobileLinkFields,\n} from '../types/feature-announcement/type-links';\nimport type { INotification } from '../types/notification/notification';\n\nconst DEFAULT_SPACE_ID = ':space_id';\nconst DEFAULT_ACCESS_TOKEN = ':access_token';\nconst DEFAULT_CLIENT_ID = ':client_id';\nconst DEFAULT_DOMAIN = 'cdn.contentful.com';\nconst PREVIEW_DOMAIN = 'preview.contentful.com';\nexport const FEATURE_ANNOUNCEMENT_API = `https://${DEFAULT_DOMAIN}/spaces/${DEFAULT_SPACE_ID}/environments/master/entries`;\nexport const FEATURE_ANNOUNCEMENT_URL = `${FEATURE_ANNOUNCEMENT_API}?access_token=${DEFAULT_ACCESS_TOKEN}&content_type=productAnnouncement&include=10&fields.clients=${DEFAULT_CLIENT_ID}`;\n\ntype Env = {\n spaceId: string;\n accessToken: string;\n platform: string;\n};\n\n/**\n * Contentful API Response Shape\n */\nexport type ContentfulResult = {\n includes?: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Entry?: Entry[];\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Asset?: Asset[];\n };\n items?: TypeFeatureAnnouncement[];\n};\n\nexport const getFeatureAnnouncementUrl = (env: Env, previewToken?: string) => {\n const domain = previewToken ? PREVIEW_DOMAIN : DEFAULT_DOMAIN;\n return FEATURE_ANNOUNCEMENT_URL.replace(DEFAULT_SPACE_ID, env.spaceId)\n .replace(DEFAULT_ACCESS_TOKEN, previewToken || env.accessToken)\n .replace(DEFAULT_CLIENT_ID, env.platform)\n .replace(DEFAULT_DOMAIN, domain);\n};\n\nconst fetchFeatureAnnouncementNotifications = async (\n env: Env,\n previewToken?: string,\n): Promise<FeatureAnnouncementRawNotification[]> => {\n const url = getFeatureAnnouncementUrl(env, previewToken);\n\n const data = await fetch(url)\n .then((r) => r.json())\n .catch(() => null);\n\n if (!data) {\n return [];\n }\n\n const findIncludedItem = (sysId: string) => {\n const typedData: EntryCollection<\n | ImageFields\n | TypeExtensionLinkFields\n | TypePortfolioLinkFields\n | TypeMobileLinkFields\n | TypeExternalLinkFields\n > = data;\n const item =\n typedData?.includes?.Entry?.find((i: Entry) => i?.sys?.id === sysId) ||\n typedData?.includes?.Asset?.find((i: Asset) => i?.sys?.id === sysId);\n return item ? item?.fields : null;\n };\n\n const contentfulNotifications = data?.items ?? [];\n const rawNotifications: FeatureAnnouncementRawNotification[] =\n contentfulNotifications.map((n: TypeFeatureAnnouncement) => {\n const { fields } = n;\n const imageFields = fields.image\n ? (findIncludedItem(fields.image.sys.id) as ImageFields['fields'])\n : undefined;\n\n const externalLinkFields = fields.externalLink\n ? (findIncludedItem(\n fields.externalLink.sys.id,\n ) as TypeExternalLinkFields['fields'])\n : undefined;\n const portfolioLinkFields = fields.portfolioLink\n ? (findIncludedItem(\n fields.portfolioLink.sys.id,\n ) as TypePortfolioLinkFields['fields'])\n : undefined;\n const extensionLinkFields = fields.extensionLink\n ? (findIncludedItem(\n fields.extensionLink.sys.id,\n ) as TypeExtensionLinkFields['fields'])\n : undefined;\n const mobileLinkFields = fields.mobileLink\n ? (findIncludedItem(\n fields.mobileLink.sys.id,\n ) as TypeMobileLinkFields['fields'])\n : undefined;\n\n const notification: FeatureAnnouncementRawNotification = {\n type: TRIGGER_TYPES.FEATURES_ANNOUNCEMENT,\n createdAt: new Date(n.sys.createdAt).toString(),\n data: {\n id: fields.id,\n category: fields.category,\n title: fields.title,\n longDescription: documentToHtmlString(fields.longDescription),\n shortDescription: fields.shortDescription,\n image: {\n title: imageFields?.title,\n description: imageFields?.description,\n url: imageFields?.file?.url ?? '',\n },\n externalLink: externalLinkFields && {\n externalLinkText: externalLinkFields?.externalLinkText,\n externalLinkUrl: externalLinkFields?.externalLinkUrl,\n },\n portfolioLink: portfolioLinkFields && {\n portfolioLinkText: portfolioLinkFields?.portfolioLinkText,\n portfolioLinkUrl: portfolioLinkFields?.portfolioLinkUrl,\n },\n extensionLink: extensionLinkFields && {\n extensionLinkText: extensionLinkFields?.extensionLinkText,\n extensionLinkRoute: extensionLinkFields?.extensionLinkRoute,\n },\n mobileLink: mobileLinkFields && {\n mobileLinkText: mobileLinkFields?.mobileLinkText,\n mobileLinkUrl: mobileLinkFields?.mobileLinkUrl,\n },\n },\n };\n\n return notification;\n });\n\n return rawNotifications;\n};\n\n/**\n * Gets Feature Announcement from our services\n * @param env - environment for feature announcements\n * @param previewToken - the preview token to use if needed\n * @returns Raw Feature Announcements\n */\nexport async function getFeatureAnnouncementNotifications(\n env: Env,\n previewToken?: string,\n): Promise<INotification[]> {\n if (env?.accessToken && env?.spaceId && env?.platform) {\n const rawNotifications = await fetchFeatureAnnouncementNotifications(\n env,\n previewToken,\n );\n const notifications = rawNotifications.map((notification) =>\n processFeatureAnnouncement(notification),\n );\n\n return notifications;\n }\n\n return [];\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask-previews/notification-services-controller",
3
- "version": "0.9.0-preview-1159a55d",
3
+ "version": "0.9.0-preview-200beb79",
4
4
  "description": "Manages New MetaMask decentralized Notification system",
5
5
  "keywords": [
6
6
  "MetaMask",