@formo/analytics-react-native 0.1.4 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/lib/commonjs/FormoAnalytics.js +158 -79
- package/lib/commonjs/FormoAnalytics.js.map +1 -1
- package/lib/commonjs/FormoAnalyticsProvider.js +32 -26
- package/lib/commonjs/FormoAnalyticsProvider.js.map +1 -1
- package/lib/commonjs/constants/events.js +5 -1
- package/lib/commonjs/constants/events.js.map +1 -1
- package/lib/commonjs/constants/index.js +3 -3
- package/lib/commonjs/constants/storage.js +8 -1
- package/lib/commonjs/constants/storage.js.map +1 -1
- package/lib/commonjs/index.js +7 -7
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/lib/consent/index.js +8 -8
- package/lib/commonjs/lib/consent/index.js.map +1 -1
- package/lib/commonjs/lib/event/EventFactory.js +135 -52
- package/lib/commonjs/lib/event/EventFactory.js.map +1 -1
- package/lib/commonjs/lib/event/EventManager.js +6 -6
- package/lib/commonjs/lib/event/EventManager.js.map +1 -1
- package/lib/commonjs/lib/event/EventQueue.js +35 -24
- package/lib/commonjs/lib/event/EventQueue.js.map +1 -1
- package/lib/commonjs/lib/event/index.js +4 -4
- package/lib/commonjs/lib/installReferrer/index.js +193 -0
- package/lib/commonjs/lib/installReferrer/index.js.map +1 -0
- package/lib/commonjs/lib/lifecycle/index.js +24 -17
- package/lib/commonjs/lib/lifecycle/index.js.map +1 -1
- package/lib/commonjs/lib/session/index.js +13 -13
- package/lib/commonjs/lib/session/index.js.map +1 -1
- package/lib/commonjs/lib/storage/AsyncStorageAdapter.js +10 -10
- package/lib/commonjs/lib/storage/AsyncStorageAdapter.js.map +1 -1
- package/lib/commonjs/lib/storage/MemoryStorage.js +1 -1
- package/lib/commonjs/lib/storage/StorageBlueprint.js +2 -2
- package/lib/commonjs/lib/storage/StorageBlueprint.js.map +1 -1
- package/lib/commonjs/lib/storage/StorageManager.js +6 -6
- package/lib/commonjs/lib/storage/StorageManager.js.map +1 -1
- package/lib/commonjs/lib/storage/index.js +4 -4
- package/lib/commonjs/lib/wagmi/WagmiEventHandler.js +31 -36
- package/lib/commonjs/lib/wagmi/WagmiEventHandler.js.map +1 -1
- package/lib/commonjs/lib/wagmi/index.js +2 -2
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/solana/address.js +110 -0
- package/lib/commonjs/solana/address.js.map +1 -0
- package/lib/commonjs/solana/index.js +28 -0
- package/lib/commonjs/solana/index.js.map +1 -0
- package/lib/commonjs/solana/types.js +47 -0
- package/lib/commonjs/solana/types.js.map +1 -0
- package/lib/commonjs/types/events.js.map +1 -1
- package/lib/commonjs/types/index.js +2 -2
- package/lib/commonjs/utils/address.js +60 -6
- package/lib/commonjs/utils/address.js.map +1 -1
- package/lib/commonjs/utils/hash.js +44 -6
- package/lib/commonjs/utils/hash.js.map +1 -1
- package/lib/commonjs/utils/index.js +5 -5
- package/lib/commonjs/utils/trafficSource.js +74 -13
- package/lib/commonjs/utils/trafficSource.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/FormoAnalytics.js +107 -26
- package/lib/module/FormoAnalytics.js.map +1 -1
- package/lib/module/FormoAnalyticsProvider.js +21 -13
- package/lib/module/FormoAnalyticsProvider.js.map +1 -1
- package/lib/module/constants/config.js +2 -0
- package/lib/module/constants/config.js.map +1 -1
- package/lib/module/constants/events.js +6 -0
- package/lib/module/constants/events.js.map +1 -1
- package/lib/module/constants/index.js +5 -3
- package/lib/module/constants/index.js.map +1 -1
- package/lib/module/constants/storage.js +9 -0
- package/lib/module/constants/storage.js.map +1 -1
- package/lib/module/index.js +6 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/lib/consent/index.js +4 -2
- package/lib/module/lib/consent/index.js.map +1 -1
- package/lib/module/lib/event/EventFactory.js +116 -33
- package/lib/module/lib/event/EventFactory.js.map +1 -1
- package/lib/module/lib/event/EventManager.js +5 -3
- package/lib/module/lib/event/EventManager.js.map +1 -1
- package/lib/module/lib/event/EventQueue.js +18 -5
- package/lib/module/lib/event/EventQueue.js.map +1 -1
- package/lib/module/lib/event/index.js +6 -4
- package/lib/module/lib/event/index.js.map +1 -1
- package/lib/module/lib/event/types.js +2 -0
- package/lib/module/lib/installReferrer/index.js +189 -0
- package/lib/module/lib/installReferrer/index.js.map +1 -0
- package/lib/module/lib/lifecycle/index.js +14 -5
- package/lib/module/lib/lifecycle/index.js.map +1 -1
- package/lib/module/lib/logger/index.js +2 -0
- package/lib/module/lib/logger/index.js.map +1 -1
- package/lib/module/lib/session/index.js +5 -3
- package/lib/module/lib/session/index.js.map +1 -1
- package/lib/module/lib/storage/AsyncStorageAdapter.js +4 -2
- package/lib/module/lib/storage/AsyncStorageAdapter.js.map +1 -1
- package/lib/module/lib/storage/MemoryStorage.js +3 -1
- package/lib/module/lib/storage/MemoryStorage.js.map +1 -1
- package/lib/module/lib/storage/StorageBlueprint.js +3 -1
- package/lib/module/lib/storage/StorageBlueprint.js.map +1 -1
- package/lib/module/lib/storage/StorageManager.js +5 -3
- package/lib/module/lib/storage/StorageManager.js.map +1 -1
- package/lib/module/lib/storage/index.js +6 -4
- package/lib/module/lib/storage/index.js.map +1 -1
- package/lib/module/lib/storage/types.js +1 -1
- package/lib/module/lib/wagmi/WagmiEventHandler.js +5 -8
- package/lib/module/lib/wagmi/WagmiEventHandler.js.map +1 -1
- package/lib/module/lib/wagmi/index.js +4 -2
- package/lib/module/lib/wagmi/index.js.map +1 -1
- package/lib/module/lib/wagmi/types.js +1 -1
- package/lib/module/package.json +1 -0
- package/lib/module/solana/address.js +102 -0
- package/lib/module/solana/address.js.map +1 -0
- package/lib/module/solana/index.js +5 -0
- package/lib/module/solana/index.js.map +1 -0
- package/lib/module/solana/types.js +42 -0
- package/lib/module/solana/types.js.map +1 -0
- package/lib/module/types/base.js +2 -0
- package/lib/module/types/events.js +2 -0
- package/lib/module/types/events.js.map +1 -1
- package/lib/module/types/index.js +4 -2
- package/lib/module/types/index.js.map +1 -1
- package/lib/module/utils/address.js +60 -6
- package/lib/module/utils/address.js.map +1 -1
- package/lib/module/utils/hash.js +46 -6
- package/lib/module/utils/hash.js.map +1 -1
- package/lib/module/utils/helpers.js +2 -0
- package/lib/module/utils/helpers.js.map +1 -1
- package/lib/module/utils/index.js +7 -5
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/timestamp.js +2 -0
- package/lib/module/utils/timestamp.js.map +1 -1
- package/lib/module/utils/trafficSource.js +64 -3
- package/lib/module/utils/trafficSource.js.map +1 -1
- package/lib/module/version.js +3 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/{FormoAnalytics.d.ts → commonjs/FormoAnalytics.d.ts} +23 -4
- package/lib/typescript/commonjs/FormoAnalytics.d.ts.map +1 -0
- package/lib/typescript/commonjs/FormoAnalyticsProvider.d.ts.map +1 -0
- package/lib/typescript/commonjs/constants/config.d.ts.map +1 -0
- package/lib/typescript/{constants → commonjs/constants}/events.d.ts +1 -0
- package/lib/typescript/commonjs/constants/events.d.ts.map +1 -0
- package/lib/typescript/commonjs/constants/index.d.ts.map +1 -0
- package/lib/typescript/{constants → commonjs/constants}/storage.d.ts +3 -0
- package/lib/typescript/commonjs/constants/storage.d.ts.map +1 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/consent/index.d.ts.map +1 -0
- package/lib/typescript/{lib → commonjs/lib}/event/EventFactory.d.ts +36 -1
- package/lib/typescript/commonjs/lib/event/EventFactory.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/event/EventManager.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/event/EventQueue.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/event/index.d.ts.map +1 -0
- package/lib/typescript/{lib → commonjs/lib}/event/types.d.ts +1 -1
- package/lib/typescript/commonjs/lib/event/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/installReferrer/index.d.ts +39 -0
- package/lib/typescript/commonjs/lib/installReferrer/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/lifecycle/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/logger/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/session/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/storage/AsyncStorageAdapter.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/storage/MemoryStorage.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/storage/StorageBlueprint.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/storage/StorageManager.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/storage/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/storage/types.d.ts.map +1 -0
- package/lib/typescript/{lib → commonjs/lib}/wagmi/WagmiEventHandler.d.ts +0 -1
- package/lib/typescript/commonjs/lib/wagmi/WagmiEventHandler.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/wagmi/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/wagmi/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/solana/address.d.ts +42 -0
- package/lib/typescript/commonjs/solana/address.d.ts.map +1 -0
- package/lib/typescript/commonjs/solana/index.d.ts +3 -0
- package/lib/typescript/commonjs/solana/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/solana/types.d.ts +34 -0
- package/lib/typescript/commonjs/solana/types.d.ts.map +1 -0
- package/lib/typescript/{types → commonjs/types}/base.d.ts +39 -1
- package/lib/typescript/commonjs/types/base.d.ts.map +1 -0
- package/lib/typescript/{types → commonjs/types}/events.d.ts +1 -1
- package/lib/typescript/commonjs/types/events.d.ts.map +1 -0
- package/lib/typescript/commonjs/types/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/address.d.ts +45 -0
- package/lib/typescript/commonjs/utils/address.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/hash.d.ts +18 -0
- package/lib/typescript/commonjs/utils/hash.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/helpers.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/timestamp.d.ts.map +1 -0
- package/lib/typescript/{utils → commonjs/utils}/trafficSource.d.ts +16 -0
- package/lib/typescript/commonjs/utils/trafficSource.d.ts.map +1 -0
- package/lib/typescript/commonjs/version.d.ts +2 -0
- package/lib/typescript/commonjs/version.d.ts.map +1 -0
- package/lib/typescript/module/FormoAnalytics.d.ts +182 -0
- package/lib/typescript/module/FormoAnalytics.d.ts.map +1 -0
- package/lib/typescript/module/FormoAnalyticsProvider.d.ts +29 -0
- package/lib/typescript/module/FormoAnalyticsProvider.d.ts.map +1 -0
- package/lib/typescript/module/constants/config.d.ts +8 -0
- package/lib/typescript/module/constants/config.d.ts.map +1 -0
- package/lib/typescript/module/constants/events.d.ts +24 -0
- package/lib/typescript/module/constants/events.d.ts.map +1 -0
- package/lib/typescript/module/constants/index.d.ts +4 -0
- package/lib/typescript/module/constants/index.d.ts.map +1 -0
- package/lib/typescript/module/constants/storage.d.ts +13 -0
- package/lib/typescript/module/constants/storage.d.ts.map +1 -0
- package/lib/typescript/module/index.d.ts +44 -0
- package/lib/typescript/module/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/consent/index.d.ts +13 -0
- package/lib/typescript/module/lib/consent/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/event/EventFactory.d.ts +99 -0
- package/lib/typescript/module/lib/event/EventFactory.d.ts.map +1 -0
- package/lib/typescript/module/lib/event/EventManager.d.ts +17 -0
- package/lib/typescript/module/lib/event/EventManager.d.ts.map +1 -0
- package/lib/typescript/module/lib/event/EventQueue.d.ts +74 -0
- package/lib/typescript/module/lib/event/EventQueue.d.ts.map +1 -0
- package/lib/typescript/module/lib/event/index.d.ts +5 -0
- package/lib/typescript/module/lib/event/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/event/types.d.ts +23 -0
- package/lib/typescript/module/lib/event/types.d.ts.map +1 -0
- package/lib/typescript/module/lib/installReferrer/index.d.ts +39 -0
- package/lib/typescript/module/lib/installReferrer/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/lifecycle/index.d.ts +46 -0
- package/lib/typescript/module/lib/lifecycle/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/logger/index.d.ts +19 -0
- package/lib/typescript/module/lib/logger/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/session/index.d.ts +41 -0
- package/lib/typescript/module/lib/session/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/storage/AsyncStorageAdapter.d.ts +48 -0
- package/lib/typescript/module/lib/storage/AsyncStorageAdapter.d.ts.map +1 -0
- package/lib/typescript/module/lib/storage/MemoryStorage.d.ts +18 -0
- package/lib/typescript/module/lib/storage/MemoryStorage.d.ts.map +1 -0
- package/lib/typescript/module/lib/storage/StorageBlueprint.d.ts +21 -0
- package/lib/typescript/module/lib/storage/StorageBlueprint.d.ts.map +1 -0
- package/lib/typescript/module/lib/storage/StorageManager.d.ts +45 -0
- package/lib/typescript/module/lib/storage/StorageManager.d.ts.map +1 -0
- package/lib/typescript/module/lib/storage/index.d.ts +5 -0
- package/lib/typescript/module/lib/storage/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/storage/types.d.ts +22 -0
- package/lib/typescript/module/lib/storage/types.d.ts.map +1 -0
- package/lib/typescript/module/lib/wagmi/WagmiEventHandler.d.ts +103 -0
- package/lib/typescript/module/lib/wagmi/WagmiEventHandler.d.ts.map +1 -0
- package/lib/typescript/module/lib/wagmi/index.d.ts +3 -0
- package/lib/typescript/module/lib/wagmi/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/wagmi/types.d.ts +54 -0
- package/lib/typescript/module/lib/wagmi/types.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/lib/typescript/module/solana/address.d.ts +42 -0
- package/lib/typescript/module/solana/address.d.ts.map +1 -0
- package/lib/typescript/module/solana/index.d.ts +3 -0
- package/lib/typescript/module/solana/index.d.ts.map +1 -0
- package/lib/typescript/module/solana/types.d.ts +34 -0
- package/lib/typescript/module/solana/types.d.ts.map +1 -0
- package/lib/typescript/module/types/base.d.ts +258 -0
- package/lib/typescript/module/types/base.d.ts.map +1 -0
- package/lib/typescript/module/types/events.d.ts +111 -0
- package/lib/typescript/module/types/events.d.ts.map +1 -0
- package/lib/typescript/module/types/index.d.ts +3 -0
- package/lib/typescript/module/types/index.d.ts.map +1 -0
- package/lib/typescript/module/utils/address.d.ts +45 -0
- package/lib/typescript/module/utils/address.d.ts.map +1 -0
- package/lib/typescript/module/utils/hash.d.ts +18 -0
- package/lib/typescript/module/utils/hash.d.ts.map +1 -0
- package/lib/typescript/module/utils/helpers.d.ts +26 -0
- package/lib/typescript/module/utils/helpers.d.ts.map +1 -0
- package/lib/typescript/module/utils/index.d.ts +6 -0
- package/lib/typescript/module/utils/index.d.ts.map +1 -0
- package/lib/typescript/module/utils/timestamp.d.ts +13 -0
- package/lib/typescript/module/utils/timestamp.d.ts.map +1 -0
- package/lib/typescript/module/utils/trafficSource.d.ts +46 -0
- package/lib/typescript/module/utils/trafficSource.d.ts.map +1 -0
- package/lib/typescript/module/version.d.ts +2 -0
- package/lib/typescript/module/version.d.ts.map +1 -0
- package/package.json +44 -49
- package/src/FormoAnalytics.ts +118 -16
- package/src/constants/events.ts +4 -0
- package/src/constants/storage.ts +7 -0
- package/src/lib/event/EventFactory.ts +129 -29
- package/src/lib/event/EventQueue.ts +14 -0
- package/src/lib/event/types.ts +0 -1
- package/src/lib/installReferrer/index.ts +225 -0
- package/src/lib/lifecycle/index.ts +10 -1
- package/src/lib/wagmi/WagmiEventHandler.ts +0 -4
- package/src/solana/address.ts +122 -0
- package/src/solana/index.ts +2 -0
- package/src/solana/types.ts +46 -0
- package/src/types/base.ts +41 -1
- package/src/types/events.ts +1 -1
- package/src/utils/address.ts +72 -6
- package/src/utils/hash.ts +51 -6
- package/src/utils/trafficSource.ts +73 -0
- package/src/version.ts +1 -1
- package/lib/typescript/FormoAnalytics.d.ts.map +0 -1
- package/lib/typescript/FormoAnalyticsProvider.d.ts.map +0 -1
- package/lib/typescript/constants/config.d.ts.map +0 -1
- package/lib/typescript/constants/events.d.ts.map +0 -1
- package/lib/typescript/constants/index.d.ts.map +0 -1
- package/lib/typescript/constants/storage.d.ts.map +0 -1
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/lib/consent/index.d.ts.map +0 -1
- package/lib/typescript/lib/event/EventFactory.d.ts.map +0 -1
- package/lib/typescript/lib/event/EventManager.d.ts.map +0 -1
- package/lib/typescript/lib/event/EventQueue.d.ts.map +0 -1
- package/lib/typescript/lib/event/index.d.ts.map +0 -1
- package/lib/typescript/lib/event/types.d.ts.map +0 -1
- package/lib/typescript/lib/lifecycle/index.d.ts.map +0 -1
- package/lib/typescript/lib/logger/index.d.ts.map +0 -1
- package/lib/typescript/lib/session/index.d.ts.map +0 -1
- package/lib/typescript/lib/storage/AsyncStorageAdapter.d.ts.map +0 -1
- package/lib/typescript/lib/storage/MemoryStorage.d.ts.map +0 -1
- package/lib/typescript/lib/storage/StorageBlueprint.d.ts.map +0 -1
- package/lib/typescript/lib/storage/StorageManager.d.ts.map +0 -1
- package/lib/typescript/lib/storage/index.d.ts.map +0 -1
- package/lib/typescript/lib/storage/types.d.ts.map +0 -1
- package/lib/typescript/lib/wagmi/WagmiEventHandler.d.ts.map +0 -1
- package/lib/typescript/lib/wagmi/index.d.ts.map +0 -1
- package/lib/typescript/lib/wagmi/types.d.ts.map +0 -1
- package/lib/typescript/types/base.d.ts.map +0 -1
- package/lib/typescript/types/events.d.ts.map +0 -1
- package/lib/typescript/types/index.d.ts.map +0 -1
- package/lib/typescript/utils/address.d.ts +0 -25
- package/lib/typescript/utils/address.d.ts.map +0 -1
- package/lib/typescript/utils/hash.d.ts +0 -10
- package/lib/typescript/utils/hash.d.ts.map +0 -1
- package/lib/typescript/utils/helpers.d.ts.map +0 -1
- package/lib/typescript/utils/index.d.ts.map +0 -1
- package/lib/typescript/utils/timestamp.d.ts.map +0 -1
- package/lib/typescript/utils/trafficSource.d.ts.map +0 -1
- package/lib/typescript/version.d.ts +0 -2
- package/lib/typescript/version.d.ts.map +0 -1
- /package/lib/typescript/{FormoAnalyticsProvider.d.ts → commonjs/FormoAnalyticsProvider.d.ts} +0 -0
- /package/lib/typescript/{constants → commonjs/constants}/config.d.ts +0 -0
- /package/lib/typescript/{constants → commonjs/constants}/index.d.ts +0 -0
- /package/lib/typescript/{index.d.ts → commonjs/index.d.ts} +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/consent/index.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/event/EventManager.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/event/EventQueue.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/event/index.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/lifecycle/index.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/logger/index.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/session/index.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/storage/AsyncStorageAdapter.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/storage/MemoryStorage.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/storage/StorageBlueprint.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/storage/StorageManager.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/storage/index.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/storage/types.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/wagmi/index.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/wagmi/types.d.ts +0 -0
- /package/lib/typescript/{types → commonjs/types}/index.d.ts +0 -0
- /package/lib/typescript/{utils → commonjs/utils}/helpers.d.ts +0 -0
- /package/lib/typescript/{utils → commonjs/utils}/index.d.ts +0 -0
- /package/lib/typescript/{utils → commonjs/utils}/timestamp.d.ts +0 -0
|
@@ -4,15 +4,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.EventFactory = void 0;
|
|
7
|
+
exports.getSessionId = getSessionId;
|
|
8
|
+
exports.synthesizeUserAgent = synthesizeUserAgent;
|
|
7
9
|
var _reactNative = require("react-native");
|
|
8
10
|
var _netinfo = _interopRequireDefault(require("@react-native-community/netinfo"));
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var _timestamp = require("../../utils/timestamp");
|
|
12
|
-
var _hash = require("../../utils/hash");
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var _version = require("../../version");
|
|
11
|
+
var _index = require("../../constants/index.js");
|
|
12
|
+
var _index2 = require("../../utils/index.js");
|
|
13
|
+
var _timestamp = require("../../utils/timestamp.js");
|
|
14
|
+
var _hash = require("../../utils/hash.js");
|
|
15
|
+
var _index3 = require("../logger/index.js");
|
|
16
|
+
var _index4 = require("../storage/index.js");
|
|
17
|
+
var _version = require("../../version.js");
|
|
16
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
19
|
// Lazy load device info to handle Expo Go where native modules may not exist
|
|
18
20
|
let DeviceInfo = null;
|
|
@@ -41,15 +43,72 @@ try {
|
|
|
41
43
|
* Generate or retrieve anonymous ID
|
|
42
44
|
*/
|
|
43
45
|
function generateAnonymousId(key) {
|
|
44
|
-
const existing = (0,
|
|
46
|
+
const existing = (0, _index4.storage)().get(key);
|
|
45
47
|
if (existing) {
|
|
46
48
|
return existing;
|
|
47
49
|
}
|
|
48
50
|
const newId = (0, _hash.generateUUID)();
|
|
49
|
-
(0,
|
|
51
|
+
(0, _index4.storage)().set(key, newId);
|
|
50
52
|
return newId;
|
|
51
53
|
}
|
|
52
54
|
|
|
55
|
+
/**
|
|
56
|
+
* Get the current session id, or start a new one.
|
|
57
|
+
*
|
|
58
|
+
* A session persists across app restarts but expires after SESSION_TIMEOUT_MS of
|
|
59
|
+
* inactivity, at which point a fresh id is minted. Every call refreshes the
|
|
60
|
+
* last-activity marker.
|
|
61
|
+
*
|
|
62
|
+
* The mobile SDK owns its session_id rather than letting ingestion derive one.
|
|
63
|
+
* The events-gateway authorizer computes
|
|
64
|
+
* `hash(dailySalt + domain + sourceIp + userAgent)` — a design built for the
|
|
65
|
+
* web, where all three inputs carry real entropy. For a native app they all
|
|
66
|
+
* degenerate at once: there is no Origin header (so `domain` is the constant
|
|
67
|
+
* "unknown"), the HTTP User-Agent is the client library's (`okhttp/…`,
|
|
68
|
+
* `CFNetwork/… Darwin/…`) and is near-identical across users on the same app
|
|
69
|
+
* build, and carrier CGNAT puts many users behind one IP — so unrelated users
|
|
70
|
+
* collapse into a single session. Ingestion honours a body-provided session_id
|
|
71
|
+
* (`obj?.session_id || session_id` in handlerV0), which is the path used here.
|
|
72
|
+
*/
|
|
73
|
+
function getSessionId() {
|
|
74
|
+
const now = Date.now();
|
|
75
|
+
const existingId = (0, _index4.storage)().get(_index.LOCAL_SESSION_ID_KEY);
|
|
76
|
+
const lastActivityRaw = (0, _index4.storage)().get(_index.LOCAL_SESSION_LAST_ACTIVITY_KEY);
|
|
77
|
+
const lastActivity = lastActivityRaw ? parseInt(lastActivityRaw, 10) : 0;
|
|
78
|
+
const isExpired = !existingId || !lastActivity || now - lastActivity > _index.SESSION_TIMEOUT_MS;
|
|
79
|
+
const sessionId = isExpired ? (0, _hash.generateUUID)() : existingId;
|
|
80
|
+
(0, _index4.storage)().set(_index.LOCAL_SESSION_ID_KEY, sessionId);
|
|
81
|
+
(0, _index4.storage)().set(_index.LOCAL_SESSION_LAST_ACTIVITY_KEY, String(now));
|
|
82
|
+
return sessionId;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Build a representative User-Agent string from structured device info.
|
|
87
|
+
*
|
|
88
|
+
* The ingestion pipeline classifies device / os / browser purely from the
|
|
89
|
+
* user_agent string; a mobile event with an empty UA is bucketed as "unknown".
|
|
90
|
+
* Platforms without a native UA (e.g. Expo, where DeviceInfo.getUserAgent() is
|
|
91
|
+
* unavailable) would otherwise report device=os=unknown. We synthesize a UA
|
|
92
|
+
* containing the tokens the classifier keys off (iphone/ipad/android + version)
|
|
93
|
+
* so mobile device and OS resolve correctly. Returns "" for unknown platforms.
|
|
94
|
+
*/
|
|
95
|
+
function synthesizeUserAgent(info) {
|
|
96
|
+
const os = (info.os_name || "").toLowerCase();
|
|
97
|
+
const version = info.os_version || "";
|
|
98
|
+
const model = info.device_model || "";
|
|
99
|
+
const isTablet = info.device_type === "tablet";
|
|
100
|
+
if (os === "ios" || os === "ipados") {
|
|
101
|
+
const device = isTablet ? "iPad" : "iPhone";
|
|
102
|
+
const osVersion = version.replace(/\./g, "_");
|
|
103
|
+
return `Mozilla/5.0 (${device}; CPU ${device} OS ${osVersion} like Mac OS X) FormoAnalytics/ReactNative`;
|
|
104
|
+
}
|
|
105
|
+
if (os === "android") {
|
|
106
|
+
const formFactor = isTablet ? "Tablet" : "Mobile";
|
|
107
|
+
return `Mozilla/5.0 (Linux; Android ${version}; ${model}) ${formFactor} FormoAnalytics/ReactNative`;
|
|
108
|
+
}
|
|
109
|
+
return "";
|
|
110
|
+
}
|
|
111
|
+
|
|
53
112
|
/**
|
|
54
113
|
* Event factory for React Native
|
|
55
114
|
* Creates event payloads with mobile-specific context
|
|
@@ -66,7 +125,7 @@ class EventFactory {
|
|
|
66
125
|
try {
|
|
67
126
|
return Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
68
127
|
} catch (error) {
|
|
69
|
-
|
|
128
|
+
_index3.logger.error("Error resolving timezone:", error);
|
|
70
129
|
return "";
|
|
71
130
|
}
|
|
72
131
|
}
|
|
@@ -77,12 +136,12 @@ class EventFactory {
|
|
|
77
136
|
getLocation() {
|
|
78
137
|
try {
|
|
79
138
|
const timezone = this.getTimezone();
|
|
80
|
-
if (timezone in
|
|
81
|
-
return
|
|
139
|
+
if (timezone in _index.COUNTRY_LIST) {
|
|
140
|
+
return _index.COUNTRY_LIST[timezone] ?? timezone;
|
|
82
141
|
}
|
|
83
142
|
return timezone;
|
|
84
143
|
} catch (error) {
|
|
85
|
-
|
|
144
|
+
_index3.logger.error("Error resolving location:", error);
|
|
86
145
|
return "";
|
|
87
146
|
}
|
|
88
147
|
}
|
|
@@ -96,7 +155,7 @@ class EventFactory {
|
|
|
96
155
|
const locale = _reactNative.Platform.OS === "ios" ? _reactNative.NativeModules.SettingsManager?.settings?.AppleLocale || _reactNative.NativeModules.SettingsManager?.settings?.AppleLanguages?.[0] : _reactNative.NativeModules.I18nManager?.localeIdentifier;
|
|
97
156
|
return locale || "en";
|
|
98
157
|
} catch (error) {
|
|
99
|
-
|
|
158
|
+
_index3.logger.debug("Error resolving language:", error);
|
|
100
159
|
return "en";
|
|
101
160
|
}
|
|
102
161
|
}
|
|
@@ -117,7 +176,7 @@ class EventFactory {
|
|
|
117
176
|
screen_density: scale
|
|
118
177
|
};
|
|
119
178
|
} catch (error) {
|
|
120
|
-
|
|
179
|
+
_index3.logger.error("Error resolving screen properties:", error);
|
|
121
180
|
return {
|
|
122
181
|
screen_width: 0,
|
|
123
182
|
screen_height: 0,
|
|
@@ -153,7 +212,7 @@ class EventFactory {
|
|
|
153
212
|
}
|
|
154
213
|
return networkInfo;
|
|
155
214
|
} catch (error) {
|
|
156
|
-
|
|
215
|
+
_index3.logger.debug("Error getting network info:", error);
|
|
157
216
|
return {};
|
|
158
217
|
}
|
|
159
218
|
}
|
|
@@ -167,21 +226,29 @@ class EventFactory {
|
|
|
167
226
|
if (DeviceInfo) {
|
|
168
227
|
try {
|
|
169
228
|
const [model, manufacturer, deviceName, userAgent, isTablet] = await Promise.all([DeviceInfo.getModel(), DeviceInfo.getManufacturer(), DeviceInfo.getDeviceName(), DeviceInfo.getUserAgent(), DeviceInfo.isTablet()]);
|
|
229
|
+
const device_type = isTablet ? "tablet" : "mobile";
|
|
230
|
+
const os_version = DeviceInfo.getSystemVersion();
|
|
170
231
|
return {
|
|
171
232
|
os_name: _reactNative.Platform.OS,
|
|
172
|
-
os_version
|
|
233
|
+
os_version,
|
|
173
234
|
device_model: model,
|
|
174
235
|
device_manufacturer: manufacturer,
|
|
175
236
|
device_name: deviceName,
|
|
176
|
-
device_type
|
|
177
|
-
|
|
237
|
+
device_type,
|
|
238
|
+
// Prefer the native UA; fall back to a synthesized one if unavailable.
|
|
239
|
+
user_agent: userAgent || synthesizeUserAgent({
|
|
240
|
+
os_name: _reactNative.Platform.OS,
|
|
241
|
+
os_version,
|
|
242
|
+
device_model: model,
|
|
243
|
+
device_type
|
|
244
|
+
}),
|
|
178
245
|
app_name: DeviceInfo.getApplicationName(),
|
|
179
246
|
app_version: DeviceInfo.getVersion(),
|
|
180
247
|
app_build: DeviceInfo.getBuildNumber(),
|
|
181
248
|
app_bundle_id: DeviceInfo.getBundleId()
|
|
182
249
|
};
|
|
183
250
|
} catch (error) {
|
|
184
|
-
|
|
251
|
+
_index3.logger.debug("Error using react-native-device-info, falling back:", error);
|
|
185
252
|
}
|
|
186
253
|
}
|
|
187
254
|
|
|
@@ -189,34 +256,52 @@ class EventFactory {
|
|
|
189
256
|
if (ExpoDevice || ExpoApplication) {
|
|
190
257
|
try {
|
|
191
258
|
const isTablet = ExpoDevice?.deviceType === ExpoDevice?.DeviceType?.TABLET;
|
|
259
|
+
const os_name = ExpoDevice?.osName || _reactNative.Platform.OS;
|
|
260
|
+
const os_version = ExpoDevice?.osVersion || String(_reactNative.Platform.Version);
|
|
261
|
+
const device_model = ExpoDevice?.modelName || "Unknown";
|
|
262
|
+
const device_type = isTablet ? "tablet" : "mobile";
|
|
192
263
|
return {
|
|
193
|
-
os_name
|
|
194
|
-
os_version
|
|
195
|
-
device_model
|
|
264
|
+
os_name,
|
|
265
|
+
os_version,
|
|
266
|
+
device_model,
|
|
196
267
|
device_manufacturer: ExpoDevice?.manufacturer || "Unknown",
|
|
197
268
|
device_name: ExpoDevice?.deviceName || "Unknown Device",
|
|
198
|
-
device_type
|
|
199
|
-
|
|
269
|
+
device_type,
|
|
270
|
+
// Expo exposes no native UA; synthesize one so the pipeline can
|
|
271
|
+
// classify device/os (both are derived from the UA string).
|
|
272
|
+
user_agent: synthesizeUserAgent({
|
|
273
|
+
os_name,
|
|
274
|
+
os_version,
|
|
275
|
+
device_model,
|
|
276
|
+
device_type
|
|
277
|
+
}),
|
|
200
278
|
app_name: ExpoApplication?.applicationName || "",
|
|
201
279
|
app_version: ExpoApplication?.nativeApplicationVersion || "",
|
|
202
280
|
app_build: ExpoApplication?.nativeBuildVersion || "",
|
|
203
281
|
app_bundle_id: ExpoApplication?.applicationId || ""
|
|
204
282
|
};
|
|
205
283
|
} catch (error) {
|
|
206
|
-
|
|
284
|
+
_index3.logger.debug("Error using Expo device modules:", error);
|
|
207
285
|
}
|
|
208
286
|
}
|
|
209
287
|
|
|
210
288
|
// Final fallback - minimal info from Platform
|
|
211
|
-
|
|
289
|
+
_index3.logger.debug("No device info modules available, using Platform defaults");
|
|
290
|
+
const os_name = _reactNative.Platform.OS;
|
|
291
|
+
const os_version = String(_reactNative.Platform.Version);
|
|
212
292
|
return {
|
|
213
|
-
os_name
|
|
214
|
-
os_version
|
|
293
|
+
os_name,
|
|
294
|
+
os_version,
|
|
215
295
|
device_model: "Unknown",
|
|
216
296
|
device_manufacturer: "Unknown",
|
|
217
297
|
device_name: "Unknown Device",
|
|
218
298
|
device_type: "mobile",
|
|
219
|
-
user_agent:
|
|
299
|
+
user_agent: synthesizeUserAgent({
|
|
300
|
+
os_name,
|
|
301
|
+
os_version,
|
|
302
|
+
device_model: "Unknown",
|
|
303
|
+
device_type: "mobile"
|
|
304
|
+
}),
|
|
220
305
|
app_name: "",
|
|
221
306
|
app_version: "",
|
|
222
307
|
app_build: "",
|
|
@@ -236,7 +321,7 @@ class EventFactory {
|
|
|
236
321
|
const screenInfo = this.getScreen();
|
|
237
322
|
|
|
238
323
|
// Get stored traffic source from session (UTM params, referrer from deep links)
|
|
239
|
-
const storedTrafficSource = (0,
|
|
324
|
+
const storedTrafficSource = (0, _index2.getStoredTrafficSource)();
|
|
240
325
|
const defaultContext = {
|
|
241
326
|
locale: language,
|
|
242
327
|
timezone,
|
|
@@ -262,7 +347,7 @@ class EventFactory {
|
|
|
262
347
|
// Traffic source (UTM params, referrer) from session
|
|
263
348
|
...(storedTrafficSource || {})
|
|
264
349
|
};
|
|
265
|
-
const mergedContext = (0,
|
|
350
|
+
const mergedContext = (0, _index2.mergeDeepRight)(defaultContext, context || {});
|
|
266
351
|
return mergedContext;
|
|
267
352
|
}
|
|
268
353
|
|
|
@@ -275,19 +360,17 @@ class EventFactory {
|
|
|
275
360
|
original_timestamp: (0, _timestamp.getCurrentTimeFormatted)(),
|
|
276
361
|
user_id: formoEvent.user_id,
|
|
277
362
|
type: formoEvent.type,
|
|
278
|
-
channel:
|
|
279
|
-
version:
|
|
363
|
+
channel: _index.CHANNEL,
|
|
364
|
+
version: _index.VERSION
|
|
280
365
|
};
|
|
281
|
-
commonEventData.anonymous_id = generateAnonymousId(
|
|
366
|
+
commonEventData.anonymous_id = generateAnonymousId(_index.LOCAL_ANONYMOUS_ID_KEY);
|
|
367
|
+
commonEventData.session_id = getSessionId();
|
|
282
368
|
|
|
283
369
|
// Handle address - convert undefined to null for consistency
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
commonEventData.address = null;
|
|
289
|
-
}
|
|
290
|
-
const processedEvent = (0, _utils.mergeDeepRight)(formoEvent, commonEventData);
|
|
370
|
+
// Try EVM first, then Solana fallback (chainId is not always present here).
|
|
371
|
+
const validAddress = formoEvent.address ? (0, _index2.validateAddress)(formoEvent.address) : undefined;
|
|
372
|
+
commonEventData.address = validAddress ?? null;
|
|
373
|
+
const processedEvent = (0, _index2.mergeDeepRight)(formoEvent, commonEventData);
|
|
291
374
|
if (processedEvent.event === undefined) {
|
|
292
375
|
processedEvent.event = null;
|
|
293
376
|
}
|
|
@@ -298,7 +381,7 @@ class EventFactory {
|
|
|
298
381
|
// Extract function_args before snake_case conversion to preserve ABI parameter names
|
|
299
382
|
// (e.g., "tokenId" should not become "token_id" since it's a contract ABI name)
|
|
300
383
|
const functionArgs = processedEvent.properties?.function_args;
|
|
301
|
-
const converted = (0,
|
|
384
|
+
const converted = (0, _index2.toSnakeCase)(processedEvent);
|
|
302
385
|
|
|
303
386
|
// Re-attach function_args with original key casing
|
|
304
387
|
if (functionArgs && converted.properties) {
|
|
@@ -322,8 +405,12 @@ class EventFactory {
|
|
|
322
405
|
})
|
|
323
406
|
};
|
|
324
407
|
|
|
325
|
-
// Map screen name to page-equivalent context fields
|
|
326
|
-
//
|
|
408
|
+
// Map screen name to page-equivalent context fields so mobile screens flow
|
|
409
|
+
// through the same analytics as web page views. The screen name is emitted
|
|
410
|
+
// as-is in the app:// URL; the ingestion pipeline derives `origin` (from the
|
|
411
|
+
// app identifier in context — app_name / app_bundle_id) and `page_path` (by
|
|
412
|
+
// stripping the app:// scheme), so the SDK deliberately does NOT encode a
|
|
413
|
+
// host here (see backend mobile page-event handling, P-2070).
|
|
327
414
|
// User-supplied context values take precedence (spread last).
|
|
328
415
|
const screenContext = {
|
|
329
416
|
page_title: name,
|
|
@@ -393,7 +480,7 @@ class EventFactory {
|
|
|
393
480
|
};
|
|
394
481
|
return this.getEnrichedEvent(chainEvent, context);
|
|
395
482
|
}
|
|
396
|
-
async generateSignatureEvent(status, chainId, address, message,
|
|
483
|
+
async generateSignatureEvent(status, chainId, address, message, properties, context) {
|
|
397
484
|
const signatureEvent = {
|
|
398
485
|
properties: {
|
|
399
486
|
status,
|
|
@@ -401,9 +488,6 @@ class EventFactory {
|
|
|
401
488
|
chainId
|
|
402
489
|
}),
|
|
403
490
|
message,
|
|
404
|
-
...(signatureHash && {
|
|
405
|
-
signatureHash
|
|
406
|
-
}),
|
|
407
491
|
...properties
|
|
408
492
|
},
|
|
409
493
|
address,
|
|
@@ -481,7 +565,7 @@ class EventFactory {
|
|
|
481
565
|
formoEvent = await this.generateDisconnectEvent(event.chainId, event.address, event.properties, event.context);
|
|
482
566
|
break;
|
|
483
567
|
case "signature":
|
|
484
|
-
formoEvent = await this.generateSignatureEvent(event.status, event.chainId, event.address, event.message, event.
|
|
568
|
+
formoEvent = await this.generateSignatureEvent(event.status, event.chainId, event.address, event.message, event.properties, event.context);
|
|
485
569
|
break;
|
|
486
570
|
case "transaction":
|
|
487
571
|
formoEvent = await this.generateTransactionEvent(event.status, event.chainId, event.address, event.data, event.to, event.value, event.transactionHash, event.function_name, event.function_args, event.properties, event.context);
|
|
@@ -494,8 +578,7 @@ class EventFactory {
|
|
|
494
578
|
|
|
495
579
|
// Set address if not already set by the specific event generator
|
|
496
580
|
if (formoEvent.address === undefined || formoEvent.address === null) {
|
|
497
|
-
|
|
498
|
-
formoEvent.address = validAddress ? (0, _utils.toChecksumAddress)(validAddress) : null;
|
|
581
|
+
formoEvent.address = address ? (0, _index2.validateAddress)(address) ?? null : null;
|
|
499
582
|
}
|
|
500
583
|
formoEvent.user_id = userId || null;
|
|
501
584
|
return formoEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_netinfo","_interopRequireDefault","_constants","_utils","_timestamp","_hash","_logger","_storage","_version","e","__esModule","default","DeviceInfo","ExpoDevice","ExpoApplication","generateAnonymousId","key","existing","storage","get","newId","generateUUID","set","EventFactory","constructor","options","getTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","error","logger","getLocation","timezone","COUNTRY_LIST","getLanguage","locale","Platform","OS","NativeModules","SettingsManager","settings","AppleLocale","AppleLanguages","I18nManager","localeIdentifier","debug","getScreen","width","height","scale","Dimensions","screen_width","Math","round","screen_height","screen_density","getNetworkInfo","netState","NetInfo","fetch","networkInfo","type","network_wifi","network_cellular","details","network_carrier","carrier","undefined","getDeviceInfo","model","manufacturer","deviceName","userAgent","isTablet","Promise","all","getModel","getManufacturer","getDeviceName","getUserAgent","os_name","os_version","getSystemVersion","device_model","device_manufacturer","device_name","device_type","user_agent","app_name","getApplicationName","app_version","getVersion","app_build","getBuildNumber","app_bundle_id","getBundleId","deviceType","DeviceType","TABLET","osName","osVersion","String","Version","modelName","applicationName","nativeApplicationVersion","nativeBuildVersion","applicationId","generateContext","context","language","location","deviceInfo","screenInfo","storedTrafficSource","getStoredTrafficSource","defaultContext","library_name","library_version","SDK_VERSION","app","name","version","build","bundleId","mergedContext","mergeDeepRight","getEnrichedEvent","formoEvent","commonEventData","original_timestamp","getCurrentTimeFormatted","user_id","channel","CHANNEL","VERSION","anonymous_id","LOCAL_ANONYMOUS_ID_KEY","validAddress","getValidAddress","address","toChecksumAddress","processedEvent","event","properties","functionArgs","function_args","converted","toSnakeCase","generateScreenEvent","category","props","screenContext","page_title","page_url","screenEvent","generateDetectWalletEvent","providerName","rdns","detectEvent","generateIdentifyEvent","userId","identifyEvent","generateConnectEvent","chainId","connectEvent","generateDisconnectEvent","disconnectEvent","generateChainChangedEvent","chainEvent","generateSignatureEvent","status","message","signatureHash","signatureEvent","generateTransactionEvent","data","to","value","transactionHash","function_name","transactionEvent","generateTrackEvent","trackEvent","revenue","Number","currency","toLowerCase","points","volume","create","exports"],"sourceRoot":"../../../../src","sources":["lib/event/EventFactory.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AA0BA,IAAAG,UAAA,GAAAH,OAAA;AAaA,IAAAI,MAAA,GAAAJ,OAAA;AAOA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AAEA,IAAAS,QAAA,GAAAT,OAAA;AAAuD,SAAAE,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAjDvD;AACA,IAAIG,UAAoE,GAAG,IAAI;AAC/E,IAAIC,UAA+C,GAAG,IAAI;AAC1D,IAAIC,eAAyD,GAAG,IAAI;;AAEpE;AACA,IAAI;EACFF,UAAU,GAAGb,OAAO,CAAC,0BAA0B,CAAC,CAACY,OAAO;AAC1D,CAAC,CAAC,MAAM;EACN;AAAA;;AAGF;AACA,IAAI;EACFE,UAAU,GAAGd,OAAO,CAAC,aAAa,CAAC;AACrC,CAAC,CAAC,MAAM;EACN;AAAA;AAGF,IAAI;EACFe,eAAe,GAAGf,OAAO,CAAC,kBAAkB,CAAC;AAC/C,CAAC,CAAC,MAAM;EACN;AAAA;AA6BF;AACA;AACA;AACA,SAASgB,mBAAmBA,CAACC,GAAW,EAAU;EAChD,MAAMC,QAAQ,GAAG,IAAAC,gBAAO,EAAC,CAAC,CAACC,GAAG,CAACH,GAAG,CAAC;EACnC,IAAIC,QAAQ,EAAE;IACZ,OAAOA,QAAQ;EACjB;EAEA,MAAMG,KAAK,GAAG,IAAAC,kBAAY,EAAC,CAAC;EAC5B,IAAAH,gBAAO,EAAC,CAAC,CAACI,GAAG,CAACN,GAAG,EAAEI,KAAK,CAAC;EACzB,OAAOA,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA,MAAMG,YAAY,CAA0B;EAG1CC,WAAWA,CAACC,OAAiB,EAAE;IAC7B,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;;EAEA;AACF;AACA;EACUC,WAAWA,CAAA,EAAW;IAC5B,IAAI;MACF,OAAOC,IAAI,CAACC,cAAc,CAAC,CAAC,CAACC,eAAe,CAAC,CAAC,CAACC,QAAQ;IACzD,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdC,cAAM,CAACD,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;MAChD,OAAO,EAAE;IACX;EACF;;EAEA;AACF;AACA;EACUE,WAAWA,CAAA,EAAW;IAC5B,IAAI;MACF,MAAMC,QAAQ,GAAG,IAAI,CAACR,WAAW,CAAC,CAAC;MACnC,IAAIQ,QAAQ,IAAIC,uBAAY,EAAE;QAC5B,OAAOA,uBAAY,CAACD,QAAQ,CAAC,IAAIA,QAAQ;MAC3C;MACA,OAAOA,QAAQ;IACjB,CAAC,CAAC,OAAOH,KAAK,EAAE;MACdC,cAAM,CAACD,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;MAChD,OAAO,EAAE;IACX;EACF;;EAEA;AACF;AACA;EACUK,WAAWA,CAAA,EAAW;IAC5B,IAAI;MACF;MACA,MAAMC,MAAM,GACVC,qBAAQ,CAACC,EAAE,KAAK,KAAK,GACjBC,0BAAa,CAACC,eAAe,EAAEC,QAAQ,EAAEC,WAAW,IACpDH,0BAAa,CAACC,eAAe,EAAEC,QAAQ,EAAEE,cAAc,GAAG,CAAC,CAAC,GAC5DJ,0BAAa,CAACK,WAAW,EAAEC,gBAAgB;MAEjD,OAAOT,MAAM,IAAI,IAAI;IACvB,CAAC,CAAC,OAAON,KAAK,EAAE;MACdC,cAAM,CAACe,KAAK,CAAC,2BAA2B,EAAEhB,KAAK,CAAC;MAChD,OAAO,IAAI;IACb;EACF;;EAEA;AACF;AACA;EACUiB,SAASA,CAAA,EAIf;IACA,IAAI;MACF,MAAM;QAAEC,KAAK;QAAEC,MAAM;QAAEC;MAAM,CAAC,GAAGC,uBAAU,CAACjC,GAAG,CAAC,QAAQ,CAAC;MACzD,OAAO;QACLkC,YAAY,EAAEC,IAAI,CAACC,KAAK,CAACN,KAAK,CAAC;QAC/BO,aAAa,EAAEF,IAAI,CAACC,KAAK,CAACL,MAAM,CAAC;QACjCO,cAAc,EAAEN;MAClB,CAAC;IACH,CAAC,CAAC,OAAOpB,KAAK,EAAE;MACdC,cAAM,CAACD,KAAK,CAAC,oCAAoC,EAAEA,KAAK,CAAC;MACzD,OAAO;QACLsB,YAAY,EAAE,CAAC;QACfG,aAAa,EAAE,CAAC;QAChBC,cAAc,EAAE;MAClB,CAAC;IACH;EACF;;EAEA;AACF;AACA;EACE,MAAcC,cAAcA,CAAA,EAIzB;IACD,IAAI;MACF,MAAMC,QAAQ,GAAG,MAAMC,gBAAO,CAACC,KAAK,CAAC,CAAC;MAEtC,MAAMC,WAIL,GAAG,CAAC,CAAC;;MAEN;MACA,IAAIH,QAAQ,CAACI,IAAI,KAAK,MAAM,EAAE;QAC5BD,WAAW,CAACE,YAAY,GAAG,IAAI;QAC/BF,WAAW,CAACG,gBAAgB,GAAG,KAAK;MACtC,CAAC,MAAM,IAAIN,QAAQ,CAACI,IAAI,KAAK,UAAU,EAAE;QACvCD,WAAW,CAACE,YAAY,GAAG,KAAK;QAChCF,WAAW,CAACG,gBAAgB,GAAG,IAAI;;QAEnC;QACA,IAAIN,QAAQ,CAACO,OAAO,IAAI,SAAS,IAAIP,QAAQ,CAACO,OAAO,EAAE;UACrDJ,WAAW,CAACK,eAAe,GAAGR,QAAQ,CAACO,OAAO,CAACE,OAAO,IAAIC,SAAS;QACrE;MACF,CAAC,MAAM;QACL;QACAP,WAAW,CAACE,YAAY,GAAG,KAAK;QAChCF,WAAW,CAACG,gBAAgB,GAAG,KAAK;MACtC;MAEA,OAAOH,WAAW;IACpB,CAAC,CAAC,OAAO/B,KAAK,EAAE;MACdC,cAAM,CAACe,KAAK,CAAC,6BAA6B,EAAEhB,KAAK,CAAC;MAClD,OAAO,CAAC,CAAC;IACX;EACF;;EAEA;AACF;AACA;AACA;EACE,MAAcuC,aAAaA,CAAA,EAYxB;IACD;IACA,IAAI1D,UAAU,EAAE;MACd,IAAI;QACF,MAAM,CAAC2D,KAAK,EAAEC,YAAY,EAAEC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CAC/EjE,UAAU,CAACkE,QAAQ,CAAC,CAAC,EACrBlE,UAAU,CAACmE,eAAe,CAAC,CAAC,EAC5BnE,UAAU,CAACoE,aAAa,CAAC,CAAC,EAC1BpE,UAAU,CAACqE,YAAY,CAAC,CAAC,EACzBrE,UAAU,CAAC+D,QAAQ,CAAC,CAAC,CACtB,CAAC;QAEF,OAAO;UACLO,OAAO,EAAE5C,qBAAQ,CAACC,EAAE;UACpB4C,UAAU,EAAEvE,UAAU,CAACwE,gBAAgB,CAAC,CAAC;UACzCC,YAAY,EAAEd,KAAK;UACnBe,mBAAmB,EAAEd,YAAY;UACjCe,WAAW,EAAEd,UAAU;UACvBe,WAAW,EAAEb,QAAQ,GAAG,QAAQ,GAAG,QAAQ;UAC3Cc,UAAU,EAAEf,SAAS;UACrBgB,QAAQ,EAAE9E,UAAU,CAAC+E,kBAAkB,CAAC,CAAC;UACzCC,WAAW,EAAEhF,UAAU,CAACiF,UAAU,CAAC,CAAC;UACpCC,SAAS,EAAElF,UAAU,CAACmF,cAAc,CAAC,CAAC;UACtCC,aAAa,EAAEpF,UAAU,CAACqF,WAAW,CAAC;QACxC,CAAC;MACH,CAAC,CAAC,OAAOlE,KAAK,EAAE;QACdC,cAAM,CAACe,KAAK,CAAC,qDAAqD,EAAEhB,KAAK,CAAC;MAC5E;IACF;;IAEA;IACA,IAAIlB,UAAU,IAAIC,eAAe,EAAE;MACjC,IAAI;QACF,MAAM6D,QAAQ,GAAG9D,UAAU,EAAEqF,UAAU,KAAKrF,UAAU,EAAEsF,UAAU,EAAEC,MAAM;QAC1E,OAAO;UACLlB,OAAO,EAAErE,UAAU,EAAEwF,MAAM,IAAI/D,qBAAQ,CAACC,EAAE;UAC1C4C,UAAU,EAAEtE,UAAU,EAAEyF,SAAS,IAAIC,MAAM,CAACjE,qBAAQ,CAACkE,OAAO,CAAC;UAC7DnB,YAAY,EAAExE,UAAU,EAAE4F,SAAS,IAAI,SAAS;UAChDnB,mBAAmB,EAAEzE,UAAU,EAAE2D,YAAY,IAAI,SAAS;UAC1De,WAAW,EAAE1E,UAAU,EAAE4D,UAAU,IAAI,gBAAgB;UACvDe,WAAW,EAAEb,QAAQ,GAAG,QAAQ,GAAG,QAAQ;UAC3Cc,UAAU,EAAE,EAAE;UACdC,QAAQ,EAAE5E,eAAe,EAAE4F,eAAe,IAAI,EAAE;UAChDd,WAAW,EAAE9E,eAAe,EAAE6F,wBAAwB,IAAI,EAAE;UAC5Db,SAAS,EAAEhF,eAAe,EAAE8F,kBAAkB,IAAI,EAAE;UACpDZ,aAAa,EAAElF,eAAe,EAAE+F,aAAa,IAAI;QACnD,CAAC;MACH,CAAC,CAAC,OAAO9E,KAAK,EAAE;QACdC,cAAM,CAACe,KAAK,CAAC,kCAAkC,EAAEhB,KAAK,CAAC;MACzD;IACF;;IAEA;IACAC,cAAM,CAACe,KAAK,CAAC,2DAA2D,CAAC;IACzE,OAAO;MACLmC,OAAO,EAAE5C,qBAAQ,CAACC,EAAE;MACpB4C,UAAU,EAAEoB,MAAM,CAACjE,qBAAQ,CAACkE,OAAO,CAAC;MACpCnB,YAAY,EAAE,SAAS;MACvBC,mBAAmB,EAAE,SAAS;MAC9BC,WAAW,EAAE,gBAAgB;MAC7BC,WAAW,EAAE,QAAQ;MACrBC,UAAU,EAAE,EAAE;MACdC,QAAQ,EAAE,EAAE;MACZE,WAAW,EAAE,EAAE;MACfE,SAAS,EAAE,EAAE;MACbE,aAAa,EAAE;IACjB,CAAC;EACH;;EAEA;AACF;AACA;EACE,MAAcc,eAAeA,CAC3BC,OAA4B,EACC;IAC7B,MAAMC,QAAQ,GAAG,IAAI,CAAC5E,WAAW,CAAC,CAAC;IACnC,MAAMF,QAAQ,GAAG,IAAI,CAACR,WAAW,CAAC,CAAC;IACnC,MAAMuF,QAAQ,GAAG,IAAI,CAAChF,WAAW,CAAC,CAAC;IACnC,MAAMiF,UAAU,GAAG,MAAM,IAAI,CAAC5C,aAAa,CAAC,CAAC;IAC7C,MAAMR,WAAW,GAAG,MAAM,IAAI,CAACJ,cAAc,CAAC,CAAC;IAC/C,MAAMyD,UAAU,GAAG,IAAI,CAACnE,SAAS,CAAC,CAAC;;IAEnC;IACA,MAAMoE,mBAAmB,GAAG,IAAAC,6BAAsB,EAAC,CAAC;IAEpD,MAAMC,cAAkC,GAAG;MACzCjF,MAAM,EAAE2E,QAAQ;MAChB9E,QAAQ;MACR+E,QAAQ;MACRM,YAAY,EAAE,wBAAwB;MACtCC,eAAe,EAAEC,gBAAW;MAC5B,GAAGP,UAAU;MACb,GAAGpD,WAAW;MACd,GAAGqD,UAAU;MACb;MACA,IAAI,IAAI,CAAC1F,OAAO,EAAEiG,GAAG,EAAEC,IAAI,IAAI;QAAEjC,QAAQ,EAAE,IAAI,CAACjE,OAAO,CAACiG,GAAG,CAACC;MAAK,CAAC,CAAC;MACnE,IAAI,IAAI,CAAClG,OAAO,EAAEiG,GAAG,EAAEE,OAAO,IAAI;QAAEhC,WAAW,EAAE,IAAI,CAACnE,OAAO,CAACiG,GAAG,CAACE;MAAQ,CAAC,CAAC;MAC5E,IAAI,IAAI,CAACnG,OAAO,EAAEiG,GAAG,EAAEG,KAAK,IAAI;QAAE/B,SAAS,EAAE,IAAI,CAACrE,OAAO,CAACiG,GAAG,CAACG;MAAM,CAAC,CAAC;MACtE,IAAI,IAAI,CAACpG,OAAO,EAAEiG,GAAG,EAAEI,QAAQ,IAAI;QAAE9B,aAAa,EAAE,IAAI,CAACvE,OAAO,CAACiG,GAAG,CAACI;MAAS,CAAC,CAAC;MAChF;MACA,IAAIV,mBAAmB,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAMW,aAAa,GAAG,IAAAC,qBAAc,EAClCV,cAAc,EACdP,OAAO,IAAI,CAAC,CACd,CAAuB;IAEvB,OAAOgB,aAAa;EACtB;;EAEA;AACF;AACA;EACE,MAAcE,gBAAgBA,CAC5BC,UAAgC,EAChCnB,OAA4B,EACN;IACtB,MAAMoB,eAAqC,GAAG;MAC5CpB,OAAO,EAAE,MAAM,IAAI,CAACD,eAAe,CAACC,OAAO,CAAC;MAC5CqB,kBAAkB,EAAE,IAAAC,kCAAuB,EAAC,CAAC;MAC7CC,OAAO,EAAEJ,UAAU,CAACI,OAAO;MAC3BvE,IAAI,EAAEmE,UAAU,CAACnE,IAAI;MACrBwE,OAAO,EAAEC,kBAAO;MAChBZ,OAAO,EAAEa;IACX,CAAC;IAEDN,eAAe,CAACO,YAAY,GAAG3H,mBAAmB,CAAC4H,iCAAsB,CAAC;;IAE1E;IACA,MAAMC,YAAY,GAAG,IAAAC,sBAAe,EAACX,UAAU,CAACY,OAAO,CAAC;IACxD,IAAIF,YAAY,EAAE;MAChBT,eAAe,CAACW,OAAO,GAAG,IAAAC,wBAAiB,EAACH,YAAY,CAAC;IAC3D,CAAC,MAAM;MACLT,eAAe,CAACW,OAAO,GAAG,IAAI;IAChC;IAEA,MAAME,cAAc,GAAG,IAAAhB,qBAAc,EACnCE,UAAU,EACVC,eACF,CAA2B;IAE3B,IAAIa,cAAc,CAACC,KAAK,KAAK5E,SAAS,EAAE;MACtC2E,cAAc,CAACC,KAAK,GAAG,IAAI;IAC7B;IAEA,IAAID,cAAc,CAACE,UAAU,KAAK7E,SAAS,EAAE;MAC3C2E,cAAc,CAACE,UAAU,GAAG,IAAI;IAClC;;IAEA;IACA;IACA,MAAMC,YAAY,GAAIH,cAAc,CAACE,UAAU,EAA8BE,aAAa;IAE1F,MAAMC,SAAS,GAAG,IAAAC,kBAAW,EAACN,cAAoD,CAA2B;;IAE7G;IACA,IAAIG,YAAY,IAAIE,SAAS,CAACH,UAAU,EAAE;MACvCG,SAAS,CAACH,UAAU,CAA6BE,aAAa,GAAGD,YAAY;IAChF;IAEA,OAAOE,SAAS;EAClB;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAME,mBAAmBA,CACvB5B,IAAY,EACZ6B,QAAiB,EACjBN,UAAkC,EAClCnC,OAA4B,EACN;IACtB,MAAM0C,KAAK,GAAG;MAAE,IAAIP,UAAU,IAAI,CAAC,CAAC,CAAC;MAAEvB,IAAI;MAAE,IAAI6B,QAAQ,IAAI;QAAEA;MAAS,CAAC;IAAE,CAAC;;IAE5E;IACA;IACA;IACA,MAAME,aAAiC,GAAG;MACxCC,UAAU,EAAEhC,IAAI;MAChBiC,QAAQ,EAAE,SAASjC,IAAI,EAAE;MACzB,IAAIZ,OAAO,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,MAAM8C,WAAiC,GAAG;MACxCX,UAAU,EAAEO,KAAK;MACjB1F,IAAI,EAAE;IACR,CAAC;IAED,OAAO,IAAI,CAACkE,gBAAgB,CAAC4B,WAAW,EAAEH,aAAa,CAAC;EAC1D;EAEA,MAAMI,yBAAyBA,CAC7BC,YAAoB,EACpBC,IAAY,EACZd,UAAkC,EAClCnC,OAA4B,EACN;IACtB,MAAMkD,WAAiC,GAAG;MACxCf,UAAU,EAAE;QACVa,YAAY;QACZC,IAAI;QACJ,GAAGd;MACL,CAAC;MACDnF,IAAI,EAAE;IACR,CAAC;IAED,OAAO,IAAI,CAACkE,gBAAgB,CAACgC,WAAW,EAAElD,OAAO,CAAC;EACpD;EAEA,MAAMmD,qBAAqBA,CACzBH,YAAoB,EACpBC,IAAY,EACZlB,OAA0B,EAC1BqB,MAAyB,EACzBjB,UAAkC,EAClCnC,OAA4B,EACN;IACtB,MAAMqD,aAAmC,GAAG;MAC1ClB,UAAU,EAAE;QACVa,YAAY;QACZC,IAAI;QACJ,GAAGd;MACL,CAAC;MACDZ,OAAO,EAAE6B,MAAM;MACfrB,OAAO;MACP/E,IAAI,EAAE;IACR,CAAC;IAED,OAAO,IAAI,CAACkE,gBAAgB,CAACmC,aAAa,EAAErD,OAAO,CAAC;EACtD;EAEA,MAAMsD,oBAAoBA,CACxBC,OAAgB,EAChBxB,OAAgB,EAChBI,UAAkC,EAClCnC,OAA4B,EACN;IACtB,MAAMwD,YAAkC,GAAG;MACzCrB,UAAU,EAAE;QACVoB,OAAO;QACP,GAAGpB;MACL,CAAC;MACDJ,OAAO;MACP/E,IAAI,EAAE;IACR,CAAC;IAED,OAAO,IAAI,CAACkE,gBAAgB,CAACsC,YAAY,EAAExD,OAAO,CAAC;EACrD;EAEA,MAAMyD,uBAAuBA,CAC3BF,OAAiB,EACjBxB,OAAiB,EACjBI,UAAkC,EAClCnC,OAA4B,EACN;IACtB,MAAM0D,eAAqC,GAAG;MAC5CvB,UAAU,EAAE;QACVoB,OAAO;QACP,GAAGpB;MACL,CAAC;MACDJ,OAAO;MACP/E,IAAI,EAAE;IACR,CAAC;IAED,OAAO,IAAI,CAACkE,gBAAgB,CAACwC,eAAe,EAAE1D,OAAO,CAAC;EACxD;EAEA,MAAM2D,yBAAyBA,CAC7BJ,OAAgB,EAChBxB,OAAgB,EAChBI,UAAkC,EAClCnC,OAA4B,EACN;IACtB,MAAM4D,UAAgC,GAAG;MACvCzB,UAAU,EAAE;QACVoB,OAAO;QACP,GAAGpB;MACL,CAAC;MACDJ,OAAO;MACP/E,IAAI,EAAE;IACR,CAAC;IAED,OAAO,IAAI,CAACkE,gBAAgB,CAAC0C,UAAU,EAAE5D,OAAO,CAAC;EACnD;EAEA,MAAM6D,sBAAsBA,CAC1BC,MAAuB,EACvBP,OAA4B,EAC5BxB,OAAgB,EAChBgC,OAAe,EACfC,aAAsB,EACtB7B,UAAkC,EAClCnC,OAA4B,EACN;IACtB,MAAMiE,cAAoC,GAAG;MAC3C9B,UAAU,EAAE;QACV2B,MAAM;QACN,IAAIP,OAAO,KAAKjG,SAAS,IAAIiG,OAAO,KAAK,IAAI,IAAI;UAAEA;QAAQ,CAAC,CAAC;QAC7DQ,OAAO;QACP,IAAIC,aAAa,IAAI;UAAEA;QAAc,CAAC,CAAC;QACvC,GAAG7B;MACL,CAAC;MACDJ,OAAO;MACP/E,IAAI,EAAE;IACR,CAAC;IAED,OAAO,IAAI,CAACkE,gBAAgB,CAAC+C,cAAc,EAAEjE,OAAO,CAAC;EACvD;EAEA,MAAMkE,wBAAwBA,CAC5BJ,MAAyB,EACzBP,OAAgB,EAChBxB,OAAgB,EAChBoC,IAAa,EACbC,EAAW,EACXC,KAAc,EACdC,eAAwB,EACxBC,aAAsB,EACtBlC,aAAuC,EACvCF,UAAkC,EAClCnC,OAA4B,EACN;IACtB,MAAMwE,gBAAsC,GAAG;MAC7CrC,UAAU,EAAE;QACV2B,MAAM;QACNP,OAAO;QACPY,IAAI;QACJC,EAAE;QACFC,KAAK;QACL,IAAIC,eAAe,IAAI;UAAEA;QAAgB,CAAC,CAAC;QAC3C,IAAIC,aAAa,IAAI;UAAEA;QAAc,CAAC,CAAC;QACvC,IAAIlC,aAAa,IAAI;UAAEA;QAAc,CAAC,CAAC;QACvC,GAAGF;MACL,CAAC;MACDJ,OAAO;MACP/E,IAAI,EAAE;IACR,CAAC;IAED,OAAO,IAAI,CAACkE,gBAAgB,CAACsD,gBAAgB,EAAExE,OAAO,CAAC;EACzD;EAEA,MAAMyE,kBAAkBA,CACtBvC,KAAa,EACbC,UAAkC,EAClCnC,OAA4B,EACN;IACtB,MAAM0E,UAAgC,GAAG;MACvCvC,UAAU,EAAE;QACV,GAAGA,UAAU;QACb,IAAIA,UAAU,EAAEwC,OAAO,KAAKrH,SAAS,IAAI;UACvCqH,OAAO,EAAEC,MAAM,CAACzC,UAAU,CAACwC,OAAO,CAAC;UACnCE,QAAQ,EAAE,CAAC,OAAO1C,UAAU,EAAE0C,QAAQ,KAAK,QAAQ,GAC/C1C,UAAU,CAAC0C,QAAQ,GACnB,KAAK,EACPC,WAAW,CAAC;QAChB,CAAC,CAAC;QACF,IAAI3C,UAAU,EAAE4C,MAAM,KAAKzH,SAAS,IAAI;UACtCyH,MAAM,EAAEH,MAAM,CAACzC,UAAU,CAAC4C,MAAM;QAClC,CAAC,CAAC;QACF,IAAI5C,UAAU,EAAE6C,MAAM,KAAK1H,SAAS,IAAI;UACtC0H,MAAM,EAAEJ,MAAM,CAACzC,UAAU,CAAC6C,MAAM;QAClC,CAAC;MACH,CAAC;MACD9C,KAAK;MACLlF,IAAI,EAAE;IACR,CAAC;IAED,OAAO,IAAI,CAACkE,gBAAgB,CAACwD,UAAU,EAAE1E,OAAO,CAAC;EACnD;;EAEA;AACF;AACA;EACE,MAAMiF,MAAMA,CACV/C,KAAe,EACfH,OAAiB,EACjBqB,MAAe,EACO;IACtB,IAAIjC,UAAgC,GAAG,CAAC,CAAC;IAEzC,QAAQe,KAAK,CAAClF,IAAI;MAChB,KAAK,QAAQ;QACXmE,UAAU,GAAG,MAAM,IAAI,CAACqB,mBAAmB,CACzCN,KAAK,CAACtB,IAAI,EACVsB,KAAK,CAACO,QAAQ,EACdP,KAAK,CAACC,UAAU,EAChBD,KAAK,CAAClC,OACR,CAAC;QACD;MACF,KAAK,QAAQ;QACXmB,UAAU,GAAG,MAAM,IAAI,CAAC4B,yBAAyB,CAC/Cb,KAAK,CAACc,YAAY,EAClBd,KAAK,CAACe,IAAI,EACVf,KAAK,CAACC,UAAU,EAChBD,KAAK,CAAClC,OACR,CAAC;QACD;MACF,KAAK,UAAU;QACbmB,UAAU,GAAG,MAAM,IAAI,CAACgC,qBAAqB,CAC3CjB,KAAK,CAACc,YAAY,EAClBd,KAAK,CAACe,IAAI,EACVf,KAAK,CAACH,OAAO,EACbG,KAAK,CAACkB,MAAM,EACZlB,KAAK,CAACC,UAAU,EAChBD,KAAK,CAAClC,OACR,CAAC;QACD;MACF,KAAK,OAAO;QACVmB,UAAU,GAAG,MAAM,IAAI,CAACwC,yBAAyB,CAC/CzB,KAAK,CAACqB,OAAO,EACbrB,KAAK,CAACH,OAAO,EACbG,KAAK,CAACC,UAAU,EAChBD,KAAK,CAAClC,OACR,CAAC;QACD;MACF,KAAK,SAAS;QACZmB,UAAU,GAAG,MAAM,IAAI,CAACmC,oBAAoB,CAC1CpB,KAAK,CAACqB,OAAO,EACbrB,KAAK,CAACH,OAAO,EACbG,KAAK,CAACC,UAAU,EAChBD,KAAK,CAAClC,OACR,CAAC;QACD;MACF,KAAK,YAAY;QACfmB,UAAU,GAAG,MAAM,IAAI,CAACsC,uBAAuB,CAC7CvB,KAAK,CAACqB,OAAO,EACbrB,KAAK,CAACH,OAAO,EACbG,KAAK,CAACC,UAAU,EAChBD,KAAK,CAAClC,OACR,CAAC;QACD;MACF,KAAK,WAAW;QACdmB,UAAU,GAAG,MAAM,IAAI,CAAC0C,sBAAsB,CAC5C3B,KAAK,CAAC4B,MAAM,EACZ5B,KAAK,CAACqB,OAAO,EACbrB,KAAK,CAACH,OAAO,EACbG,KAAK,CAAC6B,OAAO,EACb7B,KAAK,CAAC8B,aAAa,EACnB9B,KAAK,CAACC,UAAU,EAChBD,KAAK,CAAClC,OACR,CAAC;QACD;MACF,KAAK,aAAa;QAChBmB,UAAU,GAAG,MAAM,IAAI,CAAC+C,wBAAwB,CAC9ChC,KAAK,CAAC4B,MAAM,EACZ5B,KAAK,CAACqB,OAAO,EACbrB,KAAK,CAACH,OAAO,EACbG,KAAK,CAACiC,IAAI,EACVjC,KAAK,CAACkC,EAAE,EACRlC,KAAK,CAACmC,KAAK,EACXnC,KAAK,CAACoC,eAAe,EACrBpC,KAAK,CAACqC,aAAa,EACnBrC,KAAK,CAACG,aAAa,EACnBH,KAAK,CAACC,UAAU,EAChBD,KAAK,CAAClC,OACR,CAAC;QACD;MACF,KAAK,OAAO;MACZ;QACEmB,UAAU,GAAG,MAAM,IAAI,CAACsD,kBAAkB,CACxCvC,KAAK,CAACA,KAAK,EACXA,KAAK,CAACC,UAAU,EAChBD,KAAK,CAAClC,OACR,CAAC;QACD;IACJ;;IAEA;IACA,IAAImB,UAAU,CAACY,OAAO,KAAKzE,SAAS,IAAI6D,UAAU,CAACY,OAAO,KAAK,IAAI,EAAE;MACnE,MAAMF,YAAY,GAAG,IAAAC,sBAAe,EAACC,OAAO,CAAC;MAC7CZ,UAAU,CAACY,OAAO,GAAGF,YAAY,GAC7B,IAAAG,wBAAiB,EAACH,YAAY,CAAC,GAC/B,IAAI;IACV;IACAV,UAAU,CAACI,OAAO,GAAG6B,MAAM,IAAI,IAAI;IAEnC,OAAOjC,UAAU;EACnB;AACF;AAAC+D,OAAA,CAAA1K,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_netinfo","_interopRequireDefault","_index","_index2","_timestamp","_hash","_index3","_index4","_version","e","__esModule","default","DeviceInfo","ExpoDevice","ExpoApplication","generateAnonymousId","key","existing","storage","get","newId","generateUUID","set","getSessionId","now","Date","existingId","LOCAL_SESSION_ID_KEY","lastActivityRaw","LOCAL_SESSION_LAST_ACTIVITY_KEY","lastActivity","parseInt","isExpired","SESSION_TIMEOUT_MS","sessionId","String","synthesizeUserAgent","info","os","os_name","toLowerCase","version","os_version","model","device_model","isTablet","device_type","device","osVersion","replace","formFactor","EventFactory","constructor","options","getTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","error","logger","getLocation","timezone","COUNTRY_LIST","getLanguage","locale","Platform","OS","NativeModules","SettingsManager","settings","AppleLocale","AppleLanguages","I18nManager","localeIdentifier","debug","getScreen","width","height","scale","Dimensions","screen_width","Math","round","screen_height","screen_density","getNetworkInfo","netState","NetInfo","fetch","networkInfo","type","network_wifi","network_cellular","details","network_carrier","carrier","undefined","getDeviceInfo","manufacturer","deviceName","userAgent","Promise","all","getModel","getManufacturer","getDeviceName","getUserAgent","getSystemVersion","device_manufacturer","device_name","user_agent","app_name","getApplicationName","app_version","getVersion","app_build","getBuildNumber","app_bundle_id","getBundleId","deviceType","DeviceType","TABLET","osName","Version","modelName","applicationName","nativeApplicationVersion","nativeBuildVersion","applicationId","generateContext","context","language","location","deviceInfo","screenInfo","storedTrafficSource","getStoredTrafficSource","defaultContext","library_name","library_version","SDK_VERSION","app","name","build","bundleId","mergedContext","mergeDeepRight","getEnrichedEvent","formoEvent","commonEventData","original_timestamp","getCurrentTimeFormatted","user_id","channel","CHANNEL","VERSION","anonymous_id","LOCAL_ANONYMOUS_ID_KEY","session_id","validAddress","address","validateAddress","processedEvent","event","properties","functionArgs","function_args","converted","toSnakeCase","generateScreenEvent","category","props","screenContext","page_title","page_url","screenEvent","generateDetectWalletEvent","providerName","rdns","detectEvent","generateIdentifyEvent","userId","identifyEvent","generateConnectEvent","chainId","connectEvent","generateDisconnectEvent","disconnectEvent","generateChainChangedEvent","chainEvent","generateSignatureEvent","status","message","signatureEvent","generateTransactionEvent","data","to","value","transactionHash","function_name","transactionEvent","generateTrackEvent","trackEvent","revenue","Number","currency","points","volume","create","exports"],"sourceRoot":"../../../../src","sources":["lib/event/EventFactory.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.EventManager = void 0;
|
|
7
|
-
var
|
|
8
|
-
var _EventFactory = require("./EventFactory");
|
|
9
|
-
var _address = require("../../utils/address");
|
|
7
|
+
var _index = require("../logger/index.js");
|
|
8
|
+
var _EventFactory = require("./EventFactory.js");
|
|
9
|
+
var _address = require("../../utils/address.js");
|
|
10
10
|
/**
|
|
11
11
|
* Event manager for React Native SDK
|
|
12
12
|
* Generates valid event payloads and queues them for processing
|
|
@@ -29,14 +29,14 @@ class EventManager {
|
|
|
29
29
|
|
|
30
30
|
// Check if the final event has a blocked address
|
|
31
31
|
if (formoEvent.address && (0, _address.isBlockedAddress)(formoEvent.address)) {
|
|
32
|
-
|
|
32
|
+
_index.logger.warn(`Event blocked: Address ${formoEvent.address} is in the blocked list`);
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
35
|
await this.eventQueue.enqueue(formoEvent, (err, _, data) => {
|
|
36
36
|
if (err) {
|
|
37
|
-
|
|
37
|
+
_index.logger.error("Error sending events:", err);
|
|
38
38
|
} else {
|
|
39
|
-
|
|
39
|
+
_index.logger.info(`Events sent successfully: ${data?.length ?? 0} events`);
|
|
40
40
|
}
|
|
41
41
|
callback?.(err, _, data);
|
|
42
42
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_index","require","_EventFactory","_address","EventManager","constructor","eventQueue","options","eventFactory","EventFactory","addEvent","event","address","userId","callback","_event","formoEvent","create","isBlockedAddress","logger","warn","enqueue","err","_","data","error","info","length","exports"],"sourceRoot":"../../../../src","sources":["lib/event/EventManager.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA,MAAMG,YAAY,CAA0B;EAI1CC,WAAWA,CAACC,UAAuB,EAAEC,OAAiB,EAAE;IACtD,IAAI,CAACD,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACE,YAAY,GAAG,IAAIC,0BAAY,CAACF,OAAO,CAAC;EAC/C;;EAEA;AACF;AACA;EACE,MAAMG,QAAQA,CACZC,KAAe,EACfC,OAAiB,EACjBC,MAAe,EACA;IACf,MAAM;MAAEC,QAAQ;MAAE,GAAGC;IAAO,CAAC,GAAGJ,KAAK;IACrC,MAAMK,UAAU,GAAG,MAAM,IAAI,CAACR,YAAY,CAACS,MAAM,CAACF,MAAM,EAAEH,OAAO,EAAEC,MAAM,CAAC;;IAE1E;IACA,IAAIG,UAAU,CAACJ,OAAO,IAAI,IAAAM,yBAAgB,EAACF,UAAU,CAACJ,OAAO,CAAC,EAAE;MAC9DO,aAAM,CAACC,IAAI,CACT,0BAA0BJ,UAAU,CAACJ,OAAO,yBAC9C,CAAC;MACD;IACF;IAEA,MAAM,IAAI,CAACN,UAAU,CAACe,OAAO,CAACL,UAAU,EAAE,CAACM,GAAG,EAAEC,CAAC,EAAEC,IAAI,KAAK;MAC1D,IAAIF,GAAG,EAAE;QACPH,aAAM,CAACM,KAAK,CAAC,uBAAuB,EAAEH,GAAG,CAAC;MAC5C,CAAC,MAAM;QACLH,aAAM,CAACO,IAAI,CAAC,6BAA8BF,IAAI,EAAgBG,MAAM,IAAI,CAAC,SAAS,CAAC;MACrF;MACAb,QAAQ,GAAGQ,GAAG,EAAEC,CAAC,EAAEC,IAAI,CAAC;IAC1B,CAAC,CAAC;EACJ;AACF;AAACI,OAAA,CAAAxB,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.EventQueue = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var _hash = require("../../utils/hash");
|
|
11
|
-
var _timestamp = require("../../utils/timestamp");
|
|
12
|
-
var
|
|
8
|
+
var _index = require("../../constants/index.js");
|
|
9
|
+
var _index2 = require("../../utils/index.js");
|
|
10
|
+
var _hash = require("../../utils/hash.js");
|
|
11
|
+
var _timestamp = require("../../utils/timestamp.js");
|
|
12
|
+
var _index3 = require("../logger/index.js");
|
|
13
13
|
const DEFAULT_RETRY = 3;
|
|
14
14
|
const MAX_RETRY = 5;
|
|
15
15
|
const MIN_RETRY = 1;
|
|
@@ -39,10 +39,10 @@ class EventQueue {
|
|
|
39
39
|
constructor(writeKey, options) {
|
|
40
40
|
this.writeKey = writeKey;
|
|
41
41
|
this.apiHost = options.apiHost;
|
|
42
|
-
this.retryCount = (0,
|
|
43
|
-
this.flushAt = (0,
|
|
44
|
-
this.maxQueueSize = (0,
|
|
45
|
-
this.flushIntervalMs = (0,
|
|
42
|
+
this.retryCount = (0, _index2.clampNumber)(options.retryCount || DEFAULT_RETRY, MAX_RETRY, MIN_RETRY);
|
|
43
|
+
this.flushAt = (0, _index2.clampNumber)(options.flushAt || DEFAULT_FLUSH_AT, MAX_FLUSH_AT, MIN_FLUSH_AT);
|
|
44
|
+
this.maxQueueSize = (0, _index2.clampNumber)(options.maxQueueSize || DEFAULT_QUEUE_SIZE, MAX_QUEUE_SIZE, MIN_QUEUE_SIZE);
|
|
45
|
+
this.flushIntervalMs = (0, _index2.clampNumber)(options.flushInterval || DEFAULT_FLUSH_INTERVAL, MAX_FLUSH_INTERVAL, MIN_FLUSH_INTERVAL);
|
|
46
46
|
// Set up app state listener for React Native
|
|
47
47
|
this.setupAppStateListener();
|
|
48
48
|
}
|
|
@@ -61,9 +61,9 @@ class EventQueue {
|
|
|
61
61
|
handleAppStateChange(nextAppState) {
|
|
62
62
|
// Flush when app goes to background or becomes inactive
|
|
63
63
|
if (nextAppState === "background" || nextAppState === "inactive") {
|
|
64
|
-
|
|
64
|
+
_index3.logger.debug("EventQueue: App going to background, flushing events");
|
|
65
65
|
this.flush().catch(error => {
|
|
66
|
-
|
|
66
|
+
_index3.logger.error("EventQueue: Failed to flush on background", error);
|
|
67
67
|
});
|
|
68
68
|
}
|
|
69
69
|
}
|
|
@@ -99,7 +99,7 @@ class EventQueue {
|
|
|
99
99
|
|
|
100
100
|
// Check for duplicate
|
|
101
101
|
if (this.isDuplicate(message_id)) {
|
|
102
|
-
|
|
102
|
+
_index3.logger.warn(`Event already enqueued, try again after ${(0, _index2.millisecondsToSecond)(this.flushIntervalMs)} seconds.`);
|
|
103
103
|
return;
|
|
104
104
|
}
|
|
105
105
|
this.queue.push({
|
|
@@ -110,7 +110,18 @@ class EventQueue {
|
|
|
110
110
|
callback,
|
|
111
111
|
hash: message_id
|
|
112
112
|
});
|
|
113
|
-
|
|
113
|
+
_index3.logger.log(`Event enqueued: ${(0, _index2.getActionDescriptor)(event.type, event.properties)}`);
|
|
114
|
+
|
|
115
|
+
// Per-event detail line for debugging (only prints when debug logging is on).
|
|
116
|
+
const ctx = event.context ?? {};
|
|
117
|
+
_index3.logger.debug("Event detail:", JSON.stringify({
|
|
118
|
+
type: event.type,
|
|
119
|
+
event: event.event,
|
|
120
|
+
session_id: event.session_id,
|
|
121
|
+
anonymous_id: event.anonymous_id,
|
|
122
|
+
user_agent: ctx.user_agent,
|
|
123
|
+
page_url: ctx.page_url
|
|
124
|
+
}));
|
|
114
125
|
const hasReachedFlushAt = this.queue.length >= this.flushAt;
|
|
115
126
|
const hasReachedQueueSize = this.queue.reduce((acc, item) => acc + JSON.stringify(item).length, 0) >= this.maxQueueSize;
|
|
116
127
|
if (hasReachedFlushAt || hasReachedQueueSize) {
|
|
@@ -121,7 +132,7 @@ class EventQueue {
|
|
|
121
132
|
}
|
|
122
133
|
// Flush uses internal mutex to serialize operations
|
|
123
134
|
this.flush().catch(error => {
|
|
124
|
-
|
|
135
|
+
_index3.logger.error("EventQueue: Failed to flush on threshold", error);
|
|
125
136
|
});
|
|
126
137
|
return;
|
|
127
138
|
}
|
|
@@ -173,14 +184,14 @@ class EventQueue {
|
|
|
173
184
|
// Only remove hashes after successful send
|
|
174
185
|
items.forEach(item => this.payloadHashes.delete(item.hash));
|
|
175
186
|
done();
|
|
176
|
-
|
|
187
|
+
_index3.logger.info(`Events sent successfully: ${data.length} events`);
|
|
177
188
|
} catch (err) {
|
|
178
189
|
// Re-add items to the front of the queue for retry on next flush
|
|
179
190
|
// Note: We intentionally keep hashes in payloadHashes to prevent duplicate
|
|
180
191
|
// events from being enqueued while these items are pending retry.
|
|
181
192
|
this.queue.unshift(...items);
|
|
182
193
|
done(err);
|
|
183
|
-
|
|
194
|
+
_index3.logger.error("Error sending events, re-queued for retry:", err);
|
|
184
195
|
throw err;
|
|
185
196
|
}
|
|
186
197
|
} finally {
|
|
@@ -195,7 +206,7 @@ class EventQueue {
|
|
|
195
206
|
try {
|
|
196
207
|
const response = await fetch(this.apiHost, {
|
|
197
208
|
method: "POST",
|
|
198
|
-
headers: (0,
|
|
209
|
+
headers: (0, _index.EVENTS_API_REQUEST_HEADER)(this.writeKey),
|
|
199
210
|
body: JSON.stringify(data)
|
|
200
211
|
});
|
|
201
212
|
if (!response.ok) {
|
|
@@ -208,9 +219,9 @@ class EventQueue {
|
|
|
208
219
|
throw new Error(`HTTP error! status: ${response.status}`);
|
|
209
220
|
}
|
|
210
221
|
} catch (error) {
|
|
211
|
-
if ((0,
|
|
222
|
+
if ((0, _index2.isNetworkError)(error) && attempt < this.retryCount) {
|
|
212
223
|
const delay = Math.pow(2, attempt) * 1000;
|
|
213
|
-
|
|
224
|
+
_index3.logger.warn(`Network error, retrying in ${delay}ms...`);
|
|
214
225
|
await new Promise(resolve => setTimeout(() => resolve(), delay));
|
|
215
226
|
return this.sendWithRetry(data, attempt + 1);
|
|
216
227
|
}
|
|
@@ -238,7 +249,7 @@ class EventQueue {
|
|
|
238
249
|
clearTimeout(this.timer);
|
|
239
250
|
this.timer = null;
|
|
240
251
|
}
|
|
241
|
-
|
|
252
|
+
_index3.logger.debug("EventQueue: Cleared all pending events");
|
|
242
253
|
}
|
|
243
254
|
|
|
244
255
|
/**
|
|
@@ -256,25 +267,25 @@ class EventQueue {
|
|
|
256
267
|
try {
|
|
257
268
|
await this.flush();
|
|
258
269
|
} catch (error) {
|
|
259
|
-
|
|
270
|
+
_index3.logger.error("EventQueue: Failed to flush during cleanup", error);
|
|
260
271
|
// Break on error to avoid infinite loop if flush keeps failing
|
|
261
272
|
break;
|
|
262
273
|
}
|
|
263
274
|
|
|
264
275
|
// If queue length didn't decrease, flush is silently failing
|
|
265
276
|
if (this.queue.length >= queueLengthBefore) {
|
|
266
|
-
|
|
277
|
+
_index3.logger.warn("EventQueue: Flush did not reduce queue size, aborting cleanup");
|
|
267
278
|
break;
|
|
268
279
|
}
|
|
269
280
|
attempts++;
|
|
270
281
|
}
|
|
271
282
|
if (attempts >= maxAttempts && this.queue.length > 0) {
|
|
272
|
-
|
|
283
|
+
_index3.logger.warn(`EventQueue: Cleanup safety limit reached. Discarding ${this.queue.length} events.`);
|
|
273
284
|
this.queue = [];
|
|
274
285
|
this.payloadHashes.clear();
|
|
275
286
|
}
|
|
276
287
|
if (initialQueueLength > 0) {
|
|
277
|
-
|
|
288
|
+
_index3.logger.debug(`EventQueue: Cleanup completed, flushed ${initialQueueLength - this.queue.length} events`);
|
|
278
289
|
}
|
|
279
290
|
if (this.timer) {
|
|
280
291
|
clearTimeout(this.timer);
|