prebid.js 10.2.0 → 10.4.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.
Files changed (1650) hide show
  1. package/.github/dependabot.yml +8 -0
  2. package/.github/workflows/scripts/codepath-notification +1 -0
  3. package/creative/renderers/display/renderer.js +3 -4
  4. package/dist/chunks/1plusXRtdProvider.js +1 -1
  5. package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
  6. package/dist/chunks/33acrossBidAdapter.js +1 -1
  7. package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
  8. package/dist/chunks/33acrossIdSystem.js +1 -1
  9. package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
  10. package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
  11. package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
  12. package/dist/chunks/adagioBidAdapter.js +1 -1
  13. package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
  14. package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
  15. package/dist/chunks/adagioUtils.js +1 -1
  16. package/dist/chunks/addefendBidAdapter.js +1 -1
  17. package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
  18. package/dist/chunks/adfBidAdapter.metadata.js +1 -1
  19. package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
  20. package/dist/chunks/adgenerationBidAdapter.js +1 -1
  21. package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
  22. package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
  23. package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
  24. package/dist/chunks/adlooxRtdProvider.js +1 -1
  25. package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
  26. package/dist/chunks/admixerBidAdapter.js +1 -1
  27. package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
  28. package/dist/chunks/admixerIdSystem.metadata.js +1 -1
  29. package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
  30. package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
  31. package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
  32. package/dist/chunks/adotBidAdapter.metadata.js +1 -1
  33. package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
  34. package/dist/chunks/adqueryBidAdapter.js +1 -1
  35. package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
  36. package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
  37. package/dist/chunks/adrelevantisBidAdapter.js +1 -1
  38. package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
  39. package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
  40. package/dist/chunks/adstirBidAdapter.js +1 -1
  41. package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
  42. package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
  43. package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
  44. package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
  45. package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
  46. package/dist/chunks/advertisingBidAdapter.js +1 -1
  47. package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
  48. package/dist/chunks/adxcgBidAdapter.js +1 -1
  49. package/dist/chunks/adyoulikeBidAdapter.js +1 -1
  50. package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
  51. package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
  52. package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
  53. package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
  54. package/dist/chunks/ajaBidAdapter.js +1 -1
  55. package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
  56. package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
  57. package/dist/chunks/amxBidAdapter.js +1 -1
  58. package/dist/chunks/amxBidAdapter.metadata.js +1 -1
  59. package/dist/chunks/amxIdSystem.js +1 -1
  60. package/dist/chunks/amxIdSystem.metadata.js +1 -1
  61. package/dist/chunks/aniviewBidAdapter.js +1 -1
  62. package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
  63. package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
  64. package/dist/chunks/appierAnalyticsAdapter.js +1 -1
  65. package/dist/chunks/appierBidAdapter.metadata.js +1 -1
  66. package/dist/chunks/appnexusBidAdapter.js +1 -1
  67. package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
  68. package/dist/chunks/appnexusUtils.js +1 -1
  69. package/dist/chunks/appushBidAdapter.metadata.js +1 -1
  70. package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
  71. package/dist/chunks/asoBidAdapter.js +1 -1
  72. package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
  73. package/dist/chunks/axisBidAdapter.metadata.js +1 -1
  74. package/dist/chunks/axonixBidAdapter.js +1 -1
  75. package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
  76. package/dist/chunks/beopBidAdapter.js +1 -1
  77. package/dist/chunks/beopBidAdapter.metadata.js +1 -1
  78. package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
  79. package/dist/chunks/bidglassBidAdapter.js +1 -1
  80. package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
  81. package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
  82. package/dist/chunks/big-richmediaBidAdapter.js +1 -1
  83. package/dist/chunks/bitmediaBidAdapter.js +1 -1
  84. package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
  85. package/dist/chunks/blockthroughBidAdapter.js +1 -1
  86. package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
  87. package/dist/chunks/blueBidAdapter.metadata.js +1 -1
  88. package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
  89. package/dist/chunks/bmtmBidAdapter.js +1 -1
  90. package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
  91. package/dist/chunks/bridBidAdapter.js +1 -1
  92. package/dist/chunks/bridBidAdapter.metadata.js +1 -1
  93. package/dist/chunks/bridgewellBidAdapter.js +1 -1
  94. package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
  95. package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
  96. package/dist/chunks/carodaBidAdapter.js +1 -1
  97. package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
  98. package/dist/chunks/categoryTranslation.metadata.js +1 -1
  99. package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
  100. package/dist/chunks/ceeIdSystem.metadata.js +1 -1
  101. package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
  102. package/dist/chunks/chtnwBidAdapter.js +1 -1
  103. package/dist/chunks/chunk-core.js +1 -1
  104. package/dist/chunks/compassBidAdapter.metadata.js +1 -1
  105. package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
  106. package/dist/chunks/concertBidAdapter.js +1 -1
  107. package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
  108. package/dist/chunks/connectIdSystem.metadata.js +1 -1
  109. package/dist/chunks/connectadBidAdapter.js +1 -1
  110. package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
  111. package/dist/chunks/consumableBidAdapter.js +1 -1
  112. package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
  113. package/dist/chunks/contxtfulBidAdapter.js +1 -1
  114. package/dist/chunks/conversantBidAdapter.js +1 -1
  115. package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
  116. package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
  117. package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
  118. package/dist/chunks/craftBidAdapter.js +1 -1
  119. package/dist/chunks/creative-renderer-display.js +1 -1
  120. package/dist/chunks/criteoBidAdapter.js +1 -1
  121. package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
  122. package/dist/chunks/criteoIdSystem.metadata.js +1 -1
  123. package/dist/chunks/cryptoUtils.js +1 -0
  124. package/dist/chunks/cwireBidAdapter.js +1 -1
  125. package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
  126. package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
  127. package/dist/chunks/dailymotionBidAdapter.js +1 -1
  128. package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
  129. package/dist/chunks/debugging-standalone.js +1 -1
  130. package/dist/chunks/debugging.metadata.js +1 -1
  131. package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
  132. package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
  133. package/dist/chunks/dependencies.json +13 -0
  134. package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
  135. package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
  136. package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
  137. package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
  138. package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
  139. package/dist/chunks/dspxBidAdapter.js +1 -1
  140. package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
  141. package/dist/chunks/dxkultureBidAdapter.js +1 -1
  142. package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
  143. package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
  144. package/dist/chunks/eplanningBidAdapter.js +1 -1
  145. package/dist/chunks/equativBidAdapter.js +1 -1
  146. package/dist/chunks/equativBidAdapter.metadata.js +1 -1
  147. package/dist/chunks/eskimiBidAdapter.js +1 -1
  148. package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
  149. package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
  150. package/dist/chunks/euidIdSystem.js +1 -1
  151. package/dist/chunks/euidIdSystem.metadata.js +1 -1
  152. package/dist/chunks/exadsBidAdapter.js +1 -1
  153. package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
  154. package/dist/chunks/excoBidAdapter.js +1 -1
  155. package/dist/chunks/feedadBidAdapter.js +1 -1
  156. package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
  157. package/dist/chunks/finativeBidAdapter.js +1 -1
  158. package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
  159. package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
  160. package/dist/chunks/getintentBidAdapter.js +1 -1
  161. package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
  162. package/dist/chunks/gmosspBidAdapter.js +1 -1
  163. package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
  164. package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
  165. package/dist/chunks/greenbidsBidAdapter.js +1 -1
  166. package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
  167. package/dist/chunks/greenbidsRtdProvider.js +1 -1
  168. package/dist/chunks/gridBidAdapter.js +1 -1
  169. package/dist/chunks/gridBidAdapter.metadata.js +1 -1
  170. package/dist/chunks/gumgumBidAdapter.js +1 -1
  171. package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
  172. package/dist/chunks/h12mediaBidAdapter.js +1 -1
  173. package/dist/chunks/hadronIdSystem.metadata.js +1 -1
  174. package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
  175. package/dist/chunks/holidBidAdapter.metadata.js +1 -1
  176. package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
  177. package/dist/chunks/hypelabBidAdapter.js +1 -1
  178. package/dist/chunks/iasRtdProvider.js +1 -1
  179. package/dist/chunks/id5AnalyticsAdapter.js +1 -1
  180. package/dist/chunks/id5IdSystem.js +1 -1
  181. package/dist/chunks/id5IdSystem.metadata.js +1 -1
  182. package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
  183. package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
  184. package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
  185. package/dist/chunks/improvedigitalBidAdapter.js +1 -1
  186. package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
  187. package/dist/chunks/inmobiBidAdapter.js +1 -1
  188. package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
  189. package/dist/chunks/innityBidAdapter.metadata.js +1 -1
  190. package/dist/chunks/insticatorBidAdapter.js +1 -1
  191. package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
  192. package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
  193. package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
  194. package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
  195. package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
  196. package/dist/chunks/ixBidAdapter.js +1 -1
  197. package/dist/chunks/ixBidAdapter.metadata.js +1 -1
  198. package/dist/chunks/jixieBidAdapter.js +1 -1
  199. package/dist/chunks/justIdSystem.metadata.js +1 -1
  200. package/dist/chunks/justpremiumBidAdapter.js +1 -1
  201. package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
  202. package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
  203. package/dist/chunks/jwplayerRtdProvider.js +1 -1
  204. package/dist/chunks/jwplayerVideoProvider.js +1 -1
  205. package/dist/chunks/kargoBidAdapter.js +1 -1
  206. package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
  207. package/dist/chunks/kimberliteBidAdapter.js +1 -1
  208. package/dist/chunks/kubientBidAdapter.js +1 -1
  209. package/dist/chunks/kubientBidAdapter.metadata.js +1 -1
  210. package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
  211. package/dist/chunks/lassoBidAdapter.js +1 -1
  212. package/dist/chunks/lifestreetBidAdapter.js +1 -1
  213. package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
  214. package/dist/chunks/liveIntentId.js +1 -1
  215. package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
  216. package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
  217. package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
  218. package/dist/chunks/logicadBidAdapter.js +1 -1
  219. package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
  220. package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
  221. package/dist/chunks/luceadBidAdapter.js +1 -1
  222. package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
  223. package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
  224. package/dist/chunks/mabidderBidAdapter.js +1 -1
  225. package/dist/chunks/madsenseBidAdapter.js +1 -1
  226. package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
  227. package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
  228. package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
  229. package/dist/chunks/marsmediaBidAdapter.js +1 -1
  230. package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
  231. package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
  232. package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
  233. package/dist/chunks/mediafuseBidAdapter.js +1 -1
  234. package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
  235. package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
  236. package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
  237. package/dist/chunks/medianetBidAdapter.js +1 -1
  238. package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
  239. package/dist/chunks/medianetUtils.js +1 -1
  240. package/dist/chunks/mediasquareBidAdapter.js +1 -1
  241. package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
  242. package/dist/chunks/mgidBidAdapter.js +1 -1
  243. package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
  244. package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
  245. package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
  246. package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
  247. package/dist/chunks/missenaBidAdapter.js +1 -1
  248. package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
  249. package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
  250. package/dist/chunks/mobilefuseBidAdapter.js +1 -1
  251. package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
  252. package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
  253. package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
  254. package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
  255. package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
  256. package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
  257. package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
  258. package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
  259. package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
  260. package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
  261. package/dist/chunks/nexx360Utils.js +1 -1
  262. package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
  263. package/dist/chunks/nobidBidAdapter.js +1 -1
  264. package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
  265. package/dist/chunks/nodalsAiRtdProvider.js +1 -1
  266. package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
  267. package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
  268. package/dist/chunks/oguryBidAdapter.js +1 -1
  269. package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
  270. package/dist/chunks/omsBidAdapter.metadata.js +1 -1
  271. package/dist/chunks/onetagBidAdapter.js +1 -1
  272. package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
  273. package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
  274. package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
  275. package/dist/chunks/openxBidAdapter.js +1 -1
  276. package/dist/chunks/openxBidAdapter.metadata.js +1 -1
  277. package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
  278. package/dist/chunks/optidigitalBidAdapter.js +1 -1
  279. package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
  280. package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
  281. package/dist/chunks/orbidderBidAdapter.js +1 -1
  282. package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
  283. package/dist/chunks/outbrainBidAdapter.js +1 -1
  284. package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
  285. package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
  286. package/dist/chunks/pairIdSystem.metadata.js +1 -1
  287. package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
  288. package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
  289. package/dist/chunks/pixfutureBidAdapter.js +1 -1
  290. package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
  291. package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
  292. package/dist/chunks/prebid-core.metadata.js +1 -1
  293. package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
  294. package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
  295. package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
  296. package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
  297. package/dist/chunks/publinkIdSystem.js +1 -1
  298. package/dist/chunks/publinkIdSystem.metadata.js +1 -1
  299. package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
  300. package/dist/chunks/pubmaticBidAdapter.js +1 -1
  301. package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
  302. package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
  303. package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
  304. package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
  305. package/dist/chunks/pulsepointBidAdapter.js +1 -1
  306. package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
  307. package/dist/chunks/pwbidBidAdapter.metadata.js +1 -1
  308. package/dist/chunks/pxyzBidAdapter.js +1 -1
  309. package/dist/chunks/qtBidAdapter.metadata.js +1 -1
  310. package/dist/chunks/quantcastBidAdapter.js +1 -1
  311. package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
  312. package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
  313. package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
  314. package/dist/chunks/raynRtdProvider.metadata.js +1 -1
  315. package/dist/chunks/readpeakBidAdapter.js +1 -1
  316. package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
  317. package/dist/chunks/relaidoBidAdapter.js +1 -1
  318. package/dist/chunks/relayBidAdapter.metadata.js +1 -1
  319. package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
  320. package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
  321. package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
  322. package/dist/chunks/retailspotBidAdapter.js +1 -1
  323. package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
  324. package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
  325. package/dist/chunks/rhythmoneBidAdapter.js +1 -1
  326. package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
  327. package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
  328. package/dist/chunks/riseBidAdapter.metadata.js +1 -1
  329. package/dist/chunks/riseUtils.js +1 -1
  330. package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
  331. package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
  332. package/dist/chunks/rubiconBidAdapter.js +1 -1
  333. package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
  334. package/dist/chunks/rumbleBidAdapter.js +1 -0
  335. package/dist/chunks/rumbleBidAdapter.metadata.js +1 -0
  336. package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
  337. package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
  338. package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
  339. package/dist/chunks/seedtagBidAdapter.js +1 -1
  340. package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
  341. package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
  342. package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
  343. package/dist/chunks/sevioBidAdapter.js +1 -0
  344. package/dist/chunks/sevioBidAdapter.metadata.js +1 -0
  345. package/dist/chunks/sharedIdSystem.metadata.js +1 -1
  346. package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
  347. package/dist/chunks/sharethroughBidAdapter.js +1 -1
  348. package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
  349. package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
  350. package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
  351. package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
  352. package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
  353. package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
  354. package/dist/chunks/smaatoBidAdapter.js +1 -1
  355. package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
  356. package/dist/chunks/smartadserverBidAdapter.js +1 -1
  357. package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
  358. package/dist/chunks/smartxBidAdapter.js +1 -1
  359. package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
  360. package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
  361. package/dist/chunks/smilewantedBidAdapter.js +1 -1
  362. package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
  363. package/dist/chunks/snigelBidAdapter.js +1 -1
  364. package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
  365. package/dist/chunks/sonaradsBidAdapter.js +1 -1
  366. package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
  367. package/dist/chunks/sonobiBidAdapter.js +1 -1
  368. package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
  369. package/dist/chunks/sovrnBidAdapter.js +1 -1
  370. package/dist/chunks/sovrnBidAdapter.metadata.js +1 -1
  371. package/dist/chunks/sparteoBidAdapter.js +1 -1
  372. package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
  373. package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
  374. package/dist/chunks/sspBCBidAdapter.js +1 -1
  375. package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
  376. package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
  377. package/dist/chunks/startioBidAdapter.metadata.js +1 -1
  378. package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
  379. package/dist/chunks/stvBidAdapter.js +1 -1
  380. package/dist/chunks/stvBidAdapter.metadata.js +1 -1
  381. package/dist/chunks/sublimeBidAdapter.js +1 -1
  382. package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
  383. package/dist/chunks/taboolaBidAdapter.js +1 -1
  384. package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
  385. package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
  386. package/dist/chunks/tappxBidAdapter.js +1 -1
  387. package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
  388. package/dist/chunks/targetVideoBidAdapter.js +1 -1
  389. package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
  390. package/dist/chunks/teadsBidAdapter.js +1 -1
  391. package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
  392. package/dist/chunks/teadsIdSystem.metadata.js +1 -1
  393. package/dist/chunks/tealBidAdapter.metadata.js +1 -1
  394. package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
  395. package/dist/chunks/themoneytizerBidAdapter.js +1 -1
  396. package/dist/chunks/themoneytizerBidAdapter.metadata.js +1 -1
  397. package/dist/chunks/tncIdSystem.metadata.js +1 -1
  398. package/dist/chunks/topicsFpdModule.metadata.js +1 -1
  399. package/dist/chunks/trionBidAdapter.js +1 -1
  400. package/dist/chunks/tripleliftBidAdapter.js +1 -1
  401. package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
  402. package/dist/chunks/ttdBidAdapter.js +1 -1
  403. package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
  404. package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
  405. package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
  406. package/dist/chunks/uid2IdSystem.js +1 -1
  407. package/dist/chunks/underdogmediaBidAdapter.js +1 -1
  408. package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
  409. package/dist/chunks/undertoneBidAdapter.js +1 -1
  410. package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
  411. package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
  412. package/dist/chunks/unrulyBidAdapter.js +1 -1
  413. package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
  414. package/dist/chunks/userId.js +1 -1
  415. package/dist/chunks/userId.metadata.js +1 -1
  416. package/dist/chunks/validationFpdModule.metadata.js +1 -1
  417. package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
  418. package/dist/chunks/vidazooUtils.js +1 -1
  419. package/dist/chunks/videobyteBidAdapter.js +1 -1
  420. package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
  421. package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
  422. package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
  423. package/dist/chunks/visxBidAdapter.js +1 -1
  424. package/dist/chunks/visxBidAdapter.metadata.js +1 -1
  425. package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
  426. package/dist/chunks/voxBidAdapter.metadata.js +1 -1
  427. package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
  428. package/dist/chunks/vuukleBidAdapter.js +1 -1
  429. package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
  430. package/dist/chunks/weboramaRtdProvider.js +1 -1
  431. package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
  432. package/dist/chunks/welectBidAdapter.metadata.js +1 -1
  433. package/dist/chunks/widespaceBidAdapter.js +1 -1
  434. package/dist/chunks/winrBidAdapter.js +1 -1
  435. package/dist/chunks/yahooAdsBidAdapter.js +1 -1
  436. package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
  437. package/dist/chunks/yandexBidAdapter.js +1 -1
  438. package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
  439. package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
  440. package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
  441. package/dist/chunks/yieldmoBidAdapter.js +1 -1
  442. package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
  443. package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
  444. package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
  445. package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
  446. package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
  447. package/dist/not-for-prod/prebid.js +443 -438
  448. package/dist/src/creative/renderers/display/renderer.js +3 -4
  449. package/dist/src/creative/renderers/display/renderer.js.map +1 -1
  450. package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
  451. package/dist/src/libraries/analyticsAdapter/AnalyticsAdapter.js.map +1 -1
  452. package/dist/src/libraries/appnexusUtils/anKeywords.js +15 -1
  453. package/dist/src/libraries/appnexusUtils/anKeywords.js.map +1 -1
  454. package/dist/src/libraries/consentManagement/cmUtils.js.map +1 -1
  455. package/dist/src/libraries/creative-renderer-display/renderer.d.ts +1 -1
  456. package/dist/src/libraries/creative-renderer-display/renderer.js +1 -1
  457. package/dist/src/libraries/creative-renderer-display/renderer.js.map +1 -1
  458. package/dist/src/libraries/cryptoUtils/wallets.js +14 -0
  459. package/dist/src/libraries/cryptoUtils/wallets.js.map +1 -0
  460. package/dist/src/libraries/dspxUtils/bidderUtils.js.map +1 -1
  461. package/dist/src/libraries/impUtils.js +36 -0
  462. package/dist/src/libraries/impUtils.js.map +1 -0
  463. package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
  464. package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
  465. package/dist/src/libraries/liveIntentId/shared.js +20 -0
  466. package/dist/src/libraries/liveIntentId/shared.js.map +1 -1
  467. package/dist/src/libraries/medianetUtils/constants.js +1 -1
  468. package/dist/src/libraries/nexx360Utils/index.js +1 -1
  469. package/dist/src/libraries/nexx360Utils/index.js.map +1 -1
  470. package/dist/src/libraries/ortbConverter/converter.js.map +1 -1
  471. package/dist/src/libraries/riseUtils/index.js +1 -1
  472. package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
  473. package/dist/src/libraries/video/constants/events.js.map +1 -1
  474. package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
  475. package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
  476. package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
  477. package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
  478. package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
  479. package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
  480. package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
  481. package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
  482. package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
  483. package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
  484. package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
  485. package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
  486. package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
  487. package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
  488. package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
  489. package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
  490. package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
  491. package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
  492. package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
  493. package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
  494. package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
  495. package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
  496. package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
  497. package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
  498. package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
  499. package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
  500. package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
  501. package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
  502. package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
  503. package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
  504. package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
  505. package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
  506. package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
  507. package/dist/src/metadata/modules/amxIdSystem.js +1 -1
  508. package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
  509. package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
  510. package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
  511. package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
  512. package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
  513. package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
  514. package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
  515. package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
  516. package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
  517. package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
  518. package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
  519. package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
  520. package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
  521. package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
  522. package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
  523. package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
  524. package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
  525. package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
  526. package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
  527. package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
  528. package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
  529. package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
  530. package/dist/src/metadata/modules/categoryTranslation.js +1 -1
  531. package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
  532. package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
  533. package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
  534. package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
  535. package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
  536. package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
  537. package/dist/src/metadata/modules/connectIdSystem.js +1 -1
  538. package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
  539. package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
  540. package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
  541. package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
  542. package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
  543. package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
  544. package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
  545. package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
  546. package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
  547. package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
  548. package/dist/src/metadata/modules/debugging.js +1 -1
  549. package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
  550. package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
  551. package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
  552. package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
  553. package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
  554. package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
  555. package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
  556. package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
  557. package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
  558. package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
  559. package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
  560. package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
  561. package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
  562. package/dist/src/metadata/modules/euidIdSystem.js +1 -1
  563. package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
  564. package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
  565. package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
  566. package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
  567. package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
  568. package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
  569. package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
  570. package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
  571. package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
  572. package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
  573. package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
  574. package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
  575. package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
  576. package/dist/src/metadata/modules/id5IdSystem.js +1 -1
  577. package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
  578. package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
  579. package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
  580. package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
  581. package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
  582. package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
  583. package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
  584. package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
  585. package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
  586. package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
  587. package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
  588. package/dist/src/metadata/modules/justIdSystem.js +1 -1
  589. package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
  590. package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
  591. package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
  592. package/dist/src/metadata/modules/kubientBidAdapter.js +1 -1
  593. package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
  594. package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
  595. package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
  596. package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
  597. package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
  598. package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
  599. package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
  600. package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
  601. package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
  602. package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
  603. package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
  604. package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
  605. package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
  606. package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
  607. package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
  608. package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
  609. package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
  610. package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
  611. package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
  612. package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
  613. package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
  614. package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
  615. package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
  616. package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
  617. package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
  618. package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
  619. package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
  620. package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
  621. package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
  622. package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
  623. package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
  624. package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
  625. package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
  626. package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
  627. package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
  628. package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
  629. package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
  630. package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
  631. package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
  632. package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
  633. package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
  634. package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
  635. package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
  636. package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
  637. package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
  638. package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
  639. package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
  640. package/dist/src/metadata/modules/pairIdSystem.js +1 -1
  641. package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
  642. package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
  643. package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
  644. package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
  645. package/dist/src/metadata/modules/prebid-core.js +1 -1
  646. package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
  647. package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
  648. package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
  649. package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
  650. package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
  651. package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
  652. package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
  653. package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
  654. package/dist/src/metadata/modules/pwbidBidAdapter.js +1 -1
  655. package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
  656. package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
  657. package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
  658. package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
  659. package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
  660. package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
  661. package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
  662. package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
  663. package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
  664. package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
  665. package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
  666. package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
  667. package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
  668. package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
  669. package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
  670. package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
  671. package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
  672. package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
  673. package/dist/src/metadata/modules/rumbleBidAdapter.js +2 -0
  674. package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
  675. package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
  676. package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
  677. package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
  678. package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
  679. package/dist/src/metadata/modules/sevioBidAdapter.js +2 -0
  680. package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
  681. package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
  682. package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
  683. package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
  684. package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
  685. package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
  686. package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
  687. package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
  688. package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
  689. package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
  690. package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
  691. package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
  692. package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
  693. package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
  694. package/dist/src/metadata/modules/sovrnBidAdapter.js +1 -1
  695. package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
  696. package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
  697. package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
  698. package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
  699. package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
  700. package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
  701. package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
  702. package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
  703. package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
  704. package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
  705. package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
  706. package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
  707. package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
  708. package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
  709. package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
  710. package/dist/src/metadata/modules/themoneytizerBidAdapter.js +1 -1
  711. package/dist/src/metadata/modules/tncIdSystem.js +1 -1
  712. package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
  713. package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
  714. package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
  715. package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
  716. package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
  717. package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
  718. package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
  719. package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
  720. package/dist/src/metadata/modules/userId.js +1 -1
  721. package/dist/src/metadata/modules/validationFpdModule.js +1 -1
  722. package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
  723. package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
  724. package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
  725. package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
  726. package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
  727. package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
  728. package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
  729. package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
  730. package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
  731. package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
  732. package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
  733. package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
  734. package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
  735. package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
  736. package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
  737. package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
  738. package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
  739. package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
  740. package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
  741. package/dist/src/modules/1plusXRtdProvider.js +6 -2
  742. package/dist/src/modules/1plusXRtdProvider.js.map +1 -1
  743. package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
  744. package/dist/src/modules/33acrossBidAdapter.js +1 -1
  745. package/dist/src/modules/33acrossIdSystem.js +1 -1
  746. package/dist/src/modules/adWMGBidAdapter.js.map +1 -1
  747. package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
  748. package/dist/src/modules/adagioBidAdapter.js +1 -1
  749. package/dist/src/modules/addefendBidAdapter.js +1 -1
  750. package/dist/src/modules/adgenerationBidAdapter.js +1 -1
  751. package/dist/src/modules/adlooxRtdProvider.js +1 -1
  752. package/dist/src/modules/admixerBidAdapter.js +5 -4
  753. package/dist/src/modules/admixerBidAdapter.js.map +1 -1
  754. package/dist/src/modules/adqueryBidAdapter.js +1 -1
  755. package/dist/src/modules/adrelevantisBidAdapter.js +1 -1
  756. package/dist/src/modules/adspiritBidAdapter.js.map +1 -1
  757. package/dist/src/modules/adstirBidAdapter.js +1 -1
  758. package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
  759. package/dist/src/modules/adtrgtmeBidAdapter.js.map +1 -1
  760. package/dist/src/modules/advertisingBidAdapter.js +2 -2
  761. package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
  762. package/dist/src/modules/adxcgBidAdapter.js +4 -39
  763. package/dist/src/modules/adxcgBidAdapter.js.map +1 -1
  764. package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
  765. package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
  766. package/dist/src/modules/ajaBidAdapter.js +1 -1
  767. package/dist/src/modules/amxBidAdapter.js +2 -2
  768. package/dist/src/modules/amxBidAdapter.js.map +1 -1
  769. package/dist/src/modules/amxIdSystem.js +1 -1
  770. package/dist/src/modules/aniviewBidAdapter.js +1 -1
  771. package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
  772. package/dist/src/modules/appnexusBidAdapter.js +2 -2
  773. package/dist/src/modules/asoBidAdapter.js +1 -1
  774. package/dist/src/modules/axonixBidAdapter.js +1 -1
  775. package/dist/src/modules/beopBidAdapter.js +2 -2
  776. package/dist/src/modules/bidglassBidAdapter.js +1 -1
  777. package/dist/src/modules/bitmediaBidAdapter.js +1 -1
  778. package/dist/src/modules/blockthroughBidAdapter.js +1 -1
  779. package/dist/src/modules/bmtmBidAdapter.js +1 -1
  780. package/dist/src/modules/bridBidAdapter.js +1 -1
  781. package/dist/src/modules/bridgewellBidAdapter.js +1 -1
  782. package/dist/src/modules/carodaBidAdapter.js +1 -1
  783. package/dist/src/modules/chromeAiRtdProvider.js.map +1 -1
  784. package/dist/src/modules/chtnwBidAdapter.js +1 -1
  785. package/dist/src/modules/concertBidAdapter.js +1 -1
  786. package/dist/src/modules/connectadBidAdapter.js +1 -1
  787. package/dist/src/modules/consentManagementGpp.js.map +1 -1
  788. package/dist/src/modules/consentManagementTcf.js.map +1 -1
  789. package/dist/src/modules/consentManagementUsp.js.map +1 -1
  790. package/dist/src/modules/consumableBidAdapter.js +1 -1
  791. package/dist/src/modules/contxtfulBidAdapter.js +1 -1
  792. package/dist/src/modules/conversantBidAdapter.js +1 -1
  793. package/dist/src/modules/craftBidAdapter.js +1 -1
  794. package/dist/src/modules/criteoBidAdapter.js +2 -2
  795. package/dist/src/modules/currency.js.map +1 -1
  796. package/dist/src/modules/cwireBidAdapter.js +1 -1
  797. package/dist/src/modules/cwireBidAdapter.js.map +1 -1
  798. package/dist/src/modules/dailymotionBidAdapter.js +1 -1
  799. package/dist/src/modules/dailymotionBidAdapter.js.map +1 -1
  800. package/dist/src/modules/dchain.js.map +1 -1
  801. package/dist/src/modules/dspxBidAdapter.js +1 -1
  802. package/dist/src/modules/dspxBidAdapter.js.map +1 -1
  803. package/dist/src/modules/dxkultureBidAdapter.js +1 -1
  804. package/dist/src/modules/eightPodBidAdapter.js.map +1 -1
  805. package/dist/src/modules/eplanningBidAdapter.js +1 -1
  806. package/dist/src/modules/equativBidAdapter.js +1 -1
  807. package/dist/src/modules/eskimiBidAdapter.js +1 -1
  808. package/dist/src/modules/euidIdSystem.js +1 -1
  809. package/dist/src/modules/exadsBidAdapter.js +1 -1
  810. package/dist/src/modules/excoBidAdapter.js +3 -3
  811. package/dist/src/modules/feedadBidAdapter.js +2 -2
  812. package/dist/src/modules/finativeBidAdapter.js +1 -1
  813. package/dist/src/modules/genericAnalyticsAdapter.js.map +1 -1
  814. package/dist/src/modules/geolocationRtdProvider.js.map +1 -1
  815. package/dist/src/modules/getintentBidAdapter.js +4 -2
  816. package/dist/src/modules/getintentBidAdapter.js.map +1 -1
  817. package/dist/src/modules/gmosspBidAdapter.js +1 -1
  818. package/dist/src/modules/gmosspBidAdapter.js.map +1 -1
  819. package/dist/src/modules/gppControl_usstates.js.map +1 -1
  820. package/dist/src/modules/gptPreAuction.d.ts +3 -3
  821. package/dist/src/modules/gptPreAuction.js.map +1 -1
  822. package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
  823. package/dist/src/modules/greenbidsBidAdapter.js +1 -1
  824. package/dist/src/modules/greenbidsRtdProvider.js +1 -1
  825. package/dist/src/modules/gridBidAdapter.js +2 -2
  826. package/dist/src/modules/gumgumBidAdapter.js +2 -2
  827. package/dist/src/modules/h12mediaBidAdapter.js +1 -1
  828. package/dist/src/modules/hypelabBidAdapter.js +1 -1
  829. package/dist/src/modules/iasRtdProvider.js +110 -5
  830. package/dist/src/modules/iasRtdProvider.js.map +1 -1
  831. package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
  832. package/dist/src/modules/id5IdSystem.js +1 -1
  833. package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
  834. package/dist/src/modules/inmobiBidAdapter.js +1 -1
  835. package/dist/src/modules/insticatorBidAdapter.js +1 -1
  836. package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
  837. package/dist/src/modules/intentIqAnalyticsAdapter.js.map +1 -1
  838. package/dist/src/modules/intentIqIdSystem.js.map +1 -1
  839. package/dist/src/modules/ixBidAdapter.js +1 -1
  840. package/dist/src/modules/jixieBidAdapter.js +1 -1
  841. package/dist/src/modules/justpremiumBidAdapter.js +1 -1
  842. package/dist/src/modules/jwplayerRtdProvider.js +6 -2
  843. package/dist/src/modules/jwplayerRtdProvider.js.map +1 -1
  844. package/dist/src/modules/jwplayerVideoProvider.js +12 -9
  845. package/dist/src/modules/jwplayerVideoProvider.js.map +1 -1
  846. package/dist/src/modules/kargoBidAdapter.js +1 -1
  847. package/dist/src/modules/kimberliteBidAdapter.js +1 -1
  848. package/dist/src/modules/kubientBidAdapter.js +0 -1
  849. package/dist/src/modules/kubientBidAdapter.js.map +1 -1
  850. package/dist/src/modules/lassoBidAdapter.js +1 -1
  851. package/dist/src/modules/lifestreetBidAdapter.js +1 -1
  852. package/dist/src/modules/logicadBidAdapter.js +1 -1
  853. package/dist/src/modules/luceadBidAdapter.js +1 -1
  854. package/dist/src/modules/mabidderBidAdapter.js +1 -1
  855. package/dist/src/modules/madsenseBidAdapter.js +1 -1
  856. package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
  857. package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
  858. package/dist/src/modules/marsmediaBidAdapter.js +1 -1
  859. package/dist/src/modules/mediafuseBidAdapter.js +2 -2
  860. package/dist/src/modules/medianetAnalyticsAdapter.js.map +1 -1
  861. package/dist/src/modules/medianetBidAdapter.js +6 -2
  862. package/dist/src/modules/medianetBidAdapter.js.map +1 -1
  863. package/dist/src/modules/mediasquareBidAdapter.js +2 -2
  864. package/dist/src/modules/mgidBidAdapter.js +1 -1
  865. package/dist/src/modules/michaoBidAdapter.js.map +1 -1
  866. package/dist/src/modules/missenaBidAdapter.js +1 -1
  867. package/dist/src/modules/mobilefuseBidAdapter.js +1 -1
  868. package/dist/src/modules/multibid/index.js.map +1 -1
  869. package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
  870. package/dist/src/modules/nexverseBidAdapter.js.map +1 -1
  871. package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
  872. package/dist/src/modules/nobidBidAdapter.js +1 -1
  873. package/dist/src/modules/nodalsAiRtdProvider.js +4 -2
  874. package/dist/src/modules/nodalsAiRtdProvider.js.map +1 -1
  875. package/dist/src/modules/oguryBidAdapter.js +1 -1
  876. package/dist/src/modules/onetagBidAdapter.js +1 -1
  877. package/dist/src/modules/onetagBidAdapter.js.map +1 -1
  878. package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
  879. package/dist/src/modules/openxBidAdapter.js +7 -2
  880. package/dist/src/modules/openxBidAdapter.js.map +1 -1
  881. package/dist/src/modules/optidigitalBidAdapter.js +1 -1
  882. package/dist/src/modules/orbidderBidAdapter.js +1 -1
  883. package/dist/src/modules/outbrainBidAdapter.js +1 -1
  884. package/dist/src/modules/pixfutureBidAdapter.js +2 -2
  885. package/dist/src/modules/prebidServerBidAdapter/index.js.map +1 -1
  886. package/dist/src/modules/priceFloors.d.ts +2 -2
  887. package/dist/src/modules/priceFloors.js.map +1 -1
  888. package/dist/src/modules/publinkIdSystem.js +1 -1
  889. package/dist/src/modules/pubmaticAnalyticsAdapter.js +2 -2
  890. package/dist/src/modules/pubmaticBidAdapter.js +23 -3
  891. package/dist/src/modules/pubmaticBidAdapter.js.map +1 -1
  892. package/dist/src/modules/pubmaticRtdProvider.js.map +1 -1
  893. package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
  894. package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
  895. package/dist/src/modules/pulsepointBidAdapter.js +2 -38
  896. package/dist/src/modules/pulsepointBidAdapter.js.map +1 -1
  897. package/dist/src/modules/pxyzBidAdapter.js +1 -1
  898. package/dist/src/modules/quantcastBidAdapter.js +1 -1
  899. package/dist/src/modules/readpeakBidAdapter.js +1 -1
  900. package/dist/src/modules/readpeakBidAdapter.js.map +1 -1
  901. package/dist/src/modules/relaidoBidAdapter.js +1 -1
  902. package/dist/src/modules/retailspotBidAdapter.js +1 -1
  903. package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
  904. package/dist/src/modules/rtdModule/index.js.map +1 -1
  905. package/dist/src/modules/rtdModule/spec.js.map +1 -1
  906. package/dist/src/modules/rubiconBidAdapter.js +6 -2
  907. package/dist/src/modules/rubiconBidAdapter.js.map +1 -1
  908. package/dist/src/modules/rumbleBidAdapter.js +103 -0
  909. package/dist/src/modules/rumbleBidAdapter.js.map +1 -0
  910. package/dist/src/modules/schain.js.map +1 -1
  911. package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
  912. package/dist/src/modules/seedtagBidAdapter.js +1 -1
  913. package/dist/src/modules/sevioBidAdapter.js +254 -0
  914. package/dist/src/modules/sevioBidAdapter.js.map +1 -0
  915. package/dist/src/modules/sharedIdSystem.js.map +1 -1
  916. package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
  917. package/dist/src/modules/sharethroughBidAdapter.js +1 -1
  918. package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
  919. package/dist/src/modules/smaatoBidAdapter.js +1 -1
  920. package/dist/src/modules/smartadserverBidAdapter.js +1 -1
  921. package/dist/src/modules/smartxBidAdapter.js +1 -1
  922. package/dist/src/modules/smilewantedBidAdapter.js +1 -1
  923. package/dist/src/modules/snigelBidAdapter.js +1 -1
  924. package/dist/src/modules/sonaradsBidAdapter.js +2 -2
  925. package/dist/src/modules/sonobiBidAdapter.js +1 -1
  926. package/dist/src/modules/sovrnBidAdapter.js +1 -1
  927. package/dist/src/modules/sparteoBidAdapter.js +1 -1
  928. package/dist/src/modules/sspBCBidAdapter.js +1 -1
  929. package/dist/src/modules/storageControl.js.map +1 -1
  930. package/dist/src/modules/stvBidAdapter.js +1 -1
  931. package/dist/src/modules/sublimeBidAdapter.js +2 -2
  932. package/dist/src/modules/taboolaBidAdapter.js +1 -1
  933. package/dist/src/modules/tappxBidAdapter.js +1 -1
  934. package/dist/src/modules/targetVideoBidAdapter.js +1 -1
  935. package/dist/src/modules/tcfControl.js.map +1 -1
  936. package/dist/src/modules/teadsBidAdapter.js +1 -1
  937. package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
  938. package/dist/src/modules/themoneytizerBidAdapter.js +1 -3
  939. package/dist/src/modules/themoneytizerBidAdapter.js.map +1 -1
  940. package/dist/src/modules/trionBidAdapter.js +1 -1
  941. package/dist/src/modules/tripleliftBidAdapter.js +1 -1
  942. package/dist/src/modules/ttdBidAdapter.js +9 -2
  943. package/dist/src/modules/ttdBidAdapter.js.map +1 -1
  944. package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
  945. package/dist/src/modules/uid2IdSystem.js +1 -1
  946. package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
  947. package/dist/src/modules/undertoneBidAdapter.js +1 -1
  948. package/dist/src/modules/unrulyBidAdapter.js +1 -1
  949. package/dist/src/modules/userId/index.js +12 -8
  950. package/dist/src/modules/userId/index.js.map +1 -1
  951. package/dist/src/modules/userId/spec.js.map +1 -1
  952. package/dist/src/modules/validationFpdModule/index.js.map +1 -1
  953. package/dist/src/modules/videoModule/index.js.map +1 -1
  954. package/dist/src/modules/videobyteBidAdapter.js +1 -1
  955. package/dist/src/modules/visxBidAdapter.js +1 -1
  956. package/dist/src/modules/vuukleBidAdapter.js +1 -1
  957. package/dist/src/modules/weboramaRtdProvider.js +30 -11
  958. package/dist/src/modules/weboramaRtdProvider.js.map +1 -1
  959. package/dist/src/modules/welectBidAdapter.js.map +1 -1
  960. package/dist/src/modules/widespaceBidAdapter.js +1 -1
  961. package/dist/src/modules/winrBidAdapter.js +1 -1
  962. package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
  963. package/dist/src/modules/yandexBidAdapter.js +47 -15
  964. package/dist/src/modules/yandexBidAdapter.js.map +1 -1
  965. package/dist/src/modules/yieldmoBidAdapter.js +2 -2
  966. package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
  967. package/dist/src/package.json +2 -3
  968. package/dist/src/public/rumbleBidAdapter.js +1 -0
  969. package/dist/src/public/sevioBidAdapter.js +1 -0
  970. package/dist/src/src/activities/params.d.ts +5 -0
  971. package/dist/src/src/activities/params.js +6 -0
  972. package/dist/src/src/activities/params.js.map +1 -1
  973. package/dist/src/src/activities/redactor.js.map +1 -1
  974. package/dist/src/src/adRendering.js.map +1 -1
  975. package/dist/src/src/adUnits.js.map +1 -1
  976. package/dist/src/src/adapterManager.js.map +1 -1
  977. package/dist/src/src/adapters/bidderFactory.js.map +1 -1
  978. package/dist/src/src/ajax.js.map +1 -1
  979. package/dist/src/src/auction.js.map +1 -1
  980. package/dist/src/src/banner.js.map +1 -1
  981. package/dist/src/src/bidTTL.js.map +1 -1
  982. package/dist/src/src/bidderSettings.js.map +1 -1
  983. package/dist/src/src/bidfactory.js.map +1 -1
  984. package/dist/src/src/config.js +3 -3
  985. package/dist/src/src/config.js.map +1 -1
  986. package/dist/src/src/consentHandler.js.map +1 -1
  987. package/dist/src/src/constants.js.map +1 -1
  988. package/dist/src/src/cpmBucketManager.js.map +1 -1
  989. package/dist/src/src/debugging.js +1 -1
  990. package/dist/src/src/events.js.map +1 -1
  991. package/dist/src/src/fpd/enrichment.js.map +1 -1
  992. package/dist/src/src/hook.js.map +1 -1
  993. package/dist/src/src/mediaTypes.js.map +1 -1
  994. package/dist/src/src/native.js.map +1 -1
  995. package/dist/src/src/prebid.js +2 -2
  996. package/dist/src/src/prebid.js.map +1 -1
  997. package/dist/src/src/prebidGlobal.js.map +1 -1
  998. package/dist/src/src/refererDetection.js.map +1 -1
  999. package/dist/src/src/storageManager.js +26 -25
  1000. package/dist/src/src/storageManager.js.map +1 -1
  1001. package/dist/src/src/targeting.d.ts +7 -7
  1002. package/dist/src/src/targeting.js.map +1 -1
  1003. package/dist/src/src/types/common.d.js.map +1 -1
  1004. package/dist/src/src/types/common.d.ts +29 -29
  1005. package/dist/src/src/types/local/buildOptions.d.js.map +1 -1
  1006. package/dist/src/src/types/local/shim.d.js.map +1 -1
  1007. package/dist/src/src/types/objects.d.js.map +1 -1
  1008. package/dist/src/src/types/objects.d.ts +15 -15
  1009. package/dist/src/src/types/ortb/common.d.js.map +1 -1
  1010. package/dist/src/src/types/ortb/common.d.ts +1 -1
  1011. package/dist/src/src/types/ortb/ext/dchain.d.js.map +1 -1
  1012. package/dist/src/src/types/ortb/ext/dchain.d.ts +69 -69
  1013. package/dist/src/src/types/ortb/ext/dsa.d.js.map +1 -1
  1014. package/dist/src/src/types/ortb/ext/dsa.d.ts +50 -50
  1015. package/dist/src/src/types/ortb/request.d.js.map +1 -1
  1016. package/dist/src/src/types/ortb/request.d.ts +21 -21
  1017. package/dist/src/src/types/ortb/response.d.js.map +1 -1
  1018. package/dist/src/src/types/ortb/response.d.ts +6 -6
  1019. package/dist/src/src/types/summary/core.d.ts +5 -5
  1020. package/dist/src/src/userSync.js.map +1 -1
  1021. package/dist/src/src/utils/objects.js.map +1 -1
  1022. package/dist/src/src/utils/perfMetrics.js.map +1 -1
  1023. package/dist/src/src/utils/promise.js.map +1 -1
  1024. package/dist/src/src/utils/ttlCollection.js.map +1 -1
  1025. package/dist/src/src/video.js.map +1 -1
  1026. package/dist/src/src/videoCache.js.map +1 -1
  1027. package/dist/src/test/helpers/index_adapter_utils.js +1 -1
  1028. package/dist/src/test/helpers/index_adapter_utils.js.map +1 -1
  1029. package/dist/src/test/helpers/refererDetectionHelper.js.map +1 -1
  1030. package/dist/src/test/mocks/timers.js +12 -12
  1031. package/dist/src/test/mocks/timers.js.map +1 -1
  1032. package/dist/src/test/spec/adloader_spec.js.map +1 -1
  1033. package/dist/src/test/spec/config_spec.js +9 -3
  1034. package/dist/src/test/spec/config_spec.js.map +1 -1
  1035. package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
  1036. package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js.map +1 -1
  1037. package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
  1038. package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js.map +1 -1
  1039. package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
  1040. package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
  1041. package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
  1042. package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
  1043. package/dist/src/test/spec/modules/adgridBidAdapter_spec.js.map +1 -1
  1044. package/dist/src/test/spec/modules/adkernelAdnBidAdapter_spec.js.map +1 -1
  1045. package/dist/src/test/spec/modules/adkernelBidAdapter_spec.js.map +1 -1
  1046. package/dist/src/test/spec/modules/admediaBidAdapter_spec.js.map +1 -1
  1047. package/dist/src/test/spec/modules/adnuntiusBidAdapter_spec.js.map +1 -1
  1048. package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
  1049. package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
  1050. package/dist/src/test/spec/modules/adspiritBidAdapter_spec.js.map +1 -1
  1051. package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
  1052. package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js.map +1 -1
  1053. package/dist/src/test/spec/modules/adtrueBidAdapter_spec.js.map +1 -1
  1054. package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
  1055. package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js.map +1 -1
  1056. package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
  1057. package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
  1058. package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
  1059. package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
  1060. package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
  1061. package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
  1062. package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js.map +1 -1
  1063. package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
  1064. package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
  1065. package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
  1066. package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
  1067. package/dist/src/test/spec/modules/datablocksBidAdapter_spec.js.map +1 -1
  1068. package/dist/src/test/spec/modules/deepintentBidAdapter_spec.js.map +1 -1
  1069. package/dist/src/test/spec/modules/dexertoBidAdapter_spec.js.map +1 -1
  1070. package/dist/src/test/spec/modules/dochaseBidAdapter_spec.js.map +1 -1
  1071. package/dist/src/test/spec/modules/dspxBidAdapter_spec.js.map +1 -1
  1072. package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
  1073. package/dist/src/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js.map +1 -1
  1074. package/dist/src/test/spec/modules/enrichmentLiftMeasurement_spec.js.map +1 -1
  1075. package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
  1076. package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
  1077. package/dist/src/test/spec/modules/equativBidAdapter_spec.js.map +1 -1
  1078. package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
  1079. package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
  1080. package/dist/src/test/spec/modules/finativeBidAdapter_spec.js.map +1 -1
  1081. package/dist/src/test/spec/modules/ftrackIdSystem_spec.js.map +1 -1
  1082. package/dist/src/test/spec/modules/fwsspBidAdapter_spec.js.map +1 -1
  1083. package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
  1084. package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
  1085. package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
  1086. package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
  1087. package/dist/src/test/spec/modules/hypelabBidAdapter_spec.js.map +1 -1
  1088. package/dist/src/test/spec/modules/iasRtdProvider_spec.js +104 -1
  1089. package/dist/src/test/spec/modules/iasRtdProvider_spec.js.map +1 -1
  1090. package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
  1091. package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
  1092. package/dist/src/test/spec/modules/intentIqIdSystem_spec.js.map +1 -1
  1093. package/dist/src/test/spec/modules/invibesBidAdapter_spec.js.map +1 -1
  1094. package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
  1095. package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
  1096. package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
  1097. package/dist/src/test/spec/modules/kargoBidAdapter_spec.js.map +1 -1
  1098. package/dist/src/test/spec/modules/lane4BidAdapter_spec.js.map +1 -1
  1099. package/dist/src/test/spec/modules/lemmaDigitalBidAdapter_spec.js.map +1 -1
  1100. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +29 -10
  1101. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js.map +1 -1
  1102. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js +19 -0
  1103. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js.map +1 -1
  1104. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +58 -1
  1105. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js.map +1 -1
  1106. package/dist/src/test/spec/modules/liveIntentRtdProvider_spec.js.map +1 -1
  1107. package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
  1108. package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
  1109. package/dist/src/test/spec/modules/mediaeyesBidAdapter_spec.js.map +1 -1
  1110. package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
  1111. package/dist/src/test/spec/modules/mediagoBidAdapter_spec.js.map +1 -1
  1112. package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +43 -26
  1113. package/dist/src/test/spec/modules/medianetBidAdapter_spec.js.map +1 -1
  1114. package/dist/src/test/spec/modules/mediasquareBidAdapter_spec.js.map +1 -1
  1115. package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
  1116. package/dist/src/test/spec/modules/nexx360BidAdapter_spec.js.map +1 -1
  1117. package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
  1118. package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
  1119. package/dist/src/test/spec/modules/nobidBidAdapter_spec.js.map +1 -1
  1120. package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
  1121. package/dist/src/test/spec/modules/onetagBidAdapter_spec.js.map +1 -1
  1122. package/dist/src/test/spec/modules/openxBidAdapter_spec.js +113 -0
  1123. package/dist/src/test/spec/modules/openxBidAdapter_spec.js.map +1 -1
  1124. package/dist/src/test/spec/modules/optoutBidAdapter_spec.js.map +1 -1
  1125. package/dist/src/test/spec/modules/orbitsoftBidAdapter_spec.js.map +1 -1
  1126. package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
  1127. package/dist/src/test/spec/modules/oxxionAnalyticsAdapter_spec.js.map +1 -1
  1128. package/dist/src/test/spec/modules/ozoneBidAdapter_spec.js.map +1 -1
  1129. package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
  1130. package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js.map +1 -1
  1131. package/dist/src/test/spec/modules/prismaBidAdapter_spec.js.map +1 -1
  1132. package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
  1133. package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
  1134. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js +58 -0
  1135. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
  1136. package/dist/src/test/spec/modules/pubmaticRtdProvider_spec.js.map +1 -1
  1137. package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
  1138. package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
  1139. package/dist/src/test/spec/modules/pwbidBidAdapter_spec.js.map +1 -1
  1140. package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
  1141. package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
  1142. package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
  1143. package/dist/src/test/spec/modules/relevadRtdProvider_spec.js.map +1 -1
  1144. package/dist/src/test/spec/modules/relevatehealthBidAdapter_spec.js.map +1 -1
  1145. package/dist/src/test/spec/modules/richaudienceBidAdapter_spec.js.map +1 -1
  1146. package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
  1147. package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js.map +1 -1
  1148. package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js +110 -0
  1149. package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js.map +1 -0
  1150. package/dist/src/test/spec/modules/sevioBidAdapter_spec.js +182 -0
  1151. package/dist/src/test/spec/modules/sevioBidAdapter_spec.js.map +1 -0
  1152. package/dist/src/test/spec/modules/smaatoBidAdapter_spec.js.map +1 -1
  1153. package/dist/src/test/spec/modules/smarticoBidAdapter_spec.js.map +1 -1
  1154. package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
  1155. package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
  1156. package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
  1157. package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
  1158. package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
  1159. package/dist/src/test/spec/modules/stvBidAdapter_spec.js.map +1 -1
  1160. package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
  1161. package/dist/src/test/spec/modules/tapnativeBidAdapter_spec.js.map +1 -1
  1162. package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
  1163. package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -5
  1164. package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js.map +1 -1
  1165. package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
  1166. package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +24 -3
  1167. package/dist/src/test/spec/modules/ttdBidAdapter_spec.js.map +1 -1
  1168. package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
  1169. package/dist/src/test/spec/modules/uid2IdSystem_spec.js.map +1 -1
  1170. package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
  1171. package/dist/src/test/spec/modules/userId_spec.js +41 -6
  1172. package/dist/src/test/spec/modules/userId_spec.js.map +1 -1
  1173. package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1738 -9
  1174. package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js.map +1 -1
  1175. package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
  1176. package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
  1177. package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
  1178. package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
  1179. package/dist/src/test/spec/modules/yandexBidAdapter_spec.js +107 -2
  1180. package/dist/src/test/spec/modules/yandexBidAdapter_spec.js.map +1 -1
  1181. package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
  1182. package/dist/src/test/spec/refererDetection_spec.js.map +1 -1
  1183. package/dist/src/test/spec/unit/core/storageManager_spec.js +18 -1
  1184. package/dist/src/test/spec/unit/core/storageManager_spec.js.map +1 -1
  1185. package/dist/src/test/spec/unit/core/targeting_spec.js.map +1 -1
  1186. package/dist/src/test/spec/utils_spec.js.map +1 -1
  1187. package/eslint.config.js +2 -6
  1188. package/gulpfile.js +0 -7
  1189. package/libraries/analyticsAdapter/AnalyticsAdapter.ts +28 -28
  1190. package/libraries/appnexusUtils/anKeywords.js +11 -0
  1191. package/libraries/consentManagement/cmUtils.ts +18 -18
  1192. package/libraries/creative-renderer-display/renderer.js +1 -1
  1193. package/libraries/cryptoUtils/wallets.js +38 -0
  1194. package/libraries/dspxUtils/bidderUtils.js +1 -1
  1195. package/libraries/impUtils.js +33 -0
  1196. package/libraries/liveIntentId/shared.js +16 -0
  1197. package/libraries/nexx360Utils/index.js +8 -8
  1198. package/libraries/ortbConverter/converter.ts +79 -79
  1199. package/libraries/video/constants/events.ts +5 -5
  1200. package/metadata/modules/33acrossBidAdapter.json +1 -1
  1201. package/metadata/modules/33acrossIdSystem.json +1 -1
  1202. package/metadata/modules/acuityadsBidAdapter.json +1 -1
  1203. package/metadata/modules/adagioBidAdapter.json +1 -1
  1204. package/metadata/modules/adagioRtdProvider.json +1 -1
  1205. package/metadata/modules/addefendBidAdapter.json +1 -1
  1206. package/metadata/modules/adfBidAdapter.json +1 -1
  1207. package/metadata/modules/adfusionBidAdapter.json +1 -1
  1208. package/metadata/modules/adheseBidAdapter.json +1 -1
  1209. package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
  1210. package/metadata/modules/adkernelBidAdapter.json +4 -4
  1211. package/metadata/modules/admaticBidAdapter.json +2 -2
  1212. package/metadata/modules/admixerBidAdapter.json +8 -1
  1213. package/metadata/modules/admixerIdSystem.json +1 -1
  1214. package/metadata/modules/adnowBidAdapter.json +1 -1
  1215. package/metadata/modules/adnuntiusBidAdapter.json +1 -1
  1216. package/metadata/modules/adnuntiusRtdProvider.json +1 -1
  1217. package/metadata/modules/adotBidAdapter.json +1 -1
  1218. package/metadata/modules/adponeBidAdapter.json +1 -1
  1219. package/metadata/modules/adqueryBidAdapter.json +1 -1
  1220. package/metadata/modules/adqueryIdSystem.json +1 -1
  1221. package/metadata/modules/adrinoBidAdapter.json +1 -1
  1222. package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
  1223. package/metadata/modules/adtargetBidAdapter.json +1 -1
  1224. package/metadata/modules/adtelligentBidAdapter.json +3 -3
  1225. package/metadata/modules/adtelligentIdSystem.json +1 -1
  1226. package/metadata/modules/aduptechBidAdapter.json +1 -1
  1227. package/metadata/modules/adyoulikeBidAdapter.json +1 -1
  1228. package/metadata/modules/aidemBidAdapter.json +1 -1
  1229. package/metadata/modules/airgridRtdProvider.json +1 -1
  1230. package/metadata/modules/alkimiBidAdapter.json +1 -1
  1231. package/metadata/modules/ampliffyBidAdapter.json +1 -1
  1232. package/metadata/modules/amxBidAdapter.json +1 -1
  1233. package/metadata/modules/amxIdSystem.json +1 -1
  1234. package/metadata/modules/aniviewBidAdapter.json +1 -1
  1235. package/metadata/modules/anonymisedRtdProvider.json +1 -1
  1236. package/metadata/modules/appierBidAdapter.json +15 -29
  1237. package/metadata/modules/appnexusBidAdapter.json +5 -5
  1238. package/metadata/modules/appushBidAdapter.json +1 -1
  1239. package/metadata/modules/apstreamBidAdapter.json +1 -1
  1240. package/metadata/modules/audiencerunBidAdapter.json +1 -1
  1241. package/metadata/modules/axisBidAdapter.json +1 -1
  1242. package/metadata/modules/azerionedgeRtdProvider.json +1 -1
  1243. package/metadata/modules/beopBidAdapter.json +1 -1
  1244. package/metadata/modules/betweenBidAdapter.json +1 -1
  1245. package/metadata/modules/bidmaticBidAdapter.json +1 -1
  1246. package/metadata/modules/bidtheatreBidAdapter.json +1 -1
  1247. package/metadata/modules/bliinkBidAdapter.json +1 -1
  1248. package/metadata/modules/blockthroughBidAdapter.json +1 -1
  1249. package/metadata/modules/blueBidAdapter.json +1 -1
  1250. package/metadata/modules/bmsBidAdapter.json +1 -1
  1251. package/metadata/modules/boldwinBidAdapter.json +1 -1
  1252. package/metadata/modules/bridBidAdapter.json +1 -1
  1253. package/metadata/modules/browsiBidAdapter.json +1 -1
  1254. package/metadata/modules/bucksenseBidAdapter.json +1 -1
  1255. package/metadata/modules/carodaBidAdapter.json +1 -1
  1256. package/metadata/modules/categoryTranslation.json +1 -1
  1257. package/metadata/modules/ccxBidAdapter.json +1 -1
  1258. package/metadata/modules/ceeIdSystem.json +1 -1
  1259. package/metadata/modules/chromeAiRtdProvider.json +1 -1
  1260. package/metadata/modules/compassBidAdapter.json +1 -1
  1261. package/metadata/modules/conceptxBidAdapter.json +1 -1
  1262. package/metadata/modules/connatixBidAdapter.json +1 -1
  1263. package/metadata/modules/connectIdSystem.json +1 -1
  1264. package/metadata/modules/connectadBidAdapter.json +1 -1
  1265. package/metadata/modules/contentexchangeBidAdapter.json +1 -1
  1266. package/metadata/modules/conversantBidAdapter.json +1 -1
  1267. package/metadata/modules/copper6sspBidAdapter.json +1 -1
  1268. package/metadata/modules/cpmstarBidAdapter.json +1 -1
  1269. package/metadata/modules/criteoBidAdapter.json +1 -1
  1270. package/metadata/modules/criteoIdSystem.json +1 -1
  1271. package/metadata/modules/cwireBidAdapter.json +1 -1
  1272. package/metadata/modules/czechAdIdSystem.json +1 -1
  1273. package/metadata/modules/dailymotionBidAdapter.json +1 -1
  1274. package/metadata/modules/debugging.json +1 -1
  1275. package/metadata/modules/deepintentBidAdapter.json +1 -1
  1276. package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
  1277. package/metadata/modules/dianomiBidAdapter.json +1 -1
  1278. package/metadata/modules/digitalMatterBidAdapter.json +1 -1
  1279. package/metadata/modules/distroscaleBidAdapter.json +1 -1
  1280. package/metadata/modules/docereeAdManagerBidAdapter.json +3 -3
  1281. package/metadata/modules/docereeBidAdapter.json +3 -3
  1282. package/metadata/modules/dspxBidAdapter.json +1 -1
  1283. package/metadata/modules/e_volutionBidAdapter.json +1 -1
  1284. package/metadata/modules/edge226BidAdapter.json +3 -3
  1285. package/metadata/modules/equativBidAdapter.json +1 -1
  1286. package/metadata/modules/eskimiBidAdapter.json +1 -1
  1287. package/metadata/modules/etargetBidAdapter.json +1 -1
  1288. package/metadata/modules/euidIdSystem.json +1 -1
  1289. package/metadata/modules/exadsBidAdapter.json +1 -1
  1290. package/metadata/modules/feedadBidAdapter.json +1 -1
  1291. package/metadata/modules/fwsspBidAdapter.json +1 -1
  1292. package/metadata/modules/gamoshiBidAdapter.json +1 -1
  1293. package/metadata/modules/glomexBidAdapter.json +1 -1
  1294. package/metadata/modules/goldbachBidAdapter.json +1 -1
  1295. package/metadata/modules/greenbidsBidAdapter.json +1 -1
  1296. package/metadata/modules/gridBidAdapter.json +1 -1
  1297. package/metadata/modules/gumgumBidAdapter.json +1 -1
  1298. package/metadata/modules/hadronIdSystem.json +1 -1
  1299. package/metadata/modules/hadronRtdProvider.json +1 -1
  1300. package/metadata/modules/holidBidAdapter.json +1 -1
  1301. package/metadata/modules/hybridBidAdapter.json +1 -1
  1302. package/metadata/modules/id5IdSystem.json +1 -1
  1303. package/metadata/modules/identityLinkIdSystem.json +1 -1
  1304. package/metadata/modules/illuminBidAdapter.json +1 -1
  1305. package/metadata/modules/impactifyBidAdapter.json +1 -1
  1306. package/metadata/modules/improvedigitalBidAdapter.json +1 -1
  1307. package/metadata/modules/inmobiBidAdapter.json +1 -1
  1308. package/metadata/modules/innityBidAdapter.json +1 -1
  1309. package/metadata/modules/insticatorBidAdapter.json +1 -1
  1310. package/metadata/modules/intentIqIdSystem.json +1 -1
  1311. package/metadata/modules/invibesBidAdapter.json +1 -1
  1312. package/metadata/modules/ipromBidAdapter.json +1 -1
  1313. package/metadata/modules/ixBidAdapter.json +1 -1
  1314. package/metadata/modules/justIdSystem.json +1 -1
  1315. package/metadata/modules/justpremiumBidAdapter.json +1 -1
  1316. package/metadata/modules/jwplayerBidAdapter.json +1 -1
  1317. package/metadata/modules/kargoBidAdapter.json +1 -1
  1318. package/metadata/modules/kubientBidAdapter.json +3 -8
  1319. package/metadata/modules/kueezRtbBidAdapter.json +1 -1
  1320. package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
  1321. package/metadata/modules/liveIntentIdSystem.json +1 -1
  1322. package/metadata/modules/liveIntentRtdProvider.json +1 -1
  1323. package/metadata/modules/livewrappedBidAdapter.json +1 -1
  1324. package/metadata/modules/loopmeBidAdapter.json +1 -1
  1325. package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
  1326. package/metadata/modules/luceadBidAdapter.json +1 -1
  1327. package/metadata/modules/luponmediaBidAdapter.json +1 -1
  1328. package/metadata/modules/madvertiseBidAdapter.json +1 -1
  1329. package/metadata/modules/marsmediaBidAdapter.json +1 -1
  1330. package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
  1331. package/metadata/modules/mediaforceBidAdapter.json +1 -1
  1332. package/metadata/modules/mediafuseBidAdapter.json +1 -1
  1333. package/metadata/modules/mediagoBidAdapter.json +1 -1
  1334. package/metadata/modules/mediakeysBidAdapter.json +1 -1
  1335. package/metadata/modules/medianetBidAdapter.json +2 -2
  1336. package/metadata/modules/mediasquareBidAdapter.json +1 -1
  1337. package/metadata/modules/mgidBidAdapter.json +1 -1
  1338. package/metadata/modules/mgidRtdProvider.json +1 -1
  1339. package/metadata/modules/mgidXBidAdapter.json +1 -1
  1340. package/metadata/modules/minutemediaBidAdapter.json +1 -1
  1341. package/metadata/modules/missenaBidAdapter.json +1 -1
  1342. package/metadata/modules/mobianRtdProvider.json +1 -1
  1343. package/metadata/modules/mobilefuseBidAdapter.json +1 -1
  1344. package/metadata/modules/mobkoiBidAdapter.json +1 -1
  1345. package/metadata/modules/mobkoiIdSystem.json +1 -1
  1346. package/metadata/modules/nativeryBidAdapter.json +1 -1
  1347. package/metadata/modules/nativoBidAdapter.json +1 -1
  1348. package/metadata/modules/newspassidBidAdapter.json +1 -1
  1349. package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
  1350. package/metadata/modules/nextrollBidAdapter.json +1 -1
  1351. package/metadata/modules/nexx360BidAdapter.json +8 -8
  1352. package/metadata/modules/nobidBidAdapter.json +2 -2
  1353. package/metadata/modules/nodalsAiRtdProvider.json +1 -1
  1354. package/metadata/modules/novatiqIdSystem.json +1 -1
  1355. package/metadata/modules/oguryBidAdapter.json +1 -1
  1356. package/metadata/modules/omsBidAdapter.json +1 -1
  1357. package/metadata/modules/onetagBidAdapter.json +1 -1
  1358. package/metadata/modules/openwebBidAdapter.json +1 -1
  1359. package/metadata/modules/openxBidAdapter.json +1 -1
  1360. package/metadata/modules/operaadsBidAdapter.json +1 -1
  1361. package/metadata/modules/optidigitalBidAdapter.json +1 -1
  1362. package/metadata/modules/optoutBidAdapter.json +1 -1
  1363. package/metadata/modules/orbidderBidAdapter.json +1 -1
  1364. package/metadata/modules/outbrainBidAdapter.json +1 -1
  1365. package/metadata/modules/ozoneBidAdapter.json +1 -1
  1366. package/metadata/modules/pairIdSystem.json +1 -1
  1367. package/metadata/modules/performaxBidAdapter.json +4 -5
  1368. package/metadata/modules/pgamsspBidAdapter.json +1 -1
  1369. package/metadata/modules/pixfutureBidAdapter.json +1 -1
  1370. package/metadata/modules/playdigoBidAdapter.json +1 -1
  1371. package/metadata/modules/prebid-core.json +2 -2
  1372. package/metadata/modules/precisoBidAdapter.json +1 -1
  1373. package/metadata/modules/prismaBidAdapter.json +1 -1
  1374. package/metadata/modules/programmaticXBidAdapter.json +1 -1
  1375. package/metadata/modules/proxistoreBidAdapter.json +1 -1
  1376. package/metadata/modules/publinkIdSystem.json +1 -1
  1377. package/metadata/modules/pubmaticBidAdapter.json +1 -1
  1378. package/metadata/modules/pubmaticIdSystem.json +1 -1
  1379. package/metadata/modules/pulsepointBidAdapter.json +1 -1
  1380. package/metadata/modules/pwbidBidAdapter.json +1 -1
  1381. package/metadata/modules/qtBidAdapter.json +1 -1
  1382. package/metadata/modules/quantcastBidAdapter.json +1 -1
  1383. package/metadata/modules/quantcastIdSystem.json +1 -1
  1384. package/metadata/modules/r2b2BidAdapter.json +1 -1
  1385. package/metadata/modules/raynRtdProvider.json +1 -1
  1386. package/metadata/modules/readpeakBidAdapter.json +1 -1
  1387. package/metadata/modules/relayBidAdapter.json +1 -1
  1388. package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
  1389. package/metadata/modules/resetdigitalBidAdapter.json +1 -1
  1390. package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
  1391. package/metadata/modules/retailspotBidAdapter.json +1 -1
  1392. package/metadata/modules/revcontentBidAdapter.json +7 -117
  1393. package/metadata/modules/rhythmoneBidAdapter.json +1 -1
  1394. package/metadata/modules/richaudienceBidAdapter.json +1 -1
  1395. package/metadata/modules/riseBidAdapter.json +2 -2
  1396. package/metadata/modules/rixengineBidAdapter.json +1 -1
  1397. package/metadata/modules/rtbhouseBidAdapter.json +1 -1
  1398. package/metadata/modules/rubiconBidAdapter.json +1 -1
  1399. package/metadata/modules/rumbleBidAdapter.json +13 -0
  1400. package/metadata/modules/scatteredBidAdapter.json +1 -1
  1401. package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
  1402. package/metadata/modules/seedtagBidAdapter.json +1 -1
  1403. package/metadata/modules/semantiqRtdProvider.json +1 -1
  1404. package/metadata/modules/setupadBidAdapter.json +1 -1
  1405. package/metadata/modules/sevioBidAdapter.json +18 -0
  1406. package/metadata/modules/sharedIdSystem.json +1 -1
  1407. package/metadata/modules/sharethroughBidAdapter.json +1 -1
  1408. package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
  1409. package/metadata/modules/silvermobBidAdapter.json +1 -1
  1410. package/metadata/modules/sirdataRtdProvider.json +1 -1
  1411. package/metadata/modules/slimcutBidAdapter.json +1 -1
  1412. package/metadata/modules/smaatoBidAdapter.json +1 -1
  1413. package/metadata/modules/smartadserverBidAdapter.json +1 -1
  1414. package/metadata/modules/smartxBidAdapter.json +1 -1
  1415. package/metadata/modules/smartyadsBidAdapter.json +1 -1
  1416. package/metadata/modules/smilewantedBidAdapter.json +1 -1
  1417. package/metadata/modules/snigelBidAdapter.json +1 -1
  1418. package/metadata/modules/sonaradsBidAdapter.json +1 -1
  1419. package/metadata/modules/sonobiBidAdapter.json +1 -1
  1420. package/metadata/modules/sovrnBidAdapter.json +4 -4
  1421. package/metadata/modules/sparteoBidAdapter.json +1 -1
  1422. package/metadata/modules/ssmasBidAdapter.json +1 -1
  1423. package/metadata/modules/sspBCBidAdapter.json +1 -1
  1424. package/metadata/modules/stackadaptBidAdapter.json +1 -1
  1425. package/metadata/modules/startioBidAdapter.json +1 -1
  1426. package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
  1427. package/metadata/modules/stvBidAdapter.json +1 -1
  1428. package/metadata/modules/sublimeBidAdapter.json +1 -1
  1429. package/metadata/modules/taboolaBidAdapter.json +1 -1
  1430. package/metadata/modules/taboolaIdSystem.json +1 -1
  1431. package/metadata/modules/tappxBidAdapter.json +1 -1
  1432. package/metadata/modules/targetVideoBidAdapter.json +1 -1
  1433. package/metadata/modules/teadsBidAdapter.json +1 -1
  1434. package/metadata/modules/teadsIdSystem.json +1 -1
  1435. package/metadata/modules/tealBidAdapter.json +1 -1
  1436. package/metadata/modules/themoneytizerBidAdapter.json +3 -8
  1437. package/metadata/modules/tncIdSystem.json +1 -1
  1438. package/metadata/modules/topicsFpdModule.json +1 -1
  1439. package/metadata/modules/tripleliftBidAdapter.json +1 -1
  1440. package/metadata/modules/ttdBidAdapter.json +1 -1
  1441. package/metadata/modules/twistDigitalBidAdapter.json +1 -1
  1442. package/metadata/modules/underdogmediaBidAdapter.json +1 -1
  1443. package/metadata/modules/undertoneBidAdapter.json +1 -1
  1444. package/metadata/modules/unifiedIdSystem.json +1 -1
  1445. package/metadata/modules/unrulyBidAdapter.json +1 -1
  1446. package/metadata/modules/userId.json +1 -1
  1447. package/metadata/modules/validationFpdModule.json +1 -1
  1448. package/metadata/modules/vidazooBidAdapter.json +1 -1
  1449. package/metadata/modules/vidoomyBidAdapter.json +1 -1
  1450. package/metadata/modules/viewdeosDXBidAdapter.json +1 -1
  1451. package/metadata/modules/viouslyBidAdapter.json +1 -1
  1452. package/metadata/modules/visxBidAdapter.json +1 -1
  1453. package/metadata/modules/vlybyBidAdapter.json +1 -1
  1454. package/metadata/modules/voxBidAdapter.json +1 -1
  1455. package/metadata/modules/vrtcalBidAdapter.json +1 -1
  1456. package/metadata/modules/vuukleBidAdapter.json +1 -1
  1457. package/metadata/modules/weboramaRtdProvider.json +1 -1
  1458. package/metadata/modules/welectBidAdapter.json +1 -1
  1459. package/metadata/modules/yahooAdsBidAdapter.json +1 -1
  1460. package/metadata/modules/yieldlabBidAdapter.json +1 -1
  1461. package/metadata/modules/yieldliftBidAdapter.json +1 -1
  1462. package/metadata/modules/yieldloveBidAdapter.json +1 -1
  1463. package/metadata/modules/yieldmoBidAdapter.json +1 -1
  1464. package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
  1465. package/metadata/modules/zeta_globalBidAdapter.json +1 -1
  1466. package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
  1467. package/metadata/modules.json +23 -2
  1468. package/modules/1plusXRtdProvider.js +6 -2
  1469. package/modules/adWMGBidAdapter.js +8 -8
  1470. package/modules/admixerBidAdapter.js +9 -4
  1471. package/modules/adspiritBidAdapter.js +8 -8
  1472. package/modules/adtrgtmeBidAdapter.js +2 -2
  1473. package/modules/adxcgBidAdapter.js +2 -36
  1474. package/modules/amxBidAdapter.js +3 -3
  1475. package/modules/chromeAiRtdProvider.js +5 -5
  1476. package/modules/consentManagementGpp.ts +11 -11
  1477. package/modules/consentManagementTcf.ts +33 -33
  1478. package/modules/consentManagementUsp.ts +14 -14
  1479. package/modules/currency.ts +59 -59
  1480. package/modules/cwireBidAdapter.js +2 -2
  1481. package/modules/dailymotionBidAdapter.js +4 -4
  1482. package/modules/dchain.ts +4 -4
  1483. package/modules/dspxBidAdapter.js +8 -8
  1484. package/modules/eightPodBidAdapter.js +8 -8
  1485. package/modules/genericAnalyticsAdapter.ts +50 -50
  1486. package/modules/geolocationRtdProvider.ts +48 -48
  1487. package/modules/getintentBidAdapter.js +4 -2
  1488. package/modules/gmosspBidAdapter.js +1 -1
  1489. package/modules/gppControl_usstates.ts +40 -40
  1490. package/modules/gptPreAuction.ts +34 -34
  1491. package/modules/iasRtdProvider.js +87 -5
  1492. package/modules/intentIqAnalyticsAdapter.js +8 -8
  1493. package/modules/intentIqIdSystem.js +2 -2
  1494. package/modules/jwplayerRtdProvider.js +6 -2
  1495. package/modules/jwplayerVideoProvider.js +13 -9
  1496. package/modules/kubientBidAdapter.js +0 -1
  1497. package/modules/medianetAnalyticsAdapter.js +5 -5
  1498. package/modules/medianetBidAdapter.js +5 -1
  1499. package/modules/michaoBidAdapter.ts +7 -7
  1500. package/modules/multibid/index.ts +31 -31
  1501. package/modules/nexverseBidAdapter.js +1 -1
  1502. package/modules/nodalsAiRtdProvider.js +4 -2
  1503. package/modules/onetagBidAdapter.js +12 -12
  1504. package/modules/openxBidAdapter.js +6 -1
  1505. package/modules/prebidServerBidAdapter/index.ts +130 -130
  1506. package/modules/priceFloors.ts +131 -131
  1507. package/modules/pubmaticBidAdapter.js +21 -1
  1508. package/modules/pubmaticRtdProvider.js +143 -143
  1509. package/modules/pulsepointBidAdapter.js +3 -38
  1510. package/modules/readpeakBidAdapter.js +17 -17
  1511. package/modules/rtdModule/index.ts +8 -8
  1512. package/modules/rtdModule/spec.ts +30 -30
  1513. package/modules/rubiconBidAdapter.js +5 -1
  1514. package/modules/rumbleBidAdapter.js +128 -0
  1515. package/modules/rumbleBidAdapter.md +114 -0
  1516. package/modules/schain.ts +4 -4
  1517. package/modules/sevioBidAdapter.js +262 -0
  1518. package/modules/sevioBidAdapter.md +29 -0
  1519. package/modules/sharedIdSystem.ts +29 -29
  1520. package/modules/storageControl.ts +72 -72
  1521. package/modules/tcfControl.ts +60 -60
  1522. package/modules/themoneytizerBidAdapter.js +2 -4
  1523. package/modules/ttdBidAdapter.js +11 -1
  1524. package/modules/ttdBidAdapter.md +3 -1
  1525. package/modules/userId/index.ts +129 -119
  1526. package/modules/userId/spec.ts +136 -136
  1527. package/modules/validationFpdModule/index.ts +4 -4
  1528. package/modules/videoModule/index.ts +37 -37
  1529. package/modules/weboramaRtdProvider.js +30 -11
  1530. package/modules/welectBidAdapter.js +3 -3
  1531. package/modules/yandexBidAdapter.js +67 -24
  1532. package/package.json +2 -3
  1533. package/src/activities/params.js +6 -0
  1534. package/src/activities/redactor.ts +8 -8
  1535. package/src/adRendering.ts +61 -61
  1536. package/src/adUnits.ts +100 -100
  1537. package/src/adapterManager.ts +605 -605
  1538. package/src/adapters/bidderFactory.ts +99 -99
  1539. package/src/ajax.ts +39 -39
  1540. package/src/auction.ts +217 -217
  1541. package/src/banner.ts +28 -28
  1542. package/src/bidTTL.ts +16 -16
  1543. package/src/bidderSettings.ts +46 -46
  1544. package/src/bidfactory.ts +107 -107
  1545. package/src/config.ts +65 -65
  1546. package/src/consentHandler.ts +25 -25
  1547. package/src/constants.ts +14 -14
  1548. package/src/cpmBucketManager.ts +7 -7
  1549. package/src/events.ts +75 -75
  1550. package/src/fpd/enrichment.ts +8 -8
  1551. package/src/hook.ts +14 -14
  1552. package/src/mediaTypes.ts +16 -16
  1553. package/src/native.ts +62 -62
  1554. package/src/prebid.ts +362 -362
  1555. package/src/prebidGlobal.ts +18 -18
  1556. package/src/refererDetection.ts +54 -54
  1557. package/src/storageManager.ts +76 -73
  1558. package/src/targeting.ts +215 -215
  1559. package/src/types/common.d.ts +29 -29
  1560. package/src/types/local/buildOptions.d.ts +3 -3
  1561. package/src/types/local/shim.d.ts +6 -6
  1562. package/src/types/objects.d.ts +15 -15
  1563. package/src/types/ortb/common.d.ts +1 -1
  1564. package/src/types/ortb/ext/dchain.d.ts +69 -69
  1565. package/src/types/ortb/ext/dsa.d.ts +50 -50
  1566. package/src/types/ortb/request.d.ts +21 -21
  1567. package/src/types/ortb/response.d.ts +6 -6
  1568. package/src/userSync.ts +32 -32
  1569. package/src/utils/objects.ts +11 -11
  1570. package/src/utils/perfMetrics.ts +193 -193
  1571. package/src/utils/promise.ts +14 -14
  1572. package/src/utils/ttlCollection.ts +25 -25
  1573. package/src/video.ts +73 -73
  1574. package/src/videoCache.ts +60 -60
  1575. package/test/helpers/index_adapter_utils.js +1 -2
  1576. package/test/helpers/refererDetectionHelper.js +2 -2
  1577. package/test/mocks/timers.js +12 -9
  1578. package/test/spec/adloader_spec.js +13 -13
  1579. package/test/spec/config_spec.js +9 -3
  1580. package/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
  1581. package/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
  1582. package/test/spec/modules/adgridBidAdapter_spec.js +6 -6
  1583. package/test/spec/modules/adkernelAdnBidAdapter_spec.js +127 -127
  1584. package/test/spec/modules/adkernelBidAdapter_spec.js +308 -308
  1585. package/test/spec/modules/admediaBidAdapter_spec.js +34 -34
  1586. package/test/spec/modules/adnuntiusBidAdapter_spec.js +7 -7
  1587. package/test/spec/modules/adspiritBidAdapter_spec.js +1 -1
  1588. package/test/spec/modules/adtrgtmeBidAdapter_spec.js +3 -3
  1589. package/test/spec/modules/adtrueBidAdapter_spec.js +19 -19
  1590. package/test/spec/modules/advertisingBidAdapter_spec.js +2 -2
  1591. package/test/spec/modules/bidmaticBidAdapter_spec.js +2 -2
  1592. package/test/spec/modules/datablocksBidAdapter_spec.js +115 -115
  1593. package/test/spec/modules/deepintentBidAdapter_spec.js +51 -51
  1594. package/test/spec/modules/dexertoBidAdapter_spec.js +16 -16
  1595. package/test/spec/modules/dochaseBidAdapter_spec.js +17 -17
  1596. package/test/spec/modules/dspxBidAdapter_spec.js +23 -23
  1597. package/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js +17 -17
  1598. package/test/spec/modules/enrichmentLiftMeasurement_spec.js +8 -8
  1599. package/test/spec/modules/equativBidAdapter_spec.js +1 -1
  1600. package/test/spec/modules/finativeBidAdapter_spec.js +11 -11
  1601. package/test/spec/modules/ftrackIdSystem_spec.js +16 -16
  1602. package/test/spec/modules/fwsspBidAdapter_spec.js +5 -5
  1603. package/test/spec/modules/hypelabBidAdapter_spec.js +9 -9
  1604. package/test/spec/modules/iasRtdProvider_spec.js +89 -8
  1605. package/test/spec/modules/intentIqIdSystem_spec.js +3 -3
  1606. package/test/spec/modules/invibesBidAdapter_spec.js +2 -2
  1607. package/test/spec/modules/kargoBidAdapter_spec.js +7 -7
  1608. package/test/spec/modules/lane4BidAdapter_spec.js +17 -17
  1609. package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +37 -37
  1610. package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
  1611. package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
  1612. package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
  1613. package/test/spec/modules/liveIntentRtdProvider_spec.js +2 -2
  1614. package/test/spec/modules/mediaeyesBidAdapter_spec.js +166 -166
  1615. package/test/spec/modules/mediagoBidAdapter_spec.js +1 -1
  1616. package/test/spec/modules/medianetBidAdapter_spec.js +1724 -1707
  1617. package/test/spec/modules/mediasquareBidAdapter_spec.js +7 -7
  1618. package/test/spec/modules/nexx360BidAdapter_spec.js +6 -6
  1619. package/test/spec/modules/nobidBidAdapter_spec.js +16 -16
  1620. package/test/spec/modules/onetagBidAdapter_spec.js +47 -47
  1621. package/test/spec/modules/openxBidAdapter_spec.js +129 -0
  1622. package/test/spec/modules/optoutBidAdapter_spec.js +1 -1
  1623. package/test/spec/modules/orbitsoftBidAdapter_spec.js +85 -85
  1624. package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +1 -1
  1625. package/test/spec/modules/ozoneBidAdapter_spec.js +439 -439
  1626. package/test/spec/modules/prebidServerBidAdapter_spec.js +2 -2
  1627. package/test/spec/modules/prismaBidAdapter_spec.js +6 -6
  1628. package/test/spec/modules/pubmaticBidAdapter_spec.js +73 -3
  1629. package/test/spec/modules/pubmaticRtdProvider_spec.js +1389 -1389
  1630. package/test/spec/modules/pwbidBidAdapter_spec.js +25 -25
  1631. package/test/spec/modules/relevadRtdProvider_spec.js +1 -1
  1632. package/test/spec/modules/relevatehealthBidAdapter_spec.js +16 -16
  1633. package/test/spec/modules/richaudienceBidAdapter_spec.js +10 -10
  1634. package/test/spec/modules/rubiconBidAdapter_spec.js +7 -7
  1635. package/test/spec/modules/rumbleBidAdapter_spec.js +125 -0
  1636. package/test/spec/modules/sevioBidAdapter_spec.js +209 -0
  1637. package/test/spec/modules/smaatoBidAdapter_spec.js +30 -30
  1638. package/test/spec/modules/smarticoBidAdapter_spec.js +10 -10
  1639. package/test/spec/modules/stvBidAdapter_spec.js +32 -32
  1640. package/test/spec/modules/tapnativeBidAdapter_spec.js +17 -17
  1641. package/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -6
  1642. package/test/spec/modules/ttdBidAdapter_spec.js +27 -2
  1643. package/test/spec/modules/uid2IdSystem_spec.js +3 -3
  1644. package/test/spec/modules/userId_spec.js +41 -7
  1645. package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1953 -154
  1646. package/test/spec/modules/yandexBidAdapter_spec.js +128 -0
  1647. package/test/spec/refererDetection_spec.js +11 -11
  1648. package/test/spec/unit/core/storageManager_spec.js +20 -1
  1649. package/test/spec/unit/core/targeting_spec.js +8 -8
  1650. package/test/spec/utils_spec.js +25 -25
