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
@@ -93,31 +93,107 @@ describe('sharethrough adapter spec', function () {
93
93
  },
94
94
  },
95
95
  },
96
- userId: {
97
- tdid: 'fake-tdid',
98
- pubcid: 'fake-pubcid',
99
- idl_env: 'fake-identity-link',
100
- id5id: {
101
- uid: 'fake-id5id',
102
- ext: {
103
- linkType: 2,
104
- },
96
+ userIdAsEids: [
97
+ {
98
+ 'source': 'pubcid.org',
99
+ 'uids': [
100
+ {
101
+ 'atype': 1,
102
+ 'id': 'fake-pubcid'
103
+ },
104
+ ]
105
+ },
106
+ {
107
+ 'source': 'liveramp.com',
108
+ 'uids': [
109
+ {
110
+ 'atype': 1,
111
+ 'id': 'fake-identity-link'
112
+ }
113
+ ]
114
+ },
115
+ {
116
+ 'source': 'id5-sync.com',
117
+ 'uids': [
118
+ {
119
+ 'atype': 1,
120
+ 'id': 'fake-id5id'
121
+ }
122
+ ]
105
123
  },
106
- lipb: {
107
- lipbid: 'fake-lipbid',
124
+ {
125
+ 'source': 'adserver.org',
126
+ 'uids': [
127
+ {
128
+ 'atype': 1,
129
+ 'id': 'fake-tdid'
130
+ }
131
+ ]
108
132
  },
109
- criteoId: 'fake-criteo',
110
- britepoolid: 'fake-britepool',
111
- intentIqId: 'fake-intentiq',
112
- lotamePanoramaId: 'fake-lotame',
113
- parrableId: {
114
- eid: 'fake-parrable',
133
+ {
134
+ 'source': 'criteo.com',
135
+ 'uids': [
136
+ {
137
+ 'atype': 1,
138
+ 'id': 'fake-criteo'
139
+ }
140
+ ]
115
141
  },
116
- netId: 'fake-netid',
117
- sharedid: {
118
- id: 'fake-sharedid',
142
+ {
143
+ 'source': 'britepool.com',
144
+ 'uids': [
145
+ {
146
+ 'atype': 1,
147
+ 'id': 'fake-britepool'
148
+ }
149
+ ]
119
150
  },
120
- },
151
+ {
152
+ 'source': 'liveintent.com',
153
+ 'uids': [
154
+ {
155
+ 'atype': 1,
156
+ 'id': 'fake-lipbid'
157
+ }
158
+ ]
159
+ },
160
+ {
161
+ 'source': 'intentiq.com',
162
+ 'uids': [
163
+ {
164
+ 'atype': 1,
165
+ 'id': 'fake-intentiq'
166
+ }
167
+ ]
168
+ },
169
+ {
170
+ 'source': 'crwdcntrl.net',
171
+ 'uids': [
172
+ {
173
+ 'atype': 1,
174
+ 'id': 'fake-lotame'
175
+ }
176
+ ]
177
+ },
178
+ {
179
+ 'source': 'parrable.com',
180
+ 'uids': [
181
+ {
182
+ 'atype': 1,
183
+ 'id': 'fake-parrable'
184
+ }
185
+ ]
186
+ },
187
+ {
188
+ 'source': 'netid.de',
189
+ 'uids': [
190
+ {
191
+ 'atype': 1,
192
+ 'id': 'fake-netid'
193
+ }
194
+ ]
195
+ }
196
+ ],
121
197
  crumbs: {
122
198
  pubcid: 'fake-pubcid-in-crumbs-obj',
123
199
  },
@@ -172,7 +248,8 @@ describe('sharethrough adapter spec', function () {
172
248
  refererInfo: {
173
249
  ref: 'https://referer.com',
174
250
  },
175
- auctionId: 'auction-id'
251
+ auctionId: 'auction-id',
252
+ timeout: 242
176
253
  };
177
254
  });
178
255
 
@@ -57,18 +57,80 @@ describe('Smart bid adapter tests', function () {
57
57
  },
58
58
  requestId: 'efgh5678',
59
59
  transactionId: 'zsfgzzg',
60
- userId: {
61
- britepoolid: '1111',
62
- criteoId: '1111',
63
- digitrustid: { data: { id: 'DTID', keyv: 4, privacy: { optout: false }, producer: 'ABC', version: 2 } },
64
- id5id: { uid: '1111' },
65
- idl_env: '1111',
66
- lipbid: '1111',
67
- parrableid: 'eidVersion.encryptionKeyReference.encryptedValue',
68
- pubcid: '1111',
69
- tdid: '1111',
70
- netId: 'fH5A3n2O8_CZZyPoJVD-eabc6ECb7jhxCicsds7qSg',
71
- }
60
+ userIdAsEids: [
61
+ {
62
+ 'source': 'pubcid.org',
63
+ 'uids': [
64
+ {
65
+ 'atype': 1,
66
+ 'id': '1111'
67
+ }
68
+ ]
69
+ },
70
+ {
71
+ 'source': 'britepoolid',
72
+ 'uids': [
73
+ {
74
+ 'atype': 1,
75
+ 'id': '1111'
76
+ }
77
+ ]
78
+ },
79
+ {
80
+ 'source': 'id5id',
81
+ 'uids': [
82
+ {
83
+ 'atype': 1,
84
+ 'id': '1111'
85
+ }
86
+ ]
87
+ },
88
+ {
89
+ 'source': 'idl_env',
90
+ 'uids': [
91
+ {
92
+ 'atype': 1,
93
+ 'id': '1111'
94
+ }
95
+ ]
96
+ },
97
+ {
98
+ 'source': 'lipbid',
99
+ 'uids': [
100
+ {
101
+ 'atype': 1,
102
+ 'id': '1111'
103
+ }
104
+ ]
105
+ },
106
+ {
107
+ 'source': 'parrableid',
108
+ 'uids': [
109
+ {
110
+ 'atype': 1,
111
+ 'id': 'eidVersion.encryptionKeyReference.encryptedValue'
112
+ }
113
+ ]
114
+ },
115
+ {
116
+ 'source': 'tdid',
117
+ 'uids': [
118
+ {
119
+ 'atype': 1,
120
+ 'id': '1111'
121
+ }
122
+ ]
123
+ },
124
+ {
125
+ 'source': 'netId',
126
+ 'uids': [
127
+ {
128
+ 'atype': 1,
129
+ 'id': 'fH5A3n2O8_CZZyPoJVD-eabc6ECb7jhxCicsds7qSg'
130
+ }
131
+ ]
132
+ }
133
+ ]
72
134
  }];
73
135
 
74
136
  // Default params without optional ones
@@ -91,7 +91,8 @@ describe('SmartHubBidAdapter', function () {
91
91
  gdprConsent: 'COvFyGBOvFyGBAbAAAENAPCAAOAAAAAAAAAAAEEUACCKAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw',
92
92
  refererInfo: {
93
93
  page: 'https://test.com'
94
- }
94
+ },
95
+ timeout: 500
95
96
  };
96
97
 
97
98
  describe('isBidRequestValid', function () {
@@ -270,14 +270,33 @@ describe('sovrnBidAdapter', function() {
270
270
  expect(data.source.ext.schain.nodes.length).to.equal(1)
271
271
  })
272
272
 
273
- it('should add eds to the bid request', function() {
273
+ it('should add eids to the bid request', function() {
274
274
  const criteoIdRequest = {
275
275
  ...baseBidRequest,
276
- userId: {
277
- criteoId: 'A_CRITEO_ID',
278
- tdid: 'SOMESORTOFID',
279
- }
280
- }
276
+ userIdAsEids: [
277
+ {
278
+ source: 'criteo.com',
279
+ uids: [
280
+ {
281
+ atype: 1,
282
+ id: 'A_CRITEO_ID'
283
+ }
284
+ ]
285
+ },
286
+ {
287
+ source: 'adserver.org',
288
+ uids: [
289
+ {
290
+ atype: 1,
291
+ ext: {
292
+ rtiPartner: 'TDID'
293
+ },
294
+ id: 'SOMESORTOFID'
295
+ }
296
+ ]
297
+ }
298
+ ]
299
+ };
281
300
  const criteoIdRequests = [criteoIdRequest, baseBidRequest]
282
301
  const ext = JSON.parse(spec.buildRequests(criteoIdRequests, baseBidderRequest).data).user.ext
283
302
  const firstEID = ext.eids[0]
@@ -636,10 +636,13 @@ describe('stroeerCore bid adapter', function () {
636
636
  }
637
637
  });
638
638
 
639
- const gdprSamples = [{consentString: 'RG9ua2V5IEtvbmc=', gdprApplies: true}, {
640
- consentString: 'UGluZyBQb25n',
641
- gdprApplies: false
642
- }];
639
+ const gdprSamples = [
640
+ {consentString: 'RG9ua2V5IEtvbmc=', gdprApplies: true},
641
+ {consentString: 'UGluZyBQb25n', gdprApplies: false},
642
+ {consentString: undefined, gdprApplies: true},
643
+ {consentString: undefined, gdprApplies: false},
644
+ {consentString: undefined, gdprApplies: undefined},
645
+ ];
643
646
  gdprSamples.forEach((sample) => {
644
647
  it(`should add GDPR info ${JSON.stringify(sample)} when provided`, () => {
645
648
  const bidReq = buildBidderRequest();
@@ -653,22 +656,14 @@ describe('stroeerCore bid adapter', function () {
653
656
  });
654
657
  });
655
658
 
656
- const skippableGdprSamples = [{consentString: null, gdprApplies: true}, //
657
- {consentString: 'UGluZyBQb25n', gdprApplies: null}, //
658
- {consentString: null, gdprApplies: null}, //
659
- {consentString: undefined, gdprApplies: true}, //
660
- {consentString: 'UGluZyBQb25n', gdprApplies: undefined}, //
661
- {consentString: undefined, gdprApplies: undefined}];
662
- skippableGdprSamples.forEach((sample) => {
663
- it(`should not add GDPR info ${JSON.stringify(sample)} when one or more values are missing`, () => {
664
- const bidReq = buildBidderRequest();
665
- bidReq.gdprConsent = sample;
659
+ it(`should not add GDPR info when not provided`, () => {
660
+ const bidReq = buildBidderRequest();
666
661
 
667
- const serverRequestInfo = spec.buildRequests(bidReq.bids, bidReq);
662
+ delete bidReq.gdprConsent;
668
663
 
669
- const actualGdpr = serverRequestInfo.data.gdpr;
670
- assert.isUndefined(actualGdpr);
671
- });
664
+ const serverRequestInfo = spec.buildRequests(bidReq.bids, bidReq);
665
+
666
+ assert.notProperty(serverRequestInfo.data, 'gdpr');
672
667
  });
673
668
 
674
669
  it('should be able to build without third party user id data', () => {
@@ -313,32 +313,6 @@ describe('synacormediaBidAdapter ', function () {
313
313
  expect(req.data.tmax).to.eql(bidderRequestWithTimeout.timeout);
314
314
  });
315
315
 
316
- it('should return tmax equal to smaller global timeout', function () {
317
- let sandbox = sinon.sandbox.create();
318
- sandbox.stub(config, 'getConfig').callsFake(key => {
319
- const config = {
320
- 'bidderTimeout': bidderRequestWithTimeout.timeout - 100
321
- };
322
- return config[key];
323
- });
324
- let req = spec.buildRequests([validBidRequest], bidderRequestWithTimeout);
325
- sandbox.restore();
326
- expect(req.data.tmax).to.eql(bidderRequestWithTimeout.timeout - 100);
327
- });
328
-
329
- it('should return tmax equal to smaller callback timeout', function () {
330
- let sandbox = sinon.sandbox.create();
331
- sandbox.stub(config, 'getConfig').callsFake(key => {
332
- const config = {
333
- 'bidderTimeout': bidderRequestWithTimeout.timeout + 100
334
- };
335
- return config[key];
336
- });
337
- let req = spec.buildRequests([validBidRequest], bidderRequestWithTimeout);
338
- sandbox.restore();
339
- expect(req.data.tmax).to.eql(bidderRequestWithTimeout.timeout);
340
- });
341
-
342
316
  it('should return multiple bids when multiple valid requests with the same seatId are used', function () {
343
317
  let secondBidRequest = {
344
318
  bidId: 'foobar',
@@ -668,6 +668,107 @@ describe('Taboola Adapter', function () {
668
668
  const res = spec.interpretResponse(serverResponse, request);
669
669
  expect(res).to.deep.equal(expectedRes);
670
670
  });
671
+
672
+ it('should replace AUCTION_PRICE macro in adm', function () {
673
+ const multiRequest = {
674
+ bids: [
675
+ {
676
+ ...createBidRequest(),
677
+ ...displayBidRequestParams
678
+ },
679
+ {
680
+ ...createBidRequest(),
681
+ ...displayBidRequestParams
682
+ }
683
+ ]
684
+ }
685
+ const multiServerResponseWithMacro = {
686
+ body: {
687
+ 'id': '49ffg4d58ef9a163a69fhgfghd4fad03621b9e036f24f7_15',
688
+ 'seatbid': [
689
+ {
690
+ 'bid': [
691
+ {
692
+ 'id': '0b3dd94348-134b-435f-8db5-6bf5afgfc39e86c',
693
+ 'impid': '2',
694
+ 'price': 0.34,
695
+ 'adid': '2785119545551083381',
696
+ 'adm': 'ADM2,\\nwp:\'${AUCTION_PRICE}\'',
697
+ 'adomain': [
698
+ 'example.xyz'
699
+ ],
700
+ 'cid': '15744349',
701
+ 'crid': '278195503434041083381',
702
+ 'w': 300,
703
+ 'h': 250,
704
+ 'exp': 60,
705
+ 'lurl': 'http://us-trc.taboola.com/sample',
706
+ 'nurl': 'http://win.example.com/'
707
+ },
708
+ {
709
+ 'id': '0b3dd94348-134b-435f-8db5-6bf5afgfc39e86c',
710
+ 'impid': '1',
711
+ 'price': 0.35,
712
+ 'adid': '2785119545551083381',
713
+ 'adm': 'ADM2,\\nwp:\'${AUCTION_PRICE}\'',
714
+ 'adomain': [
715
+ 'example.xyz'
716
+ ],
717
+ 'cid': '15744349',
718
+ 'crid': '278195503434041083381',
719
+ 'w': 300,
720
+ 'h': 250,
721
+ 'exp': 60,
722
+ 'lurl': 'http://us-trc.taboola.com/sample',
723
+ 'nurl': 'http://win.example.com/'
724
+
725
+ }
726
+ ],
727
+ 'seat': '14204545260'
728
+ }
729
+ ],
730
+ 'bidid': 'da43860a-4644-442a-b5e0-93f268cf8d19',
731
+ 'cur': 'USD'
732
+ }
733
+ };
734
+ const [bid] = multiServerResponseWithMacro.body.seatbid[0].bid;
735
+ const expectedRes = [
736
+ {
737
+ requestId: multiRequest.bids[1].bidId,
738
+ cpm: multiServerResponseWithMacro.body.seatbid[0].bid[0].price,
739
+ creativeId: bid.crid,
740
+ ttl: 60,
741
+ netRevenue: true,
742
+ currency: multiServerResponseWithMacro.body.cur,
743
+ mediaType: 'banner',
744
+ ad: 'ADM2,\\nwp:\'0.34\'',
745
+ width: bid.w,
746
+ height: bid.h,
747
+ nurl: 'http://win.example.com/',
748
+ meta: {
749
+ 'advertiserDomains': bid.adomain
750
+ },
751
+ },
752
+ {
753
+ requestId: multiRequest.bids[0].bidId,
754
+ cpm: multiServerResponseWithMacro.body.seatbid[0].bid[1].price,
755
+ creativeId: bid.crid,
756
+ ttl: 60,
757
+ netRevenue: true,
758
+ currency: multiServerResponseWithMacro.body.cur,
759
+ mediaType: 'banner',
760
+ ad: 'ADM2,\\nwp:\'0.35\'',
761
+ width: bid.w,
762
+ height: bid.h,
763
+ nurl: 'http://win.example.com/',
764
+ meta: {
765
+ 'advertiserDomains': bid.adomain
766
+ },
767
+ }
768
+ ];
769
+ const res = spec.interpretResponse(multiServerResponseWithMacro, multiRequest);
770
+ expect(res).to.deep.equal(expectedRes);
771
+ });
671
772
  })
672
773
 
673
774
  describe('getUserSyncs', function () {
@@ -282,6 +282,21 @@ describe('ttdBidAdapter', function () {
282
282
  expect(requestBody.imp[0].ext.gpid).to.equal(gpid);
283
283
  });
284
284
 
285
+ it('sends rwdd in imp.rwdd if present', function () {
286
+ let clonedBannerRequests = deepClone(baseBannerBidRequests);
287
+ const gpid = '/1111/home#header';
288
+ const rwdd = 1;
289
+ clonedBannerRequests[0].ortb2Imp = {
290
+ rwdd: rwdd,
291
+ ext: {
292
+ gpid: gpid
293
+ }
294
+ };
295
+ const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;
296
+ expect(requestBody.imp[0].rwdd).to.be.not.null;
297
+ expect(requestBody.imp[0].rwdd).to.equal(1);
298
+ });
299
+
285
300
  it('sends auction id in source.tid', function () {
286
301
  const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;
287
302
  expect(requestBody.source).to.be.not.null;
@@ -489,13 +504,7 @@ describe('ttdBidAdapter', function () {
489
504
  const TDID = '00000000-0000-0000-0000-000000000000';
490
505
  const UID2 = '99999999-9999-9999-9999-999999999999';
491
506
  let clonedBannerRequests = deepClone(baseBannerBidRequests);
492
- clonedBannerRequests[0].userId = {
493
- tdid: TDID,
494
- uid2: {
495
- id: UID2
496
- }
497
- };
498
- const expectedEids = [
507
+ clonedBannerRequests[0].userIdAsEids = [
499
508
  {
500
509
  source: 'adserver.org',
501
510
  uids: [
@@ -518,6 +527,7 @@ describe('ttdBidAdapter', function () {
518
527
  ]
519
528
  }
520
529
  ];
530
+ const expectedEids = clonedBannerRequests[0].userIdAsEids;
521
531
 
522
532
  const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;
523
533
  expect(requestBody.user.ext.eids).to.deep.equal(expectedEids);
@@ -882,6 +892,14 @@ describe('ttdBidAdapter', function () {
882
892
  const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;
883
893
  expect(requestBody.imp[0].video.placement).to.equal(3);
884
894
  });
895
+
896
+ it('sets plcmt correctly if sent', function () {
897
+ let clonedVideoRequests = deepClone(baseVideoBidRequests);
898
+ clonedVideoRequests[0].mediaTypes.video.plcmt = 3;
899
+
900
+ const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;
901
+ expect(requestBody.imp[0].video.plcmt).to.equal(3);
902
+ });
885
903
  });
886
904
 
887
905
  describe('interpretResponse-empty', function () {
@@ -53,6 +53,8 @@ import {hook} from '../../../src/hook.js';
53
53
  import {mockGdprConsent} from '../../helpers/consentData.js';
54
54
  import {getPPID} from '../../../src/adserver.js';
55
55
  import {uninstall as uninstallGdprEnforcement} from 'modules/gdprEnforcement.js';
56
+ import {GDPR_GVLIDS} from '../../../src/consentHandler.js';
57
+ import {MODULE_TYPE_UID} from '../../../src/activities/modules.js';
56
58
 
57
59
  let assert = require('chai').assert;
58
60
  let expect = require('chai').expect;
@@ -166,6 +168,20 @@ describe('User ID', function () {
166
168
  sandbox.restore();
167
169
  });
168
170
 
171
+ describe('GVL IDs', () => {
172
+ beforeEach(() => {
173
+ sinon.stub(GDPR_GVLIDS, 'register');
174
+ });
175
+ afterEach(() => {
176
+ GDPR_GVLIDS.register.restore();
177
+ });
178
+
179
+ it('are registered when ID submodule is registered', () => {
180
+ attachIdSystem({name: 'gvlidMock', gvlid: 123});
181
+ sinon.assert.calledWith(GDPR_GVLIDS.register, MODULE_TYPE_UID, 'gvlidMock', 123);
182
+ })
183
+ })
184
+
169
185
  describe('Decorate Ad Units', function () {
170
186
  beforeEach(function () {
171
187
  // reset mockGpt so nothing else interferes
@@ -426,6 +442,58 @@ describe('User ID', function () {
426
442
  });
427
443
  });
428
444
 
445
+ describe('submodule callback', () => {
446
+ const TEST_KEY = 'testKey';
447
+
448
+ function setVal(val) {
449
+ if (val) {
450
+ coreStorage.setDataInLocalStorage(TEST_KEY, val);
451
+ coreStorage.setDataInLocalStorage(TEST_KEY + '_exp', '');
452
+ } else {
453
+ coreStorage.removeDataFromLocalStorage(TEST_KEY);
454
+ coreStorage.removeDataFromLocalStorage(TEST_KEY + '_exp');
455
+ }
456
+ }
457
+ afterEach(() => {
458
+ setVal(null);
459
+ })
460
+
461
+ it('should be able to re-read ID changes', (done) => {
462
+ setVal(null);
463
+ init(config);
464
+ setSubmoduleRegistry([{
465
+ name: 'mockId',
466
+ getId: function (_1, _2, storedId) {
467
+ expect(storedId).to.not.exist;
468
+ setVal('laterValue');
469
+ return {
470
+ callback(_, readId) {
471
+ expect(readId()).to.eql('laterValue');
472
+ done();
473
+ }
474
+ }
475
+ },
476
+ decode(d) {
477
+ return d
478
+ }
479
+ }]);
480
+ config.setConfig({
481
+ userSync: {
482
+ auctionDelay: 10,
483
+ userIds: [
484
+ {
485
+ name: 'mockId',
486
+ storage: {
487
+ type: 'html5',
488
+ name: TEST_KEY
489
+ }
490
+ }
491
+ ]
492
+ }
493
+ });
494
+ });
495
+ });
496
+
429
497
  it('should set PPID when the source needs to call out to the network', () => {
430
498
  let adUnits = [getAdUnitMock()];
431
499
  init(config);
@@ -477,6 +477,19 @@ describe('VidazooBidAdapter', function () {
477
477
  });
478
478
  });
479
479
 
480
+ it('should get meta from response metaData', function () {
481
+ const serverResponse = utils.deepClone(SERVER_RESPONSE);
482
+ serverResponse.body.results[0].metaData = {
483
+ advertiserDomains: ['vidazoo.com'],
484
+ agencyName: 'Agency Name',
485
+ };
486
+ const responses = adapter.interpretResponse(serverResponse, REQUEST);
487
+ expect(responses[0].meta).to.deep.equal({
488
+ advertiserDomains: ['vidazoo.com'],
489
+ agencyName: 'Agency Name'
490
+ });
491
+ });
492
+
480
493
  it('should return an array of interpreted video responses', function () {
481
494
  const responses = adapter.interpretResponse(VIDEO_SERVER_RESPONSE, REQUEST);
482
495
  expect(responses).to.have.length(1);