prebid.js 7.43.0 → 7.45.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 (503) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/acuityAdsBidAdapter.js +1 -1
  4. package/dist/adagioBidAdapter.js +1 -1
  5. package/dist/adbookpspBidAdapter.js +1 -1
  6. package/dist/adgenerationBidAdapter.js +1 -1
  7. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  8. package/dist/admixerIdSystem.js +1 -1
  9. package/dist/adnuntiusBidAdapter.js +1 -1
  10. package/dist/adqueryBidAdapter.js +1 -1
  11. package/dist/adqueryIdSystem.js +1 -1
  12. package/dist/adrelevantisBidAdapter.js +1 -1
  13. package/dist/adrinoBidAdapter.js +1 -1
  14. package/dist/adriverIdSystem.js +1 -1
  15. package/dist/adsinteractiveBidAdapter.js +1 -0
  16. package/dist/adtrgtmeBidAdapter.js +1 -1
  17. package/dist/adxcgBidAdapter.js +1 -1
  18. package/dist/adyoulikeBidAdapter.js +1 -1
  19. package/dist/aidemBidAdapter.js +1 -1
  20. package/dist/airgridRtdProvider.js +1 -1
  21. package/dist/ajaBidAdapter.js +1 -1
  22. package/dist/akamaiDapRtdProvider.js +1 -1
  23. package/dist/amxBidAdapter.js +1 -1
  24. package/dist/amxIdSystem.js +1 -1
  25. package/dist/appierAnalyticsAdapter.js +1 -1
  26. package/dist/appnexusBidAdapter.js +1 -1
  27. package/dist/appushBidAdapter.js +1 -1
  28. package/dist/apstreamBidAdapter.js +1 -1
  29. package/dist/asoBidAdapter.js +1 -1
  30. package/dist/atsAnalyticsAdapter.js +1 -1
  31. package/dist/audiencerunBidAdapter.js +1 -1
  32. package/dist/axonixBidAdapter.js +1 -1
  33. package/dist/bedigitechBidAdapter.js +1 -0
  34. package/dist/beyondmediaBidAdapter.js +1 -1
  35. package/dist/bidglassBidAdapter.js +1 -1
  36. package/dist/big-richmediaBidAdapter.js +1 -1
  37. package/dist/bluebillywigBidAdapter.js +1 -1
  38. package/dist/blueconicRtdProvider.js +1 -1
  39. package/dist/braveBidAdapter.js +1 -1
  40. package/dist/bridgewellBidAdapter.js +1 -1
  41. package/dist/brightMountainMediaBidAdapter.js +1 -1
  42. package/dist/brightcomBidAdapter.js +1 -1
  43. package/dist/brightcomSSPBidAdapter.js +1 -1
  44. package/dist/browsiRtdProvider.js +1 -1
  45. package/dist/byDataAnalyticsAdapter.js +1 -1
  46. package/dist/carodaBidAdapter.js +1 -1
  47. package/dist/chtnwBidAdapter.js +1 -1
  48. package/dist/coinzillaBidAdapter.js +1 -1
  49. package/dist/compassBidAdapter.js +1 -1
  50. package/dist/concertBidAdapter.js +1 -1
  51. package/dist/connectIdSystem.js +1 -1
  52. package/dist/connectadBidAdapter.js +1 -1
  53. package/dist/consumableBidAdapter.js +1 -1
  54. package/dist/contentexchangeBidAdapter.js +1 -1
  55. package/dist/conversantAnalyticsAdapter.js +1 -1
  56. package/dist/conversantBidAdapter.js +1 -1
  57. package/dist/craftBidAdapter.js +1 -1
  58. package/dist/criteoBidAdapter.js +1 -1
  59. package/dist/criteoIdSystem.js +1 -1
  60. package/dist/cwireBidAdapter.js +1 -1
  61. package/dist/czechAdIdSystem.js +1 -1
  62. package/dist/dacIdSystem.js +1 -1
  63. package/dist/deepintentDpesIdSystem.js +1 -1
  64. package/dist/dependencies.json +15 -0
  65. package/dist/discoveryBidAdapter.js +1 -1
  66. package/dist/domainOverrideToRootDomain.js +1 -0
  67. package/dist/dspxBidAdapter.js +1 -1
  68. package/dist/eplanningBidAdapter.js +1 -1
  69. package/dist/feedadBidAdapter.js +1 -1
  70. package/dist/finativeBidAdapter.js +1 -1
  71. package/dist/fintezaAnalyticsAdapter.js +1 -1
  72. package/dist/fledgeForGpt.js +1 -1
  73. package/dist/freewheel-sspBidAdapter.js +1 -1
  74. package/dist/ftrackIdSystem.js +1 -1
  75. package/dist/gdprEnforcement.js +1 -1
  76. package/dist/glimpseBidAdapter.js +1 -1
  77. package/dist/globalsunBidAdapter.js +1 -1
  78. package/dist/gmosspBidAdapter.js +1 -1
  79. package/dist/gnetBidAdapter.js +1 -1
  80. package/dist/goldbachBidAdapter.js +1 -1
  81. package/dist/gravitoIdSystem.js +1 -1
  82. package/dist/greenbidsAnalyticsAdapter.js +1 -0
  83. package/dist/gridBidAdapter.js +1 -1
  84. package/dist/gridNMBidAdapter.js +1 -1
  85. package/dist/growthCodeAnalyticsAdapter.js +1 -1
  86. package/dist/growthCodeIdSystem.js +1 -1
  87. package/dist/gumgumBidAdapter.js +1 -1
  88. package/dist/h12mediaBidAdapter.js +1 -1
  89. package/dist/hadronAnalyticsAdapter.js +1 -1
  90. package/dist/hadronIdSystem.js +1 -1
  91. package/dist/hadronRtdProvider.js +1 -1
  92. package/dist/id5IdSystem.js +1 -1
  93. package/dist/idWardRtdProvider.js +1 -1
  94. package/dist/identityLinkIdSystem.js +1 -1
  95. package/dist/idxIdSystem.js +1 -1
  96. package/dist/imRtdProvider.js +1 -1
  97. package/dist/impactifyBidAdapter.js +1 -1
  98. package/dist/improvedigitalBidAdapter.js +1 -1
  99. package/dist/imuIdSystem.js +1 -1
  100. package/dist/inmarBidAdapter.js +1 -1
  101. package/dist/insticatorBidAdapter.js +1 -1
  102. package/dist/intentIqIdSystem.js +1 -1
  103. package/dist/invibesBidAdapter.js +1 -1
  104. package/dist/iqzoneBidAdapter.js +1 -1
  105. package/dist/ivsBidAdapter.js +1 -0
  106. package/dist/ixBidAdapter.js +1 -1
  107. package/dist/jixieBidAdapter.js +1 -1
  108. package/dist/justpremiumBidAdapter.js +1 -1
  109. package/dist/jwplayerVideoProvider.js +1 -1
  110. package/dist/kargoBidAdapter.js +1 -1
  111. package/dist/koblerBidAdapter.js +1 -1
  112. package/dist/konduitAnalyticsAdapter.js +1 -1
  113. package/dist/kueezBidAdapter.js +1 -1
  114. package/dist/kueezRtbBidAdapter.js +1 -1
  115. package/dist/kulturemediaBidAdapter.js +1 -1
  116. package/dist/lassoBidAdapter.js +1 -1
  117. package/dist/lifestreetBidAdapter.js +1 -1
  118. package/dist/liveIntentIdSystem.js +1 -1
  119. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  120. package/dist/logicadBidAdapter.js +1 -1
  121. package/dist/loglyliftBidAdapter.js +1 -1
  122. package/dist/lotamePanoramaIdSystem.js +1 -1
  123. package/dist/luponmediaBidAdapter.js +1 -1
  124. package/dist/magniteAnalyticsAdapter.js +1 -1
  125. package/dist/malltvAnalyticsAdapter.js +1 -1
  126. package/dist/marsmediaBidAdapter.js +1 -1
  127. package/dist/mathildeadsBidAdapter.js +1 -1
  128. package/dist/mediafuseBidAdapter.js +1 -1
  129. package/dist/mediagoBidAdapter.js +1 -1
  130. package/dist/mediakeysBidAdapter.js +1 -1
  131. package/dist/medianetBidAdapter.js +1 -1
  132. package/dist/mediasquareBidAdapter.js +1 -1
  133. package/dist/merkleIdSystem.js +1 -1
  134. package/dist/mgidBidAdapter.js +1 -1
  135. package/dist/mgidRtdProvider.js +1 -1
  136. package/dist/minutemediaBidAdapter.js +1 -1
  137. package/dist/minutemediaplusBidAdapter.js +1 -1
  138. package/dist/mwOpenLinkIdSystem.js +1 -1
  139. package/dist/naveggIdSystem.js +1 -1
  140. package/dist/nexx360BidAdapter.js +1 -1
  141. package/dist/nobidBidAdapter.js +1 -1
  142. package/dist/not-for-prod/prebid.js +232 -227
  143. package/dist/novatiqIdSystem.js +1 -1
  144. package/dist/oguryBidAdapter.js +1 -1
  145. package/dist/onetagBidAdapter.js +1 -1
  146. package/dist/onomagicBidAdapter.js +1 -1
  147. package/dist/ooloAnalyticsAdapter.js +1 -1
  148. package/dist/openxBidAdapter.js +1 -1
  149. package/dist/openxOrtbBidAdapter.js +1 -1
  150. package/dist/operaadsBidAdapter.js +1 -1
  151. package/dist/optidigitalBidAdapter.js +1 -1
  152. package/dist/ortbConverter.js +1 -1
  153. package/dist/outbrainBidAdapter.js +1 -1
  154. package/dist/parrableIdSystem.js +1 -1
  155. package/dist/permutiveRtdProvider.js +1 -1
  156. package/dist/pixfutureBidAdapter.js +1 -1
  157. package/dist/prebid-core.js +1 -1
  158. package/dist/prebidServerBidAdapter.js +1 -1
  159. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  160. package/dist/pubCommonId.js +1 -1
  161. package/dist/publinkIdSystem.js +1 -1
  162. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  163. package/dist/pubmaticBidAdapter.js +1 -1
  164. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  165. package/dist/pubxBidAdapter.js +1 -1
  166. package/dist/pxyzBidAdapter.js +1 -1
  167. package/dist/quantcastBidAdapter.js +1 -1
  168. package/dist/quantcastIdSystem.js +1 -1
  169. package/dist/readpeakBidAdapter.js +1 -1
  170. package/dist/realvuAnalyticsAdapter.js +1 -1
  171. package/dist/relaidoBidAdapter.js +1 -1
  172. package/dist/rhythmoneBidAdapter.js +1 -1
  173. package/dist/riseBidAdapter.js +1 -1
  174. package/dist/roxotAnalyticsAdapter.js +1 -1
  175. package/dist/rtbhouseBidAdapter.js +1 -1
  176. package/dist/rtdModule.js +1 -1
  177. package/dist/rubiconAnalyticsAdapter.js +1 -1
  178. package/dist/rubiconBidAdapter.js +1 -1
  179. package/dist/seedingAllianceBidAdapter.js +1 -1
  180. package/dist/seedtagBidAdapter.js +1 -1
  181. package/dist/sharedIdSystem.js +1 -1
  182. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  183. package/dist/sharethroughBidAdapter.js +1 -1
  184. package/dist/shinezBidAdapter.js +1 -1
  185. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  186. package/dist/smaatoBidAdapter.js +1 -1
  187. package/dist/smartadserverBidAdapter.js +1 -1
  188. package/dist/smarthubBidAdapter.js +1 -1
  189. package/dist/smartxBidAdapter.js +1 -1
  190. package/dist/smilewantedBidAdapter.js +1 -1
  191. package/dist/sonobiBidAdapter.js +1 -1
  192. package/dist/sovrnAnalyticsAdapter.js +1 -1
  193. package/dist/sovrnBidAdapter.js +1 -1
  194. package/dist/sspBCBidAdapter.js +1 -1
  195. package/dist/staqAnalyticsAdapter.js +1 -1
  196. package/dist/stroeerCoreBidAdapter.js +1 -1
  197. package/dist/stvBidAdapter.js +1 -1
  198. package/dist/sublimeBidAdapter.js +1 -1
  199. package/dist/synacormediaBidAdapter.js +1 -1
  200. package/dist/taboolaBidAdapter.js +1 -1
  201. package/dist/targetVideoBidAdapter.js +1 -1
  202. package/dist/teadsBidAdapter.js +1 -1
  203. package/dist/teadsIdSystem.js +1 -1
  204. package/dist/trionBidAdapter.js +1 -1
  205. package/dist/tripleliftBidAdapter.js +1 -1
  206. package/dist/truereachBidAdapter.js +1 -1
  207. package/dist/trustpidSystem.js +1 -1
  208. package/dist/ttdBidAdapter.js +1 -1
  209. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  210. package/dist/uid2IdSystem.js +1 -1
  211. package/dist/underdogmediaBidAdapter.js +1 -1
  212. package/dist/undertoneBidAdapter.js +1 -1
  213. package/dist/userId.js +1 -1
  214. package/dist/validationFpdModule.js +1 -1
  215. package/dist/vidazooBidAdapter.js +1 -1
  216. package/dist/videobyteBidAdapter.js +1 -1
  217. package/dist/videoheroesBidAdapter.js +1 -1
  218. package/dist/vidoomyBidAdapter.js +1 -1
  219. package/dist/visiblemeasuresBidAdapter.js +1 -1
  220. package/dist/visxBidAdapter.js +1 -1
  221. package/dist/vrtcalBidAdapter.js +1 -1
  222. package/dist/vuukleBidAdapter.js +1 -1
  223. package/dist/weboramaRtdProvider.js +1 -1
  224. package/dist/widespaceBidAdapter.js +1 -1
  225. package/dist/winrBidAdapter.js +1 -1
  226. package/dist/yahoosspBidAdapter.js +1 -1
  227. package/dist/yieldmoBidAdapter.js +1 -1
  228. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  229. package/dist/yieldoneBidAdapter.js +1 -1
  230. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  231. package/dist/zeotapIdPlusIdSystem.js +1 -1
  232. package/dist/zeta_global_sspBidAdapter.js +1 -1
  233. package/libraries/domainOverrideToRootDomain/index.js +39 -0
  234. package/libraries/ortbConverter/converter.js +3 -2
  235. package/modules/33acrossIdSystem.js +5 -2
  236. package/modules/acuityAdsBidAdapter.js +1 -1
  237. package/modules/adagioBidAdapter.js +3 -4
  238. package/modules/adkernelAdnAnalyticsAdapter.js +4 -2
  239. package/modules/admixerIdSystem.js +4 -2
  240. package/modules/adnuntiusBidAdapter.js +1 -1
  241. package/modules/adqueryBidAdapter.js +1 -1
  242. package/modules/adqueryIdSystem.js +2 -1
  243. package/modules/adrinoBidAdapter.js +24 -16
  244. package/modules/adriverIdSystem.js +3 -2
  245. package/modules/adsinteractiveBidAdapter.js +144 -0
  246. package/modules/adsinteractiveBidAdapter.md +31 -0
  247. package/modules/adyoulikeBidAdapter.js +2 -3
  248. package/modules/aidemBidAdapter.js +5 -0
  249. package/modules/airgridRtdProvider.js +4 -2
  250. package/modules/ajaBidAdapter.js +38 -16
  251. package/modules/akamaiDapRtdProvider.js +2 -1
  252. package/modules/amxBidAdapter.js +12 -10
  253. package/modules/amxIdSystem.js +23 -20
  254. package/modules/amxIdSystem.md +7 -7
  255. package/modules/appnexusBidAdapter.js +8 -8
  256. package/modules/appushBidAdapter.js +1 -1
  257. package/modules/apstreamBidAdapter.js +1 -1
  258. package/modules/atsAnalyticsAdapter.js +4 -2
  259. package/modules/audiencerunBidAdapter.js +9 -10
  260. package/modules/bedigitechBidAdapter.js +67 -0
  261. package/modules/bedigitechBidAdapter.md +32 -0
  262. package/modules/beyondmediaBidAdapter.js +1 -1
  263. package/modules/bluebillywigBidAdapter.js +2 -4
  264. package/modules/blueconicRtdProvider.js +2 -1
  265. package/modules/braveBidAdapter.js +1 -1
  266. package/modules/brightcomBidAdapter.js +1 -2
  267. package/modules/brightcomSSPBidAdapter.js +1 -2
  268. package/modules/browsiRtdProvider.js +4 -2
  269. package/modules/byDataAnalyticsAdapter.js +6 -3
  270. package/modules/coinzillaBidAdapter.js +1 -2
  271. package/modules/compassBidAdapter.js +1 -1
  272. package/modules/concertBidAdapter.js +14 -7
  273. package/modules/connectIdSystem.js +96 -21
  274. package/modules/connectIdSystem.md +6 -5
  275. package/modules/connectadBidAdapter.js +2 -4
  276. package/modules/contentexchangeBidAdapter.js +1 -1
  277. package/modules/craftBidAdapter.js +29 -24
  278. package/modules/criteoBidAdapter.js +4 -2
  279. package/modules/criteoIdSystem.js +6 -2
  280. package/modules/czechAdIdSystem.js +3 -2
  281. package/modules/dacIdSystem.js +4 -3
  282. package/modules/deepintentDpesIdSystem.js +3 -2
  283. package/modules/discoveryBidAdapter.js +1 -1
  284. package/modules/dspxBidAdapter.js +223 -15
  285. package/modules/fintezaAnalyticsAdapter.js +5 -3
  286. package/modules/fledgeForGpt.js +54 -6
  287. package/modules/freewheel-sspBidAdapter.js +8 -0
  288. package/modules/ftrackIdSystem.js +6 -6
  289. package/modules/gdprEnforcement.js +56 -68
  290. package/modules/glimpseBidAdapter.js +2 -6
  291. package/modules/globalsunBidAdapter.js +1 -1
  292. package/modules/gnetBidAdapter.js +1 -2
  293. package/modules/gravitoIdSystem.js +5 -3
  294. package/modules/greenbidsAnalyticsAdapter.js +181 -0
  295. package/modules/greenbidsAnalyticsAdapter.md +23 -0
  296. package/modules/gridBidAdapter.js +14 -8
  297. package/modules/gridNMBidAdapter.js +1 -1
  298. package/modules/growthCodeAnalyticsAdapter.js +3 -2
  299. package/modules/growthCodeIdSystem.js +21 -17
  300. package/modules/gumgumBidAdapter.js +8 -18
  301. package/modules/hadronAnalyticsAdapter.js +5 -3
  302. package/modules/hadronIdSystem.js +3 -1
  303. package/modules/hadronRtdProvider.js +4 -2
  304. package/modules/id5IdSystem.js +4 -2
  305. package/modules/idWardRtdProvider.js +2 -1
  306. package/modules/identityLinkIdSystem.js +5 -2
  307. package/modules/idxIdSystem.js +3 -2
  308. package/modules/imRtdProvider.js +3 -1
  309. package/modules/impactifyBidAdapter.js +2 -4
  310. package/modules/imuIdSystem.js +6 -3
  311. package/modules/insticatorBidAdapter.js +1 -1
  312. package/modules/intentIqIdSystem.js +3 -2
  313. package/modules/invibesBidAdapter.js +1 -1
  314. package/modules/iqzoneBidAdapter.js +1 -1
  315. package/modules/ivsBidAdapter.js +85 -0
  316. package/modules/ivsBidAdapter.md +34 -0
  317. package/modules/ixBidAdapter.js +43 -106
  318. package/modules/jixieBidAdapter.js +3 -6
  319. package/modules/jwplayerVideoProvider.js +25 -32
  320. package/modules/kargoBidAdapter.js +1 -1
  321. package/modules/koblerBidAdapter.js +1 -2
  322. package/modules/kueezBidAdapter.js +1 -1
  323. package/modules/kueezRtbBidAdapter.js +1 -1
  324. package/modules/liveIntentIdSystem.js +11 -2
  325. package/modules/lotamePanoramaIdSystem.js +3 -2
  326. package/modules/luponmediaBidAdapter.js +1 -1
  327. package/modules/magniteAnalyticsAdapter.js +101 -9
  328. package/modules/mathildeadsBidAdapter.js +1 -1
  329. package/modules/mediafuseBidAdapter.js +1 -1
  330. package/modules/mediagoBidAdapter.js +1 -1
  331. package/modules/mediakeysBidAdapter.js +2 -3
  332. package/modules/medianetBidAdapter.js +1 -1
  333. package/modules/merkleIdSystem.js +2 -1
  334. package/modules/mgidBidAdapter.js +179 -27
  335. package/modules/mgidRtdProvider.js +3 -1
  336. package/modules/minutemediaBidAdapter.js +1 -1
  337. package/modules/minutemediaplusBidAdapter.js +1 -1
  338. package/modules/mwOpenLinkIdSystem.js +3 -2
  339. package/modules/naveggIdSystem.js +3 -2
  340. package/modules/nexx360BidAdapter.js +0 -1
  341. package/modules/nobidBidAdapter.js +1 -1
  342. package/modules/novatiqIdSystem.js +6 -3
  343. package/modules/oguryBidAdapter.js +3 -2
  344. package/modules/onetagBidAdapter.js +1 -1
  345. package/modules/onomagicBidAdapter.js +1 -2
  346. package/modules/openxBidAdapter.js +192 -563
  347. package/modules/openxBidAdapter.md +22 -20
  348. package/modules/openxOrtbBidAdapter.js +24 -10
  349. package/modules/openxOrtbBidAdapter.md +11 -8
  350. package/modules/operaadsBidAdapter.js +1 -1
  351. package/modules/parrableIdSystem.js +4 -2
  352. package/modules/permutiveRtdProvider.js +2 -1
  353. package/modules/prebidServerBidAdapter/index.js +9 -3
  354. package/modules/prebidServerBidAdapter/ortbConverter.js +12 -2
  355. package/modules/prebidmanagerAnalyticsAdapter.js +3 -2
  356. package/modules/pubCommonId.js +6 -3
  357. package/modules/publinkIdSystem.js +2 -1
  358. package/modules/pubmaticAnalyticsAdapter.js +12 -1
  359. package/modules/pubmaticBidAdapter.js +193 -223
  360. package/modules/pubwiseAnalyticsAdapter.js +5 -3
  361. package/modules/pubxBidAdapter.js +5 -2
  362. package/modules/quantcastBidAdapter.js +1 -1
  363. package/modules/quantcastIdSystem.js +5 -3
  364. package/modules/realvuAnalyticsAdapter.js +6 -3
  365. package/modules/riseBidAdapter.js +1 -1
  366. package/modules/roxotAnalyticsAdapter.js +5 -2
  367. package/modules/rtbhouseBidAdapter.js +5 -3
  368. package/modules/rtdModule/index.js +3 -0
  369. package/modules/rubiconAnalyticsAdapter.js +3 -2
  370. package/modules/rubiconBidAdapter.js +1 -0
  371. package/modules/sharedIdSystem.js +16 -36
  372. package/modules/sharethroughBidAdapter.js +2 -3
  373. package/modules/shinezBidAdapter.js +1 -1
  374. package/modules/sigmoidAnalyticsAdapter.js +4 -2
  375. package/modules/smartadserverBidAdapter.js +2 -3
  376. package/modules/smarthubBidAdapter.js +1 -1
  377. package/modules/sovrnBidAdapter.js +2 -3
  378. package/modules/staqAnalyticsAdapter.js +5 -3
  379. package/modules/stroeerCoreBidAdapter.js +3 -2
  380. package/modules/synacormediaBidAdapter.js +1 -3
  381. package/modules/taboolaBidAdapter.js +4 -2
  382. package/modules/teadsBidAdapter.js +1 -1
  383. package/modules/teadsIdSystem.js +2 -1
  384. package/modules/tripleliftBidAdapter.js +1 -1
  385. package/modules/truereachBidAdapter.js +1 -2
  386. package/modules/trustpidSystem.js +3 -2
  387. package/modules/ttdBidAdapter.js +11 -5
  388. package/modules/uid2IdSystem.js +3 -2
  389. package/modules/undertoneBidAdapter.js +1 -0
  390. package/modules/userId/eids.js +18 -0
  391. package/modules/userId/eids.md +16 -0
  392. package/modules/userId/index.js +5 -2
  393. package/modules/validationFpdModule/index.js +3 -2
  394. package/modules/vidazooBidAdapter.js +14 -5
  395. package/modules/videoheroesBidAdapter.js +1 -1
  396. package/modules/vidoomyBidAdapter.js +51 -2
  397. package/modules/visiblemeasuresBidAdapter.js +1 -1
  398. package/modules/vrtcalBidAdapter.js +1 -1
  399. package/modules/weboramaRtdProvider.js +3 -1
  400. package/modules/yieldmoBidAdapter.js +2 -3
  401. package/modules/yieldoneBidAdapter.js +1 -1
  402. package/modules/yuktamediaAnalyticsAdapter.js +4 -2
  403. package/modules/zeotapIdPlusIdSystem.js +3 -2
  404. package/modules/zeta_global_sspBidAdapter.js +3 -0
  405. package/package.json +1 -1
  406. package/plugins/eslint/validateImports.js +13 -14
  407. package/plugins/pbjsGlobals.js +3 -1
  408. package/src/Renderer.js +2 -1
  409. package/src/activities/modules.js +5 -0
  410. package/src/adapterManager.js +4 -8
  411. package/src/adapters/bidderFactory.js +30 -16
  412. package/src/consentHandler.js +42 -0
  413. package/src/native.js +5 -1
  414. package/src/refererDetection.js +39 -21
  415. package/src/secureCreatives.js +2 -2
  416. package/src/storageManager.js +33 -47
  417. package/src/userSync.js +7 -4
  418. package/test/spec/auctionmanager_spec.js +2 -2
  419. package/test/spec/libraries/domainOverrideToRootDomain/index_spec.js +77 -0
  420. package/test/spec/modules/33acrossIdSystem_spec.js +1 -1
  421. package/test/spec/modules/acuityAdsBidAdapter_spec.js +2 -1
  422. package/test/spec/modules/adagioBidAdapter_spec.js +11 -17
  423. package/test/spec/modules/admixerIdSystem_spec.js +0 -3
  424. package/test/spec/modules/adnuntiusBidAdapter_spec.js +6 -6
  425. package/test/spec/modules/adrinoBidAdapter_spec.js +65 -34
  426. package/test/spec/modules/adsinteractiveBidAdapter_spec.js +207 -0
  427. package/test/spec/modules/adyoulikeBidAdapter_spec.js +13 -11
  428. package/test/spec/modules/aidemBidAdapter_spec.js +72 -8
  429. package/test/spec/modules/amxBidAdapter_spec.js +4 -1
  430. package/test/spec/modules/amxIdSystem_spec.js +13 -26
  431. package/test/spec/modules/appushBidAdapter_spec.js +2 -1
  432. package/test/spec/modules/atsAnalyticsAdapter_spec.js +2 -2
  433. package/test/spec/modules/audiencerunBidAdapter_spec.js +8 -11
  434. package/test/spec/modules/bedigitechBidAdapter_spec.js +145 -0
  435. package/test/spec/modules/beyondmediaBidAdapter_spec.js +2 -1
  436. package/test/spec/modules/bluebillywigBidAdapter_spec.js +1 -3
  437. package/test/spec/modules/compassBidAdapter_spec.js +2 -1
  438. package/test/spec/modules/concertBidAdapter_spec.js +3 -8
  439. package/test/spec/modules/connectIdSystem_spec.js +420 -242
  440. package/test/spec/modules/connectadBidAdapter_spec.js +11 -3
  441. package/test/spec/modules/contentexchangeBidAdapter_spec.js +2 -1
  442. package/test/spec/modules/criteoBidAdapter_spec.js +29 -0
  443. package/test/spec/modules/criteoIdSystem_spec.js +38 -0
  444. package/test/spec/modules/datablocksBidAdapter_spec.js +0 -1
  445. package/test/spec/modules/dspxBidAdapter_spec.js +184 -13
  446. package/test/spec/modules/eids_spec.js +30 -0
  447. package/test/spec/modules/fledge_spec.js +173 -2
  448. package/test/spec/modules/freewheel-sspBidAdapter_spec.js +37 -0
  449. package/test/spec/modules/gdprEnforcement_spec.js +134 -164
  450. package/test/spec/modules/globalsunBidAdapter_spec.js +2 -1
  451. package/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +418 -0
  452. package/test/spec/modules/gridBidAdapter_spec.js +9 -5
  453. package/test/spec/modules/growthCodeIdSystem_spec.js +2 -1
  454. package/test/spec/modules/id5IdSystem_spec.js +41 -4
  455. package/test/spec/modules/identityLinkIdSystem_spec.js +2 -2
  456. package/test/spec/modules/improvedigitalBidAdapter_spec.js +10 -3
  457. package/test/spec/modules/iqzoneBidAdapter_spec.js +2 -1
  458. package/test/spec/modules/ivsBidAdapter_spec.js +197 -0
  459. package/test/spec/modules/ixBidAdapter_spec.js +84 -71
  460. package/test/spec/modules/jixieBidAdapter_spec.js +42 -60
  461. package/test/spec/modules/koblerBidAdapter_spec.js +0 -20
  462. package/test/spec/modules/liveIntentIdSystem_spec.js +10 -0
  463. package/test/spec/modules/luponmediaBidAdapter_spec.js +1 -1
  464. package/test/spec/modules/magniteAnalyticsAdapter_spec.js +129 -1
  465. package/test/spec/modules/mathildeadsBidAdapter_spec.js +2 -1
  466. package/test/spec/modules/mediakeysBidAdapter_spec.js +12 -16
  467. package/test/spec/modules/mgidBidAdapter_spec.js +184 -36
  468. package/test/spec/modules/oguryBidAdapter_spec.js +19 -4
  469. package/test/spec/modules/openxBidAdapter_spec.js +1157 -1936
  470. package/test/spec/modules/openxOrtbBidAdapter_spec.js +108 -50
  471. package/test/spec/modules/prebidServerBidAdapter_spec.js +68 -2
  472. package/test/spec/modules/publinkIdSystem_spec.js +3 -2
  473. package/test/spec/modules/pubmaticBidAdapter_spec.js +67 -10
  474. package/test/spec/modules/pubxBidAdapter_spec.js +10 -2
  475. package/test/spec/modules/realTimeDataModule_spec.js +22 -0
  476. package/test/spec/modules/realvuAnalyticsAdapter_spec.js +0 -1
  477. package/test/spec/modules/relaidoBidAdapter_spec.js +5 -5
  478. package/test/spec/modules/rubiconBidAdapter_spec.js +2 -1
  479. package/test/spec/modules/sharedIdSystem_spec.js +0 -46
  480. package/test/spec/modules/sharethroughBidAdapter_spec.js +99 -22
  481. package/test/spec/modules/smartadserverBidAdapter_spec.js +74 -12
  482. package/test/spec/modules/smarthubBidAdapter_spec.js +2 -1
  483. package/test/spec/modules/sovrnBidAdapter_spec.js +25 -6
  484. package/test/spec/modules/stroeerCoreBidAdapter_spec.js +13 -18
  485. package/test/spec/modules/synacormediaBidAdapter_spec.js +0 -26
  486. package/test/spec/modules/taboolaBidAdapter_spec.js +101 -0
  487. package/test/spec/modules/ttdBidAdapter_spec.js +25 -7
  488. package/test/spec/modules/userId_spec.js +68 -0
  489. package/test/spec/modules/vidazooBidAdapter_spec.js +13 -0
  490. package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +17 -4
  491. package/test/spec/modules/vidoomyBidAdapter_spec.js +68 -0
  492. package/test/spec/modules/visiblemeasuresBidAdapter_spec.js +2 -1
  493. package/test/spec/modules/vrtcalBidAdapter_spec.js +3 -2
  494. package/test/spec/modules/yieldmoBidAdapter_spec.js +18 -2
  495. package/test/spec/modules/zeotapIdPlusIdSystem_spec.js +3 -2
  496. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +8 -0
  497. package/test/spec/refererDetection_spec.js +56 -1
  498. package/test/spec/renderer_spec.js +1 -2
  499. package/test/spec/unit/core/adapterManager_spec.js +21 -58
  500. package/test/spec/unit/core/bidderFactory_spec.js +28 -10
  501. package/test/spec/unit/core/consentHandler_spec.js +29 -1
  502. package/test/spec/unit/core/storageManager_spec.js +31 -21
  503. package/test/spec/userSync_spec.js +2 -1