@@ -151,7 +151,7 @@ describe('ucfunnel Prebid AnalyticsAdapter Testing', function () {
151
151
  adid: adid,
152
152
  // referrer: window.location.href,
153
153
  sampling: 0,
154
- prebid: "10.2.0"
154
+ prebid: "10.4.0"
155
155
  });
156
156
  }
157
157
  describe('#createCommonMessage', function () {
@@ -1 +1 @@
1
- {"version":3,"file":"uid2IdSystem_spec.js","names":["attachIdSystem","coreStorage","init","setSubmoduleRegistry","config","utils","uid2IdSubmodule","requestBids","getGlobal","configureTimerInterceptors","cookieHelpers","runAuction","apiHelpers","setGdprApplies","hook","uninstall","uninstallTcfControl","server","createEidsArray","expect","require","clearTimersAfterEachTest","debugOutput","moduleCookieName","publisherCookieName","auctionDelayMs","initialToken","legacyToken","refreshedToken","clientSideGeneratedToken","optoutToken","legacyConfigParams","storage","serverCookieConfigParams","uid2ServerCookie","newServerCookieConfigParams","uid2Cookie","cstgConfigParams","serverPublicKey","subscriptionId","makeUid2IdentityContainer","token","uid2","id","makeUid2OptoutContainer","optout","useLocalStorage","makePrebidConfig","params","arguments","length","undefined","extraSettings","debug","userSync","auctionDelay","userIds","name","makeOriginalIdentity","identity","salt","cyrb53Hash","getFromAppropriateStorage","getDataFromLocalStorage","getCookie","UID2_SOURCE","findUid2","bid","userIdAsEids","find","e","source","expectToken","eid","uids","to","equal","expectLegacyToken","expectNoIdentity","be","expectOptout","expectGlobalToHaveToken","getUserIds","deep","include","expectGlobalToHaveNoUid2","not","haveOwnProperty","expectNoLegacyToken","expectModuleStorageEmptyOrMissing","null","expectModuleStorageToContain","originalAdvertisingToken","latestAdvertisingToken","originalIdentity","cookie","JSON","parse","originalToken","advertising_token","latestToken","eql","Object","values","apiUrl","refreshApiUrl","headers","makeSuccessResponseBody","responseToken","btoa","stringify","status","body","makeTokenResponse","makeOptoutResponseBody","cstgApiUrl","testCookieAndLocalStorage","description","test","only","describeFn","describe","before","after","suiteSandbox","testSandbox","timerSpy","fullTestTitle","restoreSubtleToUndefined","ready","sinon","createSandbox","window","crypto","subtle","importKey","digest","decrypt","deriveKey","encrypt","generateKey","exportKey","stub","callsFake","Promise","resolve","settings","key","data","Uint8Array","iv","ArrayBuffer","privateKey","publicKey","restore","configureUid2Response","httpStatus","response","respondWith","xhr","respond","configureUid2ApiSuccessResponse","configureUid2ApiFailResponse","configureUid2CstgResponse","testApiSuccessAndFailure","act","testDescription","failTestDescription","testFn","it","getFullTestTitle","parent","title","beforeEach","ctx","currentTest","afterEach","removeAll","resetConfig","timers","clearAllActiveTimers","waitAllActiveTimers","clearCookies","removeDataFromLocalStorage","uid2Token","setConfig","requests","url","have","string","uid2ApiBase","valueConfig","value","createLegacyTest","bidAssertions","addConsent","setCookie","getFutureCookieExpiry","forEach","assertion","setPublisherCookie","consentConfig","configObj","result","getId","gdpr","consentData","exist","bid2","first","second","scenarios","extraConfig","gen","scenario","apiSucceeds","respondAfterDelay","promise","initialIdentity","refreshedIdentity","moduleCookie","syncDelay","success","email","setInvalidConfig","phone","email_hash","emailHash","phone_hash","phoneHash","invalidConfigs","cstgOptions","testCases","originalEmail","normalizedEmail","testCase","userId","newEids","atype","ext","provider"],"sourceRoot":"../../../../..","sources":["test/spec/modules/uid2IdSystem_spec.js"],"sourcesContent":["import {attachIdSystem, coreStorage, init, setSubmoduleRegistry} from 'modules/userId/index.js';\nimport {config} from 'src/config.js';\nimport * as utils from 'src/utils.js';\nimport { uid2IdSubmodule } from 'modules/uid2IdSystem.js';\nimport {requestBids} from '../../../src/prebid.js';\nimport 'modules/consentManagementTcf.js';\nimport { getGlobal } from 'src/prebidGlobal.js';\nimport { configureTimerInterceptors } from 'test/mocks/timers.js';\nimport { cookieHelpers, runAuction, apiHelpers, setGdprApplies } from './uid2IdSystem_helpers.js';\nimport {hook} from 'src/hook.js';\nimport {uninstall as uninstallTcfControl} from 'modules/tcfControl.js';\nimport {server} from 'test/mocks/xhr';\nimport {createEidsArray} from '../../../modules/userId/eids.js';\n\nconst expect = require('chai').expect;\n\nconst clearTimersAfterEachTest = true;\nconst debugOutput = () => {};\n\nconst moduleCookieName = '__uid2_advertising_token';\nconst publisherCookieName = '__UID2_SERVER_COOKIE';\nconst auctionDelayMs = 10;\nconst initialToken = `initial-advertising-token`;\nconst legacyToken = 'legacy-advertising-token';\nconst refreshedToken = 'refreshed-advertising-token';\nconst clientSideGeneratedToken = 'client-side-generated-advertising-token';\nconst optoutToken = 'optout-token';\n\nconst legacyConfigParams = {storage: null};\nconst serverCookieConfigParams = { uid2ServerCookie: publisherCookieName };\nconst newServerCookieConfigParams = { uid2Cookie: publisherCookieName };\nconst cstgConfigParams = { serverPublicKey: 'UID2-X-L-24B8a/eLYBmRkXA9yPgRZt+ouKbXewG2OPs23+ov3JC8mtYJBCx6AxGwJ4MlwUcguebhdDp2CvzsCgS9ogwwGA==', subscriptionId: 'subscription-id' }\n\nconst makeUid2IdentityContainer = (token) => ({uid2: {id: token}});\nconst makeUid2OptoutContainer = (token) => ({uid2: {optout: true}});\nlet useLocalStorage = false;\nconst makePrebidConfig = (params = null, extraSettings = {}, debug = false) => ({\n userSync: { auctionDelay: auctionDelayMs, userIds: [{name: 'uid2', params: {storage: useLocalStorage ? 'localStorage' : 'cookie', ...params}}] }, debug, ...extraSettings\n});\nconst makeOriginalIdentity = (identity, salt = 1) => ({\n identity: utils.cyrb53Hash(identity, salt),\n salt\n})\n\nconst getFromAppropriateStorage = () => {\n if (useLocalStorage) return coreStorage.getDataFromLocalStorage(moduleCookieName);\n else return coreStorage.getCookie(moduleCookieName);\n}\n\nconst UID2_SOURCE = 'uidapi.com';\nfunction findUid2(bid) {\n return (bid?.userIdAsEids ?? []).find(e => e.source === UID2_SOURCE);\n}\nconst expectToken = (bid, token) => {\n const eid = findUid2(bid);\n expect(eid && eid.uids[0].id).to.equal(token);\n};\nconst expectLegacyToken = (bid) => {\n const eid = findUid2(bid);\n expect(eid && eid.uids[0].id).to.equal(legacyToken);\n};\nconst expectNoIdentity = (bid) => expect(findUid2(bid)).to.be.undefined;\nconst expectOptout = (bid) => expect(findUid2(bid)).to.be.undefined;\nconst expectGlobalToHaveToken = (token) => expect(getGlobal().getUserIds()).to.deep.include(makeUid2IdentityContainer(token));\nconst expectGlobalToHaveNoUid2 = () => expect(getGlobal().getUserIds()).to.not.haveOwnProperty('uid2');\nconst expectNoLegacyToken = (bid) => {\n const eid = findUid2(bid);\n if (eid) expect(eid.uids[0].id).to.not.equal(legacyToken);\n};\nconst expectModuleStorageEmptyOrMissing = () => expect(getFromAppropriateStorage()).to.be.null;\nconst expectModuleStorageToContain = (originalAdvertisingToken, latestAdvertisingToken, originalIdentity) => {\n const cookie = JSON.parse(getFromAppropriateStorage());\n if (originalAdvertisingToken) expect(cookie.originalToken.advertising_token).to.equal(originalAdvertisingToken);\n if (latestAdvertisingToken) expect(cookie.latestToken.advertising_token).to.equal(latestAdvertisingToken);\n if (originalIdentity) expect(cookie.originalIdentity).to.eql(makeOriginalIdentity(Object.values(originalIdentity)[0], cookie.originalIdentity.salt));\n}\n\nconst apiUrl = 'https://prod.uidapi.com/v2/token'\nconst refreshApiUrl = `${apiUrl}/refresh`;\nconst headers = { 'Content-Type': 'application/json' };\nconst makeSuccessResponseBody = (responseToken) => btoa(JSON.stringify({ status: 'success', body: { ...apiHelpers.makeTokenResponse(initialToken), advertising_token: responseToken } }));\nconst makeOptoutResponseBody = (token) => btoa(JSON.stringify({ status: 'optout', body: { ...apiHelpers.makeTokenResponse(initialToken), advertising_token: token } }));\nconst cstgApiUrl = `${apiUrl}/client-generate`;\n\nconst testCookieAndLocalStorage = (description, test, only = false) => {\n const describeFn = only ? describe.only : describe;\n describeFn(`Using cookies: ${description}`, async function() {\n before(function() {\n useLocalStorage = false;\n });\n await test();\n });\n describeFn(`Using local storage: ${description}`, async function() {\n before(function() {\n useLocalStorage = true;\n });\n after(function() {\n useLocalStorage = false;\n });\n await test();\n });\n};\n\ndescribe(`UID2 module`, function () {\n let suiteSandbox; let testSandbox; let timerSpy; let fullTestTitle; let restoreSubtleToUndefined = false;\n before(function () {\n timerSpy = configureTimerInterceptors(debugOutput);\n hook.ready();\n uninstallTcfControl();\n attachIdSystem(uid2IdSubmodule);\n\n suiteSandbox = sinon.createSandbox();\n // I'm unable to find an authoritative source, but apparently subtle isn't available in some test stacks for security reasons.\n // I've confirmed it's available in Firefox since v34 (it seems to be unavailable on BrowserStack in Firefox v106).\n if (typeof window.crypto.subtle === 'undefined') {\n restoreSubtleToUndefined = true;\n window.crypto.subtle = { importKey: () => {}, digest: () => {}, decrypt: () => {}, deriveKey: () => {}, encrypt: () => {}, generateKey: () => {}, exportKey: () => {} };\n }\n suiteSandbox.stub(window.crypto.subtle, 'importKey').callsFake(() => Promise.resolve());\n suiteSandbox.stub(window.crypto.subtle, 'digest').callsFake(() => Promise.resolve('hashed_value'));\n suiteSandbox.stub(window.crypto.subtle, 'decrypt').callsFake((settings, key, data) => Promise.resolve(new Uint8Array([...settings.iv, ...data])));\n suiteSandbox.stub(window.crypto.subtle, 'deriveKey').callsFake(() => Promise.resolve());\n suiteSandbox.stub(window.crypto.subtle, 'exportKey').callsFake(() => Promise.resolve());\n suiteSandbox.stub(window.crypto.subtle, 'encrypt').callsFake(() => Promise.resolve(new ArrayBuffer()));\n suiteSandbox.stub(window.crypto.subtle, 'generateKey').callsFake(() => Promise.resolve({\n privateKey: {},\n publicKey: {}\n }));\n });\n\n after(function () {\n suiteSandbox.restore();\n timerSpy.restore();\n if (restoreSubtleToUndefined) window.crypto.subtle = undefined;\n });\n\n const configureUid2Response = (apiUrl, httpStatus, response) => server.respondWith('POST', apiUrl, (xhr) => xhr.respond(httpStatus, headers, response));\n const configureUid2ApiSuccessResponse = (apiUrl, responseToken) => configureUid2Response(apiUrl, 200, makeSuccessResponseBody(responseToken));\n const configureUid2ApiFailResponse = (apiUrl) => configureUid2Response(apiUrl, 500, 'Error');\n const configureUid2CstgResponse = (httpStatus, response) => server.respondWith('POST', cstgApiUrl, (xhr) => xhr.respond(httpStatus, headers, response));\n // Runs the provided test twice - once with a successful API mock, once with one which returns a server error\n const testApiSuccessAndFailure = (act, apiUrl, testDescription, failTestDescription, only = false, responseToken = refreshedToken) => {\n const testFn = only ? it.only : it;\n testFn(`API responds successfully: ${testDescription}`, async function() {\n configureUid2ApiSuccessResponse(apiUrl, responseToken);\n await act(true);\n });\n testFn(`API responds with an error: ${failTestDescription ?? testDescription}`, async function() {\n configureUid2ApiFailResponse(apiUrl);\n await act(false);\n });\n }\n\n const getFullTestTitle = (test) => `${test.parent.title ? getFullTestTitle(test.parent) + ' | ' : ''}${test.title}`;\n\n beforeEach(function () {\n debugOutput(`----------------- START TEST ------------------`);\n fullTestTitle = getFullTestTitle(this.test.ctx.currentTest);\n debugOutput(fullTestTitle);\n testSandbox = sinon.createSandbox();\n testSandbox.stub(utils, 'logWarn');\n init(config);\n setSubmoduleRegistry([uid2IdSubmodule]);\n });\n\n afterEach(async function() {\n requestBids.removeAll();\n config.resetConfig();\n testSandbox.restore();\n if (timerSpy.timers.length > 0) {\n if (clearTimersAfterEachTest) {\n debugOutput(`Cancelling ${timerSpy.timers.length} still-active timers.`);\n timerSpy.clearAllActiveTimers();\n } else {\n debugOutput(`Waiting on ${timerSpy.timers.length} still-active timers...`, timerSpy.timers);\n await timerSpy.waitAllActiveTimers();\n }\n }\n cookieHelpers.clearCookies(moduleCookieName, publisherCookieName);\n coreStorage.removeDataFromLocalStorage(moduleCookieName);\n debugOutput('----------------- END TEST ------------------');\n });\n\n describe('Configuration', function() {\n it('When no baseUrl is provided in config, the module calls the production endpoint', async function () {\n const uid2Token = apiHelpers.makeTokenResponse(initialToken, true, true);\n config.setConfig(makePrebidConfig({uid2Token}));\n await runAuction();\n expect(server.requests[0]?.url).to.have.string('https://prod.uidapi.com/v2/token/refresh');\n });\n\n it('When a baseUrl is provided in config, the module calls the provided endpoint', async function () {\n const uid2Token = apiHelpers.makeTokenResponse(initialToken, true, true);\n config.setConfig(makePrebidConfig({uid2Token, uid2ApiBase: 'https://operator-integ.uidapi.com'}));\n await runAuction();\n expect(server.requests[0]?.url).to.have.string('https://operator-integ.uidapi.com/v2/token/refresh');\n });\n });\n\n it('When a legacy value is provided directly in configuration, it is passed on', async function() {\n const valueConfig = makePrebidConfig();\n valueConfig.userSync.userIds[0].value = {uid2: {id: legacyToken}}\n config.setConfig(valueConfig);\n const bid = await runAuction();\n\n expectLegacyToken(bid);\n });\n\n // These tests cover 'legacy' cookies - i.e. cookies set with just the uid2 advertising token, which was how some previous integrations worked.\n // Some users might still have this cookie, and the module should use that token if a newer one isn't provided.\n // This should cover older integrations where the server is setting this legacy cookie and expecting the module to pass it on.\n describe('When a legacy cookie exists', function () {\n // Creates a test which sets the legacy cookie, configures the UID2 module with provided params, runs an\n const createLegacyTest = function(params, bidAssertions, addConsent = false) {\n return async function() {\n coreStorage.setCookie(moduleCookieName, legacyToken, cookieHelpers.getFutureCookieExpiry());\n if (addConsent) setGdprApplies();\n config.setConfig(makePrebidConfig(params));\n\n const bid = await runAuction();\n bidAssertions.forEach(function(assertion) { assertion(bid); });\n }\n };\n\n it('and a legacy config is used, it should provide the legacy cookie',\n createLegacyTest(legacyConfigParams, [expectLegacyToken]));\n it('and a server cookie config is used without a valid server cookie, it should provide the legacy cookie',\n createLegacyTest(serverCookieConfigParams, [expectLegacyToken]));\n it('and a server cookie is used with a valid server cookie configured using the new param name, it should provide the server cookie',\n async function() { cookieHelpers.setPublisherCookie(publisherCookieName, apiHelpers.makeTokenResponse(initialToken)); await createLegacyTest(serverCookieConfigParams, [(bid) => expectToken(bid, initialToken), expectNoLegacyToken])(); });\n it('and a server cookie is used with a valid server cookie, it should provide the server cookie',\n async function() { cookieHelpers.setPublisherCookie(publisherCookieName, apiHelpers.makeTokenResponse(initialToken)); await createLegacyTest(newServerCookieConfigParams, [(bid) => expectToken(bid, initialToken), expectNoLegacyToken])(); });\n it('and a token is provided in config, it should provide the config token',\n createLegacyTest({uid2Token: apiHelpers.makeTokenResponse(initialToken)}, [(bid) => expectToken(bid, initialToken), expectNoLegacyToken]));\n it('and GDPR applies, no identity should be provided to the auction',\n createLegacyTest(legacyConfigParams, [expectNoIdentity], true));\n it('and GDPR applies, when getId is called directly it provides no identity', () => {\n coreStorage.setCookie(moduleCookieName, legacyToken, cookieHelpers.getFutureCookieExpiry());\n const consentConfig = setGdprApplies();\n const configObj = makePrebidConfig(legacyConfigParams);\n const result = uid2IdSubmodule.getId(configObj.userSync.userIds[0], {gdpr: consentConfig.consentData});\n expect(result?.id).to.not.exist;\n });\n\n it('multiple runs do not change the value', async function() {\n coreStorage.setCookie(moduleCookieName, legacyToken, cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig(legacyConfigParams));\n\n const bid = await runAuction();\n\n init(config);\n setSubmoduleRegistry([uid2IdSubmodule]);\n config.setConfig(makePrebidConfig(legacyConfigParams));\n const bid2 = await runAuction();\n\n const first = findUid2(bid);\n const second = findUid2(bid2);\n expect(first && second && first.uids[0].id).to.equal(second.uids[0].id);\n });\n });\n\n // This setup runs all of the functional tests with both types of config - the full token response in params, or a server cookie with the cookie name provided\n const scenarios = [\n {\n name: 'Token provided in config call',\n setConfig: (token, extraConfig = {}) => {\n const gen = makePrebidConfig({uid2Token: token}, extraConfig);\n return config.setConfig(gen);\n },\n },\n {\n name: 'Token provided in server-set cookie',\n setConfig: (token, extraConfig) => {\n cookieHelpers.setPublisherCookie(publisherCookieName, token);\n config.setConfig(makePrebidConfig(serverCookieConfigParams, extraConfig));\n },\n },\n ]\n\n scenarios.forEach(function(scenario) {\n testCookieAndLocalStorage(scenario.name, function() {\n describe(`When an expired token which can be refreshed is provided`, function() {\n describe('When the refresh is available in time', function() {\n testApiSuccessAndFailure(async function(apiSucceeds) {\n scenario.setConfig(apiHelpers.makeTokenResponse(initialToken, true, true));\n apiHelpers.respondAfterDelay(auctionDelayMs / 10, server);\n const bid = await runAuction();\n\n if (apiSucceeds) expectToken(bid, refreshedToken);\n else expectNoIdentity(bid);\n }, refreshApiUrl, 'it should be used in the auction', 'the auction should have no uid2');\n\n testApiSuccessAndFailure(async function(apiSucceeds) {\n scenario.setConfig(apiHelpers.makeTokenResponse(initialToken, true, true));\n apiHelpers.respondAfterDelay(auctionDelayMs / 10, server);\n\n await runAuction();\n if (apiSucceeds) {\n expectModuleStorageToContain(initialToken, refreshedToken);\n } else {\n expectModuleStorageEmptyOrMissing();\n }\n }, refreshApiUrl, 'the refreshed token should be stored in the module storage', 'the module storage should not be set');\n });\n describe(`when the response doesn't arrive before the auction timer`, function() {\n testApiSuccessAndFailure(async function() {\n scenario.setConfig(apiHelpers.makeTokenResponse(initialToken, true, true));\n const bid = await runAuction();\n expectNoIdentity(bid);\n }, refreshApiUrl, 'it should run the auction');\n\n testApiSuccessAndFailure(async function(apiSucceeds) {\n scenario.setConfig(apiHelpers.makeTokenResponse(initialToken, true, true));\n const promise = apiHelpers.respondAfterDelay(auctionDelayMs * 2, server);\n\n const bid = await runAuction();\n expectNoIdentity(bid);\n expectGlobalToHaveNoUid2();\n await promise;\n if (apiSucceeds) expectGlobalToHaveToken(refreshedToken);\n else expectGlobalToHaveNoUid2();\n }, refreshApiUrl, 'it should update the userId after the auction', 'there should be no global identity');\n })\n describe('and there is a refreshed token in the module cookie', function() {\n it('the refreshed value from the cookie is used', async function() {\n const initialIdentity = apiHelpers.makeTokenResponse(initialToken, true, true);\n const refreshedIdentity = apiHelpers.makeTokenResponse(refreshedToken);\n const moduleCookie = {originalToken: initialIdentity, latestToken: refreshedIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n scenario.setConfig(initialIdentity);\n\n const bid = await runAuction();\n expectToken(bid, refreshedToken);\n });\n })\n });\n\n describe(`When a current token is provided`, function() {\n it('it should use the token in the auction', async function() {\n scenario.setConfig(apiHelpers.makeTokenResponse(initialToken));\n const bid = await runAuction();\n expectToken(bid, initialToken);\n });\n\n it('and GDPR applies, the token should not be used', async function() {\n setGdprApplies();\n scenario.setConfig(apiHelpers.makeTokenResponse(initialToken));\n const bid = await runAuction();\n expectNoIdentity(bid);\n })\n });\n\n describe(`When a current token which should be refreshed is provided, and the auction is set to run immediately`, function() {\n beforeEach(function() {\n scenario.setConfig(apiHelpers.makeTokenResponse(initialToken, true), {auctionDelay: 0, syncDelay: 1});\n });\n testApiSuccessAndFailure(async function() {\n apiHelpers.respondAfterDelay(10, server);\n const bid = await runAuction();\n expectToken(bid, initialToken);\n }, refreshApiUrl, 'it should not be refreshed before the auction runs');\n\n testApiSuccessAndFailure(async function(success) {\n const promise = apiHelpers.respondAfterDelay(1, server);\n await runAuction();\n await promise;\n if (success) {\n expectModuleStorageToContain(initialToken, refreshedToken);\n } else {\n expectModuleStorageToContain(initialToken, initialToken);\n }\n }, refreshApiUrl, 'the refreshed token should be stored in the module cookie after the auction runs', 'the module cookie should only have the original token');\n\n it('it should use the current token in the auction', async function() {\n const bid = await runAuction();\n expectToken(bid, initialToken);\n });\n });\n });\n });\n\n if (FEATURES.UID2_CSTG) {\n describe('When CSTG is enabled provided', function () {\n const scenarios = [\n {\n name: 'email provided in config',\n identity: { email: 'test@example.com' },\n setConfig: function (extraConfig) { config.setConfig(makePrebidConfig({ ...cstgConfigParams, ...this.identity }, extraConfig)) },\n setInvalidConfig: (extraConfig) => config.setConfig(makePrebidConfig({ ...cstgConfigParams, email: 'test . test@gmail.com' }, extraConfig))\n },\n {\n name: 'phone provided in config',\n identity: { phone: '+12345678910' },\n setConfig: function (extraConfig) { config.setConfig(makePrebidConfig({ ...cstgConfigParams, ...this.identity }, extraConfig)) },\n setInvalidConfig: (extraConfig) => config.setConfig(makePrebidConfig({ ...cstgConfigParams, phone: 'test123' }, extraConfig))\n },\n {\n name: 'email hash provided in config',\n identity: { email_hash: 'lz3+Rj7IV4X1+Vr1ujkG7tstkxwk5pgkqJ6mXbpOgTs=' },\n setConfig: function (extraConfig) { config.setConfig(makePrebidConfig({ ...cstgConfigParams, emailHash: this.identity.email_hash }, extraConfig)) },\n setInvalidConfig: (extraConfig) => config.setConfig(makePrebidConfig({ ...cstgConfigParams, emailHash: 'test@example.com' }, extraConfig))\n },\n {\n name: 'phone hash provided in config',\n identity: { phone_hash: 'kVJ+4ilhrqm3HZDDnCQy4niZknvCoM4MkoVzZrQSdJw=' },\n setConfig: function (extraConfig) { config.setConfig(makePrebidConfig({ ...cstgConfigParams, phoneHash: this.identity.phone_hash }, extraConfig)) },\n setInvalidConfig: (extraConfig) => config.setConfig(makePrebidConfig({ ...cstgConfigParams, phoneHash: '614332222111' }, extraConfig))\n },\n ]\n scenarios.forEach(function(scenario) {\n describe(`And ${scenario.name}`, function() {\n describe(`When invalid identity is provided`, function() {\n it('the auction should have no uid2', async function () {\n scenario.setInvalidConfig()\n const bid = await runAuction();\n expectNoIdentity(bid);\n expectGlobalToHaveNoUid2();\n expectModuleStorageEmptyOrMissing();\n })\n });\n\n describe('When valid identity is provided, and the auction is set to run immediately', function() {\n it('it should ignores token provided in config, and the auction should have no uid2', async function() {\n scenario.setConfig({ uid2Token: apiHelpers.makeTokenResponse(initialToken), auctionDelay: 0, syncDelay: 1 });\n const bid = await runAuction();\n expectNoIdentity(bid);\n expectGlobalToHaveNoUid2();\n expectModuleStorageEmptyOrMissing();\n })\n\n it('it should ignores token provided in server-set cookie', async function() {\n cookieHelpers.setPublisherCookie(publisherCookieName, initialToken);\n scenario.setConfig({ ...newServerCookieConfigParams, auctionDelay: 0, syncDelay: 1 })\n const bid = await runAuction();\n expectNoIdentity(bid);\n expectGlobalToHaveNoUid2();\n expectModuleStorageEmptyOrMissing();\n })\n\n describe('When the token generated in time', function() {\n testApiSuccessAndFailure(async function(apiSucceeds) {\n scenario.setConfig();\n apiHelpers.respondAfterDelay(auctionDelayMs / 10, server);\n const bid = await runAuction();\n\n if (apiSucceeds) expectToken(bid, clientSideGeneratedToken);\n else expectNoIdentity(bid);\n }, cstgApiUrl, 'it should be used in the auction', 'the auction should have no uid2', false, clientSideGeneratedToken);\n\n testApiSuccessAndFailure(async function(apiSucceeds) {\n scenario.setConfig();\n apiHelpers.respondAfterDelay(auctionDelayMs / 10, server);\n\n await runAuction();\n if (apiSucceeds) {\n expectModuleStorageToContain(undefined, clientSideGeneratedToken, scenario.identity);\n } else {\n expectModuleStorageEmptyOrMissing();\n }\n }, cstgApiUrl, 'the generated token should be stored in the module storage', 'the module storage should not be set', false, clientSideGeneratedToken);\n });\n });\n });\n });\n it('Should receive an optout response when the user has opted out.', async function() {\n const uid2Token = apiHelpers.makeTokenResponse(initialToken, true, true);\n configureUid2CstgResponse(200, makeOptoutResponseBody(optoutToken));\n config.setConfig(makePrebidConfig({ uid2Token, ...cstgConfigParams, email: 'optout@test.com' }));\n apiHelpers.respondAfterDelay(1, server);\n\n const bid = await runAuction();\n expectOptout(bid, optoutToken);\n });\n describe(`when the response doesn't arrive before the auction timer`, function() {\n testApiSuccessAndFailure(async function() {\n config.setConfig(makePrebidConfig({ ...cstgConfigParams, email: 'test@test.com' }));\n const bid = await runAuction();\n expectNoIdentity(bid);\n }, cstgApiUrl, 'it should run the auction', undefined, false, clientSideGeneratedToken);\n\n testApiSuccessAndFailure(async function(apiSucceeds) {\n config.setConfig(makePrebidConfig({ ...cstgConfigParams, email: 'test@test.com' }));\n const promise = apiHelpers.respondAfterDelay(auctionDelayMs * 2, server);\n\n const bid = await runAuction();\n expectNoIdentity(bid);\n expectGlobalToHaveNoUid2();\n await promise;\n if (apiSucceeds) expectGlobalToHaveToken(clientSideGeneratedToken);\n else expectGlobalToHaveNoUid2();\n }, cstgApiUrl, 'it should update the userId after the auction', 'there should be no global identity', false, clientSideGeneratedToken);\n })\n\n describe('when there is a token in the module cookie', function() {\n describe('when originalIdentity matches', function() {\n describe('When the storedToken is valid', function() {\n it('it should use the stored token in the auction', async function() {\n const refreshedIdentity = apiHelpers.makeTokenResponse(refreshedToken);\n const moduleCookie = {originalIdentity: makeOriginalIdentity('test@test.com'), latestToken: refreshedIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig({ ...cstgConfigParams, email: 'test@test.com', auctionDelay: 0, syncDelay: 1 }));\n const bid = await runAuction();\n expectToken(bid, refreshedToken);\n });\n })\n\n describe('When the storedToken is expired and can be refreshed ', function() {\n testApiSuccessAndFailure(async function(apiSucceeds) {\n const refreshedIdentity = apiHelpers.makeTokenResponse(refreshedToken, true, true);\n const moduleCookie = {originalIdentity: makeOriginalIdentity('test@test.com'), latestToken: refreshedIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig({ ...cstgConfigParams, email: 'test@test.com' }));\n apiHelpers.respondAfterDelay(auctionDelayMs / 10, server);\n\n const bid = await runAuction();\n\n if (apiSucceeds) expectToken(bid, refreshedToken);\n else expectNoIdentity(bid);\n }, refreshApiUrl, 'it should use refreshed token in the auction', 'the auction should have no uid2');\n })\n\n describe('When the storedToken is expired for refresh', function() {\n testApiSuccessAndFailure(async function(apiSucceeds) {\n const refreshedIdentity = apiHelpers.makeTokenResponse(refreshedToken, true, true, true);\n const moduleCookie = {originalIdentity: makeOriginalIdentity('test@test.com'), latestToken: refreshedIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig({ ...cstgConfigParams, email: 'test@test.com' }));\n apiHelpers.respondAfterDelay(auctionDelayMs / 10, server);\n\n const bid = await runAuction();\n\n if (apiSucceeds) expectToken(bid, clientSideGeneratedToken);\n else expectNoIdentity(bid);\n }, cstgApiUrl, 'it should use generated token in the auction', 'the auction should have no uid2', false, clientSideGeneratedToken);\n })\n })\n\n it('when originalIdentity not match, the auction should has no uid2', async function() {\n const refreshedIdentity = apiHelpers.makeTokenResponse(refreshedToken);\n const moduleCookie = {originalIdentity: makeOriginalIdentity('123@test.com'), latestToken: refreshedIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig({ ...cstgConfigParams, email: 'test@test.com' }));\n const bid = await runAuction();\n expectNoIdentity(bid);\n });\n })\n });\n describe('When invalid CSTG configuration is provided', function () {\n const invalidConfigs = [\n {\n name: 'CSTG option is not a object',\n cstgOptions: ''\n },\n {\n name: 'CSTG option is null',\n cstgOptions: ''\n },\n {\n name: 'serverPublicKey is not a string',\n cstgOptions: { subscriptionId: cstgConfigParams.subscriptionId, serverPublicKey: {} }\n },\n {\n name: 'serverPublicKey not match regular expression',\n cstgOptions: { subscriptionId: cstgConfigParams.subscriptionId, serverPublicKey: 'serverPublicKey' }\n },\n {\n name: 'subscriptionId is not a string',\n cstgOptions: { subscriptionId: {}, serverPublicKey: cstgConfigParams.serverPublicKey }\n },\n {\n name: 'subscriptionId is empty',\n cstgOptions: { subscriptionId: '', serverPublicKey: cstgConfigParams.serverPublicKey }\n },\n ]\n invalidConfigs.forEach(function(scenario) {\n describe(`When ${scenario.name}`, function() {\n it('should not generate token using identity', async () => {\n config.setConfig(makePrebidConfig({ ...scenario.cstgOptions, email: 'test@email.com' }));\n const bid = await runAuction();\n expectNoIdentity(bid);\n expectGlobalToHaveNoUid2();\n expectModuleStorageEmptyOrMissing();\n });\n });\n });\n });\n describe('When email is provided in different format', function () {\n const testCases = [\n { originalEmail: 'TEst.TEST@Test.com ', normalizedEmail: 'test.test@test.com' },\n { originalEmail: 'test+test@test.com', normalizedEmail: 'test+test@test.com' },\n { originalEmail: ' testtest@test.com ', normalizedEmail: 'testtest@test.com' },\n { originalEmail: 'TEst.TEst+123@GMail.Com', normalizedEmail: 'testtest@gmail.com' }\n ];\n testCases.forEach((testCase) => {\n describe('it should normalize the email and generate token on normalized email', async () => {\n testApiSuccessAndFailure(async function(apiSucceeds) {\n config.setConfig(makePrebidConfig({ ...cstgConfigParams, email: testCase.originalEmail }));\n apiHelpers.respondAfterDelay(auctionDelayMs / 10, server);\n\n await runAuction();\n if (apiSucceeds) {\n expectModuleStorageToContain(undefined, clientSideGeneratedToken, { email: testCase.normalizedEmail });\n } else {\n expectModuleStorageEmptyOrMissing();\n }\n }, cstgApiUrl, 'the generated token should be stored in the module storage', 'the module storage should not be set', false, clientSideGeneratedToken);\n });\n });\n });\n }\n\n describe('When neither token nor CSTG config provided', function () {\n describe('when there is a non-cstg-derived token in the module cookie', function () {\n it('the auction use stored token if it is valid', async function () {\n const originalIdentity = apiHelpers.makeTokenResponse(initialToken);\n const moduleCookie = {originalToken: originalIdentity, latestToken: originalIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig({}));\n const bid = await runAuction();\n expectToken(bid, initialToken);\n })\n\n it('the auction should has no uid2 if stored token is invalid', async function () {\n const originalIdentity = apiHelpers.makeTokenResponse(initialToken, true, true, true);\n const moduleCookie = {originalToken: originalIdentity, latestToken: originalIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig({}));\n const bid = await runAuction();\n expectNoIdentity(bid);\n })\n })\n\n describe('when there is a cstg-derived token in the module cookie', function () {\n it('the auction use stored token if it is valid', async function () {\n const originalIdentity = apiHelpers.makeTokenResponse(initialToken);\n const moduleCookie = {originalIdentity: makeOriginalIdentity('123@test.com'), originalToken: originalIdentity, latestToken: originalIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig({}));\n const bid = await runAuction();\n expectToken(bid, initialToken);\n })\n\n it('the auction should has no uid2 if stored token is invalid', async function () {\n const originalIdentity = apiHelpers.makeTokenResponse(initialToken, true, true, true);\n const moduleCookie = {originalIdentity: makeOriginalIdentity('123@test.com'), originalToken: originalIdentity, latestToken: originalIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig({}));\n const bid = await runAuction();\n expectNoIdentity(bid);\n })\n })\n\n it('the auction should has no uid2', async function () {\n config.setConfig(makePrebidConfig({}));\n const bid = await runAuction();\n expectNoIdentity(bid);\n })\n });\n describe('eid', () => {\n it('uid2', function() {\n const userId = {\n uid2: {'id': 'Sample_AD_Token'}\n };\n const newEids = createEidsArray(userId);\n expect(newEids.length).to.equal(1);\n expect(newEids[0]).to.deep.equal({\n source: 'uidapi.com',\n uids: [{\n id: 'Sample_AD_Token',\n atype: 3\n }]\n });\n });\n\n it('uid2 with ext', function() {\n const userId = {\n uid2: {'id': 'Sample_AD_Token', 'ext': {'provider': 'some.provider.com'}}\n };\n const newEids = createEidsArray(userId);\n expect(newEids.length).to.equal(1);\n expect(newEids[0]).to.deep.equal({\n source: 'uidapi.com',\n uids: [{\n id: 'Sample_AD_Token',\n atype: 3,\n ext: {\n provider: 'some.provider.com'\n }\n }]\n });\n });\n })\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"uid2IdSystem_spec.js","names":["attachIdSystem","coreStorage","init","setSubmoduleRegistry","config","utils","uid2IdSubmodule","requestBids","getGlobal","configureTimerInterceptors","cookieHelpers","runAuction","apiHelpers","setGdprApplies","hook","uninstall","uninstallTcfControl","server","createEidsArray","expect","require","clearTimersAfterEachTest","debugOutput","moduleCookieName","publisherCookieName","auctionDelayMs","initialToken","legacyToken","refreshedToken","clientSideGeneratedToken","optoutToken","legacyConfigParams","storage","serverCookieConfigParams","uid2ServerCookie","newServerCookieConfigParams","uid2Cookie","cstgConfigParams","serverPublicKey","subscriptionId","makeUid2IdentityContainer","token","uid2","id","makeUid2OptoutContainer","optout","useLocalStorage","makePrebidConfig","params","arguments","length","undefined","extraSettings","debug","userSync","auctionDelay","userIds","name","makeOriginalIdentity","identity","salt","cyrb53Hash","getFromAppropriateStorage","getDataFromLocalStorage","getCookie","UID2_SOURCE","findUid2","bid","userIdAsEids","find","e","source","expectToken","eid","uids","to","equal","expectLegacyToken","expectNoIdentity","be","expectOptout","expectGlobalToHaveToken","getUserIds","deep","include","expectGlobalToHaveNoUid2","not","haveOwnProperty","expectNoLegacyToken","expectModuleStorageEmptyOrMissing","null","expectModuleStorageToContain","originalAdvertisingToken","latestAdvertisingToken","originalIdentity","cookie","JSON","parse","originalToken","advertising_token","latestToken","eql","Object","values","apiUrl","refreshApiUrl","headers","makeSuccessResponseBody","responseToken","btoa","stringify","status","body","makeTokenResponse","makeOptoutResponseBody","cstgApiUrl","testCookieAndLocalStorage","description","test","only","describeFn","describe","before","after","suiteSandbox","testSandbox","timerSpy","fullTestTitle","restoreSubtleToUndefined","ready","sinon","createSandbox","window","crypto","subtle","importKey","digest","decrypt","deriveKey","encrypt","generateKey","exportKey","stub","callsFake","Promise","resolve","settings","key","data","Uint8Array","iv","ArrayBuffer","privateKey","publicKey","restore","configureUid2Response","httpStatus","response","respondWith","xhr","respond","configureUid2ApiSuccessResponse","configureUid2ApiFailResponse","configureUid2CstgResponse","testApiSuccessAndFailure","act","testDescription","failTestDescription","testFn","it","getFullTestTitle","parent","title","beforeEach","ctx","currentTest","afterEach","removeAll","resetConfig","timers","clearAllActiveTimers","waitAllActiveTimers","clearCookies","removeDataFromLocalStorage","uid2Token","setConfig","requests","url","have","string","uid2ApiBase","valueConfig","value","createLegacyTest","bidAssertions","addConsent","setCookie","getFutureCookieExpiry","forEach","assertion","setPublisherCookie","consentConfig","configObj","result","getId","gdpr","consentData","exist","bid2","first","second","scenarios","extraConfig","gen","scenario","apiSucceeds","respondAfterDelay","promise","initialIdentity","refreshedIdentity","moduleCookie","syncDelay","success","email","setInvalidConfig","phone","email_hash","emailHash","phone_hash","phoneHash","invalidConfigs","cstgOptions","testCases","originalEmail","normalizedEmail","testCase","userId","newEids","atype","ext","provider"],"sourceRoot":"../../../../..","sources":["test/spec/modules/uid2IdSystem_spec.js"],"sourcesContent":["import {attachIdSystem, coreStorage, init, setSubmoduleRegistry} from 'modules/userId/index.js';\nimport {config} from 'src/config.js';\nimport * as utils from 'src/utils.js';\nimport { uid2IdSubmodule } from 'modules/uid2IdSystem.js';\nimport {requestBids} from '../../../src/prebid.js';\nimport 'modules/consentManagementTcf.js';\nimport { getGlobal } from 'src/prebidGlobal.js';\nimport { configureTimerInterceptors } from 'test/mocks/timers.js';\nimport { cookieHelpers, runAuction, apiHelpers, setGdprApplies } from './uid2IdSystem_helpers.js';\nimport {hook} from 'src/hook.js';\nimport {uninstall as uninstallTcfControl} from 'modules/tcfControl.js';\nimport {server} from 'test/mocks/xhr';\nimport {createEidsArray} from '../../../modules/userId/eids.js';\n\nconst expect = require('chai').expect;\n\nconst clearTimersAfterEachTest = true;\nconst debugOutput = () => {};\n\nconst moduleCookieName = '__uid2_advertising_token';\nconst publisherCookieName = '__UID2_SERVER_COOKIE';\nconst auctionDelayMs = 10;\nconst initialToken = `initial-advertising-token`;\nconst legacyToken = 'legacy-advertising-token';\nconst refreshedToken = 'refreshed-advertising-token';\nconst clientSideGeneratedToken = 'client-side-generated-advertising-token';\nconst optoutToken = 'optout-token';\n\nconst legacyConfigParams = {storage: null};\nconst serverCookieConfigParams = { uid2ServerCookie: publisherCookieName };\nconst newServerCookieConfigParams = { uid2Cookie: publisherCookieName };\nconst cstgConfigParams = { serverPublicKey: 'UID2-X-L-24B8a/eLYBmRkXA9yPgRZt+ouKbXewG2OPs23+ov3JC8mtYJBCx6AxGwJ4MlwUcguebhdDp2CvzsCgS9ogwwGA==', subscriptionId: 'subscription-id' }\n\nconst makeUid2IdentityContainer = (token) => ({uid2: {id: token}});\nconst makeUid2OptoutContainer = (token) => ({uid2: {optout: true}});\nlet useLocalStorage = false;\nconst makePrebidConfig = (params = null, extraSettings = {}, debug = false) => ({\n userSync: { auctionDelay: auctionDelayMs, userIds: [{name: 'uid2', params: {storage: useLocalStorage ? 'localStorage' : 'cookie', ...params}}] }, debug, ...extraSettings\n});\nconst makeOriginalIdentity = (identity, salt = 1) => ({\n identity: utils.cyrb53Hash(identity, salt),\n salt\n})\n\nconst getFromAppropriateStorage = () => {\n if (useLocalStorage) return coreStorage.getDataFromLocalStorage(moduleCookieName);\n else return coreStorage.getCookie(moduleCookieName);\n}\n\nconst UID2_SOURCE = 'uidapi.com';\nfunction findUid2(bid) {\n return (bid?.userIdAsEids ?? []).find(e => e.source === UID2_SOURCE);\n}\nconst expectToken = (bid, token) => {\n const eid = findUid2(bid);\n expect(eid && eid.uids[0].id).to.equal(token);\n};\nconst expectLegacyToken = (bid) => {\n const eid = findUid2(bid);\n expect(eid && eid.uids[0].id).to.equal(legacyToken);\n};\nconst expectNoIdentity = (bid) => expect(findUid2(bid)).to.be.undefined;\nconst expectOptout = (bid) => expect(findUid2(bid)).to.be.undefined;\nconst expectGlobalToHaveToken = (token) => expect(getGlobal().getUserIds()).to.deep.include(makeUid2IdentityContainer(token));\nconst expectGlobalToHaveNoUid2 = () => expect(getGlobal().getUserIds()).to.not.haveOwnProperty('uid2');\nconst expectNoLegacyToken = (bid) => {\n const eid = findUid2(bid);\n if (eid) expect(eid.uids[0].id).to.not.equal(legacyToken);\n};\nconst expectModuleStorageEmptyOrMissing = () => expect(getFromAppropriateStorage()).to.be.null;\nconst expectModuleStorageToContain = (originalAdvertisingToken, latestAdvertisingToken, originalIdentity) => {\n const cookie = JSON.parse(getFromAppropriateStorage());\n if (originalAdvertisingToken) expect(cookie.originalToken.advertising_token).to.equal(originalAdvertisingToken);\n if (latestAdvertisingToken) expect(cookie.latestToken.advertising_token).to.equal(latestAdvertisingToken);\n if (originalIdentity) expect(cookie.originalIdentity).to.eql(makeOriginalIdentity(Object.values(originalIdentity)[0], cookie.originalIdentity.salt));\n}\n\nconst apiUrl = 'https://prod.uidapi.com/v2/token'\nconst refreshApiUrl = `${apiUrl}/refresh`;\nconst headers = { 'Content-Type': 'application/json' };\nconst makeSuccessResponseBody = (responseToken) => btoa(JSON.stringify({ status: 'success', body: { ...apiHelpers.makeTokenResponse(initialToken), advertising_token: responseToken } }));\nconst makeOptoutResponseBody = (token) => btoa(JSON.stringify({ status: 'optout', body: { ...apiHelpers.makeTokenResponse(initialToken), advertising_token: token } }));\nconst cstgApiUrl = `${apiUrl}/client-generate`;\n\nconst testCookieAndLocalStorage = (description, test, only = false) => {\n const describeFn = only ? describe.only : describe;\n describeFn(`Using cookies: ${description}`, async function() {\n before(function() {\n useLocalStorage = false;\n });\n await test();\n });\n describeFn(`Using local storage: ${description}`, async function() {\n before(function() {\n useLocalStorage = true;\n });\n after(function() {\n useLocalStorage = false;\n });\n await test();\n });\n};\n\ndescribe(`UID2 module`, function () {\n let suiteSandbox; let testSandbox; let timerSpy; let fullTestTitle; let restoreSubtleToUndefined = false;\n before(function () {\n timerSpy = configureTimerInterceptors(debugOutput);\n hook.ready();\n uninstallTcfControl();\n attachIdSystem(uid2IdSubmodule);\n\n suiteSandbox = sinon.createSandbox();\n // I'm unable to find an authoritative source, but apparently subtle isn't available in some test stacks for security reasons.\n // I've confirmed it's available in Firefox since v34 (it seems to be unavailable on BrowserStack in Firefox v106).\n if (typeof window.crypto.subtle === 'undefined') {\n restoreSubtleToUndefined = true;\n window.crypto.subtle = { importKey: () => {}, digest: () => {}, decrypt: () => {}, deriveKey: () => {}, encrypt: () => {}, generateKey: () => {}, exportKey: () => {} };\n }\n suiteSandbox.stub(window.crypto.subtle, 'importKey').callsFake(() => Promise.resolve());\n suiteSandbox.stub(window.crypto.subtle, 'digest').callsFake(() => Promise.resolve('hashed_value'));\n suiteSandbox.stub(window.crypto.subtle, 'decrypt').callsFake((settings, key, data) => Promise.resolve(new Uint8Array([...settings.iv, ...data])));\n suiteSandbox.stub(window.crypto.subtle, 'deriveKey').callsFake(() => Promise.resolve());\n suiteSandbox.stub(window.crypto.subtle, 'exportKey').callsFake(() => Promise.resolve());\n suiteSandbox.stub(window.crypto.subtle, 'encrypt').callsFake(() => Promise.resolve(new ArrayBuffer()));\n suiteSandbox.stub(window.crypto.subtle, 'generateKey').callsFake(() => Promise.resolve({\n privateKey: {},\n publicKey: {}\n }));\n });\n\n after(function () {\n suiteSandbox.restore();\n timerSpy.restore();\n if (restoreSubtleToUndefined) window.crypto.subtle = undefined;\n });\n\n const configureUid2Response = (apiUrl, httpStatus, response) => server.respondWith('POST', apiUrl, (xhr) => xhr.respond(httpStatus, headers, response));\n const configureUid2ApiSuccessResponse = (apiUrl, responseToken) => configureUid2Response(apiUrl, 200, makeSuccessResponseBody(responseToken));\n const configureUid2ApiFailResponse = (apiUrl) => configureUid2Response(apiUrl, 500, 'Error');\n const configureUid2CstgResponse = (httpStatus, response) => server.respondWith('POST', cstgApiUrl, (xhr) => xhr.respond(httpStatus, headers, response));\n // Runs the provided test twice - once with a successful API mock, once with one which returns a server error\n const testApiSuccessAndFailure = (act, apiUrl, testDescription, failTestDescription, only = false, responseToken = refreshedToken) => {\n const testFn = only ? it.only : it;\n testFn(`API responds successfully: ${testDescription}`, async function() {\n configureUid2ApiSuccessResponse(apiUrl, responseToken);\n await act(true);\n });\n testFn(`API responds with an error: ${failTestDescription ?? testDescription}`, async function() {\n configureUid2ApiFailResponse(apiUrl);\n await act(false);\n });\n }\n\n const getFullTestTitle = (test) => `${test.parent.title ? getFullTestTitle(test.parent) + ' | ' : ''}${test.title}`;\n\n beforeEach(function () {\n debugOutput(`----------------- START TEST ------------------`);\n fullTestTitle = getFullTestTitle(this.test.ctx.currentTest);\n debugOutput(fullTestTitle);\n testSandbox = sinon.createSandbox();\n testSandbox.stub(utils, 'logWarn');\n init(config);\n setSubmoduleRegistry([uid2IdSubmodule]);\n });\n\n afterEach(async function() {\n requestBids.removeAll();\n config.resetConfig();\n testSandbox.restore();\n if (timerSpy.timers.length > 0) {\n if (clearTimersAfterEachTest) {\n debugOutput(`Cancelling ${timerSpy.timers.length} still-active timers.`);\n timerSpy.clearAllActiveTimers();\n } else {\n debugOutput(`Waiting on ${timerSpy.timers.length} still-active timers...`, timerSpy.timers);\n await timerSpy.waitAllActiveTimers();\n }\n }\n cookieHelpers.clearCookies(moduleCookieName, publisherCookieName);\n coreStorage.removeDataFromLocalStorage(moduleCookieName);\n debugOutput('----------------- END TEST ------------------');\n });\n\n describe('Configuration', function() {\n it('When no baseUrl is provided in config, the module calls the production endpoint', async function () {\n const uid2Token = apiHelpers.makeTokenResponse(initialToken, true, true);\n config.setConfig(makePrebidConfig({uid2Token}));\n await runAuction();\n expect(server.requests[0]?.url).to.have.string('https://prod.uidapi.com/v2/token/refresh');\n });\n\n it('When a baseUrl is provided in config, the module calls the provided endpoint', async function () {\n const uid2Token = apiHelpers.makeTokenResponse(initialToken, true, true);\n config.setConfig(makePrebidConfig({uid2Token, uid2ApiBase: 'https://operator-integ.uidapi.com'}));\n await runAuction();\n expect(server.requests[0]?.url).to.have.string('https://operator-integ.uidapi.com/v2/token/refresh');\n });\n });\n\n it('When a legacy value is provided directly in configuration, it is passed on', async function() {\n const valueConfig = makePrebidConfig();\n valueConfig.userSync.userIds[0].value = {uid2: {id: legacyToken}}\n config.setConfig(valueConfig);\n const bid = await runAuction();\n\n expectLegacyToken(bid);\n });\n\n // These tests cover 'legacy' cookies - i.e. cookies set with just the uid2 advertising token, which was how some previous integrations worked.\n // Some users might still have this cookie, and the module should use that token if a newer one isn't provided.\n // This should cover older integrations where the server is setting this legacy cookie and expecting the module to pass it on.\n describe('When a legacy cookie exists', function () {\n // Creates a test which sets the legacy cookie, configures the UID2 module with provided params, runs an\n const createLegacyTest = function(params, bidAssertions, addConsent = false) {\n return async function() {\n coreStorage.setCookie(moduleCookieName, legacyToken, cookieHelpers.getFutureCookieExpiry());\n if (addConsent) setGdprApplies();\n config.setConfig(makePrebidConfig(params));\n\n const bid = await runAuction();\n bidAssertions.forEach(function(assertion) { assertion(bid); });\n }\n };\n\n it('and a legacy config is used, it should provide the legacy cookie',\n createLegacyTest(legacyConfigParams, [expectLegacyToken]));\n it('and a server cookie config is used without a valid server cookie, it should provide the legacy cookie',\n createLegacyTest(serverCookieConfigParams, [expectLegacyToken]));\n it('and a server cookie is used with a valid server cookie configured using the new param name, it should provide the server cookie',\n async function() { cookieHelpers.setPublisherCookie(publisherCookieName, apiHelpers.makeTokenResponse(initialToken)); await createLegacyTest(serverCookieConfigParams, [(bid) => expectToken(bid, initialToken), expectNoLegacyToken])(); });\n it('and a server cookie is used with a valid server cookie, it should provide the server cookie',\n async function() { cookieHelpers.setPublisherCookie(publisherCookieName, apiHelpers.makeTokenResponse(initialToken)); await createLegacyTest(newServerCookieConfigParams, [(bid) => expectToken(bid, initialToken), expectNoLegacyToken])(); });\n it('and a token is provided in config, it should provide the config token',\n createLegacyTest({uid2Token: apiHelpers.makeTokenResponse(initialToken)}, [(bid) => expectToken(bid, initialToken), expectNoLegacyToken]));\n it('and GDPR applies, no identity should be provided to the auction',\n createLegacyTest(legacyConfigParams, [expectNoIdentity], true));\n it('and GDPR applies, when getId is called directly it provides no identity', () => {\n coreStorage.setCookie(moduleCookieName, legacyToken, cookieHelpers.getFutureCookieExpiry());\n const consentConfig = setGdprApplies();\n const configObj = makePrebidConfig(legacyConfigParams);\n const result = uid2IdSubmodule.getId(configObj.userSync.userIds[0], {gdpr: consentConfig.consentData});\n expect(result?.id).to.not.exist;\n });\n\n it('multiple runs do not change the value', async function() {\n coreStorage.setCookie(moduleCookieName, legacyToken, cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig(legacyConfigParams));\n\n const bid = await runAuction();\n\n init(config);\n setSubmoduleRegistry([uid2IdSubmodule]);\n config.setConfig(makePrebidConfig(legacyConfigParams));\n const bid2 = await runAuction();\n\n const first = findUid2(bid);\n const second = findUid2(bid2);\n expect(first && second && first.uids[0].id).to.equal(second.uids[0].id);\n });\n });\n\n // This setup runs all of the functional tests with both types of config - the full token response in params, or a server cookie with the cookie name provided\n const scenarios = [\n {\n name: 'Token provided in config call',\n setConfig: (token, extraConfig = {}) => {\n const gen = makePrebidConfig({uid2Token: token}, extraConfig);\n return config.setConfig(gen);\n },\n },\n {\n name: 'Token provided in server-set cookie',\n setConfig: (token, extraConfig) => {\n cookieHelpers.setPublisherCookie(publisherCookieName, token);\n config.setConfig(makePrebidConfig(serverCookieConfigParams, extraConfig));\n },\n },\n ]\n\n scenarios.forEach(function(scenario) {\n testCookieAndLocalStorage(scenario.name, function() {\n describe(`When an expired token which can be refreshed is provided`, function() {\n describe('When the refresh is available in time', function() {\n testApiSuccessAndFailure(async function(apiSucceeds) {\n scenario.setConfig(apiHelpers.makeTokenResponse(initialToken, true, true));\n apiHelpers.respondAfterDelay(auctionDelayMs / 10, server);\n const bid = await runAuction();\n\n if (apiSucceeds) expectToken(bid, refreshedToken);\n else expectNoIdentity(bid);\n }, refreshApiUrl, 'it should be used in the auction', 'the auction should have no uid2');\n\n testApiSuccessAndFailure(async function(apiSucceeds) {\n scenario.setConfig(apiHelpers.makeTokenResponse(initialToken, true, true));\n apiHelpers.respondAfterDelay(auctionDelayMs / 10, server);\n\n await runAuction();\n if (apiSucceeds) {\n expectModuleStorageToContain(initialToken, refreshedToken);\n } else {\n expectModuleStorageEmptyOrMissing();\n }\n }, refreshApiUrl, 'the refreshed token should be stored in the module storage', 'the module storage should not be set');\n });\n describe(`when the response doesn't arrive before the auction timer`, function() {\n testApiSuccessAndFailure(async function() {\n scenario.setConfig(apiHelpers.makeTokenResponse(initialToken, true, true));\n const bid = await runAuction();\n expectNoIdentity(bid);\n }, refreshApiUrl, 'it should run the auction');\n\n testApiSuccessAndFailure(async function(apiSucceeds) {\n scenario.setConfig(apiHelpers.makeTokenResponse(initialToken, true, true));\n const promise = apiHelpers.respondAfterDelay(auctionDelayMs * 2, server);\n\n const bid = await runAuction();\n expectNoIdentity(bid);\n expectGlobalToHaveNoUid2();\n await promise;\n if (apiSucceeds) expectGlobalToHaveToken(refreshedToken);\n else expectGlobalToHaveNoUid2();\n }, refreshApiUrl, 'it should update the userId after the auction', 'there should be no global identity');\n })\n describe('and there is a refreshed token in the module cookie', function() {\n it('the refreshed value from the cookie is used', async function() {\n const initialIdentity = apiHelpers.makeTokenResponse(initialToken, true, true);\n const refreshedIdentity = apiHelpers.makeTokenResponse(refreshedToken);\n const moduleCookie = {originalToken: initialIdentity, latestToken: refreshedIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n scenario.setConfig(initialIdentity);\n\n const bid = await runAuction();\n expectToken(bid, refreshedToken);\n });\n })\n });\n\n describe(`When a current token is provided`, function() {\n it('it should use the token in the auction', async function() {\n scenario.setConfig(apiHelpers.makeTokenResponse(initialToken));\n const bid = await runAuction();\n expectToken(bid, initialToken);\n });\n\n it('and GDPR applies, the token should not be used', async function() {\n setGdprApplies();\n scenario.setConfig(apiHelpers.makeTokenResponse(initialToken));\n const bid = await runAuction();\n expectNoIdentity(bid);\n })\n });\n\n describe(`When a current token which should be refreshed is provided, and the auction is set to run immediately`, function() {\n beforeEach(function() {\n scenario.setConfig(apiHelpers.makeTokenResponse(initialToken, true), {auctionDelay: 0, syncDelay: 1});\n });\n testApiSuccessAndFailure(async function() {\n apiHelpers.respondAfterDelay(10, server);\n const bid = await runAuction();\n expectToken(bid, initialToken);\n }, refreshApiUrl, 'it should not be refreshed before the auction runs');\n\n testApiSuccessAndFailure(async function(success) {\n const promise = apiHelpers.respondAfterDelay(1, server);\n await runAuction();\n await promise;\n if (success) {\n expectModuleStorageToContain(initialToken, refreshedToken);\n } else {\n expectModuleStorageToContain(initialToken, initialToken);\n }\n }, refreshApiUrl, 'the refreshed token should be stored in the module cookie after the auction runs', 'the module cookie should only have the original token');\n\n it('it should use the current token in the auction', async function() {\n const bid = await runAuction();\n expectToken(bid, initialToken);\n });\n });\n });\n });\n\n if (FEATURES.UID2_CSTG) {\n describe('When CSTG is enabled provided', function () {\n const scenarios = [\n {\n name: 'email provided in config',\n identity: { email: 'test@example.com' },\n setConfig: function (extraConfig) { config.setConfig(makePrebidConfig({ ...cstgConfigParams, ...this.identity }, extraConfig)) },\n setInvalidConfig: (extraConfig) => config.setConfig(makePrebidConfig({ ...cstgConfigParams, email: 'test . test@gmail.com' }, extraConfig))\n },\n {\n name: 'phone provided in config',\n identity: { phone: '+12345678910' },\n setConfig: function (extraConfig) { config.setConfig(makePrebidConfig({ ...cstgConfigParams, ...this.identity }, extraConfig)) },\n setInvalidConfig: (extraConfig) => config.setConfig(makePrebidConfig({ ...cstgConfigParams, phone: 'test123' }, extraConfig))\n },\n {\n name: 'email hash provided in config',\n identity: { email_hash: 'lz3+Rj7IV4X1+Vr1ujkG7tstkxwk5pgkqJ6mXbpOgTs=' },\n setConfig: function (extraConfig) { config.setConfig(makePrebidConfig({ ...cstgConfigParams, emailHash: this.identity.email_hash }, extraConfig)) },\n setInvalidConfig: (extraConfig) => config.setConfig(makePrebidConfig({ ...cstgConfigParams, emailHash: 'test@example.com' }, extraConfig))\n },\n {\n name: 'phone hash provided in config',\n identity: { phone_hash: 'kVJ+4ilhrqm3HZDDnCQy4niZknvCoM4MkoVzZrQSdJw=' },\n setConfig: function (extraConfig) { config.setConfig(makePrebidConfig({ ...cstgConfigParams, phoneHash: this.identity.phone_hash }, extraConfig)) },\n setInvalidConfig: (extraConfig) => config.setConfig(makePrebidConfig({ ...cstgConfigParams, phoneHash: '614332222111' }, extraConfig))\n },\n ]\n scenarios.forEach(function(scenario) {\n describe(`And ${scenario.name}`, function() {\n describe(`When invalid identity is provided`, function() {\n it('the auction should have no uid2', async function () {\n scenario.setInvalidConfig()\n const bid = await runAuction();\n expectNoIdentity(bid);\n expectGlobalToHaveNoUid2();\n expectModuleStorageEmptyOrMissing();\n })\n });\n\n describe('When valid identity is provided, and the auction is set to run immediately', function() {\n it('it should ignores token provided in config, and the auction should have no uid2', async function() {\n scenario.setConfig({ uid2Token: apiHelpers.makeTokenResponse(initialToken), auctionDelay: 0, syncDelay: 1 });\n const bid = await runAuction();\n expectNoIdentity(bid);\n expectGlobalToHaveNoUid2();\n expectModuleStorageEmptyOrMissing();\n })\n\n it('it should ignores token provided in server-set cookie', async function() {\n cookieHelpers.setPublisherCookie(publisherCookieName, initialToken);\n scenario.setConfig({ ...newServerCookieConfigParams, auctionDelay: 0, syncDelay: 1 })\n const bid = await runAuction();\n expectNoIdentity(bid);\n expectGlobalToHaveNoUid2();\n expectModuleStorageEmptyOrMissing();\n })\n\n describe('When the token generated in time', function() {\n testApiSuccessAndFailure(async function(apiSucceeds) {\n scenario.setConfig();\n apiHelpers.respondAfterDelay(auctionDelayMs / 10, server);\n const bid = await runAuction();\n\n if (apiSucceeds) expectToken(bid, clientSideGeneratedToken);\n else expectNoIdentity(bid);\n }, cstgApiUrl, 'it should be used in the auction', 'the auction should have no uid2', false, clientSideGeneratedToken);\n\n testApiSuccessAndFailure(async function(apiSucceeds) {\n scenario.setConfig();\n apiHelpers.respondAfterDelay(auctionDelayMs / 10, server);\n\n await runAuction();\n if (apiSucceeds) {\n expectModuleStorageToContain(undefined, clientSideGeneratedToken, scenario.identity);\n } else {\n expectModuleStorageEmptyOrMissing();\n }\n }, cstgApiUrl, 'the generated token should be stored in the module storage', 'the module storage should not be set', false, clientSideGeneratedToken);\n });\n });\n });\n });\n it('Should receive an optout response when the user has opted out.', async function() {\n const uid2Token = apiHelpers.makeTokenResponse(initialToken, true, true);\n configureUid2CstgResponse(200, makeOptoutResponseBody(optoutToken));\n config.setConfig(makePrebidConfig({ uid2Token, ...cstgConfigParams, email: 'optout@test.com' }));\n apiHelpers.respondAfterDelay(1, server);\n\n const bid = await runAuction();\n expectOptout(bid, optoutToken);\n });\n describe(`when the response doesn't arrive before the auction timer`, function() {\n testApiSuccessAndFailure(async function() {\n config.setConfig(makePrebidConfig({ ...cstgConfigParams, email: 'test@test.com' }));\n const bid = await runAuction();\n expectNoIdentity(bid);\n }, cstgApiUrl, 'it should run the auction', undefined, false, clientSideGeneratedToken);\n\n testApiSuccessAndFailure(async function(apiSucceeds) {\n config.setConfig(makePrebidConfig({ ...cstgConfigParams, email: 'test@test.com' }));\n const promise = apiHelpers.respondAfterDelay(auctionDelayMs * 2, server);\n\n const bid = await runAuction();\n expectNoIdentity(bid);\n expectGlobalToHaveNoUid2();\n await promise;\n if (apiSucceeds) expectGlobalToHaveToken(clientSideGeneratedToken);\n else expectGlobalToHaveNoUid2();\n }, cstgApiUrl, 'it should update the userId after the auction', 'there should be no global identity', false, clientSideGeneratedToken);\n })\n\n describe('when there is a token in the module cookie', function() {\n describe('when originalIdentity matches', function() {\n describe('When the storedToken is valid', function() {\n it('it should use the stored token in the auction', async function() {\n const refreshedIdentity = apiHelpers.makeTokenResponse(refreshedToken);\n const moduleCookie = {originalIdentity: makeOriginalIdentity('test@test.com'), latestToken: refreshedIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig({ ...cstgConfigParams, email: 'test@test.com', auctionDelay: 0, syncDelay: 1 }));\n const bid = await runAuction();\n expectToken(bid, refreshedToken);\n });\n })\n\n describe('When the storedToken is expired and can be refreshed ', function() {\n testApiSuccessAndFailure(async function(apiSucceeds) {\n const refreshedIdentity = apiHelpers.makeTokenResponse(refreshedToken, true, true);\n const moduleCookie = {originalIdentity: makeOriginalIdentity('test@test.com'), latestToken: refreshedIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig({ ...cstgConfigParams, email: 'test@test.com' }));\n apiHelpers.respondAfterDelay(auctionDelayMs / 10, server);\n\n const bid = await runAuction();\n\n if (apiSucceeds) expectToken(bid, refreshedToken);\n else expectNoIdentity(bid);\n }, refreshApiUrl, 'it should use refreshed token in the auction', 'the auction should have no uid2');\n })\n\n describe('When the storedToken is expired for refresh', function() {\n testApiSuccessAndFailure(async function(apiSucceeds) {\n const refreshedIdentity = apiHelpers.makeTokenResponse(refreshedToken, true, true, true);\n const moduleCookie = {originalIdentity: makeOriginalIdentity('test@test.com'), latestToken: refreshedIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig({ ...cstgConfigParams, email: 'test@test.com' }));\n apiHelpers.respondAfterDelay(auctionDelayMs / 10, server);\n\n const bid = await runAuction();\n\n if (apiSucceeds) expectToken(bid, clientSideGeneratedToken);\n else expectNoIdentity(bid);\n }, cstgApiUrl, 'it should use generated token in the auction', 'the auction should have no uid2', false, clientSideGeneratedToken);\n })\n })\n\n it('when originalIdentity not match, the auction should has no uid2', async function() {\n const refreshedIdentity = apiHelpers.makeTokenResponse(refreshedToken);\n const moduleCookie = {originalIdentity: makeOriginalIdentity('123@test.com'), latestToken: refreshedIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig({ ...cstgConfigParams, email: 'test@test.com' }));\n const bid = await runAuction();\n expectNoIdentity(bid);\n });\n })\n });\n describe('When invalid CSTG configuration is provided', function () {\n const invalidConfigs = [\n {\n name: 'CSTG option is not a object',\n cstgOptions: ''\n },\n {\n name: 'CSTG option is null',\n cstgOptions: ''\n },\n {\n name: 'serverPublicKey is not a string',\n cstgOptions: { subscriptionId: cstgConfigParams.subscriptionId, serverPublicKey: {} }\n },\n {\n name: 'serverPublicKey not match regular expression',\n cstgOptions: { subscriptionId: cstgConfigParams.subscriptionId, serverPublicKey: 'serverPublicKey' }\n },\n {\n name: 'subscriptionId is not a string',\n cstgOptions: { subscriptionId: {}, serverPublicKey: cstgConfigParams.serverPublicKey }\n },\n {\n name: 'subscriptionId is empty',\n cstgOptions: { subscriptionId: '', serverPublicKey: cstgConfigParams.serverPublicKey }\n },\n ]\n invalidConfigs.forEach(function(scenario) {\n describe(`When ${scenario.name}`, function() {\n it('should not generate token using identity', async () => {\n config.setConfig(makePrebidConfig({ ...scenario.cstgOptions, email: 'test@email.com' }));\n const bid = await runAuction();\n expectNoIdentity(bid);\n expectGlobalToHaveNoUid2();\n expectModuleStorageEmptyOrMissing();\n });\n });\n });\n });\n describe('When email is provided in different format', function () {\n const testCases = [\n { originalEmail: 'TEst.TEST@Test.com ', normalizedEmail: 'test.test@test.com' },\n { originalEmail: 'test+test@test.com', normalizedEmail: 'test+test@test.com' },\n { originalEmail: ' testtest@test.com ', normalizedEmail: 'testtest@test.com' },\n { originalEmail: 'TEst.TEst+123@GMail.Com', normalizedEmail: 'testtest@gmail.com' }\n ];\n testCases.forEach((testCase) => {\n describe('it should normalize the email and generate token on normalized email', async () => {\n testApiSuccessAndFailure(async function(apiSucceeds) {\n config.setConfig(makePrebidConfig({ ...cstgConfigParams, email: testCase.originalEmail }));\n apiHelpers.respondAfterDelay(auctionDelayMs / 10, server);\n\n await runAuction();\n if (apiSucceeds) {\n expectModuleStorageToContain(undefined, clientSideGeneratedToken, { email: testCase.normalizedEmail });\n } else {\n expectModuleStorageEmptyOrMissing();\n }\n }, cstgApiUrl, 'the generated token should be stored in the module storage', 'the module storage should not be set', false, clientSideGeneratedToken);\n });\n });\n });\n }\n\n describe('When neither token nor CSTG config provided', function () {\n describe('when there is a non-cstg-derived token in the module cookie', function () {\n it('the auction use stored token if it is valid', async function () {\n const originalIdentity = apiHelpers.makeTokenResponse(initialToken);\n const moduleCookie = {originalToken: originalIdentity, latestToken: originalIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig({}));\n const bid = await runAuction();\n expectToken(bid, initialToken);\n })\n\n it('the auction should has no uid2 if stored token is invalid', async function () {\n const originalIdentity = apiHelpers.makeTokenResponse(initialToken, true, true, true);\n const moduleCookie = {originalToken: originalIdentity, latestToken: originalIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig({}));\n const bid = await runAuction();\n expectNoIdentity(bid);\n })\n })\n\n describe('when there is a cstg-derived token in the module cookie', function () {\n it('the auction use stored token if it is valid', async function () {\n const originalIdentity = apiHelpers.makeTokenResponse(initialToken);\n const moduleCookie = {originalIdentity: makeOriginalIdentity('123@test.com'), originalToken: originalIdentity, latestToken: originalIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig({}));\n const bid = await runAuction();\n expectToken(bid, initialToken);\n })\n\n it('the auction should has no uid2 if stored token is invalid', async function () {\n const originalIdentity = apiHelpers.makeTokenResponse(initialToken, true, true, true);\n const moduleCookie = {originalIdentity: makeOriginalIdentity('123@test.com'), originalToken: originalIdentity, latestToken: originalIdentity};\n coreStorage.setCookie(moduleCookieName, JSON.stringify(moduleCookie), cookieHelpers.getFutureCookieExpiry());\n config.setConfig(makePrebidConfig({}));\n const bid = await runAuction();\n expectNoIdentity(bid);\n })\n })\n\n it('the auction should has no uid2', async function () {\n config.setConfig(makePrebidConfig({}));\n const bid = await runAuction();\n expectNoIdentity(bid);\n })\n });\n describe('eid', () => {\n it('uid2', function() {\n const userId = {\n uid2: {'id': 'Sample_AD_Token'}\n };\n const newEids = createEidsArray(userId);\n expect(newEids.length).to.equal(1);\n expect(newEids[0]).to.deep.equal({\n source: 'uidapi.com',\n uids: [{\n id: 'Sample_AD_Token',\n atype: 3\n }]\n });\n });\n\n it('uid2 with ext', function() {\n const userId = {\n uid2: {'id': 'Sample_AD_Token', 'ext': {'provider': 'some.provider.com'}}\n };\n const newEids = createEidsArray(userId);\n expect(newEids.length).to.equal(1);\n expect(newEids[0]).to.deep.equal({\n source: 'uidapi.com',\n uids: [{\n id: 'Sample_AD_Token',\n atype: 3,\n ext: {\n provider: 'some.provider.com'\n }\n }]\n });\n });\n })\n});\n"],"mappings":"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","ignoreList":[]}
@@ -420,7 +420,7 @@ describe('UnrulyAdapter', function () {
420
420
  'bidderRequestId': '12e00d17dff07b'
421
421
  }],
422
422
  'invalidBidsCount': 0,
423
- 'prebidVersion': "10.2.0"
423
+ 'prebidVersion': "10.4.0"
424
424
  }
425
425
  };
426
426
  expect(adapter.buildRequests(mockBidRequests.bids, mockBidRequests)[0].data).to.deep.equal(expectedResult);
@@ -463,7 +463,7 @@ describe('UnrulyAdapter', function () {
463
463
  'bidderRequestId': '12e00d17dff07b'
464
464
  }],
465
465
  'invalidBidsCount': 0,
466
- 'prebidVersion': "10.2.0"
466
+ 'prebidVersion': "10.4.0"
467
467
  }
468
468
  };
469
469
  const result = adapter.buildRequests(mockBidRequests.bids, mockBidRequests);
@@ -534,7 +534,7 @@ describe('UnrulyAdapter', function () {
534
534
  'bidderRequestId': '12e00d17dff07b'
535
535
  }],
536
536
  'invalidBidsCount': 0,
537
- 'prebidVersion': "10.2.0"
537
+ 'prebidVersion': "10.4.0"
538
538
  }
539
539
  };
540
540
  const result = adapter.buildRequests(mockBidRequests.bids, mockBidRequests);
@@ -23,7 +23,7 @@ import { ACTIVITY_PARAM_COMPONENT_NAME, ACTIVITY_PARAM_COMPONENT_TYPE } from '..
23
23
  import { extractEids } from '../../../modules/prebidServerBidAdapter/bidderConfig.js';
24
24
  import { generateSubmoduleContainers, addIdData } from '../../../modules/userId/index.js';
25
25
  import { registerActivityControl } from '../../../src/activities/rules.js';
26
- import { discloseStorageUse, STORAGE_TYPE_COOKIES, STORAGE_TYPE_LOCALSTORAGE, getStorageManager } from '../../../src/storageManager.js';
26
+ import { discloseStorageUse, STORAGE_TYPE_COOKIES, STORAGE_TYPE_LOCALSTORAGE, getStorageManager, getCoreStorageManager } from '../../../src/storageManager.js';
27
27
  const assert = require('chai').assert;
28
28
  const expect = require('chai').expect;
29
29
  const EXPIRED_COOKIE_DATE = 'Thu, 01 Jan 1970 00:00:01 GMT';
@@ -2740,6 +2740,29 @@ describe('User ID', function () {
2740
2740
  it('pbjs.registerSignalSources should be defined', () => {
2741
2741
  expect(typeof getGlobal().registerSignalSources).to.equal('function');
2742
2742
  });
2743
+ it('does not add duplicate secureSignalProviders', function () {
2744
+ const clock = sinon.useFakeTimers();
2745
+ mockGpt.reset();
2746
+ window.googletag.secureSignalProviders = [];
2747
+ init(config);
2748
+ config.setConfig({
2749
+ userSync: {
2750
+ encryptedSignalSources: {
2751
+ registerDelay: 0,
2752
+ sources: [{
2753
+ source: ['pubcid.org'],
2754
+ encrypt: false
2755
+ }]
2756
+ }
2757
+ }
2758
+ });
2759
+ getGlobal().registerSignalSources();
2760
+ clock.tick(0);
2761
+ getGlobal().registerSignalSources();
2762
+ clock.tick(0);
2763
+ expect(window.googletag.secureSignalProviders.length).to.equal(1);
2764
+ clock.restore();
2765
+ });
2743
2766
  });
2744
2767
  describe('Call getEncryptedEidsForSource to get encrypted Eids for source', function () {
2745
2768
  const signalSources = ['pubcid.org'];
@@ -3636,6 +3659,7 @@ describe('User ID', function () {
3636
3659
  describe('user id modules - enforceStorageType', () => {
3637
3660
  let warnLogSpy;
3638
3661
  const UID_MODULE_NAME = 'userIdModule';
3662
+ const cookieName = 'testCookie';
3639
3663
  const userSync = {
3640
3664
  userIds: [{
3641
3665
  name: UID_MODULE_NAME,
@@ -3659,7 +3683,18 @@ describe('User ID', function () {
3659
3683
  });
3660
3684
  afterEach(() => {
3661
3685
  warnLogSpy.restore();
3662
- document.cookie = '';
3686
+ getCoreStorageManager('test').setCookie(cookieName, '', EXPIRED_COOKIE_DATE);
3687
+ });
3688
+ it('should not warn when reading', () => {
3689
+ config.setConfig({
3690
+ userSync
3691
+ });
3692
+ const storage = getStorageManager({
3693
+ moduleType: MODULE_TYPE_UID,
3694
+ moduleName: UID_MODULE_NAME
3695
+ });
3696
+ storage.cookiesAreEnabled();
3697
+ sinon.assert.notCalled(warnLogSpy);
3663
3698
  });
3664
3699
  it('should warn and allow userId module to store data for enforceStorageType unset', () => {
3665
3700
  config.setConfig({
@@ -3669,9 +3704,9 @@ describe('User ID', function () {
3669
3704
  moduleType: MODULE_TYPE_UID,
3670
3705
  moduleName: UID_MODULE_NAME
3671
3706
  });
3672
- storage.setCookie('cookieName', 'value', 20000);
3707
+ storage.setCookie(cookieName, 'value', 20000);
3673
3708
  sinon.assert.calledWith(warnLogSpy, `${UID_MODULE_NAME} attempts to store data in ${STORAGE_TYPE_COOKIES} while configuration allows ${STORAGE_TYPE_LOCALSTORAGE}.`);
3674
- expect(storage.getCookie('cookieName')).to.eql('value');
3709
+ expect(storage.getCookie(cookieName)).to.eql('value');
3675
3710
  });
3676
3711
  it('should not allow userId module to store data for enforceStorageType set to true', () => {
3677
3712
  config.setConfig({
@@ -3684,8 +3719,8 @@ describe('User ID', function () {
3684
3719
  moduleType: MODULE_TYPE_UID,
3685
3720
  moduleName: UID_MODULE_NAME
3686
3721
  });
3687
- storage.setCookie('data', 'value', 20000);
3688
- expect(storage.getCookie('data')).to.not.exist;
3722
+ storage.setCookie(cookieName, 'value', 20000);
3723
+ expect(storage.getCookie(cookieName)).to.not.exist;
3689
3724
  });
3690
3725
  });
3691
3726
  });