@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
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Solana address validation utilities
|
|
5
|
+
*
|
|
6
|
+
* Solana uses Base58 encoded 32-byte public keys as addresses.
|
|
7
|
+
* Format: FDKJvWcJNe6wecbgDYDFPCfgs14aJnVsUfWQRYWLn4Tn (32-44 characters)
|
|
8
|
+
*
|
|
9
|
+
* @see https://solana.com/developers/courses/intro-to-solana/interact-with-wallets
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Base58 alphabet used by Solana (Bitcoin alphabet)
|
|
14
|
+
*/
|
|
15
|
+
const BASE58_ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
|
|
16
|
+
const BASE58_CHAR_SET = new Set(BASE58_ALPHABET);
|
|
17
|
+
const MIN_SOLANA_ADDRESS_LENGTH = 32;
|
|
18
|
+
const MAX_SOLANA_ADDRESS_LENGTH = 44;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* System program addresses and other special Solana addresses
|
|
22
|
+
* These are valid addresses but may not represent user wallets
|
|
23
|
+
*/
|
|
24
|
+
export const SOLANA_SYSTEM_ADDRESSES = {
|
|
25
|
+
SYSTEM_PROGRAM: "11111111111111111111111111111111",
|
|
26
|
+
TOKEN_PROGRAM: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
|
|
27
|
+
TOKEN_2022_PROGRAM: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb",
|
|
28
|
+
ASSOCIATED_TOKEN_PROGRAM: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
|
|
29
|
+
RENT_SYSVAR: "SysvarRent111111111111111111111111111111111",
|
|
30
|
+
CLOCK_SYSVAR: "SysvarC1ock11111111111111111111111111111111"
|
|
31
|
+
};
|
|
32
|
+
function isValidBase58String(str) {
|
|
33
|
+
for (const ch of str) {
|
|
34
|
+
if (!BASE58_CHAR_SET.has(ch)) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Check if a string is a valid Solana address format
|
|
43
|
+
*
|
|
44
|
+
* Performs format validation only (length and character set). Does not
|
|
45
|
+
* verify that the address is a valid point on the Ed25519 curve.
|
|
46
|
+
*/
|
|
47
|
+
export function isSolanaAddress(value) {
|
|
48
|
+
if (typeof value !== "string") {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
const trimmed = value.trim();
|
|
52
|
+
if (trimmed.length < MIN_SOLANA_ADDRESS_LENGTH || trimmed.length > MAX_SOLANA_ADDRESS_LENGTH) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
return isValidBase58String(trimmed);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Get a valid Solana address from a string or PublicKey
|
|
60
|
+
*/
|
|
61
|
+
export function getValidSolanaAddress(address) {
|
|
62
|
+
if (!address) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
if (typeof address === "object" && "toBase58" in address) {
|
|
66
|
+
try {
|
|
67
|
+
const base58 = address.toBase58();
|
|
68
|
+
return isSolanaAddress(base58) ? base58 : null;
|
|
69
|
+
} catch {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (typeof address === "string") {
|
|
74
|
+
const trimmed = address.trim();
|
|
75
|
+
return isSolanaAddress(trimmed) ? trimmed : null;
|
|
76
|
+
}
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Check if a Solana address is a system program or well-known program address
|
|
82
|
+
*/
|
|
83
|
+
export function isSolanaSystemAddress(address) {
|
|
84
|
+
const validAddress = getValidSolanaAddress(address);
|
|
85
|
+
if (!validAddress) {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
return Object.values(SOLANA_SYSTEM_ADDRESSES).includes(validAddress);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Check if a Solana address is blocked (should not emit events).
|
|
93
|
+
* Blocks system program addresses since they don't represent user wallets.
|
|
94
|
+
*/
|
|
95
|
+
export function isBlockedSolanaAddress(address) {
|
|
96
|
+
const validAddress = getValidSolanaAddress(address);
|
|
97
|
+
if (!validAddress) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
return isSolanaSystemAddress(validAddress);
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BASE58_ALPHABET","BASE58_CHAR_SET","Set","MIN_SOLANA_ADDRESS_LENGTH","MAX_SOLANA_ADDRESS_LENGTH","SOLANA_SYSTEM_ADDRESSES","SYSTEM_PROGRAM","TOKEN_PROGRAM","TOKEN_2022_PROGRAM","ASSOCIATED_TOKEN_PROGRAM","RENT_SYSVAR","CLOCK_SYSVAR","isValidBase58String","str","ch","has","isSolanaAddress","value","trimmed","trim","length","getValidSolanaAddress","address","base58","toBase58","isSolanaSystemAddress","validAddress","Object","values","includes","isBlockedSolanaAddress"],"sourceRoot":"../../../src","sources":["solana/address.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA,MAAMA,eAAe,GACnB,4DAA4D;AAE9D,MAAMC,eAAe,GAAG,IAAIC,GAAG,CAACF,eAAe,CAAC;AAEhD,MAAMG,yBAAyB,GAAG,EAAE;AACpC,MAAMC,yBAAyB,GAAG,EAAE;;AAEpC;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAG;EACrCC,cAAc,EAAE,kCAAkC;EAClDC,aAAa,EAAE,6CAA6C;EAC5DC,kBAAkB,EAAE,6CAA6C;EACjEC,wBAAwB,EAAE,8CAA8C;EACxEC,WAAW,EAAE,6CAA6C;EAC1DC,YAAY,EAAE;AAChB,CAAU;AAEV,SAASC,mBAAmBA,CAACC,GAAW,EAAW;EACjD,KAAK,MAAMC,EAAE,IAAID,GAAG,EAAE;IACpB,IAAI,CAACZ,eAAe,CAACc,GAAG,CAACD,EAAE,CAAC,EAAE;MAC5B,OAAO,KAAK;IACd;EACF;EACA,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,eAAeA,CAACC,KAAc,EAAmB;EAC/D,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAO,KAAK;EACd;EAEA,MAAMC,OAAO,GAAGD,KAAK,CAACE,IAAI,CAAC,CAAC;EAE5B,IACED,OAAO,CAACE,MAAM,GAAGjB,yBAAyB,IAC1Ce,OAAO,CAACE,MAAM,GAAGhB,yBAAyB,EAC1C;IACA,OAAO,KAAK;EACd;EAEA,OAAOQ,mBAAmB,CAACM,OAAO,CAAC;AACrC;;AAEA;AACA;AACA;AACA,OAAO,SAASG,qBAAqBA,CACnCC,OAAoD,EACrC;EACf,IAAI,CAACA,OAAO,EAAE;IACZ,OAAO,IAAI;EACb;EAEA,IAAI,OAAOA,OAAO,KAAK,QAAQ,IAAI,UAAU,IAAIA,OAAO,EAAE;IACxD,IAAI;MACF,MAAMC,MAAM,GAAGD,OAAO,CAACE,QAAQ,CAAC,CAAC;MACjC,OAAOR,eAAe,CAACO,MAAM,CAAC,GAAGA,MAAM,GAAG,IAAI;IAChD,CAAC,CAAC,MAAM;MACN,OAAO,IAAI;IACb;EACF;EAEA,IAAI,OAAOD,OAAO,KAAK,QAAQ,EAAE;IAC/B,MAAMJ,OAAO,GAAGI,OAAO,CAACH,IAAI,CAAC,CAAC;IAC9B,OAAOH,eAAe,CAACE,OAAO,CAAC,GAAGA,OAAO,GAAG,IAAI;EAClD;EAEA,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA,OAAO,SAASO,qBAAqBA,CAACH,OAAe,EAAW;EAC9D,MAAMI,YAAY,GAAGL,qBAAqB,CAACC,OAAO,CAAC;EACnD,IAAI,CAACI,YAAY,EAAE;IACjB,OAAO,KAAK;EACd;EAEA,OAAOC,MAAM,CAACC,MAAM,CAACvB,uBAAuB,CAAC,CAACwB,QAAQ,CACpDH,YACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASI,sBAAsBA,CACpCR,OAAoD,EAC3C;EACT,MAAMI,YAAY,GAAGL,qBAAqB,CAACC,OAAO,CAAC;EACnD,IAAI,CAACI,YAAY,EAAE;IACjB,OAAO,KAAK;EACd;EAEA,OAAOD,qBAAqB,CAACC,YAAY,CAAC;AAC5C","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["solana/index.ts"],"mappings":";;AAAA,cAAc,cAAW;AACzB,cAAc,YAAS","ignoreList":[]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Solana-specific type definitions
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Solana cluster/network types
|
|
9
|
+
* Solana doesn't use chainId like EVM, instead it uses cluster names
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Mapping of Solana clusters to numeric chain IDs for consistency with EVM events
|
|
14
|
+
* These IDs are non-standard but provide a way to identify Solana networks in our analytics
|
|
15
|
+
*
|
|
16
|
+
* Using high numbers (900000+) to avoid collision with EVM chain IDs
|
|
17
|
+
*/
|
|
18
|
+
export const SOLANA_CHAIN_IDS = {
|
|
19
|
+
"mainnet-beta": 900001,
|
|
20
|
+
testnet: 900002,
|
|
21
|
+
devnet: 900003,
|
|
22
|
+
localnet: 900004
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Default Solana chain ID (mainnet-beta)
|
|
27
|
+
*/
|
|
28
|
+
export const DEFAULT_SOLANA_CHAIN_ID = SOLANA_CHAIN_IDS["mainnet-beta"];
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Check if a chain ID belongs to a Solana network.
|
|
32
|
+
*/
|
|
33
|
+
export function isSolanaChainId(chainId) {
|
|
34
|
+
if (chainId === undefined || chainId === null) return false;
|
|
35
|
+
return Object.values(SOLANA_CHAIN_IDS).includes(chainId);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Solana PublicKey interface
|
|
40
|
+
* Used by address validation utilities.
|
|
41
|
+
*/
|
|
42
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SOLANA_CHAIN_IDS","testnet","devnet","localnet","DEFAULT_SOLANA_CHAIN_ID","isSolanaChainId","chainId","undefined","Object","values","includes"],"sourceRoot":"../../../src","sources":["solana/types.ts"],"mappings":";;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,gBAA+C,GAAG;EAC7D,cAAc,EAAE,MAAM;EACtBC,OAAO,EAAE,MAAM;EACfC,MAAM,EAAE,MAAM;EACdC,QAAQ,EAAE;AACZ,CAAU;;AAEV;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAGJ,gBAAgB,CAAC,cAAc,CAAC;;AAEvE;AACA;AACA;AACA,OAAO,SAASK,eAAeA,CAACC,OAAkC,EAAW;EAC3E,IAAIA,OAAO,KAAKC,SAAS,IAAID,OAAO,KAAK,IAAI,EAAE,OAAO,KAAK;EAC3D,OAAOE,MAAM,CAACC,MAAM,CAACT,gBAAgB,CAAC,CAACU,QAAQ,CAACJ,OAAO,CAAC;AAC1D;;AAEA;AACA;AACA;AACA","ignoreList":[]}
|
package/lib/module/types/base.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SignatureStatus","TransactionStatus"],"sourceRoot":"../../../src","sources":["types/events.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["SignatureStatus","TransactionStatus"],"sourceRoot":"../../../src","sources":["types/events.ts"],"mappings":";;AA0CA;;AAqFA,WAAYA,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAM3B,WAAYC,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/index.ts"],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/index.ts"],"mappings":";;AAAA,cAAc,WAAQ;AACtB,cAAc,aAAU","ignoreList":[]}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Address validation and checksum utilities
|
|
3
5
|
*
|
|
4
|
-
*
|
|
6
|
+
* Supports both EVM and Solana addresses.
|
|
7
|
+
*
|
|
8
|
+
* Uses ethereum-cryptography for proper EIP-55 checksum computation.
|
|
5
9
|
*/
|
|
6
10
|
|
|
7
11
|
import { keccak256 } from "ethereum-cryptography/keccak.js";
|
|
8
12
|
import { utf8ToBytes } from "ethereum-cryptography/utils.js";
|
|
13
|
+
import { isSolanaAddress, getValidSolanaAddress, isBlockedSolanaAddress } from "../solana/address.js";
|
|
14
|
+
import { isSolanaChainId } from "../solana/types.js";
|
|
9
15
|
|
|
10
16
|
/**
|
|
11
17
|
* Convert Uint8Array to hex string
|
|
@@ -15,7 +21,7 @@ function toHex(bytes) {
|
|
|
15
21
|
}
|
|
16
22
|
|
|
17
23
|
/**
|
|
18
|
-
* Check if a string is a valid Ethereum address
|
|
24
|
+
* Check if a string is a valid Ethereum (EVM) address
|
|
19
25
|
*/
|
|
20
26
|
export function isValidAddress(address) {
|
|
21
27
|
if (!address) return false;
|
|
@@ -50,7 +56,7 @@ export function toChecksumAddress(address) {
|
|
|
50
56
|
}
|
|
51
57
|
|
|
52
58
|
/**
|
|
53
|
-
* Get valid address or null
|
|
59
|
+
* Get a valid (trimmed) EVM address, or null if invalid.
|
|
54
60
|
*/
|
|
55
61
|
export function getValidAddress(address) {
|
|
56
62
|
if (!address) return null;
|
|
@@ -60,15 +66,63 @@ export function getValidAddress(address) {
|
|
|
60
66
|
}
|
|
61
67
|
|
|
62
68
|
/**
|
|
63
|
-
*
|
|
69
|
+
* Validates an EVM address and returns it in checksummed format.
|
|
70
|
+
*/
|
|
71
|
+
export function validateAndChecksumAddress(address) {
|
|
72
|
+
const validAddress = getValidAddress(address);
|
|
73
|
+
return validAddress ? toChecksumAddress(validAddress) : undefined;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Validates an address for both EVM and Solana chains.
|
|
78
|
+
*
|
|
79
|
+
* For EVM addresses, returns checksummed format.
|
|
80
|
+
* For Solana addresses, returns the Base58 address as-is.
|
|
81
|
+
*
|
|
82
|
+
* When chainId is explicitly provided, validation is strict:
|
|
83
|
+
* - Solana chainId → only Solana validation
|
|
84
|
+
* - Non-Solana chainId → only EVM validation
|
|
85
|
+
*
|
|
86
|
+
* When chainId is omitted, EVM is tried first with Solana fallback.
|
|
87
|
+
*/
|
|
88
|
+
export function validateAddress(address, chainId) {
|
|
89
|
+
// Explicit Solana chainId → validate ONLY as Solana
|
|
90
|
+
if (chainId !== undefined && chainId !== null && isSolanaChainId(chainId)) {
|
|
91
|
+
return getValidSolanaAddress(address) || undefined;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// Explicit non-Solana chainId → validate ONLY as EVM
|
|
95
|
+
if (chainId !== undefined && chainId !== null) {
|
|
96
|
+
return validateAndChecksumAddress(address);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// No chainId → try EVM first, then Solana fallback
|
|
100
|
+
const validEvmAddress = validateAndChecksumAddress(address);
|
|
101
|
+
if (validEvmAddress) {
|
|
102
|
+
return validEvmAddress;
|
|
103
|
+
}
|
|
104
|
+
return getValidSolanaAddress(address) || undefined;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Blocked EVM addresses that should not emit events
|
|
64
109
|
* (zero address, dead address)
|
|
65
110
|
*/
|
|
66
111
|
const BLOCKED_ADDRESSES = new Set(["0x0000000000000000000000000000000000000000", "0x000000000000000000000000000000000000dead"]);
|
|
67
112
|
|
|
68
113
|
/**
|
|
69
|
-
* Check if address is in blocked list
|
|
114
|
+
* Check if an address is in a blocked list.
|
|
115
|
+
* Handles both EVM (zero/dead addresses) and Solana (system program) blocks.
|
|
70
116
|
*/
|
|
71
117
|
export function isBlockedAddress(address) {
|
|
72
|
-
|
|
118
|
+
if (!address || typeof address !== "string") return false;
|
|
119
|
+
const trimmed = address.trim();
|
|
120
|
+
if (isValidAddress(trimmed)) {
|
|
121
|
+
return BLOCKED_ADDRESSES.has(trimmed.toLowerCase());
|
|
122
|
+
}
|
|
123
|
+
if (isSolanaAddress(trimmed)) {
|
|
124
|
+
return isBlockedSolanaAddress(trimmed);
|
|
125
|
+
}
|
|
126
|
+
return false;
|
|
73
127
|
}
|
|
74
128
|
//# sourceMappingURL=address.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["keccak256","utf8ToBytes","toHex","bytes","Array","from","map","b","toString","padStart","join","isValidAddress","address","test","toChecksumAddress","lowercaseAddress","toLowerCase","replace","hash","checksumAddress","i","length","char","parseInt","toUpperCase","getValidAddress","trimmed","trim","BLOCKED_ADDRESSES","Set","isBlockedAddress","has"],"sourceRoot":"../../../src","sources":["utils/address.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAEA,SAASA,SAAS,QAAQ,iCAAiC;AAC3D,SAASC,WAAW,QAAQ,gCAAgC;;
|
|
1
|
+
{"version":3,"names":["keccak256","utf8ToBytes","isSolanaAddress","getValidSolanaAddress","isBlockedSolanaAddress","isSolanaChainId","toHex","bytes","Array","from","map","b","toString","padStart","join","isValidAddress","address","test","toChecksumAddress","lowercaseAddress","toLowerCase","replace","hash","checksumAddress","i","length","char","parseInt","toUpperCase","getValidAddress","trimmed","trim","validateAndChecksumAddress","validAddress","undefined","validateAddress","chainId","validEvmAddress","BLOCKED_ADDRESSES","Set","isBlockedAddress","has"],"sourceRoot":"../../../src","sources":["utils/address.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/utils/hash.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
1
3
|
import { sha256 } from "ethereum-cryptography/sha256";
|
|
2
4
|
import { utf8ToBytes, bytesToHex } from "ethereum-cryptography/utils";
|
|
3
5
|
|
|
@@ -11,14 +13,52 @@ export async function hash(input) {
|
|
|
11
13
|
return bytesToHex(hashBytes);
|
|
12
14
|
}
|
|
13
15
|
|
|
16
|
+
// Monotonic counter for the no-Web-Crypto fallback below. Guarantees the
|
|
17
|
+
// fallback produces distinct ids even for calls within the same millisecond.
|
|
18
|
+
let uuidFallbackCounter = 0;
|
|
19
|
+
|
|
20
|
+
/** Format 16 bytes as a UUID v4 string (sets the version + variant bits). */
|
|
21
|
+
function formatUuidV4(source) {
|
|
22
|
+
const bytes = source.slice(0, 16);
|
|
23
|
+
bytes[6] = (bytes[6] ?? 0) & 0x0f | 0x40; // version 4
|
|
24
|
+
bytes[8] = (bytes[8] ?? 0) & 0x3f | 0x80; // variant 10xx
|
|
25
|
+
const hex = Array.from(bytes, b => b.toString(16).padStart(2, "0")).join("");
|
|
26
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20, 32)}`;
|
|
27
|
+
}
|
|
28
|
+
|
|
14
29
|
/**
|
|
15
|
-
* Generate a UUID v4
|
|
30
|
+
* Generate a UUID v4.
|
|
31
|
+
*
|
|
32
|
+
* Uses a cryptographically secure RNG (Web Crypto), which is present in React
|
|
33
|
+
* Native whenever the app polyfills it via `react-native-get-random-values` —
|
|
34
|
+
* wallet apps using wagmi/viem already do, since those require secure randomness.
|
|
35
|
+
* On a runtime with no Web Crypto at all, derives a unique id from a monotonic
|
|
36
|
+
* counter + timestamp via SHA-256 (no PRNG) so the SDK never throws; that path
|
|
37
|
+
* is not cryptographically random, but it is only ever reached without Web
|
|
38
|
+
* Crypto, and these IDs are analytics identifiers, not security tokens.
|
|
16
39
|
*/
|
|
17
40
|
export function generateUUID() {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
41
|
+
const webCrypto = globalThis.crypto;
|
|
42
|
+
|
|
43
|
+
// Fastest secure path: native randomUUID.
|
|
44
|
+
if (typeof webCrypto?.randomUUID === "function") {
|
|
45
|
+
return webCrypto.randomUUID();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Secure random bytes formatted as a UUID v4.
|
|
49
|
+
if (typeof webCrypto?.getRandomValues === "function") {
|
|
50
|
+
return formatUuidV4(webCrypto.getRandomValues(new Uint8Array(16)));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// No Web Crypto available: derive a UUID from a monotonic counter + timestamp
|
|
54
|
+
// + Math.random, hashed with SHA-256. Math.random is not cryptographically
|
|
55
|
+
// secure — CodeQL flags it, and that alert is intentionally dismissed: these
|
|
56
|
+
// are analytics identifiers, not security tokens, and this branch is only
|
|
57
|
+
// reached on runtimes without a Web Crypto polyfill. The Math.random term
|
|
58
|
+
// restores the cross-process entropy needed so two fresh app processes that
|
|
59
|
+
// make their first call within the same millisecond do not collide (the
|
|
60
|
+
// counter alone only prevents collisions within a single process).
|
|
61
|
+
uuidFallbackCounter = uuidFallbackCounter + 1 >>> 0;
|
|
62
|
+
return formatUuidV4(sha256(utf8ToBytes(`${Date.now()}-${uuidFallbackCounter}-${Math.random()}`)));
|
|
23
63
|
}
|
|
24
64
|
//# sourceMappingURL=hash.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["sha256","utf8ToBytes","bytesToHex","hash","input","bytes","hashBytes","
|
|
1
|
+
{"version":3,"names":["sha256","utf8ToBytes","bytesToHex","hash","input","bytes","hashBytes","uuidFallbackCounter","formatUuidV4","source","slice","hex","Array","from","b","toString","padStart","join","generateUUID","webCrypto","globalThis","crypto","randomUUID","getRandomValues","Uint8Array","Date","now","Math","random"],"sourceRoot":"../../../src","sources":["utils/hash.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,8BAA8B;AACrD,SAASC,WAAW,EAAEC,UAAU,QAAQ,6BAA6B;;AAErE;AACA;AACA;AACA;AACA,OAAO,eAAeC,IAAIA,CAACC,KAAa,EAAmB;EACzD,MAAMC,KAAK,GAAGJ,WAAW,CAACG,KAAK,CAAC;EAChC,MAAME,SAAS,GAAGN,MAAM,CAACK,KAAK,CAAC;EAC/B,OAAOH,UAAU,CAACI,SAAS,CAAC;AAC9B;;AAEA;AACA;AACA,IAAIC,mBAAmB,GAAG,CAAC;;AAE3B;AACA,SAASC,YAAYA,CAACC,MAAkB,EAAU;EAChD,MAAMJ,KAAK,GAAGI,MAAM,CAACC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;EACjCL,KAAK,CAAC,CAAC,CAAC,GAAI,CAACA,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,GAAI,IAAI,CAAC,CAAC;EAC5CA,KAAK,CAAC,CAAC,CAAC,GAAI,CAACA,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,GAAI,IAAI,CAAC,CAAC;EAC5C,MAAMM,GAAG,GAAGC,KAAK,CAACC,IAAI,CAACR,KAAK,EAAGS,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;EAC9E,OAAO,GAAGN,GAAG,CAACD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAIC,GAAG,CAACD,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAIC,GAAG,CAACD,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAIC,GAAG,CAACD,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAIC,GAAG,CAACD,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;AAChH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,YAAYA,CAAA,EAAW;EACrC,MAAMC,SAGO,GAAIC,UAAU,CAA0BC,MAExC;;EAEb;EACA,IAAI,OAAOF,SAAS,EAAEG,UAAU,KAAK,UAAU,EAAE;IAC/C,OAAOH,SAAS,CAACG,UAAU,CAAC,CAAC;EAC/B;;EAEA;EACA,IAAI,OAAOH,SAAS,EAAEI,eAAe,KAAK,UAAU,EAAE;IACpD,OAAOf,YAAY,CAACW,SAAS,CAACI,eAAe,CAAC,IAAIC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;EACpE;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAjB,mBAAmB,GAAIA,mBAAmB,GAAG,CAAC,KAAM,CAAC;EACrD,OAAOC,YAAY,CACjBR,MAAM,CAACC,WAAW,CAAC,GAAGwB,IAAI,CAACC,GAAG,CAAC,CAAC,IAAInB,mBAAmB,IAAIoB,IAAI,CAACC,MAAM,CAAC,CAAC,EAAE,CAAC,CAC7E,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clampNumber","value","max","min","Math","isUndefined","undefined","camelToSnake","str","replace","toLowerCase","isPlainObject","proto","Object","getPrototypeOf","prototype","toSnakeCase","obj","result","key","entries","snakeKey","Array","isArray","map","item","mergeDeepRight","target","source","output","hasOwnProperty","call","sourceValue","targetValue","getActionDescriptor","type","properties","event","name","isNetworkError","error","message","Error","String","networkErrorMessages","some","msg","includes"],"sourceRoot":"../../../src","sources":["utils/helpers.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clampNumber","value","max","min","Math","isUndefined","undefined","camelToSnake","str","replace","toLowerCase","isPlainObject","proto","Object","getPrototypeOf","prototype","toSnakeCase","obj","result","key","entries","snakeKey","Array","isArray","map","item","mergeDeepRight","target","source","output","hasOwnProperty","call","sourceValue","targetValue","getActionDescriptor","type","properties","event","name","isNetworkError","error","message","Error","String","networkErrorMessages","some","msg","includes"],"sourceRoot":"../../../src","sources":["utils/helpers.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export * from "./
|
|
4
|
-
export * from "./
|
|
5
|
-
export * from "./
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export * from "./address.js";
|
|
4
|
+
export * from "./hash.js";
|
|
5
|
+
export * from "./timestamp.js";
|
|
6
|
+
export * from "./helpers.js";
|
|
7
|
+
export * from "./trafficSource.js";
|
|
6
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;AAAA,cAAc,cAAW;AACzB,cAAc,WAAQ;AACtB,cAAc,gBAAa;AAC3B,cAAc,cAAW;AACzB,cAAc,oBAAiB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getCurrentTimeFormatted","Date","toISOString","toDateHourMinute","date","year","getFullYear","month","String","getMonth","padStart","day","getDate","hours","getHours","minutes","getMinutes","millisecondsToSecond","ms","Math","floor"],"sourceRoot":"../../../src","sources":["utils/timestamp.ts"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,SAASA,uBAAuBA,CAAA,EAAW;EAChD,OAAO,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;AACjC;;AAEA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAACC,IAAU,EAAU;EACnD,MAAMC,IAAI,GAAGD,IAAI,CAACE,WAAW,CAAC,CAAC;EAC/B,MAAMC,KAAK,GAAGC,MAAM,CAACJ,IAAI,CAACK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAC1D,MAAMC,GAAG,GAAGH,MAAM,CAACJ,IAAI,CAACQ,OAAO,CAAC,CAAC,CAAC,CAACF,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EACnD,MAAMG,KAAK,GAAGL,MAAM,CAACJ,IAAI,CAACU,QAAQ,CAAC,CAAC,CAAC,CAACJ,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EACtD,MAAMK,OAAO,GAAGP,MAAM,CAACJ,IAAI,CAACY,UAAU,CAAC,CAAC,CAAC,CAACN,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAC1D,OAAO,GAAGL,IAAI,IAAIE,KAAK,IAAII,GAAG,IAAIE,KAAK,IAAIE,OAAO,EAAE;AACtD;;AAEA;AACA;AACA;AACA,OAAO,SAASE,oBAAoBA,CAACC,EAAU,EAAU;EACvD,OAAOC,IAAI,CAACC,KAAK,CAACF,EAAE,GAAG,IAAI,CAAC;AAC9B","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["getCurrentTimeFormatted","Date","toISOString","toDateHourMinute","date","year","getFullYear","month","String","getMonth","padStart","day","getDate","hours","getHours","minutes","getMinutes","millisecondsToSecond","ms","Math","floor"],"sourceRoot":"../../../src","sources":["utils/timestamp.ts"],"mappings":";;AAAA;AACA;AACA;AACA,OAAO,SAASA,uBAAuBA,CAAA,EAAW;EAChD,OAAO,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;AACjC;;AAEA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAACC,IAAU,EAAU;EACnD,MAAMC,IAAI,GAAGD,IAAI,CAACE,WAAW,CAAC,CAAC;EAC/B,MAAMC,KAAK,GAAGC,MAAM,CAACJ,IAAI,CAACK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAC1D,MAAMC,GAAG,GAAGH,MAAM,CAACJ,IAAI,CAACQ,OAAO,CAAC,CAAC,CAAC,CAACF,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EACnD,MAAMG,KAAK,GAAGL,MAAM,CAACJ,IAAI,CAACU,QAAQ,CAAC,CAAC,CAAC,CAACJ,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EACtD,MAAMK,OAAO,GAAGP,MAAM,CAACJ,IAAI,CAACY,UAAU,CAAC,CAAC,CAAC,CAACN,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAC1D,OAAO,GAAGL,IAAI,IAAIE,KAAK,IAAII,GAAG,IAAIE,KAAK,IAAIE,OAAO,EAAE;AACtD;;AAEA;AACA;AACA;AACA,OAAO,SAASE,oBAAoBA,CAACC,EAAU,EAAU;EACvD,OAAOC,IAAI,CAACC,KAAK,CAACF,EAAE,GAAG,IAAI,CAAC;AAC9B","ignoreList":[]}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Traffic Source Utilities
|
|
3
5
|
* Parse UTM parameters and referral information from URLs
|
|
4
6
|
*/
|
|
5
7
|
|
|
6
|
-
import { logger } from "../lib/logger";
|
|
7
|
-
import { storage } from "../lib/storage";
|
|
8
|
-
import { SESSION_TRAFFIC_SOURCE_KEY } from "../constants";
|
|
8
|
+
import { logger } from "../lib/logger/index.js";
|
|
9
|
+
import { storage } from "../lib/storage/index.js";
|
|
10
|
+
import { SESSION_TRAFFIC_SOURCE_KEY } from "../constants/index.js";
|
|
9
11
|
/**
|
|
10
12
|
* Parse UTM parameters and referral info from URL
|
|
11
13
|
* Supports both web URLs (https://) and deep link URLs (myapp://)
|
|
@@ -134,4 +136,63 @@ export function mergeWithStoredTrafficSource(context) {
|
|
|
134
136
|
...(context || {})
|
|
135
137
|
};
|
|
136
138
|
}
|
|
139
|
+
|
|
140
|
+
/** All traffic-source keys used for merge operations. */
|
|
141
|
+
const TRAFFIC_SOURCE_KEYS = ["utm_source", "utm_medium", "utm_campaign", "utm_term", "utm_content", "ref", "referrer"];
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Update stored traffic source with incoming values. Per-field last-touch with
|
|
145
|
+
* fallback: non-empty incoming fields win, empty incoming fields preserve the
|
|
146
|
+
* previously stored value. This matches the Formo web SDK's behavior and
|
|
147
|
+
* prevents a non-marketing deep link (e.g. "myapp://home" with only a referrer
|
|
148
|
+
* and no UTM/ref) from destroying existing attribution data written by the
|
|
149
|
+
* Install Referrer flow or an earlier marketing deep link.
|
|
150
|
+
*/
|
|
151
|
+
export function updateStoredTrafficSource(incoming) {
|
|
152
|
+
try {
|
|
153
|
+
const existing = getStoredTrafficSource() || {};
|
|
154
|
+
const merged = {};
|
|
155
|
+
for (const key of TRAFFIC_SOURCE_KEYS) {
|
|
156
|
+
const incomingVal = incoming[key];
|
|
157
|
+
const existingVal = existing[key];
|
|
158
|
+
if (incomingVal) {
|
|
159
|
+
merged[key] = incomingVal;
|
|
160
|
+
} else if (existingVal) {
|
|
161
|
+
merged[key] = existingVal;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
storeTrafficSource(merged);
|
|
165
|
+
} catch (error) {
|
|
166
|
+
logger.error("Error updating traffic source:", error);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Merge a partial traffic source into the stored one, only filling in fields
|
|
172
|
+
* that are currently empty. Used by the Install Referrer flow so campaign data
|
|
173
|
+
* from the Play Store install referrer cannot clobber a deep-link attribution
|
|
174
|
+
* that arrived earlier in the same cold start.
|
|
175
|
+
*/
|
|
176
|
+
export function mergeTrafficSourceFill(incoming) {
|
|
177
|
+
try {
|
|
178
|
+
const existing = getStoredTrafficSource() || {};
|
|
179
|
+
const merged = {
|
|
180
|
+
...existing
|
|
181
|
+
};
|
|
182
|
+
let changed = false;
|
|
183
|
+
for (const [key, value] of Object.entries(incoming)) {
|
|
184
|
+
if (!value) continue; // skip empty/undefined incoming values
|
|
185
|
+
const existing = merged[key];
|
|
186
|
+
if (existing === undefined || existing === null || existing === "") {
|
|
187
|
+
merged[key] = String(value);
|
|
188
|
+
changed = true;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
if (changed) {
|
|
192
|
+
storeTrafficSource(merged);
|
|
193
|
+
}
|
|
194
|
+
} catch (error) {
|
|
195
|
+
logger.error("Error merging traffic source:", error);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
137
198
|
//# sourceMappingURL=trafficSource.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["logger","storage","SESSION_TRAFFIC_SOURCE_KEY","parseTrafficSource","url","customRefParams","pathPattern","urlObj","URL","queryStart","indexOf","referrer","substring","params","searchParams","trafficSource","has","utm_source","get","utm_medium","utm_campaign","utm_term","utm_content","defaultRefParams","refParams","Set","param","ref","pathRegex","RegExp","pathname","match","e","error","storeTrafficSource","hasData","set","JSON","stringify","debug","getStoredTrafficSource","stored","parse","undefined","clearTrafficSource","remove","mergeWithStoredTrafficSource","context"],"sourceRoot":"../../../src","sources":["utils/trafficSource.ts"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,SAASA,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"names":["logger","storage","SESSION_TRAFFIC_SOURCE_KEY","parseTrafficSource","url","customRefParams","pathPattern","urlObj","URL","queryStart","indexOf","referrer","substring","params","searchParams","trafficSource","has","utm_source","get","utm_medium","utm_campaign","utm_term","utm_content","defaultRefParams","refParams","Set","param","ref","pathRegex","RegExp","pathname","match","e","error","storeTrafficSource","hasData","set","JSON","stringify","debug","getStoredTrafficSource","stored","parse","undefined","clearTrafficSource","remove","mergeWithStoredTrafficSource","context","TRAFFIC_SOURCE_KEYS","updateStoredTrafficSource","incoming","existing","merged","key","incomingVal","existingVal","mergeTrafficSourceFill","changed","value","Object","entries","String"],"sourceRoot":"../../../src","sources":["utils/trafficSource.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["version"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":"AAAA;AACA;AACA,OAAO,MAAMA,OAAO,GAAG,OAAO","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["version"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;AAAA;AACA;AACA,OAAO,MAAMA,OAAO,GAAG,OAAO","ignoreList":[]}
|