@@ -5,8 +5,11 @@ import adapterManager from '../src/adapterManager.js';
5
5
  import {includes} from '../src/polyfill.js';
6
6
  import {ajaxBuilder} from '../src/ajax.js';
7
7
  import {getStorageManager} from '../src/storageManager.js';
8
+ import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
8
9
 
9
- const storage = getStorageManager();
10
+ const MODULE_CODE = 'roxot';
11
+
12
+ const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: MODULE_CODE});
10
13
 
11
14
  let ajax = ajaxBuilder(0);
12
15
 
@@ -504,7 +507,7 @@ function buildLogMessage(message) {
504
507
 
505
508
  adapterManager.registerAnalyticsAdapter({
506
509
  adapter: roxotAdapter,
507
- code: 'roxot'
510
+ code: MODULE_CODE,
508
511
  });
509
512
 
510
513
  export default roxotAdapter;
@@ -171,10 +171,12 @@ export const spec = {
171
171
 
172
172
  if (fledgeAuctionConfigs) {
173
173
  fledgeAuctionConfigs = Object.entries(fledgeAuctionConfigs).map(([bidId, cfg]) => {
174
- return Object.assign({
174
+ return {
175
175
  bidId,
176
- auctionSignals: {}
177
- }, cfg);
176
+ config: Object.assign({
177
+ auctionSignals: {}
178
+ }, cfg)
179
+ }
178
180
  });
179
181
  logInfo('Response with FLEDGE:', { bids, fledgeAuctionConfigs });
180
182
  return {
@@ -166,6 +166,8 @@ import CONSTANTS from '../../src/constants.json';
166
166
  import adapterManager, {gdprDataHandler, uspDataHandler, gppDataHandler} from '../../src/adapterManager.js';
167
167
  import {find} from '../../src/polyfill.js';
168
168
  import {timedAuctionHook} from '../../src/utils/perfMetrics.js';
169
+ import {GDPR_GVLIDS} from '../../src/consentHandler.js';
170
+ import {MODULE_TYPE_RTD} from '../../src/activities/modules.js';
169
171
 
170
172
  /** @type {string} */
171
173
  const MODULE_NAME = 'realTimeData';
@@ -188,6 +190,7 @@ let _userConsent;
188
190
  */
189
191
  export function attachRealTimeDataProvider(submodule) {
190
192
  registeredSubModules.push(submodule);
193
+ GDPR_GVLIDS.register(MODULE_TYPE_RTD, submodule.name, submodule.gvlid)
191
194
  return function detach() {
192
195
  const idx = registeredSubModules.indexOf(submodule)
193
196
  if (idx >= 0) {
@@ -5,10 +5,11 @@ import CONSTANTS from '../src/constants.json';
5
5
  import { ajax } from '../src/ajax.js';
6
6
  import { config } from '../src/config.js';
7
7
  import { getGlobal } from '../src/prebidGlobal.js';
8
- import { getStorageManager } from '../src/storageManager.js';
8
+ import {getStorageManager} from '../src/storageManager.js';
9
+ import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
9
10
 
10
11
  const RUBICON_GVL_ID = 52;
11
- export const storage = getStorageManager({gvlid: RUBICON_GVL_ID, moduleName: 'rubicon'});
12
+ export const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: 'rubicon'});
12
13
  const COOKIE_NAME = 'rpaSession';
13
14
  const LAST_SEEN_EXPIRE_TIME = 1800000; // 30 mins
14
15
  const END_EXPIRE_TIME = 21600000; // 6 hours
@@ -465,6 +465,7 @@ export const spec = {
465
465
  'rp_secure': '1',
466
466
  'tk_flint': `${rubiConf.int_type || DEFAULT_INTEGRATION}_v$prebid.version$`,
467
467
  'x_source.tid': bidRequest.transactionId,
468
+ 'x_imp.ext.tid': bidRequest.transactionId,
468
469
  'l_pb_bid_id': bidRequest.bidId,
469
470
  'p_screen_res': _getScreenResolution(),
470
471
  'tk_user_key': params.userId,
@@ -5,13 +5,15 @@
5
5
  * @requires module:modules/userId
6
6
  */
7
7
 
8
- import { parseUrl, buildUrl, triggerPixel, logInfo, hasDeviceAccess, generateUUID } from '../src/utils.js';
8
+ import {parseUrl, buildUrl, triggerPixel, logInfo, hasDeviceAccess, generateUUID} from '../src/utils.js';
9
9
  import {submodule} from '../src/hook.js';
10
- import { coppaDataHandler } from '../src/adapterManager.js';
10
+ import {coppaDataHandler} from '../src/adapterManager.js';
11
11
  import {getStorageManager} from '../src/storageManager.js';
12
12
  import {VENDORLESS_GVLID} from '../src/consentHandler.js';
13
+ import {MODULE_TYPE_UID} from '../src/activities/modules.js';
14
+ import {domainOverrideToRootDomain} from '../libraries/domainOverrideToRootDomain/index.js';
13
15
 
14
- export const storage = getStorageManager({moduleName: 'pubCommonId', gvlid: VENDORLESS_GVLID});
16
+ export const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: 'pubCommonId'});
15
17
  const COOKIE = 'cookie';
16
18
  const LOCAL_STORAGE = 'html5';
17
19
  const OPTOUT_NAME = '_pubcid_optout';
@@ -38,12 +40,15 @@ function readValue(name, type) {
38
40
  }
39
41
  }
40
42
 
41
- function getIdCallback(pubcid, pixelCallback) {
42
- return function (callback) {
43
- if (typeof pixelCallback === 'function') {
44
- pixelCallback();
43
+ function getIdCallback(pubcid, pixelUrl) {
44
+ return function (callback, getStoredId) {
45
+ if (pixelUrl) {
46
+ queuePixelCallback(pixelUrl, pubcid, () => {
47
+ callback(getStoredId() || pubcid);
48
+ })();
49
+ } else {
50
+ callback(pubcid);
45
51
  }
46
- callback(pubcid);
47
52
  }
48
53
  }
49
54
 
@@ -58,7 +63,7 @@ function queuePixelCallback(pixelUrl, id = '', callback) {
58
63
  const targetUrl = buildUrl(urlInfo);
59
64
 
60
65
  return function () {
61
- triggerPixel(targetUrl);
66
+ triggerPixel(targetUrl, callback);
62
67
  };
63
68
  }
64
69
 
@@ -125,8 +130,7 @@ export const sharedIdSystemSubmodule = {
125
130
  if (!newId) newId = (create && hasDeviceAccess()) ? generateUUID() : undefined;
126
131
  }
127
132
 
128
- const pixelCallback = queuePixelCallback(pixelUrl, newId);
129
- return {id: newId, callback: getIdCallback(newId, pixelCallback)};
133
+ return {id: newId, callback: getIdCallback(newId, pixelUrl)};
130
134
  },
131
135
  /**
132
136
  * performs action to extend an id. There are generally two ways to extend the expiration time
@@ -169,31 +173,7 @@ export const sharedIdSystemSubmodule = {
169
173
  }
170
174
  },
171
175
 
172
- domainOverride: function () {
173
- const domainElements = document.domain.split('.');
174
- const cookieName = `_gd${Date.now()}`;
175
- for (let i = 0, topDomain, testCookie; i < domainElements.length; i++) {
176
- const nextDomain = domainElements.slice(i).join('.');
177
-
178
- // write test cookie
179
- storage.setCookie(cookieName, '1', undefined, undefined, nextDomain);
180
-
181
- // read test cookie to verify domain was valid
182
- testCookie = storage.getCookie(cookieName);
183
-
184
- // delete test cookie
185
- storage.setCookie(cookieName, '', 'Thu, 01 Jan 1970 00:00:01 GMT', undefined, nextDomain);
186
-
187
- if (testCookie === '1') {
188
- // cookie was written successfully using test domain so the topDomain is updated
189
- topDomain = nextDomain;
190
- } else {
191
- // cookie failed to write using test domain so exit by returning the topDomain
192
- return topDomain;
193
- }
194
- }
195
- }
196
-
176
+ domainOverride: domainOverrideToRootDomain(storage, 'sharedId'),
197
177
  };
198
178
 
199
179
  submodule('userId', sharedIdSystemSubmodule);
@@ -2,7 +2,6 @@ import { deepAccess, generateUUID, inIframe } from '../src/utils.js';
2
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
3
3
  import { config } from '../src/config.js';
4
4
  import { BANNER, VIDEO } from '../src/mediaTypes.js';
5
- import { createEidsArray } from './userId/eids.js';
6
5
 
7
6
  const VERSION = '4.3.0';
8
7
  const BIDDER_CODE = 'sharethrough';
@@ -22,7 +21,7 @@ export const sharethroughAdapterSpec = {
22
21
  isBidRequestValid: bid => !!bid.params.pkey && bid.bidder === BIDDER_CODE,
23
22
 
24
23
  buildRequests: (bidRequests, bidderRequest) => {
25
- const timeout = config.getConfig('bidderTimeout');
24
+ const timeout = bidderRequest.timeout;
26
25
  const firstPartyData = bidderRequest.ortb2 || {};
27
26
 
28
27
  const nonHttp = sharethroughInternal.getProtocol().indexOf('http') < 0;
@@ -66,7 +65,7 @@ export const sharethroughAdapterSpec = {
66
65
 
67
66
  req.user = nullish(firstPartyData.user, {});
68
67
  if (!req.user.ext) req.user.ext = {};
69
- req.user.ext.eids = createEidsArray(deepAccess(bidRequests[0], 'userId')) || [];
68
+ req.user.ext.eids = bidRequests[0].userIdAsEids || [];
70
69
 
71
70
  if (bidderRequest.gdprConsent) {
72
71
  const gdprApplies = bidderRequest.gdprConsent.gdprApplies === true;
@@ -364,7 +364,7 @@ function generateGeneralParams(generalObject, bidderRequest) {
364
364
  const {syncEnabled, filterSettings} = config.getConfig('userSync') || {};
365
365
  const {bidderCode} = bidderRequest;
366
366
  const generalBidParams = generalObject.params;
367
- const timeout = config.getConfig('bidderTimeout');
367
+ const timeout = bidderRequest.timeout;
368
368
 
369
369
  // these params are snake_case instead of camelCase to allow backwards compatability on the server.
370
370
  // in the future, these will be converted to camelCase to match our convention.
@@ -6,8 +6,10 @@ import CONSTANTS from '../src/constants.json';
6
6
  import adapterManager from '../src/adapterManager.js';
7
7
  import {getStorageManager} from '../src/storageManager.js';
8
8
  import {generateUUID, logError, logInfo} from '../src/utils.js';
9
+ import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
9
10
 
10
- const storage = getStorageManager();
11
+ const MODULE_CODE = 'sigmoid';
12
+ const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: MODULE_CODE});
11
13
 
12
14
  const url = 'https://kinesis.us-east-1.amazonaws.com/';
13
15
  const analyticsType = 'endpoint';
@@ -285,7 +287,7 @@ function pushEvent(eventType, args) {
285
287
 
286
288
  adapterManager.registerAnalyticsAdapter({
287
289
  adapter: sigmoidAdapter,
288
- code: 'sigmoid'
290
+ code: MODULE_CODE,
289
291
  });
290
292
 
291
293
  export default sigmoidAdapter;
@@ -1,7 +1,6 @@
1
1
  import { deepAccess, deepClone, logError, isFn, isPlainObject } from '../src/utils.js';
2
2
  import { BANNER, VIDEO } from '../src/mediaTypes.js';
3
3
  import { config } from '../src/config.js';
4
- import { createEidsArray } from './userId/eids.js';
5
4
  import { registerBidder } from '../src/adapters/bidderFactory.js';
6
5
 
7
6
  const BIDDER_CODE = 'smartadserver';
@@ -177,8 +176,8 @@ export const spec = {
177
176
  }
178
177
  }
179
178
 
180
- if (bid && bid.userId) {
181
- payload.eids = createEidsArray(bid.userId);
179
+ if (bid && bid.userIdAsEids) {
180
+ payload.eids = bid.userIdAsEids;
182
181
  }
183
182
 
184
183
  if (bidderRequest && bidderRequest.uspConsent) {
@@ -125,7 +125,7 @@ function buildRequestParams(bidderRequest = {}, placements = []) {
125
125
  coppa: config.getConfig('coppa') === true ? 1 : 0,
126
126
  ccpa: bidderRequest.uspConsent || undefined,
127
127
  gdpr: bidderRequest.gdprConsent || undefined,
128
- tmax: config.getConfig('bidderTimeout')
128
+ tmax: bidderRequest.timeout
129
129
  };
130
130
  }
131
131
 
@@ -15,7 +15,6 @@ import {
15
15
  BANNER,
16
16
  VIDEO
17
17
  } from '../src/mediaTypes.js'
18
- import {createEidsArray} from './userId/eids.js';
19
18
 
20
19
  const ORTB_VIDEO_PARAMS = {
21
20
  'mimes': (value) => Array.isArray(value) && value.length > 0 && value.every(v => typeof v === 'string'),
@@ -90,8 +89,8 @@ export const spec = {
90
89
  let criteoId;
91
90
 
92
91
  _each(bidReqs, function (bid) {
93
- if (!eids && bid.userId) {
94
- eids = createEidsArray(bid.userId)
92
+ if (!eids && bid.userIdAsEids) {
93
+ eids = bid.userIdAsEids;
95
94
  eids.forEach(function (id) {
96
95
  if (id.uids && id.uids[0]) {
97
96
  if (id.source === 'criteo.com') {
@@ -4,9 +4,11 @@ import CONSTANTS from '../src/constants.json';
4
4
  import adapterManager from '../src/adapterManager.js';
5
5
  import { getRefererInfo } from '../src/refererDetection.js';
6
6
  import { ajax } from '../src/ajax.js';
7
- import { getStorageManager } from '../src/storageManager.js';
7
+ import {getStorageManager} from '../src/storageManager.js';
8
+ import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
8
9
 
9
- const storageObj = getStorageManager();
10
+ const MODULE_CODE = 'staq';
11
+ const storageObj = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: MODULE_CODE});
10
12
 
11
13
  const ANALYTICS_VERSION = '1.0.0';
12
14
  const DEFAULT_QUEUE_TIMEOUT = 4000;
@@ -117,7 +119,7 @@ analyticsAdapter.enableAnalytics = (config) => {
117
119
 
118
120
  adapterManager.registerAnalyticsAdapter({
119
121
  adapter: analyticsAdapter,
120
- code: 'staq'
122
+ code: MODULE_CODE,
121
123
  });
122
124
 
123
125
  export default analyticsAdapter;
@@ -68,9 +68,10 @@ export const spec = {
68
68
 
69
69
  const gdprConsent = bidderRequest.gdprConsent;
70
70
 
71
- if (gdprConsent && gdprConsent.consentString != null && gdprConsent.gdprApplies != null) {
71
+ if (gdprConsent) {
72
72
  basePayload.gdpr = {
73
- consent: bidderRequest.gdprConsent.consentString, applies: bidderRequest.gdprConsent.gdprApplies
73
+ consent: gdprConsent.consentString,
74
+ applies: gdprConsent.gdprApplies
74
75
  };
75
76
  }
76
77
 
@@ -49,9 +49,7 @@ export const spec = {
49
49
  imp: []
50
50
  };
51
51
 
52
- const callbackTimeout = bidderRequest.timeout;
53
- const globalTimeout = config.getConfig('bidderTimeout');
54
- const tmax = globalTimeout ? Math.min(globalTimeout, callbackTimeout) : callbackTimeout;
52
+ const tmax = bidderRequest.timeout;
55
53
  if (tmax) {
56
54
  openRtbBidRequest.tmax = tmax;
57
55
  }
@@ -24,7 +24,7 @@ const COOKIE_KEY = 'trc_cookie_storage';
24
24
  * 4. new user set it to 0
25
25
  */
26
26
  export const userData = {
27
- storageManager: getStorageManager({gvlid: GVLID, bidderCode: BIDDER_CODE}),
27
+ storageManager: getStorageManager({bidderCode: BIDDER_CODE}),
28
28
  getUserId: () => {
29
29
  const {getFromLocalStorage, getFromCookie, getFromTRC} = userData;
30
30
 
@@ -278,7 +278,7 @@ function getBid(bids, currency, bidResponse) {
278
278
  if (!bidResponse) {
279
279
  return;
280
280
  }
281
- const {
281
+ let {
282
282
  price: cpm, nurl, crid: creativeId, adm: ad, w: width, h: height, exp: ttl, adomain: advertiserDomains, meta = {}
283
283
  } = bidResponse;
284
284
  let requestId = bids[bidResponse.impid - 1].bidId;
@@ -286,6 +286,8 @@ function getBid(bids, currency, bidResponse) {
286
286
  meta.advertiserDomains = advertiserDomains
287
287
  }
288
288
 
289
+ ad = replaceAuctionPrice(ad, cpm);
290
+
289
291
  return {
290
292
  requestId,
291
293
  ttl,
@@ -12,7 +12,7 @@ const gdprStatus = {
12
12
  CMP_NOT_FOUND_OR_ERROR: 22
13
13
  };
14
14
  const FP_TEADS_ID_COOKIE_NAME = '_tfpvi';
15
- export const storage = getStorageManager({gvlid: GVL_ID, bidderCode: BIDDER_CODE});
15
+ export const storage = getStorageManager({bidderCode: BIDDER_CODE});
16
16
 
17
17
  export const spec = {
18
18
  code: BIDDER_CODE,
@@ -10,6 +10,7 @@ import {ajax} from '../src/ajax.js';
10
10
  import {submodule} from '../src/hook.js';
11
11
  import {getStorageManager} from '../src/storageManager.js';
12
12
  import {uspDataHandler} from '../src/adapterManager.js';
13
+ import {MODULE_TYPE_UID} from '../src/activities/modules.js';
13
14
 
14
15
  const MODULE_NAME = 'teadsId';
15
16
  const GVL_ID = 132;
@@ -28,7 +29,7 @@ export const gdprReason = {
28
29
  GDPR_APPLIES_PUBLISHER_CLASSIC: 120,
29
30
  };
30
31
 
31
- export const storage = getStorageManager({gvlid: GVL_ID, moduleName: MODULE_NAME});
32
+ export const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: MODULE_NAME});
32
33
 
33
34
  /** @type {Submodule} */
34
35
  export const teadsIdSubmodule = {
@@ -11,7 +11,7 @@ const BANNER_TIME_TO_LIVE = 300;
11
11
  const VIDEO_TIME_TO_LIVE = 3600;
12
12
  let gdprApplies = true;
13
13
  let consentString = null;
14
- export const storage = getStorageManager({gvlid: GVLID, bidderCode: BIDDER_CODE});
14
+ export const storage = getStorageManager({bidderCode: BIDDER_CODE});
15
15
 
16
16
  export const tripleliftAdapterSpec = {
17
17
  gvlid: GVLID,
@@ -1,6 +1,5 @@
1
1
  import { deepAccess, getUniqueIdentifierStr } from '../src/utils.js';
2
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
3
- import { config } from '../src/config.js';
4
3
  import { BANNER } from '../src/mediaTypes.js';
5
4
 
6
5
  const SUPPORTED_AD_TYPES = [BANNER];
@@ -140,7 +139,7 @@ function buildCommonQueryParamsFromBids(validBidRequests, bidderRequest) {
140
139
  device: {
141
140
  ua: window.navigator.userAgent
142
141
  },
143
- tmax: config.getConfig('bidderTimeout')
142
+ tmax: bidderRequest.timeout
144
143
  };
145
144
 
146
145
  return defaultParams;
@@ -6,13 +6,14 @@
6
6
  */
7
7
  import { logInfo } from '../src/utils.js';
8
8
  import { submodule } from '../src/hook.js';
9
- import { getStorageManager } from '../src/storageManager.js';
9
+ import {getStorageManager} from '../src/storageManager.js';
10
+ import {MODULE_TYPE_UID} from '../src/activities/modules.js';
10
11
 
11
12
  const MODULE_NAME = 'trustpid';
12
13
  const LOG_PREFIX = 'Trustpid module'
13
14
  let mnoDomain = '';
14
15
 
15
- export const storage = getStorageManager({gvlid: null, moduleName: MODULE_NAME});
16
+ export const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: MODULE_NAME});
16
17
 
17
18
  /**
18
19
  * Handle an event for an iframe.
@@ -1,6 +1,5 @@
1
1
  import * as utils from '../src/utils.js';
2
2
  import { config } from '../src/config.js';
3
- import { createEidsArray } from './userId/eids.js';
4
3
  import { registerBidder } from '../src/adapters/bidderFactory.js';
5
4
  import { BANNER, VIDEO } from '../src/mediaTypes.js';
6
5
 
@@ -125,8 +124,8 @@ function getUser(bidderRequest) {
125
124
  user.buyeruid = bidderRequest.bids[0].userId.tdid;
126
125
  }
127
126
 
128
- var eids = createEidsArray(utils.deepAccess(bidderRequest, 'bids.0.userId'))
129
- if (eids.length) {
127
+ var eids = utils.deepAccess(bidderRequest, 'bids.0.userIdAsEids')
128
+ if (eids && eids.length) {
130
129
  utils.deepSetValue(user, 'ext.eids', eids);
131
130
  }
132
131
 
@@ -165,15 +164,18 @@ function getImpression(bidRequest) {
165
164
 
166
165
  const gpid = utils.deepAccess(bidRequest, 'ortb2Imp.ext.gpid');
167
166
  const tid = utils.deepAccess(bidRequest, 'ortb2Imp.ext.tid');
167
+ const rwdd = utils.deepAccess(bidRequest, 'ortb2Imp.rwdd');
168
168
  if (gpid || tid) {
169
169
  impression.ext = {}
170
170
  if (gpid) { impression.ext.gpid = gpid }
171
171
  if (tid) { impression.ext.tid = tid }
172
172
  }
173
-
173
+ if (rwdd) {
174
+ impression.rwdd = rwdd;
175
+ }
174
176
  const tagid = gpid || bidRequest.params.placementId;
175
177
  if (tagid) {
176
- impression.tagid = tagid
178
+ impression.tagid = tagid;
177
179
  }
178
180
 
179
181
  const mediaTypesVideo = utils.deepAccess(bidRequest, 'mediaTypes.video');
@@ -252,6 +254,7 @@ function video(bid) {
252
254
  const api = utils.deepAccess(bid, 'mediaTypes.video.api');
253
255
  const mimes = utils.deepAccess(bid, 'mediaTypes.video.mimes');
254
256
  const placement = utils.deepAccess(bid, 'mediaTypes.video.placement');
257
+ const plcmt = utils.deepAccess(bid, 'mediaTypes.video.plcmt');
255
258
  const protocols = utils.deepAccess(bid, 'mediaTypes.video.protocols');
256
259
  const playbackmethod = utils.deepAccess(bid, 'mediaTypes.video.playbackmethod');
257
260
  const pos = utils.deepAccess(bid, 'mediaTypes.video.pos');
@@ -287,6 +290,9 @@ function video(bid) {
287
290
  if (playbackmethod) {
288
291
  video.playbackmethod = playbackmethod;
289
292
  }
293
+ if (plcmt) {
294
+ video.plcmt = plcmt;
295
+ }
290
296
  if (pos) {
291
297
  video.pos = pos;
292
298
  }
@@ -8,7 +8,8 @@
8
8
 
9
9
  import { logInfo } from '../src/utils.js';
10
10
  import {submodule} from '../src/hook.js';
11
- import { getStorageManager } from '../src/storageManager.js';
11
+ import {getStorageManager} from '../src/storageManager.js';
12
+ import {MODULE_TYPE_UID} from '../src/activities/modules.js';
12
13
 
13
14
  const MODULE_NAME = 'uid2';
14
15
  const MODULE_REVISION = `1.0`;
@@ -24,7 +25,7 @@ const UID2_PROD_URL = 'https://prod.uidapi.com';
24
25
  const UID2_BASE_URL = UID2_PROD_URL;
25
26
 
26
27
  function getStorage() {
27
- return getStorageManager({gvlid: GVLID, moduleName: MODULE_NAME});
28
+ return getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: MODULE_NAME});
28
29
  }
29
30
 
30
31
  function createLogInfo(prefix) {
@@ -76,6 +76,7 @@ function getBannerCoords(id) {
76
76
 
77
77
  export const spec = {
78
78
  code: BIDDER_CODE,
79
+ gvlid: 677,
79
80
  supportedMediaTypes: [BANNER, VIDEO],
80
81
  isBidRequestValid: function(bid) {
81
82
  if (bid && bid.params && bid.params.publisherId) {
@@ -146,6 +146,24 @@ export const USER_IDS_CONFIG = {
146
146
  }
147
147
  },
148
148
 
149
+ // bidswitchId
150
+ 'bidswitch': {
151
+ source: 'bidswitch.net',
152
+ atype: 3,
153
+ getValue: function(data) {
154
+ return data.id;
155
+ }
156
+ },
157
+
158
+ // medianetId
159
+ 'medianet': {
160
+ source: 'media.net',
161
+ atype: 3,
162
+ getValue: function(data) {
163
+ return data.id;
164
+ }
165
+ },
166
+
149
167
  // britepoolId
150
168
  'britepoolid': {
151
169
  source: 'britepool.com',
@@ -105,6 +105,22 @@ userIdAsEids = [
105
105
  segments: ['s1', 's2']
106
106
  }
107
107
  },
108
+
109
+ {
110
+ source: 'bidswitch.net',
111
+ uids: [{
112
+ id: 'some-random-id-value',
113
+ atype: 3
114
+ }]
115
+ },
116
+
117
+ {
118
+ source: 'media.net',
119
+ uids: [{
120
+ id: 'some-random-id-value',
121
+ atype: 3
122
+ }]
123
+ },
108
124
 
109
125
  {
110
126
  source: 'merkleinc.com',
@@ -157,6 +157,8 @@ import {hasPurpose1Consent} from '../../src/utils/gpdr.js';
157
157
  import {registerOrtbProcessor, REQUEST} from '../../src/pbjsORTB.js';
158
158
  import {newMetrics, timedAuctionHook, useMetrics} from '../../src/utils/perfMetrics.js';
159
159
  import {findRootDomain} from '../../src/fpd/rootDomain.js';
160
+ import {GDPR_GVLIDS} from '../../src/consentHandler.js';
161
+ import {MODULE_TYPE_UID} from '../../src/activities/modules.js';
160
162
 
161
163
  const MODULE_NAME = 'User ID';
162
164
  const COOKIE = STORAGE_TYPE_COOKIES;
@@ -413,7 +415,7 @@ function processSubmoduleCallbacks(submodules, cb) {
413
415
  moduleDone();
414
416
  }
415
417
  try {
416
- submodule.callback(callbackCompleted);
418
+ submodule.callback(callbackCompleted, getStoredValue.bind(null, submodule.config?.storage));
417
419
  } catch (e) {
418
420
  logError(`Error in userID module '${submodule.submodule.name}':`, e);
419
421
  moduleDone();
@@ -982,7 +984,7 @@ function updateSubmodules() {
982
984
  submodule: i,
983
985
  config: submoduleConfig,
984
986
  callback: undefined,
985
- idObj: undefined
987
+ idObj: undefined,
986
988
  } : null;
987
989
  }).filter(submodule => submodule !== null)
988
990
  .forEach((sm) => submodules.push(sm));
@@ -1019,6 +1021,7 @@ export function requestDataDeletion(next, ...args) {
1019
1021
  export function attachIdSystem(submodule) {
1020
1022
  if (!find(submoduleRegistry, i => i.name === submodule.name)) {
1021
1023
  submoduleRegistry.push(submodule);
1024
+ GDPR_GVLIDS.register(MODULE_TYPE_UID, submodule.name, submodule.gvlid)
1022
1025
  updateSubmodules();
1023
1026
  // TODO: a test case wants this to work even if called after init (the setConfig({userId}))
1024
1027
  // so we trigger a refresh. But is that even possible outside of tests?
@@ -5,9 +5,10 @@
5
5
  import {deepAccess, isEmpty, isNumber, logWarn} from '../../src/utils.js';
6
6
  import {ORTB_MAP} from './config.js';
7
7
  import {submodule} from '../../src/hook.js';
8
- import {getStorageManager} from '../../src/storageManager.js';
8
+ import {getCoreStorageManager} from '../../src/storageManager.js';
9
9
 
10
- const STORAGE = getStorageManager();
10
+ // TODO: do FPD modules need their own namespace?
11
+ const STORAGE = getCoreStorageManager('FPDValidation');
11
12
  let optout;
12
13
 
13
14
  /**
@@ -28,7 +28,7 @@ export const SUPPORTED_ID_SYSTEMS = {
28
28
  'pubProvidedId': 1
29
29
  };
30
30
  export const webSessionId = 'wsid_' + parseInt(Date.now() * Math.random());
31
- const storage = getStorageManager({gvlid: GVLID, bidderCode: BIDDER_CODE});
31
+ const storage = getStorageManager({bidderCode: BIDDER_CODE});
32
32
 
33
33
  function getTopWindowQueryParams() {
34
34
  try {
@@ -227,7 +227,7 @@ function interpretResponse(serverResponse, request) {
227
227
 
228
228
  try {
229
229
  results.forEach(result => {
230
- const {creativeId, ad, price, exp, width, height, currency, advertiserDomains, mediaType = BANNER} = result;
230
+ const {creativeId, ad, price, exp, width, height, currency, advertiserDomains, metaData, mediaType = BANNER} = result;
231
231
  if (!ad || !price) {
232
232
  return;
233
233
  }
@@ -241,11 +241,20 @@ function interpretResponse(serverResponse, request) {
241
241
  currency: currency || CURRENCY,
242
242
  netRevenue: true,
243
243
  ttl: exp || TTL_SECONDS,
244
- meta: {
245
- advertiserDomains: advertiserDomains || []
246
- }
247
244
  };
248
245
 
246
+ if (metaData) {
247
+ Object.assign(response, {
248
+ meta: metaData
249
+ })
250
+ } else {
251
+ Object.assign(response, {
252
+ meta: {
253
+ advertiserDomains: advertiserDomains || []
254
+ }
255
+ })
256
+ }
257
+
249
258
  if (mediaType === BANNER) {
250
259
  Object.assign(response, {
251
260
  ad: ad,