prebid.js 10.2.0 → 10.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1650) hide show
  1. package/.github/dependabot.yml +8 -0
  2. package/.github/workflows/scripts/codepath-notification +1 -0
  3. package/creative/renderers/display/renderer.js +3 -4
  4. package/dist/chunks/1plusXRtdProvider.js +1 -1
  5. package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
  6. package/dist/chunks/33acrossBidAdapter.js +1 -1
  7. package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
  8. package/dist/chunks/33acrossIdSystem.js +1 -1
  9. package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
  10. package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
  11. package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
  12. package/dist/chunks/adagioBidAdapter.js +1 -1
  13. package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
  14. package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
  15. package/dist/chunks/adagioUtils.js +1 -1
  16. package/dist/chunks/addefendBidAdapter.js +1 -1
  17. package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
  18. package/dist/chunks/adfBidAdapter.metadata.js +1 -1
  19. package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
  20. package/dist/chunks/adgenerationBidAdapter.js +1 -1
  21. package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
  22. package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
  23. package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
  24. package/dist/chunks/adlooxRtdProvider.js +1 -1
  25. package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
  26. package/dist/chunks/admixerBidAdapter.js +1 -1
  27. package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
  28. package/dist/chunks/admixerIdSystem.metadata.js +1 -1
  29. package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
  30. package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
  31. package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
  32. package/dist/chunks/adotBidAdapter.metadata.js +1 -1
  33. package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
  34. package/dist/chunks/adqueryBidAdapter.js +1 -1
  35. package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
  36. package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
  37. package/dist/chunks/adrelevantisBidAdapter.js +1 -1
  38. package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
  39. package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
  40. package/dist/chunks/adstirBidAdapter.js +1 -1
  41. package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
  42. package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
  43. package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
  44. package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
  45. package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
  46. package/dist/chunks/advertisingBidAdapter.js +1 -1
  47. package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
  48. package/dist/chunks/adxcgBidAdapter.js +1 -1
  49. package/dist/chunks/adyoulikeBidAdapter.js +1 -1
  50. package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
  51. package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
  52. package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
  53. package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
  54. package/dist/chunks/ajaBidAdapter.js +1 -1
  55. package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
  56. package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
  57. package/dist/chunks/amxBidAdapter.js +1 -1
  58. package/dist/chunks/amxBidAdapter.metadata.js +1 -1
  59. package/dist/chunks/amxIdSystem.js +1 -1
  60. package/dist/chunks/amxIdSystem.metadata.js +1 -1
  61. package/dist/chunks/aniviewBidAdapter.js +1 -1
  62. package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
  63. package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
  64. package/dist/chunks/appierAnalyticsAdapter.js +1 -1
  65. package/dist/chunks/appierBidAdapter.metadata.js +1 -1
  66. package/dist/chunks/appnexusBidAdapter.js +1 -1
  67. package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
  68. package/dist/chunks/appnexusUtils.js +1 -1
  69. package/dist/chunks/appushBidAdapter.metadata.js +1 -1
  70. package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
  71. package/dist/chunks/asoBidAdapter.js +1 -1
  72. package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
  73. package/dist/chunks/axisBidAdapter.metadata.js +1 -1
  74. package/dist/chunks/axonixBidAdapter.js +1 -1
  75. package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
  76. package/dist/chunks/beopBidAdapter.js +1 -1
  77. package/dist/chunks/beopBidAdapter.metadata.js +1 -1
  78. package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
  79. package/dist/chunks/bidglassBidAdapter.js +1 -1
  80. package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
  81. package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
  82. package/dist/chunks/big-richmediaBidAdapter.js +1 -1
  83. package/dist/chunks/bitmediaBidAdapter.js +1 -1
  84. package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
  85. package/dist/chunks/blockthroughBidAdapter.js +1 -1
  86. package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
  87. package/dist/chunks/blueBidAdapter.metadata.js +1 -1
  88. package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
  89. package/dist/chunks/bmtmBidAdapter.js +1 -1
  90. package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
  91. package/dist/chunks/bridBidAdapter.js +1 -1
  92. package/dist/chunks/bridBidAdapter.metadata.js +1 -1
  93. package/dist/chunks/bridgewellBidAdapter.js +1 -1
  94. package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
  95. package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
  96. package/dist/chunks/carodaBidAdapter.js +1 -1
  97. package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
  98. package/dist/chunks/categoryTranslation.metadata.js +1 -1
  99. package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
  100. package/dist/chunks/ceeIdSystem.metadata.js +1 -1
  101. package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
  102. package/dist/chunks/chtnwBidAdapter.js +1 -1
  103. package/dist/chunks/chunk-core.js +1 -1
  104. package/dist/chunks/compassBidAdapter.metadata.js +1 -1
  105. package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
  106. package/dist/chunks/concertBidAdapter.js +1 -1
  107. package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
  108. package/dist/chunks/connectIdSystem.metadata.js +1 -1
  109. package/dist/chunks/connectadBidAdapter.js +1 -1
  110. package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
  111. package/dist/chunks/consumableBidAdapter.js +1 -1
  112. package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
  113. package/dist/chunks/contxtfulBidAdapter.js +1 -1
  114. package/dist/chunks/conversantBidAdapter.js +1 -1
  115. package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
  116. package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
  117. package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
  118. package/dist/chunks/craftBidAdapter.js +1 -1
  119. package/dist/chunks/creative-renderer-display.js +1 -1
  120. package/dist/chunks/criteoBidAdapter.js +1 -1
  121. package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
  122. package/dist/chunks/criteoIdSystem.metadata.js +1 -1
  123. package/dist/chunks/cryptoUtils.js +1 -0
  124. package/dist/chunks/cwireBidAdapter.js +1 -1
  125. package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
  126. package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
  127. package/dist/chunks/dailymotionBidAdapter.js +1 -1
  128. package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
  129. package/dist/chunks/debugging-standalone.js +1 -1
  130. package/dist/chunks/debugging.metadata.js +1 -1
  131. package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
  132. package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
  133. package/dist/chunks/dependencies.json +13 -0
  134. package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
  135. package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
  136. package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
  137. package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
  138. package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
  139. package/dist/chunks/dspxBidAdapter.js +1 -1
  140. package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
  141. package/dist/chunks/dxkultureBidAdapter.js +1 -1
  142. package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
  143. package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
  144. package/dist/chunks/eplanningBidAdapter.js +1 -1
  145. package/dist/chunks/equativBidAdapter.js +1 -1
  146. package/dist/chunks/equativBidAdapter.metadata.js +1 -1
  147. package/dist/chunks/eskimiBidAdapter.js +1 -1
  148. package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
  149. package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
  150. package/dist/chunks/euidIdSystem.js +1 -1
  151. package/dist/chunks/euidIdSystem.metadata.js +1 -1
  152. package/dist/chunks/exadsBidAdapter.js +1 -1
  153. package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
  154. package/dist/chunks/excoBidAdapter.js +1 -1
  155. package/dist/chunks/feedadBidAdapter.js +1 -1
  156. package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
  157. package/dist/chunks/finativeBidAdapter.js +1 -1
  158. package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
  159. package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
  160. package/dist/chunks/getintentBidAdapter.js +1 -1
  161. package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
  162. package/dist/chunks/gmosspBidAdapter.js +1 -1
  163. package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
  164. package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
  165. package/dist/chunks/greenbidsBidAdapter.js +1 -1
  166. package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
  167. package/dist/chunks/greenbidsRtdProvider.js +1 -1
  168. package/dist/chunks/gridBidAdapter.js +1 -1
  169. package/dist/chunks/gridBidAdapter.metadata.js +1 -1
  170. package/dist/chunks/gumgumBidAdapter.js +1 -1
  171. package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
  172. package/dist/chunks/h12mediaBidAdapter.js +1 -1
  173. package/dist/chunks/hadronIdSystem.metadata.js +1 -1
  174. package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
  175. package/dist/chunks/holidBidAdapter.metadata.js +1 -1
  176. package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
  177. package/dist/chunks/hypelabBidAdapter.js +1 -1
  178. package/dist/chunks/iasRtdProvider.js +1 -1
  179. package/dist/chunks/id5AnalyticsAdapter.js +1 -1
  180. package/dist/chunks/id5IdSystem.js +1 -1
  181. package/dist/chunks/id5IdSystem.metadata.js +1 -1
  182. package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
  183. package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
  184. package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
  185. package/dist/chunks/improvedigitalBidAdapter.js +1 -1
  186. package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
  187. package/dist/chunks/inmobiBidAdapter.js +1 -1
  188. package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
  189. package/dist/chunks/innityBidAdapter.metadata.js +1 -1
  190. package/dist/chunks/insticatorBidAdapter.js +1 -1
  191. package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
  192. package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
  193. package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
  194. package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
  195. package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
  196. package/dist/chunks/ixBidAdapter.js +1 -1
  197. package/dist/chunks/ixBidAdapter.metadata.js +1 -1
  198. package/dist/chunks/jixieBidAdapter.js +1 -1
  199. package/dist/chunks/justIdSystem.metadata.js +1 -1
  200. package/dist/chunks/justpremiumBidAdapter.js +1 -1
  201. package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
  202. package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
  203. package/dist/chunks/jwplayerRtdProvider.js +1 -1
  204. package/dist/chunks/jwplayerVideoProvider.js +1 -1
  205. package/dist/chunks/kargoBidAdapter.js +1 -1
  206. package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
  207. package/dist/chunks/kimberliteBidAdapter.js +1 -1
  208. package/dist/chunks/kubientBidAdapter.js +1 -1
  209. package/dist/chunks/kubientBidAdapter.metadata.js +1 -1
  210. package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
  211. package/dist/chunks/lassoBidAdapter.js +1 -1
  212. package/dist/chunks/lifestreetBidAdapter.js +1 -1
  213. package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
  214. package/dist/chunks/liveIntentId.js +1 -1
  215. package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
  216. package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
  217. package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
  218. package/dist/chunks/logicadBidAdapter.js +1 -1
  219. package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
  220. package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
  221. package/dist/chunks/luceadBidAdapter.js +1 -1
  222. package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
  223. package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
  224. package/dist/chunks/mabidderBidAdapter.js +1 -1
  225. package/dist/chunks/madsenseBidAdapter.js +1 -1
  226. package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
  227. package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
  228. package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
  229. package/dist/chunks/marsmediaBidAdapter.js +1 -1
  230. package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
  231. package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
  232. package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
  233. package/dist/chunks/mediafuseBidAdapter.js +1 -1
  234. package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
  235. package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
  236. package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
  237. package/dist/chunks/medianetBidAdapter.js +1 -1
  238. package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
  239. package/dist/chunks/medianetUtils.js +1 -1
  240. package/dist/chunks/mediasquareBidAdapter.js +1 -1
  241. package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
  242. package/dist/chunks/mgidBidAdapter.js +1 -1
  243. package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
  244. package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
  245. package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
  246. package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
  247. package/dist/chunks/missenaBidAdapter.js +1 -1
  248. package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
  249. package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
  250. package/dist/chunks/mobilefuseBidAdapter.js +1 -1
  251. package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
  252. package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
  253. package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
  254. package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
  255. package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
  256. package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
  257. package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
  258. package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
  259. package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
  260. package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
  261. package/dist/chunks/nexx360Utils.js +1 -1
  262. package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
  263. package/dist/chunks/nobidBidAdapter.js +1 -1
  264. package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
  265. package/dist/chunks/nodalsAiRtdProvider.js +1 -1
  266. package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
  267. package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
  268. package/dist/chunks/oguryBidAdapter.js +1 -1
  269. package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
  270. package/dist/chunks/omsBidAdapter.metadata.js +1 -1
  271. package/dist/chunks/onetagBidAdapter.js +1 -1
  272. package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
  273. package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
  274. package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
  275. package/dist/chunks/openxBidAdapter.js +1 -1
  276. package/dist/chunks/openxBidAdapter.metadata.js +1 -1
  277. package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
  278. package/dist/chunks/optidigitalBidAdapter.js +1 -1
  279. package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
  280. package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
  281. package/dist/chunks/orbidderBidAdapter.js +1 -1
  282. package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
  283. package/dist/chunks/outbrainBidAdapter.js +1 -1
  284. package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
  285. package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
  286. package/dist/chunks/pairIdSystem.metadata.js +1 -1
  287. package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
  288. package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
  289. package/dist/chunks/pixfutureBidAdapter.js +1 -1
  290. package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
  291. package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
  292. package/dist/chunks/prebid-core.metadata.js +1 -1
  293. package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
  294. package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
  295. package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
  296. package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
  297. package/dist/chunks/publinkIdSystem.js +1 -1
  298. package/dist/chunks/publinkIdSystem.metadata.js +1 -1
  299. package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
  300. package/dist/chunks/pubmaticBidAdapter.js +1 -1
  301. package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
  302. package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
  303. package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
  304. package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
  305. package/dist/chunks/pulsepointBidAdapter.js +1 -1
  306. package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
  307. package/dist/chunks/pwbidBidAdapter.metadata.js +1 -1
  308. package/dist/chunks/pxyzBidAdapter.js +1 -1
  309. package/dist/chunks/qtBidAdapter.metadata.js +1 -1
  310. package/dist/chunks/quantcastBidAdapter.js +1 -1
  311. package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
  312. package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
  313. package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
  314. package/dist/chunks/raynRtdProvider.metadata.js +1 -1
  315. package/dist/chunks/readpeakBidAdapter.js +1 -1
  316. package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
  317. package/dist/chunks/relaidoBidAdapter.js +1 -1
  318. package/dist/chunks/relayBidAdapter.metadata.js +1 -1
  319. package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
  320. package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
  321. package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
  322. package/dist/chunks/retailspotBidAdapter.js +1 -1
  323. package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
  324. package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
  325. package/dist/chunks/rhythmoneBidAdapter.js +1 -1
  326. package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
  327. package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
  328. package/dist/chunks/riseBidAdapter.metadata.js +1 -1
  329. package/dist/chunks/riseUtils.js +1 -1
  330. package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
  331. package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
  332. package/dist/chunks/rubiconBidAdapter.js +1 -1
  333. package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
  334. package/dist/chunks/rumbleBidAdapter.js +1 -0
  335. package/dist/chunks/rumbleBidAdapter.metadata.js +1 -0
  336. package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
  337. package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
  338. package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
  339. package/dist/chunks/seedtagBidAdapter.js +1 -1
  340. package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
  341. package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
  342. package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
  343. package/dist/chunks/sevioBidAdapter.js +1 -0
  344. package/dist/chunks/sevioBidAdapter.metadata.js +1 -0
  345. package/dist/chunks/sharedIdSystem.metadata.js +1 -1
  346. package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
  347. package/dist/chunks/sharethroughBidAdapter.js +1 -1
  348. package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
  349. package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
  350. package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
  351. package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
  352. package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
  353. package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
  354. package/dist/chunks/smaatoBidAdapter.js +1 -1
  355. package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
  356. package/dist/chunks/smartadserverBidAdapter.js +1 -1
  357. package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
  358. package/dist/chunks/smartxBidAdapter.js +1 -1
  359. package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
  360. package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
  361. package/dist/chunks/smilewantedBidAdapter.js +1 -1
  362. package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
  363. package/dist/chunks/snigelBidAdapter.js +1 -1
  364. package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
  365. package/dist/chunks/sonaradsBidAdapter.js +1 -1
  366. package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
  367. package/dist/chunks/sonobiBidAdapter.js +1 -1
  368. package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
  369. package/dist/chunks/sovrnBidAdapter.js +1 -1
  370. package/dist/chunks/sovrnBidAdapter.metadata.js +1 -1
  371. package/dist/chunks/sparteoBidAdapter.js +1 -1
  372. package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
  373. package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
  374. package/dist/chunks/sspBCBidAdapter.js +1 -1
  375. package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
  376. package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
  377. package/dist/chunks/startioBidAdapter.metadata.js +1 -1
  378. package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
  379. package/dist/chunks/stvBidAdapter.js +1 -1
  380. package/dist/chunks/stvBidAdapter.metadata.js +1 -1
  381. package/dist/chunks/sublimeBidAdapter.js +1 -1
  382. package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
  383. package/dist/chunks/taboolaBidAdapter.js +1 -1
  384. package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
  385. package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
  386. package/dist/chunks/tappxBidAdapter.js +1 -1
  387. package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
  388. package/dist/chunks/targetVideoBidAdapter.js +1 -1
  389. package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
  390. package/dist/chunks/teadsBidAdapter.js +1 -1
  391. package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
  392. package/dist/chunks/teadsIdSystem.metadata.js +1 -1
  393. package/dist/chunks/tealBidAdapter.metadata.js +1 -1
  394. package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
  395. package/dist/chunks/themoneytizerBidAdapter.js +1 -1
  396. package/dist/chunks/themoneytizerBidAdapter.metadata.js +1 -1
  397. package/dist/chunks/tncIdSystem.metadata.js +1 -1
  398. package/dist/chunks/topicsFpdModule.metadata.js +1 -1
  399. package/dist/chunks/trionBidAdapter.js +1 -1
  400. package/dist/chunks/tripleliftBidAdapter.js +1 -1
  401. package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
  402. package/dist/chunks/ttdBidAdapter.js +1 -1
  403. package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
  404. package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
  405. package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
  406. package/dist/chunks/uid2IdSystem.js +1 -1
  407. package/dist/chunks/underdogmediaBidAdapter.js +1 -1
  408. package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
  409. package/dist/chunks/undertoneBidAdapter.js +1 -1
  410. package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
  411. package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
  412. package/dist/chunks/unrulyBidAdapter.js +1 -1
  413. package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
  414. package/dist/chunks/userId.js +1 -1
  415. package/dist/chunks/userId.metadata.js +1 -1
  416. package/dist/chunks/validationFpdModule.metadata.js +1 -1
  417. package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
  418. package/dist/chunks/vidazooUtils.js +1 -1
  419. package/dist/chunks/videobyteBidAdapter.js +1 -1
  420. package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
  421. package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
  422. package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
  423. package/dist/chunks/visxBidAdapter.js +1 -1
  424. package/dist/chunks/visxBidAdapter.metadata.js +1 -1
  425. package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
  426. package/dist/chunks/voxBidAdapter.metadata.js +1 -1
  427. package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
  428. package/dist/chunks/vuukleBidAdapter.js +1 -1
  429. package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
  430. package/dist/chunks/weboramaRtdProvider.js +1 -1
  431. package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
  432. package/dist/chunks/welectBidAdapter.metadata.js +1 -1
  433. package/dist/chunks/widespaceBidAdapter.js +1 -1
  434. package/dist/chunks/winrBidAdapter.js +1 -1
  435. package/dist/chunks/yahooAdsBidAdapter.js +1 -1
  436. package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
  437. package/dist/chunks/yandexBidAdapter.js +1 -1
  438. package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
  439. package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
  440. package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
  441. package/dist/chunks/yieldmoBidAdapter.js +1 -1
  442. package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
  443. package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
  444. package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
  445. package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
  446. package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
  447. package/dist/not-for-prod/prebid.js +443 -438
  448. package/dist/src/creative/renderers/display/renderer.js +3 -4
  449. package/dist/src/creative/renderers/display/renderer.js.map +1 -1
  450. package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
  451. package/dist/src/libraries/analyticsAdapter/AnalyticsAdapter.js.map +1 -1
  452. package/dist/src/libraries/appnexusUtils/anKeywords.js +15 -1
  453. package/dist/src/libraries/appnexusUtils/anKeywords.js.map +1 -1
  454. package/dist/src/libraries/consentManagement/cmUtils.js.map +1 -1
  455. package/dist/src/libraries/creative-renderer-display/renderer.d.ts +1 -1
  456. package/dist/src/libraries/creative-renderer-display/renderer.js +1 -1
  457. package/dist/src/libraries/creative-renderer-display/renderer.js.map +1 -1
  458. package/dist/src/libraries/cryptoUtils/wallets.js +14 -0
  459. package/dist/src/libraries/cryptoUtils/wallets.js.map +1 -0
  460. package/dist/src/libraries/dspxUtils/bidderUtils.js.map +1 -1
  461. package/dist/src/libraries/impUtils.js +36 -0
  462. package/dist/src/libraries/impUtils.js.map +1 -0
  463. package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
  464. package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
  465. package/dist/src/libraries/liveIntentId/shared.js +20 -0
  466. package/dist/src/libraries/liveIntentId/shared.js.map +1 -1
  467. package/dist/src/libraries/medianetUtils/constants.js +1 -1
  468. package/dist/src/libraries/nexx360Utils/index.js +1 -1
  469. package/dist/src/libraries/nexx360Utils/index.js.map +1 -1
  470. package/dist/src/libraries/ortbConverter/converter.js.map +1 -1
  471. package/dist/src/libraries/riseUtils/index.js +1 -1
  472. package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
  473. package/dist/src/libraries/video/constants/events.js.map +1 -1
  474. package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
  475. package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
  476. package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
  477. package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
  478. package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
  479. package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
  480. package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
  481. package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
  482. package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
  483. package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
  484. package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
  485. package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
  486. package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
  487. package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
  488. package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
  489. package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
  490. package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
  491. package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
  492. package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
  493. package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
  494. package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
  495. package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
  496. package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
  497. package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
  498. package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
  499. package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
  500. package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
  501. package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
  502. package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
  503. package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
  504. package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
  505. package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
  506. package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
  507. package/dist/src/metadata/modules/amxIdSystem.js +1 -1
  508. package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
  509. package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
  510. package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
  511. package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
  512. package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
  513. package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
  514. package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
  515. package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
  516. package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
  517. package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
  518. package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
  519. package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
  520. package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
  521. package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
  522. package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
  523. package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
  524. package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
  525. package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
  526. package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
  527. package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
  528. package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
  529. package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
  530. package/dist/src/metadata/modules/categoryTranslation.js +1 -1
  531. package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
  532. package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
  533. package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
  534. package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
  535. package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
  536. package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
  537. package/dist/src/metadata/modules/connectIdSystem.js +1 -1
  538. package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
  539. package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
  540. package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
  541. package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
  542. package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
  543. package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
  544. package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
  545. package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
  546. package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
  547. package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
  548. package/dist/src/metadata/modules/debugging.js +1 -1
  549. package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
  550. package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
  551. package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
  552. package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
  553. package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
  554. package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
  555. package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
  556. package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
  557. package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
  558. package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
  559. package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
  560. package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
  561. package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
  562. package/dist/src/metadata/modules/euidIdSystem.js +1 -1
  563. package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
  564. package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
  565. package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
  566. package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
  567. package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
  568. package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
  569. package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
  570. package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
  571. package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
  572. package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
  573. package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
  574. package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
  575. package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
  576. package/dist/src/metadata/modules/id5IdSystem.js +1 -1
  577. package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
  578. package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
  579. package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
  580. package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
  581. package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
  582. package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
  583. package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
  584. package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
  585. package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
  586. package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
  587. package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
  588. package/dist/src/metadata/modules/justIdSystem.js +1 -1
  589. package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
  590. package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
  591. package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
  592. package/dist/src/metadata/modules/kubientBidAdapter.js +1 -1
  593. package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
  594. package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
  595. package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
  596. package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
  597. package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
  598. package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
  599. package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
  600. package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
  601. package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
  602. package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
  603. package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
  604. package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
  605. package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
  606. package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
  607. package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
  608. package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
  609. package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
  610. package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
  611. package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
  612. package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
  613. package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
  614. package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
  615. package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
  616. package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
  617. package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
  618. package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
  619. package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
  620. package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
  621. package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
  622. package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
  623. package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
  624. package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
  625. package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
  626. package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
  627. package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
  628. package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
  629. package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
  630. package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
  631. package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
  632. package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
  633. package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
  634. package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
  635. package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
  636. package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
  637. package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
  638. package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
  639. package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
  640. package/dist/src/metadata/modules/pairIdSystem.js +1 -1
  641. package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
  642. package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
  643. package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
  644. package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
  645. package/dist/src/metadata/modules/prebid-core.js +1 -1
  646. package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
  647. package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
  648. package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
  649. package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
  650. package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
  651. package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
  652. package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
  653. package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
  654. package/dist/src/metadata/modules/pwbidBidAdapter.js +1 -1
  655. package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
  656. package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
  657. package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
  658. package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
  659. package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
  660. package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
  661. package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
  662. package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
  663. package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
  664. package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
  665. package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
  666. package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
  667. package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
  668. package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
  669. package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
  670. package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
  671. package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
  672. package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
  673. package/dist/src/metadata/modules/rumbleBidAdapter.js +2 -0
  674. package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
  675. package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
  676. package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
  677. package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
  678. package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
  679. package/dist/src/metadata/modules/sevioBidAdapter.js +2 -0
  680. package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
  681. package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
  682. package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
  683. package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
  684. package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
  685. package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
  686. package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
  687. package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
  688. package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
  689. package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
  690. package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
  691. package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
  692. package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
  693. package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
  694. package/dist/src/metadata/modules/sovrnBidAdapter.js +1 -1
  695. package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
  696. package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
  697. package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
  698. package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
  699. package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
  700. package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
  701. package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
  702. package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
  703. package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
  704. package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
  705. package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
  706. package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
  707. package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
  708. package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
  709. package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
  710. package/dist/src/metadata/modules/themoneytizerBidAdapter.js +1 -1
  711. package/dist/src/metadata/modules/tncIdSystem.js +1 -1
  712. package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
  713. package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
  714. package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
  715. package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
  716. package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
  717. package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
  718. package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
  719. package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
  720. package/dist/src/metadata/modules/userId.js +1 -1
  721. package/dist/src/metadata/modules/validationFpdModule.js +1 -1
  722. package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
  723. package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
  724. package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
  725. package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
  726. package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
  727. package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
  728. package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
  729. package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
  730. package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
  731. package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
  732. package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
  733. package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
  734. package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
  735. package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
  736. package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
  737. package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
  738. package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
  739. package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
  740. package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
  741. package/dist/src/modules/1plusXRtdProvider.js +6 -2
  742. package/dist/src/modules/1plusXRtdProvider.js.map +1 -1
  743. package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
  744. package/dist/src/modules/33acrossBidAdapter.js +1 -1
  745. package/dist/src/modules/33acrossIdSystem.js +1 -1
  746. package/dist/src/modules/adWMGBidAdapter.js.map +1 -1
  747. package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
  748. package/dist/src/modules/adagioBidAdapter.js +1 -1
  749. package/dist/src/modules/addefendBidAdapter.js +1 -1
  750. package/dist/src/modules/adgenerationBidAdapter.js +1 -1
  751. package/dist/src/modules/adlooxRtdProvider.js +1 -1
  752. package/dist/src/modules/admixerBidAdapter.js +5 -4
  753. package/dist/src/modules/admixerBidAdapter.js.map +1 -1
  754. package/dist/src/modules/adqueryBidAdapter.js +1 -1
  755. package/dist/src/modules/adrelevantisBidAdapter.js +1 -1
  756. package/dist/src/modules/adspiritBidAdapter.js.map +1 -1
  757. package/dist/src/modules/adstirBidAdapter.js +1 -1
  758. package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
  759. package/dist/src/modules/adtrgtmeBidAdapter.js.map +1 -1
  760. package/dist/src/modules/advertisingBidAdapter.js +2 -2
  761. package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
  762. package/dist/src/modules/adxcgBidAdapter.js +4 -39
  763. package/dist/src/modules/adxcgBidAdapter.js.map +1 -1
  764. package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
  765. package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
  766. package/dist/src/modules/ajaBidAdapter.js +1 -1
  767. package/dist/src/modules/amxBidAdapter.js +2 -2
  768. package/dist/src/modules/amxBidAdapter.js.map +1 -1
  769. package/dist/src/modules/amxIdSystem.js +1 -1
  770. package/dist/src/modules/aniviewBidAdapter.js +1 -1
  771. package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
  772. package/dist/src/modules/appnexusBidAdapter.js +2 -2
  773. package/dist/src/modules/asoBidAdapter.js +1 -1
  774. package/dist/src/modules/axonixBidAdapter.js +1 -1
  775. package/dist/src/modules/beopBidAdapter.js +2 -2
  776. package/dist/src/modules/bidglassBidAdapter.js +1 -1
  777. package/dist/src/modules/bitmediaBidAdapter.js +1 -1
  778. package/dist/src/modules/blockthroughBidAdapter.js +1 -1
  779. package/dist/src/modules/bmtmBidAdapter.js +1 -1
  780. package/dist/src/modules/bridBidAdapter.js +1 -1
  781. package/dist/src/modules/bridgewellBidAdapter.js +1 -1
  782. package/dist/src/modules/carodaBidAdapter.js +1 -1
  783. package/dist/src/modules/chromeAiRtdProvider.js.map +1 -1
  784. package/dist/src/modules/chtnwBidAdapter.js +1 -1
  785. package/dist/src/modules/concertBidAdapter.js +1 -1
  786. package/dist/src/modules/connectadBidAdapter.js +1 -1
  787. package/dist/src/modules/consentManagementGpp.js.map +1 -1
  788. package/dist/src/modules/consentManagementTcf.js.map +1 -1
  789. package/dist/src/modules/consentManagementUsp.js.map +1 -1
  790. package/dist/src/modules/consumableBidAdapter.js +1 -1
  791. package/dist/src/modules/contxtfulBidAdapter.js +1 -1
  792. package/dist/src/modules/conversantBidAdapter.js +1 -1
  793. package/dist/src/modules/craftBidAdapter.js +1 -1
  794. package/dist/src/modules/criteoBidAdapter.js +2 -2
  795. package/dist/src/modules/currency.js.map +1 -1
  796. package/dist/src/modules/cwireBidAdapter.js +1 -1
  797. package/dist/src/modules/cwireBidAdapter.js.map +1 -1
  798. package/dist/src/modules/dailymotionBidAdapter.js +1 -1
  799. package/dist/src/modules/dailymotionBidAdapter.js.map +1 -1
  800. package/dist/src/modules/dchain.js.map +1 -1
  801. package/dist/src/modules/dspxBidAdapter.js +1 -1
  802. package/dist/src/modules/dspxBidAdapter.js.map +1 -1
  803. package/dist/src/modules/dxkultureBidAdapter.js +1 -1
  804. package/dist/src/modules/eightPodBidAdapter.js.map +1 -1
  805. package/dist/src/modules/eplanningBidAdapter.js +1 -1
  806. package/dist/src/modules/equativBidAdapter.js +1 -1
  807. package/dist/src/modules/eskimiBidAdapter.js +1 -1
  808. package/dist/src/modules/euidIdSystem.js +1 -1
  809. package/dist/src/modules/exadsBidAdapter.js +1 -1
  810. package/dist/src/modules/excoBidAdapter.js +3 -3
  811. package/dist/src/modules/feedadBidAdapter.js +2 -2
  812. package/dist/src/modules/finativeBidAdapter.js +1 -1
  813. package/dist/src/modules/genericAnalyticsAdapter.js.map +1 -1
  814. package/dist/src/modules/geolocationRtdProvider.js.map +1 -1
  815. package/dist/src/modules/getintentBidAdapter.js +4 -2
  816. package/dist/src/modules/getintentBidAdapter.js.map +1 -1
  817. package/dist/src/modules/gmosspBidAdapter.js +1 -1
  818. package/dist/src/modules/gmosspBidAdapter.js.map +1 -1
  819. package/dist/src/modules/gppControl_usstates.js.map +1 -1
  820. package/dist/src/modules/gptPreAuction.d.ts +3 -3
  821. package/dist/src/modules/gptPreAuction.js.map +1 -1
  822. package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
  823. package/dist/src/modules/greenbidsBidAdapter.js +1 -1
  824. package/dist/src/modules/greenbidsRtdProvider.js +1 -1
  825. package/dist/src/modules/gridBidAdapter.js +2 -2
  826. package/dist/src/modules/gumgumBidAdapter.js +2 -2
  827. package/dist/src/modules/h12mediaBidAdapter.js +1 -1
  828. package/dist/src/modules/hypelabBidAdapter.js +1 -1
  829. package/dist/src/modules/iasRtdProvider.js +110 -5
  830. package/dist/src/modules/iasRtdProvider.js.map +1 -1
  831. package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
  832. package/dist/src/modules/id5IdSystem.js +1 -1
  833. package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
  834. package/dist/src/modules/inmobiBidAdapter.js +1 -1
  835. package/dist/src/modules/insticatorBidAdapter.js +1 -1
  836. package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
  837. package/dist/src/modules/intentIqAnalyticsAdapter.js.map +1 -1
  838. package/dist/src/modules/intentIqIdSystem.js.map +1 -1
  839. package/dist/src/modules/ixBidAdapter.js +1 -1
  840. package/dist/src/modules/jixieBidAdapter.js +1 -1
  841. package/dist/src/modules/justpremiumBidAdapter.js +1 -1
  842. package/dist/src/modules/jwplayerRtdProvider.js +6 -2
  843. package/dist/src/modules/jwplayerRtdProvider.js.map +1 -1
  844. package/dist/src/modules/jwplayerVideoProvider.js +12 -9
  845. package/dist/src/modules/jwplayerVideoProvider.js.map +1 -1
  846. package/dist/src/modules/kargoBidAdapter.js +1 -1
  847. package/dist/src/modules/kimberliteBidAdapter.js +1 -1
  848. package/dist/src/modules/kubientBidAdapter.js +0 -1
  849. package/dist/src/modules/kubientBidAdapter.js.map +1 -1
  850. package/dist/src/modules/lassoBidAdapter.js +1 -1
  851. package/dist/src/modules/lifestreetBidAdapter.js +1 -1
  852. package/dist/src/modules/logicadBidAdapter.js +1 -1
  853. package/dist/src/modules/luceadBidAdapter.js +1 -1
  854. package/dist/src/modules/mabidderBidAdapter.js +1 -1
  855. package/dist/src/modules/madsenseBidAdapter.js +1 -1
  856. package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
  857. package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
  858. package/dist/src/modules/marsmediaBidAdapter.js +1 -1
  859. package/dist/src/modules/mediafuseBidAdapter.js +2 -2
  860. package/dist/src/modules/medianetAnalyticsAdapter.js.map +1 -1
  861. package/dist/src/modules/medianetBidAdapter.js +6 -2
  862. package/dist/src/modules/medianetBidAdapter.js.map +1 -1
  863. package/dist/src/modules/mediasquareBidAdapter.js +2 -2
  864. package/dist/src/modules/mgidBidAdapter.js +1 -1
  865. package/dist/src/modules/michaoBidAdapter.js.map +1 -1
  866. package/dist/src/modules/missenaBidAdapter.js +1 -1
  867. package/dist/src/modules/mobilefuseBidAdapter.js +1 -1
  868. package/dist/src/modules/multibid/index.js.map +1 -1
  869. package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
  870. package/dist/src/modules/nexverseBidAdapter.js.map +1 -1
  871. package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
  872. package/dist/src/modules/nobidBidAdapter.js +1 -1
  873. package/dist/src/modules/nodalsAiRtdProvider.js +4 -2
  874. package/dist/src/modules/nodalsAiRtdProvider.js.map +1 -1
  875. package/dist/src/modules/oguryBidAdapter.js +1 -1
  876. package/dist/src/modules/onetagBidAdapter.js +1 -1
  877. package/dist/src/modules/onetagBidAdapter.js.map +1 -1
  878. package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
  879. package/dist/src/modules/openxBidAdapter.js +7 -2
  880. package/dist/src/modules/openxBidAdapter.js.map +1 -1
  881. package/dist/src/modules/optidigitalBidAdapter.js +1 -1
  882. package/dist/src/modules/orbidderBidAdapter.js +1 -1
  883. package/dist/src/modules/outbrainBidAdapter.js +1 -1
  884. package/dist/src/modules/pixfutureBidAdapter.js +2 -2
  885. package/dist/src/modules/prebidServerBidAdapter/index.js.map +1 -1
  886. package/dist/src/modules/priceFloors.d.ts +2 -2
  887. package/dist/src/modules/priceFloors.js.map +1 -1
  888. package/dist/src/modules/publinkIdSystem.js +1 -1
  889. package/dist/src/modules/pubmaticAnalyticsAdapter.js +2 -2
  890. package/dist/src/modules/pubmaticBidAdapter.js +23 -3
  891. package/dist/src/modules/pubmaticBidAdapter.js.map +1 -1
  892. package/dist/src/modules/pubmaticRtdProvider.js.map +1 -1
  893. package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
  894. package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
  895. package/dist/src/modules/pulsepointBidAdapter.js +2 -38
  896. package/dist/src/modules/pulsepointBidAdapter.js.map +1 -1
  897. package/dist/src/modules/pxyzBidAdapter.js +1 -1
  898. package/dist/src/modules/quantcastBidAdapter.js +1 -1
  899. package/dist/src/modules/readpeakBidAdapter.js +1 -1
  900. package/dist/src/modules/readpeakBidAdapter.js.map +1 -1
  901. package/dist/src/modules/relaidoBidAdapter.js +1 -1
  902. package/dist/src/modules/retailspotBidAdapter.js +1 -1
  903. package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
  904. package/dist/src/modules/rtdModule/index.js.map +1 -1
  905. package/dist/src/modules/rtdModule/spec.js.map +1 -1
  906. package/dist/src/modules/rubiconBidAdapter.js +6 -2
  907. package/dist/src/modules/rubiconBidAdapter.js.map +1 -1
  908. package/dist/src/modules/rumbleBidAdapter.js +103 -0
  909. package/dist/src/modules/rumbleBidAdapter.js.map +1 -0
  910. package/dist/src/modules/schain.js.map +1 -1
  911. package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
  912. package/dist/src/modules/seedtagBidAdapter.js +1 -1
  913. package/dist/src/modules/sevioBidAdapter.js +254 -0
  914. package/dist/src/modules/sevioBidAdapter.js.map +1 -0
  915. package/dist/src/modules/sharedIdSystem.js.map +1 -1
  916. package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
  917. package/dist/src/modules/sharethroughBidAdapter.js +1 -1
  918. package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
  919. package/dist/src/modules/smaatoBidAdapter.js +1 -1
  920. package/dist/src/modules/smartadserverBidAdapter.js +1 -1
  921. package/dist/src/modules/smartxBidAdapter.js +1 -1
  922. package/dist/src/modules/smilewantedBidAdapter.js +1 -1
  923. package/dist/src/modules/snigelBidAdapter.js +1 -1
  924. package/dist/src/modules/sonaradsBidAdapter.js +2 -2
  925. package/dist/src/modules/sonobiBidAdapter.js +1 -1
  926. package/dist/src/modules/sovrnBidAdapter.js +1 -1
  927. package/dist/src/modules/sparteoBidAdapter.js +1 -1
  928. package/dist/src/modules/sspBCBidAdapter.js +1 -1
  929. package/dist/src/modules/storageControl.js.map +1 -1
  930. package/dist/src/modules/stvBidAdapter.js +1 -1
  931. package/dist/src/modules/sublimeBidAdapter.js +2 -2
  932. package/dist/src/modules/taboolaBidAdapter.js +1 -1
  933. package/dist/src/modules/tappxBidAdapter.js +1 -1
  934. package/dist/src/modules/targetVideoBidAdapter.js +1 -1
  935. package/dist/src/modules/tcfControl.js.map +1 -1
  936. package/dist/src/modules/teadsBidAdapter.js +1 -1
  937. package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
  938. package/dist/src/modules/themoneytizerBidAdapter.js +1 -3
  939. package/dist/src/modules/themoneytizerBidAdapter.js.map +1 -1
  940. package/dist/src/modules/trionBidAdapter.js +1 -1
  941. package/dist/src/modules/tripleliftBidAdapter.js +1 -1
  942. package/dist/src/modules/ttdBidAdapter.js +9 -2
  943. package/dist/src/modules/ttdBidAdapter.js.map +1 -1
  944. package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
  945. package/dist/src/modules/uid2IdSystem.js +1 -1
  946. package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
  947. package/dist/src/modules/undertoneBidAdapter.js +1 -1
  948. package/dist/src/modules/unrulyBidAdapter.js +1 -1
  949. package/dist/src/modules/userId/index.js +12 -8
  950. package/dist/src/modules/userId/index.js.map +1 -1
  951. package/dist/src/modules/userId/spec.js.map +1 -1
  952. package/dist/src/modules/validationFpdModule/index.js.map +1 -1
  953. package/dist/src/modules/videoModule/index.js.map +1 -1
  954. package/dist/src/modules/videobyteBidAdapter.js +1 -1
  955. package/dist/src/modules/visxBidAdapter.js +1 -1
  956. package/dist/src/modules/vuukleBidAdapter.js +1 -1
  957. package/dist/src/modules/weboramaRtdProvider.js +30 -11
  958. package/dist/src/modules/weboramaRtdProvider.js.map +1 -1
  959. package/dist/src/modules/welectBidAdapter.js.map +1 -1
  960. package/dist/src/modules/widespaceBidAdapter.js +1 -1
  961. package/dist/src/modules/winrBidAdapter.js +1 -1
  962. package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
  963. package/dist/src/modules/yandexBidAdapter.js +47 -15
  964. package/dist/src/modules/yandexBidAdapter.js.map +1 -1
  965. package/dist/src/modules/yieldmoBidAdapter.js +2 -2
  966. package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
  967. package/dist/src/package.json +2 -3
  968. package/dist/src/public/rumbleBidAdapter.js +1 -0
  969. package/dist/src/public/sevioBidAdapter.js +1 -0
  970. package/dist/src/src/activities/params.d.ts +5 -0
  971. package/dist/src/src/activities/params.js +6 -0
  972. package/dist/src/src/activities/params.js.map +1 -1
  973. package/dist/src/src/activities/redactor.js.map +1 -1
  974. package/dist/src/src/adRendering.js.map +1 -1
  975. package/dist/src/src/adUnits.js.map +1 -1
  976. package/dist/src/src/adapterManager.js.map +1 -1
  977. package/dist/src/src/adapters/bidderFactory.js.map +1 -1
  978. package/dist/src/src/ajax.js.map +1 -1
  979. package/dist/src/src/auction.js.map +1 -1
  980. package/dist/src/src/banner.js.map +1 -1
  981. package/dist/src/src/bidTTL.js.map +1 -1
  982. package/dist/src/src/bidderSettings.js.map +1 -1
  983. package/dist/src/src/bidfactory.js.map +1 -1
  984. package/dist/src/src/config.js +3 -3
  985. package/dist/src/src/config.js.map +1 -1
  986. package/dist/src/src/consentHandler.js.map +1 -1
  987. package/dist/src/src/constants.js.map +1 -1
  988. package/dist/src/src/cpmBucketManager.js.map +1 -1
  989. package/dist/src/src/debugging.js +1 -1
  990. package/dist/src/src/events.js.map +1 -1
  991. package/dist/src/src/fpd/enrichment.js.map +1 -1
  992. package/dist/src/src/hook.js.map +1 -1
  993. package/dist/src/src/mediaTypes.js.map +1 -1
  994. package/dist/src/src/native.js.map +1 -1
  995. package/dist/src/src/prebid.js +2 -2
  996. package/dist/src/src/prebid.js.map +1 -1
  997. package/dist/src/src/prebidGlobal.js.map +1 -1
  998. package/dist/src/src/refererDetection.js.map +1 -1
  999. package/dist/src/src/storageManager.js +26 -25
  1000. package/dist/src/src/storageManager.js.map +1 -1
  1001. package/dist/src/src/targeting.d.ts +7 -7
  1002. package/dist/src/src/targeting.js.map +1 -1
  1003. package/dist/src/src/types/common.d.js.map +1 -1
  1004. package/dist/src/src/types/common.d.ts +29 -29
  1005. package/dist/src/src/types/local/buildOptions.d.js.map +1 -1
  1006. package/dist/src/src/types/local/shim.d.js.map +1 -1
  1007. package/dist/src/src/types/objects.d.js.map +1 -1
  1008. package/dist/src/src/types/objects.d.ts +15 -15
  1009. package/dist/src/src/types/ortb/common.d.js.map +1 -1
  1010. package/dist/src/src/types/ortb/common.d.ts +1 -1
  1011. package/dist/src/src/types/ortb/ext/dchain.d.js.map +1 -1
  1012. package/dist/src/src/types/ortb/ext/dchain.d.ts +69 -69
  1013. package/dist/src/src/types/ortb/ext/dsa.d.js.map +1 -1
  1014. package/dist/src/src/types/ortb/ext/dsa.d.ts +50 -50
  1015. package/dist/src/src/types/ortb/request.d.js.map +1 -1
  1016. package/dist/src/src/types/ortb/request.d.ts +21 -21
  1017. package/dist/src/src/types/ortb/response.d.js.map +1 -1
  1018. package/dist/src/src/types/ortb/response.d.ts +6 -6
  1019. package/dist/src/src/types/summary/core.d.ts +5 -5
  1020. package/dist/src/src/userSync.js.map +1 -1
  1021. package/dist/src/src/utils/objects.js.map +1 -1
  1022. package/dist/src/src/utils/perfMetrics.js.map +1 -1
  1023. package/dist/src/src/utils/promise.js.map +1 -1
  1024. package/dist/src/src/utils/ttlCollection.js.map +1 -1
  1025. package/dist/src/src/video.js.map +1 -1
  1026. package/dist/src/src/videoCache.js.map +1 -1
  1027. package/dist/src/test/helpers/index_adapter_utils.js +1 -1
  1028. package/dist/src/test/helpers/index_adapter_utils.js.map +1 -1
  1029. package/dist/src/test/helpers/refererDetectionHelper.js.map +1 -1
  1030. package/dist/src/test/mocks/timers.js +12 -12
  1031. package/dist/src/test/mocks/timers.js.map +1 -1
  1032. package/dist/src/test/spec/adloader_spec.js.map +1 -1
  1033. package/dist/src/test/spec/config_spec.js +9 -3
  1034. package/dist/src/test/spec/config_spec.js.map +1 -1
  1035. package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
  1036. package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js.map +1 -1
  1037. package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
  1038. package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js.map +1 -1
  1039. package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
  1040. package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
  1041. package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
  1042. package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
  1043. package/dist/src/test/spec/modules/adgridBidAdapter_spec.js.map +1 -1
  1044. package/dist/src/test/spec/modules/adkernelAdnBidAdapter_spec.js.map +1 -1
  1045. package/dist/src/test/spec/modules/adkernelBidAdapter_spec.js.map +1 -1
  1046. package/dist/src/test/spec/modules/admediaBidAdapter_spec.js.map +1 -1
  1047. package/dist/src/test/spec/modules/adnuntiusBidAdapter_spec.js.map +1 -1
  1048. package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
  1049. package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
  1050. package/dist/src/test/spec/modules/adspiritBidAdapter_spec.js.map +1 -1
  1051. package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
  1052. package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js.map +1 -1
  1053. package/dist/src/test/spec/modules/adtrueBidAdapter_spec.js.map +1 -1
  1054. package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
  1055. package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js.map +1 -1
  1056. package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
  1057. package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
  1058. package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
  1059. package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
  1060. package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
  1061. package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
  1062. package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js.map +1 -1
  1063. package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
  1064. package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
  1065. package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
  1066. package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
  1067. package/dist/src/test/spec/modules/datablocksBidAdapter_spec.js.map +1 -1
  1068. package/dist/src/test/spec/modules/deepintentBidAdapter_spec.js.map +1 -1
  1069. package/dist/src/test/spec/modules/dexertoBidAdapter_spec.js.map +1 -1
  1070. package/dist/src/test/spec/modules/dochaseBidAdapter_spec.js.map +1 -1
  1071. package/dist/src/test/spec/modules/dspxBidAdapter_spec.js.map +1 -1
  1072. package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
  1073. package/dist/src/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js.map +1 -1
  1074. package/dist/src/test/spec/modules/enrichmentLiftMeasurement_spec.js.map +1 -1
  1075. package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
  1076. package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
  1077. package/dist/src/test/spec/modules/equativBidAdapter_spec.js.map +1 -1
  1078. package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
  1079. package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
  1080. package/dist/src/test/spec/modules/finativeBidAdapter_spec.js.map +1 -1
  1081. package/dist/src/test/spec/modules/ftrackIdSystem_spec.js.map +1 -1
  1082. package/dist/src/test/spec/modules/fwsspBidAdapter_spec.js.map +1 -1
  1083. package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
  1084. package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
  1085. package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
  1086. package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
  1087. package/dist/src/test/spec/modules/hypelabBidAdapter_spec.js.map +1 -1
  1088. package/dist/src/test/spec/modules/iasRtdProvider_spec.js +104 -1
  1089. package/dist/src/test/spec/modules/iasRtdProvider_spec.js.map +1 -1
  1090. package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
  1091. package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
  1092. package/dist/src/test/spec/modules/intentIqIdSystem_spec.js.map +1 -1
  1093. package/dist/src/test/spec/modules/invibesBidAdapter_spec.js.map +1 -1
  1094. package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
  1095. package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
  1096. package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
  1097. package/dist/src/test/spec/modules/kargoBidAdapter_spec.js.map +1 -1
  1098. package/dist/src/test/spec/modules/lane4BidAdapter_spec.js.map +1 -1
  1099. package/dist/src/test/spec/modules/lemmaDigitalBidAdapter_spec.js.map +1 -1
  1100. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +29 -10
  1101. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js.map +1 -1
  1102. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js +19 -0
  1103. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js.map +1 -1
  1104. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +58 -1
  1105. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js.map +1 -1
  1106. package/dist/src/test/spec/modules/liveIntentRtdProvider_spec.js.map +1 -1
  1107. package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
  1108. package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
  1109. package/dist/src/test/spec/modules/mediaeyesBidAdapter_spec.js.map +1 -1
  1110. package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
  1111. package/dist/src/test/spec/modules/mediagoBidAdapter_spec.js.map +1 -1
  1112. package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +43 -26
  1113. package/dist/src/test/spec/modules/medianetBidAdapter_spec.js.map +1 -1
  1114. package/dist/src/test/spec/modules/mediasquareBidAdapter_spec.js.map +1 -1
  1115. package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
  1116. package/dist/src/test/spec/modules/nexx360BidAdapter_spec.js.map +1 -1
  1117. package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
  1118. package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
  1119. package/dist/src/test/spec/modules/nobidBidAdapter_spec.js.map +1 -1
  1120. package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
  1121. package/dist/src/test/spec/modules/onetagBidAdapter_spec.js.map +1 -1
  1122. package/dist/src/test/spec/modules/openxBidAdapter_spec.js +113 -0
  1123. package/dist/src/test/spec/modules/openxBidAdapter_spec.js.map +1 -1
  1124. package/dist/src/test/spec/modules/optoutBidAdapter_spec.js.map +1 -1
  1125. package/dist/src/test/spec/modules/orbitsoftBidAdapter_spec.js.map +1 -1
  1126. package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
  1127. package/dist/src/test/spec/modules/oxxionAnalyticsAdapter_spec.js.map +1 -1
  1128. package/dist/src/test/spec/modules/ozoneBidAdapter_spec.js.map +1 -1
  1129. package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
  1130. package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js.map +1 -1
  1131. package/dist/src/test/spec/modules/prismaBidAdapter_spec.js.map +1 -1
  1132. package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
  1133. package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
  1134. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js +58 -0
  1135. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
  1136. package/dist/src/test/spec/modules/pubmaticRtdProvider_spec.js.map +1 -1
  1137. package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
  1138. package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
  1139. package/dist/src/test/spec/modules/pwbidBidAdapter_spec.js.map +1 -1
  1140. package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
  1141. package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
  1142. package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
  1143. package/dist/src/test/spec/modules/relevadRtdProvider_spec.js.map +1 -1
  1144. package/dist/src/test/spec/modules/relevatehealthBidAdapter_spec.js.map +1 -1
  1145. package/dist/src/test/spec/modules/richaudienceBidAdapter_spec.js.map +1 -1
  1146. package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
  1147. package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js.map +1 -1
  1148. package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js +110 -0
  1149. package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js.map +1 -0
  1150. package/dist/src/test/spec/modules/sevioBidAdapter_spec.js +182 -0
  1151. package/dist/src/test/spec/modules/sevioBidAdapter_spec.js.map +1 -0
  1152. package/dist/src/test/spec/modules/smaatoBidAdapter_spec.js.map +1 -1
  1153. package/dist/src/test/spec/modules/smarticoBidAdapter_spec.js.map +1 -1
  1154. package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
  1155. package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
  1156. package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
  1157. package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
  1158. package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
  1159. package/dist/src/test/spec/modules/stvBidAdapter_spec.js.map +1 -1
  1160. package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
  1161. package/dist/src/test/spec/modules/tapnativeBidAdapter_spec.js.map +1 -1
  1162. package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
  1163. package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -5
  1164. package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js.map +1 -1
  1165. package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
  1166. package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +24 -3
  1167. package/dist/src/test/spec/modules/ttdBidAdapter_spec.js.map +1 -1
  1168. package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
  1169. package/dist/src/test/spec/modules/uid2IdSystem_spec.js.map +1 -1
  1170. package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
  1171. package/dist/src/test/spec/modules/userId_spec.js +41 -6
  1172. package/dist/src/test/spec/modules/userId_spec.js.map +1 -1
  1173. package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1738 -9
  1174. package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js.map +1 -1
  1175. package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
  1176. package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
  1177. package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
  1178. package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
  1179. package/dist/src/test/spec/modules/yandexBidAdapter_spec.js +107 -2
  1180. package/dist/src/test/spec/modules/yandexBidAdapter_spec.js.map +1 -1
  1181. package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
  1182. package/dist/src/test/spec/refererDetection_spec.js.map +1 -1
  1183. package/dist/src/test/spec/unit/core/storageManager_spec.js +18 -1
  1184. package/dist/src/test/spec/unit/core/storageManager_spec.js.map +1 -1
  1185. package/dist/src/test/spec/unit/core/targeting_spec.js.map +1 -1
  1186. package/dist/src/test/spec/utils_spec.js.map +1 -1
  1187. package/eslint.config.js +2 -6
  1188. package/gulpfile.js +0 -7
  1189. package/libraries/analyticsAdapter/AnalyticsAdapter.ts +28 -28
  1190. package/libraries/appnexusUtils/anKeywords.js +11 -0
  1191. package/libraries/consentManagement/cmUtils.ts +18 -18
  1192. package/libraries/creative-renderer-display/renderer.js +1 -1
  1193. package/libraries/cryptoUtils/wallets.js +38 -0
  1194. package/libraries/dspxUtils/bidderUtils.js +1 -1
  1195. package/libraries/impUtils.js +33 -0
  1196. package/libraries/liveIntentId/shared.js +16 -0
  1197. package/libraries/nexx360Utils/index.js +8 -8
  1198. package/libraries/ortbConverter/converter.ts +79 -79
  1199. package/libraries/video/constants/events.ts +5 -5
  1200. package/metadata/modules/33acrossBidAdapter.json +1 -1
  1201. package/metadata/modules/33acrossIdSystem.json +1 -1
  1202. package/metadata/modules/acuityadsBidAdapter.json +1 -1
  1203. package/metadata/modules/adagioBidAdapter.json +1 -1
  1204. package/metadata/modules/adagioRtdProvider.json +1 -1
  1205. package/metadata/modules/addefendBidAdapter.json +1 -1
  1206. package/metadata/modules/adfBidAdapter.json +1 -1
  1207. package/metadata/modules/adfusionBidAdapter.json +1 -1
  1208. package/metadata/modules/adheseBidAdapter.json +1 -1
  1209. package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
  1210. package/metadata/modules/adkernelBidAdapter.json +4 -4
  1211. package/metadata/modules/admaticBidAdapter.json +2 -2
  1212. package/metadata/modules/admixerBidAdapter.json +8 -1
  1213. package/metadata/modules/admixerIdSystem.json +1 -1
  1214. package/metadata/modules/adnowBidAdapter.json +1 -1
  1215. package/metadata/modules/adnuntiusBidAdapter.json +1 -1
  1216. package/metadata/modules/adnuntiusRtdProvider.json +1 -1
  1217. package/metadata/modules/adotBidAdapter.json +1 -1
  1218. package/metadata/modules/adponeBidAdapter.json +1 -1
  1219. package/metadata/modules/adqueryBidAdapter.json +1 -1
  1220. package/metadata/modules/adqueryIdSystem.json +1 -1
  1221. package/metadata/modules/adrinoBidAdapter.json +1 -1
  1222. package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
  1223. package/metadata/modules/adtargetBidAdapter.json +1 -1
  1224. package/metadata/modules/adtelligentBidAdapter.json +3 -3
  1225. package/metadata/modules/adtelligentIdSystem.json +1 -1
  1226. package/metadata/modules/aduptechBidAdapter.json +1 -1
  1227. package/metadata/modules/adyoulikeBidAdapter.json +1 -1
  1228. package/metadata/modules/aidemBidAdapter.json +1 -1
  1229. package/metadata/modules/airgridRtdProvider.json +1 -1
  1230. package/metadata/modules/alkimiBidAdapter.json +1 -1
  1231. package/metadata/modules/ampliffyBidAdapter.json +1 -1
  1232. package/metadata/modules/amxBidAdapter.json +1 -1
  1233. package/metadata/modules/amxIdSystem.json +1 -1
  1234. package/metadata/modules/aniviewBidAdapter.json +1 -1
  1235. package/metadata/modules/anonymisedRtdProvider.json +1 -1
  1236. package/metadata/modules/appierBidAdapter.json +15 -29
  1237. package/metadata/modules/appnexusBidAdapter.json +5 -5
  1238. package/metadata/modules/appushBidAdapter.json +1 -1
  1239. package/metadata/modules/apstreamBidAdapter.json +1 -1
  1240. package/metadata/modules/audiencerunBidAdapter.json +1 -1
  1241. package/metadata/modules/axisBidAdapter.json +1 -1
  1242. package/metadata/modules/azerionedgeRtdProvider.json +1 -1
  1243. package/metadata/modules/beopBidAdapter.json +1 -1
  1244. package/metadata/modules/betweenBidAdapter.json +1 -1
  1245. package/metadata/modules/bidmaticBidAdapter.json +1 -1
  1246. package/metadata/modules/bidtheatreBidAdapter.json +1 -1
  1247. package/metadata/modules/bliinkBidAdapter.json +1 -1
  1248. package/metadata/modules/blockthroughBidAdapter.json +1 -1
  1249. package/metadata/modules/blueBidAdapter.json +1 -1
  1250. package/metadata/modules/bmsBidAdapter.json +1 -1
  1251. package/metadata/modules/boldwinBidAdapter.json +1 -1
  1252. package/metadata/modules/bridBidAdapter.json +1 -1
  1253. package/metadata/modules/browsiBidAdapter.json +1 -1
  1254. package/metadata/modules/bucksenseBidAdapter.json +1 -1
  1255. package/metadata/modules/carodaBidAdapter.json +1 -1
  1256. package/metadata/modules/categoryTranslation.json +1 -1
  1257. package/metadata/modules/ccxBidAdapter.json +1 -1
  1258. package/metadata/modules/ceeIdSystem.json +1 -1
  1259. package/metadata/modules/chromeAiRtdProvider.json +1 -1
  1260. package/metadata/modules/compassBidAdapter.json +1 -1
  1261. package/metadata/modules/conceptxBidAdapter.json +1 -1
  1262. package/metadata/modules/connatixBidAdapter.json +1 -1
  1263. package/metadata/modules/connectIdSystem.json +1 -1
  1264. package/metadata/modules/connectadBidAdapter.json +1 -1
  1265. package/metadata/modules/contentexchangeBidAdapter.json +1 -1
  1266. package/metadata/modules/conversantBidAdapter.json +1 -1
  1267. package/metadata/modules/copper6sspBidAdapter.json +1 -1
  1268. package/metadata/modules/cpmstarBidAdapter.json +1 -1
  1269. package/metadata/modules/criteoBidAdapter.json +1 -1
  1270. package/metadata/modules/criteoIdSystem.json +1 -1
  1271. package/metadata/modules/cwireBidAdapter.json +1 -1
  1272. package/metadata/modules/czechAdIdSystem.json +1 -1
  1273. package/metadata/modules/dailymotionBidAdapter.json +1 -1
  1274. package/metadata/modules/debugging.json +1 -1
  1275. package/metadata/modules/deepintentBidAdapter.json +1 -1
  1276. package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
  1277. package/metadata/modules/dianomiBidAdapter.json +1 -1
  1278. package/metadata/modules/digitalMatterBidAdapter.json +1 -1
  1279. package/metadata/modules/distroscaleBidAdapter.json +1 -1
  1280. package/metadata/modules/docereeAdManagerBidAdapter.json +3 -3
  1281. package/metadata/modules/docereeBidAdapter.json +3 -3
  1282. package/metadata/modules/dspxBidAdapter.json +1 -1
  1283. package/metadata/modules/e_volutionBidAdapter.json +1 -1
  1284. package/metadata/modules/edge226BidAdapter.json +3 -3
  1285. package/metadata/modules/equativBidAdapter.json +1 -1
  1286. package/metadata/modules/eskimiBidAdapter.json +1 -1
  1287. package/metadata/modules/etargetBidAdapter.json +1 -1
  1288. package/metadata/modules/euidIdSystem.json +1 -1
  1289. package/metadata/modules/exadsBidAdapter.json +1 -1
  1290. package/metadata/modules/feedadBidAdapter.json +1 -1
  1291. package/metadata/modules/fwsspBidAdapter.json +1 -1
  1292. package/metadata/modules/gamoshiBidAdapter.json +1 -1
  1293. package/metadata/modules/glomexBidAdapter.json +1 -1
  1294. package/metadata/modules/goldbachBidAdapter.json +1 -1
  1295. package/metadata/modules/greenbidsBidAdapter.json +1 -1
  1296. package/metadata/modules/gridBidAdapter.json +1 -1
  1297. package/metadata/modules/gumgumBidAdapter.json +1 -1
  1298. package/metadata/modules/hadronIdSystem.json +1 -1
  1299. package/metadata/modules/hadronRtdProvider.json +1 -1
  1300. package/metadata/modules/holidBidAdapter.json +1 -1
  1301. package/metadata/modules/hybridBidAdapter.json +1 -1
  1302. package/metadata/modules/id5IdSystem.json +1 -1
  1303. package/metadata/modules/identityLinkIdSystem.json +1 -1
  1304. package/metadata/modules/illuminBidAdapter.json +1 -1
  1305. package/metadata/modules/impactifyBidAdapter.json +1 -1
  1306. package/metadata/modules/improvedigitalBidAdapter.json +1 -1
  1307. package/metadata/modules/inmobiBidAdapter.json +1 -1
  1308. package/metadata/modules/innityBidAdapter.json +1 -1
  1309. package/metadata/modules/insticatorBidAdapter.json +1 -1
  1310. package/metadata/modules/intentIqIdSystem.json +1 -1
  1311. package/metadata/modules/invibesBidAdapter.json +1 -1
  1312. package/metadata/modules/ipromBidAdapter.json +1 -1
  1313. package/metadata/modules/ixBidAdapter.json +1 -1
  1314. package/metadata/modules/justIdSystem.json +1 -1
  1315. package/metadata/modules/justpremiumBidAdapter.json +1 -1
  1316. package/metadata/modules/jwplayerBidAdapter.json +1 -1
  1317. package/metadata/modules/kargoBidAdapter.json +1 -1
  1318. package/metadata/modules/kubientBidAdapter.json +3 -8
  1319. package/metadata/modules/kueezRtbBidAdapter.json +1 -1
  1320. package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
  1321. package/metadata/modules/liveIntentIdSystem.json +1 -1
  1322. package/metadata/modules/liveIntentRtdProvider.json +1 -1
  1323. package/metadata/modules/livewrappedBidAdapter.json +1 -1
  1324. package/metadata/modules/loopmeBidAdapter.json +1 -1
  1325. package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
  1326. package/metadata/modules/luceadBidAdapter.json +1 -1
  1327. package/metadata/modules/luponmediaBidAdapter.json +1 -1
  1328. package/metadata/modules/madvertiseBidAdapter.json +1 -1
  1329. package/metadata/modules/marsmediaBidAdapter.json +1 -1
  1330. package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
  1331. package/metadata/modules/mediaforceBidAdapter.json +1 -1
  1332. package/metadata/modules/mediafuseBidAdapter.json +1 -1
  1333. package/metadata/modules/mediagoBidAdapter.json +1 -1
  1334. package/metadata/modules/mediakeysBidAdapter.json +1 -1
  1335. package/metadata/modules/medianetBidAdapter.json +2 -2
  1336. package/metadata/modules/mediasquareBidAdapter.json +1 -1
  1337. package/metadata/modules/mgidBidAdapter.json +1 -1
  1338. package/metadata/modules/mgidRtdProvider.json +1 -1
  1339. package/metadata/modules/mgidXBidAdapter.json +1 -1
  1340. package/metadata/modules/minutemediaBidAdapter.json +1 -1
  1341. package/metadata/modules/missenaBidAdapter.json +1 -1
  1342. package/metadata/modules/mobianRtdProvider.json +1 -1
  1343. package/metadata/modules/mobilefuseBidAdapter.json +1 -1
  1344. package/metadata/modules/mobkoiBidAdapter.json +1 -1
  1345. package/metadata/modules/mobkoiIdSystem.json +1 -1
  1346. package/metadata/modules/nativeryBidAdapter.json +1 -1
  1347. package/metadata/modules/nativoBidAdapter.json +1 -1
  1348. package/metadata/modules/newspassidBidAdapter.json +1 -1
  1349. package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
  1350. package/metadata/modules/nextrollBidAdapter.json +1 -1
  1351. package/metadata/modules/nexx360BidAdapter.json +8 -8
  1352. package/metadata/modules/nobidBidAdapter.json +2 -2
  1353. package/metadata/modules/nodalsAiRtdProvider.json +1 -1
  1354. package/metadata/modules/novatiqIdSystem.json +1 -1
  1355. package/metadata/modules/oguryBidAdapter.json +1 -1
  1356. package/metadata/modules/omsBidAdapter.json +1 -1
  1357. package/metadata/modules/onetagBidAdapter.json +1 -1
  1358. package/metadata/modules/openwebBidAdapter.json +1 -1
  1359. package/metadata/modules/openxBidAdapter.json +1 -1
  1360. package/metadata/modules/operaadsBidAdapter.json +1 -1
  1361. package/metadata/modules/optidigitalBidAdapter.json +1 -1
  1362. package/metadata/modules/optoutBidAdapter.json +1 -1
  1363. package/metadata/modules/orbidderBidAdapter.json +1 -1
  1364. package/metadata/modules/outbrainBidAdapter.json +1 -1
  1365. package/metadata/modules/ozoneBidAdapter.json +1 -1
  1366. package/metadata/modules/pairIdSystem.json +1 -1
  1367. package/metadata/modules/performaxBidAdapter.json +4 -5
  1368. package/metadata/modules/pgamsspBidAdapter.json +1 -1
  1369. package/metadata/modules/pixfutureBidAdapter.json +1 -1
  1370. package/metadata/modules/playdigoBidAdapter.json +1 -1
  1371. package/metadata/modules/prebid-core.json +2 -2
  1372. package/metadata/modules/precisoBidAdapter.json +1 -1
  1373. package/metadata/modules/prismaBidAdapter.json +1 -1
  1374. package/metadata/modules/programmaticXBidAdapter.json +1 -1
  1375. package/metadata/modules/proxistoreBidAdapter.json +1 -1
  1376. package/metadata/modules/publinkIdSystem.json +1 -1
  1377. package/metadata/modules/pubmaticBidAdapter.json +1 -1
  1378. package/metadata/modules/pubmaticIdSystem.json +1 -1
  1379. package/metadata/modules/pulsepointBidAdapter.json +1 -1
  1380. package/metadata/modules/pwbidBidAdapter.json +1 -1
  1381. package/metadata/modules/qtBidAdapter.json +1 -1
  1382. package/metadata/modules/quantcastBidAdapter.json +1 -1
  1383. package/metadata/modules/quantcastIdSystem.json +1 -1
  1384. package/metadata/modules/r2b2BidAdapter.json +1 -1
  1385. package/metadata/modules/raynRtdProvider.json +1 -1
  1386. package/metadata/modules/readpeakBidAdapter.json +1 -1
  1387. package/metadata/modules/relayBidAdapter.json +1 -1
  1388. package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
  1389. package/metadata/modules/resetdigitalBidAdapter.json +1 -1
  1390. package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
  1391. package/metadata/modules/retailspotBidAdapter.json +1 -1
  1392. package/metadata/modules/revcontentBidAdapter.json +7 -117
  1393. package/metadata/modules/rhythmoneBidAdapter.json +1 -1
  1394. package/metadata/modules/richaudienceBidAdapter.json +1 -1
  1395. package/metadata/modules/riseBidAdapter.json +2 -2
  1396. package/metadata/modules/rixengineBidAdapter.json +1 -1
  1397. package/metadata/modules/rtbhouseBidAdapter.json +1 -1
  1398. package/metadata/modules/rubiconBidAdapter.json +1 -1
  1399. package/metadata/modules/rumbleBidAdapter.json +13 -0
  1400. package/metadata/modules/scatteredBidAdapter.json +1 -1
  1401. package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
  1402. package/metadata/modules/seedtagBidAdapter.json +1 -1
  1403. package/metadata/modules/semantiqRtdProvider.json +1 -1
  1404. package/metadata/modules/setupadBidAdapter.json +1 -1
  1405. package/metadata/modules/sevioBidAdapter.json +18 -0
  1406. package/metadata/modules/sharedIdSystem.json +1 -1
  1407. package/metadata/modules/sharethroughBidAdapter.json +1 -1
  1408. package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
  1409. package/metadata/modules/silvermobBidAdapter.json +1 -1
  1410. package/metadata/modules/sirdataRtdProvider.json +1 -1
  1411. package/metadata/modules/slimcutBidAdapter.json +1 -1
  1412. package/metadata/modules/smaatoBidAdapter.json +1 -1
  1413. package/metadata/modules/smartadserverBidAdapter.json +1 -1
  1414. package/metadata/modules/smartxBidAdapter.json +1 -1
  1415. package/metadata/modules/smartyadsBidAdapter.json +1 -1
  1416. package/metadata/modules/smilewantedBidAdapter.json +1 -1
  1417. package/metadata/modules/snigelBidAdapter.json +1 -1
  1418. package/metadata/modules/sonaradsBidAdapter.json +1 -1
  1419. package/metadata/modules/sonobiBidAdapter.json +1 -1
  1420. package/metadata/modules/sovrnBidAdapter.json +4 -4
  1421. package/metadata/modules/sparteoBidAdapter.json +1 -1
  1422. package/metadata/modules/ssmasBidAdapter.json +1 -1
  1423. package/metadata/modules/sspBCBidAdapter.json +1 -1
  1424. package/metadata/modules/stackadaptBidAdapter.json +1 -1
  1425. package/metadata/modules/startioBidAdapter.json +1 -1
  1426. package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
  1427. package/metadata/modules/stvBidAdapter.json +1 -1
  1428. package/metadata/modules/sublimeBidAdapter.json +1 -1
  1429. package/metadata/modules/taboolaBidAdapter.json +1 -1
  1430. package/metadata/modules/taboolaIdSystem.json +1 -1
  1431. package/metadata/modules/tappxBidAdapter.json +1 -1
  1432. package/metadata/modules/targetVideoBidAdapter.json +1 -1
  1433. package/metadata/modules/teadsBidAdapter.json +1 -1
  1434. package/metadata/modules/teadsIdSystem.json +1 -1
  1435. package/metadata/modules/tealBidAdapter.json +1 -1
  1436. package/metadata/modules/themoneytizerBidAdapter.json +3 -8
  1437. package/metadata/modules/tncIdSystem.json +1 -1
  1438. package/metadata/modules/topicsFpdModule.json +1 -1
  1439. package/metadata/modules/tripleliftBidAdapter.json +1 -1
  1440. package/metadata/modules/ttdBidAdapter.json +1 -1
  1441. package/metadata/modules/twistDigitalBidAdapter.json +1 -1
  1442. package/metadata/modules/underdogmediaBidAdapter.json +1 -1
  1443. package/metadata/modules/undertoneBidAdapter.json +1 -1
  1444. package/metadata/modules/unifiedIdSystem.json +1 -1
  1445. package/metadata/modules/unrulyBidAdapter.json +1 -1
  1446. package/metadata/modules/userId.json +1 -1
  1447. package/metadata/modules/validationFpdModule.json +1 -1
  1448. package/metadata/modules/vidazooBidAdapter.json +1 -1
  1449. package/metadata/modules/vidoomyBidAdapter.json +1 -1
  1450. package/metadata/modules/viewdeosDXBidAdapter.json +1 -1
  1451. package/metadata/modules/viouslyBidAdapter.json +1 -1
  1452. package/metadata/modules/visxBidAdapter.json +1 -1
  1453. package/metadata/modules/vlybyBidAdapter.json +1 -1
  1454. package/metadata/modules/voxBidAdapter.json +1 -1
  1455. package/metadata/modules/vrtcalBidAdapter.json +1 -1
  1456. package/metadata/modules/vuukleBidAdapter.json +1 -1
  1457. package/metadata/modules/weboramaRtdProvider.json +1 -1
  1458. package/metadata/modules/welectBidAdapter.json +1 -1
  1459. package/metadata/modules/yahooAdsBidAdapter.json +1 -1
  1460. package/metadata/modules/yieldlabBidAdapter.json +1 -1
  1461. package/metadata/modules/yieldliftBidAdapter.json +1 -1
  1462. package/metadata/modules/yieldloveBidAdapter.json +1 -1
  1463. package/metadata/modules/yieldmoBidAdapter.json +1 -1
  1464. package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
  1465. package/metadata/modules/zeta_globalBidAdapter.json +1 -1
  1466. package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
  1467. package/metadata/modules.json +23 -2
  1468. package/modules/1plusXRtdProvider.js +6 -2
  1469. package/modules/adWMGBidAdapter.js +8 -8
  1470. package/modules/admixerBidAdapter.js +9 -4
  1471. package/modules/adspiritBidAdapter.js +8 -8
  1472. package/modules/adtrgtmeBidAdapter.js +2 -2
  1473. package/modules/adxcgBidAdapter.js +2 -36
  1474. package/modules/amxBidAdapter.js +3 -3
  1475. package/modules/chromeAiRtdProvider.js +5 -5
  1476. package/modules/consentManagementGpp.ts +11 -11
  1477. package/modules/consentManagementTcf.ts +33 -33
  1478. package/modules/consentManagementUsp.ts +14 -14
  1479. package/modules/currency.ts +59 -59
  1480. package/modules/cwireBidAdapter.js +2 -2
  1481. package/modules/dailymotionBidAdapter.js +4 -4
  1482. package/modules/dchain.ts +4 -4
  1483. package/modules/dspxBidAdapter.js +8 -8
  1484. package/modules/eightPodBidAdapter.js +8 -8
  1485. package/modules/genericAnalyticsAdapter.ts +50 -50
  1486. package/modules/geolocationRtdProvider.ts +48 -48
  1487. package/modules/getintentBidAdapter.js +4 -2
  1488. package/modules/gmosspBidAdapter.js +1 -1
  1489. package/modules/gppControl_usstates.ts +40 -40
  1490. package/modules/gptPreAuction.ts +34 -34
  1491. package/modules/iasRtdProvider.js +87 -5
  1492. package/modules/intentIqAnalyticsAdapter.js +8 -8
  1493. package/modules/intentIqIdSystem.js +2 -2
  1494. package/modules/jwplayerRtdProvider.js +6 -2
  1495. package/modules/jwplayerVideoProvider.js +13 -9
  1496. package/modules/kubientBidAdapter.js +0 -1
  1497. package/modules/medianetAnalyticsAdapter.js +5 -5
  1498. package/modules/medianetBidAdapter.js +5 -1
  1499. package/modules/michaoBidAdapter.ts +7 -7
  1500. package/modules/multibid/index.ts +31 -31
  1501. package/modules/nexverseBidAdapter.js +1 -1
  1502. package/modules/nodalsAiRtdProvider.js +4 -2
  1503. package/modules/onetagBidAdapter.js +12 -12
  1504. package/modules/openxBidAdapter.js +6 -1
  1505. package/modules/prebidServerBidAdapter/index.ts +130 -130
  1506. package/modules/priceFloors.ts +131 -131
  1507. package/modules/pubmaticBidAdapter.js +21 -1
  1508. package/modules/pubmaticRtdProvider.js +143 -143
  1509. package/modules/pulsepointBidAdapter.js +3 -38
  1510. package/modules/readpeakBidAdapter.js +17 -17
  1511. package/modules/rtdModule/index.ts +8 -8
  1512. package/modules/rtdModule/spec.ts +30 -30
  1513. package/modules/rubiconBidAdapter.js +5 -1
  1514. package/modules/rumbleBidAdapter.js +128 -0
  1515. package/modules/rumbleBidAdapter.md +114 -0
  1516. package/modules/schain.ts +4 -4
  1517. package/modules/sevioBidAdapter.js +262 -0
  1518. package/modules/sevioBidAdapter.md +29 -0
  1519. package/modules/sharedIdSystem.ts +29 -29
  1520. package/modules/storageControl.ts +72 -72
  1521. package/modules/tcfControl.ts +60 -60
  1522. package/modules/themoneytizerBidAdapter.js +2 -4
  1523. package/modules/ttdBidAdapter.js +11 -1
  1524. package/modules/ttdBidAdapter.md +3 -1
  1525. package/modules/userId/index.ts +129 -119
  1526. package/modules/userId/spec.ts +136 -136
  1527. package/modules/validationFpdModule/index.ts +4 -4
  1528. package/modules/videoModule/index.ts +37 -37
  1529. package/modules/weboramaRtdProvider.js +30 -11
  1530. package/modules/welectBidAdapter.js +3 -3
  1531. package/modules/yandexBidAdapter.js +67 -24
  1532. package/package.json +2 -3
  1533. package/src/activities/params.js +6 -0
  1534. package/src/activities/redactor.ts +8 -8
  1535. package/src/adRendering.ts +61 -61
  1536. package/src/adUnits.ts +100 -100
  1537. package/src/adapterManager.ts +605 -605
  1538. package/src/adapters/bidderFactory.ts +99 -99
  1539. package/src/ajax.ts +39 -39
  1540. package/src/auction.ts +217 -217
  1541. package/src/banner.ts +28 -28
  1542. package/src/bidTTL.ts +16 -16
  1543. package/src/bidderSettings.ts +46 -46
  1544. package/src/bidfactory.ts +107 -107
  1545. package/src/config.ts +65 -65
  1546. package/src/consentHandler.ts +25 -25
  1547. package/src/constants.ts +14 -14
  1548. package/src/cpmBucketManager.ts +7 -7
  1549. package/src/events.ts +75 -75
  1550. package/src/fpd/enrichment.ts +8 -8
  1551. package/src/hook.ts +14 -14
  1552. package/src/mediaTypes.ts +16 -16
  1553. package/src/native.ts +62 -62
  1554. package/src/prebid.ts +362 -362
  1555. package/src/prebidGlobal.ts +18 -18
  1556. package/src/refererDetection.ts +54 -54
  1557. package/src/storageManager.ts +76 -73
  1558. package/src/targeting.ts +215 -215
  1559. package/src/types/common.d.ts +29 -29
  1560. package/src/types/local/buildOptions.d.ts +3 -3
  1561. package/src/types/local/shim.d.ts +6 -6
  1562. package/src/types/objects.d.ts +15 -15
  1563. package/src/types/ortb/common.d.ts +1 -1
  1564. package/src/types/ortb/ext/dchain.d.ts +69 -69
  1565. package/src/types/ortb/ext/dsa.d.ts +50 -50
  1566. package/src/types/ortb/request.d.ts +21 -21
  1567. package/src/types/ortb/response.d.ts +6 -6
  1568. package/src/userSync.ts +32 -32
  1569. package/src/utils/objects.ts +11 -11
  1570. package/src/utils/perfMetrics.ts +193 -193
  1571. package/src/utils/promise.ts +14 -14
  1572. package/src/utils/ttlCollection.ts +25 -25
  1573. package/src/video.ts +73 -73
  1574. package/src/videoCache.ts +60 -60
  1575. package/test/helpers/index_adapter_utils.js +1 -2
  1576. package/test/helpers/refererDetectionHelper.js +2 -2
  1577. package/test/mocks/timers.js +12 -9
  1578. package/test/spec/adloader_spec.js +13 -13
  1579. package/test/spec/config_spec.js +9 -3
  1580. package/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
  1581. package/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
  1582. package/test/spec/modules/adgridBidAdapter_spec.js +6 -6
  1583. package/test/spec/modules/adkernelAdnBidAdapter_spec.js +127 -127
  1584. package/test/spec/modules/adkernelBidAdapter_spec.js +308 -308
  1585. package/test/spec/modules/admediaBidAdapter_spec.js +34 -34
  1586. package/test/spec/modules/adnuntiusBidAdapter_spec.js +7 -7
  1587. package/test/spec/modules/adspiritBidAdapter_spec.js +1 -1
  1588. package/test/spec/modules/adtrgtmeBidAdapter_spec.js +3 -3
  1589. package/test/spec/modules/adtrueBidAdapter_spec.js +19 -19
  1590. package/test/spec/modules/advertisingBidAdapter_spec.js +2 -2
  1591. package/test/spec/modules/bidmaticBidAdapter_spec.js +2 -2
  1592. package/test/spec/modules/datablocksBidAdapter_spec.js +115 -115
  1593. package/test/spec/modules/deepintentBidAdapter_spec.js +51 -51
  1594. package/test/spec/modules/dexertoBidAdapter_spec.js +16 -16
  1595. package/test/spec/modules/dochaseBidAdapter_spec.js +17 -17
  1596. package/test/spec/modules/dspxBidAdapter_spec.js +23 -23
  1597. package/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js +17 -17
  1598. package/test/spec/modules/enrichmentLiftMeasurement_spec.js +8 -8
  1599. package/test/spec/modules/equativBidAdapter_spec.js +1 -1
  1600. package/test/spec/modules/finativeBidAdapter_spec.js +11 -11
  1601. package/test/spec/modules/ftrackIdSystem_spec.js +16 -16
  1602. package/test/spec/modules/fwsspBidAdapter_spec.js +5 -5
  1603. package/test/spec/modules/hypelabBidAdapter_spec.js +9 -9
  1604. package/test/spec/modules/iasRtdProvider_spec.js +89 -8
  1605. package/test/spec/modules/intentIqIdSystem_spec.js +3 -3
  1606. package/test/spec/modules/invibesBidAdapter_spec.js +2 -2
  1607. package/test/spec/modules/kargoBidAdapter_spec.js +7 -7
  1608. package/test/spec/modules/lane4BidAdapter_spec.js +17 -17
  1609. package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +37 -37
  1610. package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
  1611. package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
  1612. package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
  1613. package/test/spec/modules/liveIntentRtdProvider_spec.js +2 -2
  1614. package/test/spec/modules/mediaeyesBidAdapter_spec.js +166 -166
  1615. package/test/spec/modules/mediagoBidAdapter_spec.js +1 -1
  1616. package/test/spec/modules/medianetBidAdapter_spec.js +1724 -1707
  1617. package/test/spec/modules/mediasquareBidAdapter_spec.js +7 -7
  1618. package/test/spec/modules/nexx360BidAdapter_spec.js +6 -6
  1619. package/test/spec/modules/nobidBidAdapter_spec.js +16 -16
  1620. package/test/spec/modules/onetagBidAdapter_spec.js +47 -47
  1621. package/test/spec/modules/openxBidAdapter_spec.js +129 -0
  1622. package/test/spec/modules/optoutBidAdapter_spec.js +1 -1
  1623. package/test/spec/modules/orbitsoftBidAdapter_spec.js +85 -85
  1624. package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +1 -1
  1625. package/test/spec/modules/ozoneBidAdapter_spec.js +439 -439
  1626. package/test/spec/modules/prebidServerBidAdapter_spec.js +2 -2
  1627. package/test/spec/modules/prismaBidAdapter_spec.js +6 -6
  1628. package/test/spec/modules/pubmaticBidAdapter_spec.js +73 -3
  1629. package/test/spec/modules/pubmaticRtdProvider_spec.js +1389 -1389
  1630. package/test/spec/modules/pwbidBidAdapter_spec.js +25 -25
  1631. package/test/spec/modules/relevadRtdProvider_spec.js +1 -1
  1632. package/test/spec/modules/relevatehealthBidAdapter_spec.js +16 -16
  1633. package/test/spec/modules/richaudienceBidAdapter_spec.js +10 -10
  1634. package/test/spec/modules/rubiconBidAdapter_spec.js +7 -7
  1635. package/test/spec/modules/rumbleBidAdapter_spec.js +125 -0
  1636. package/test/spec/modules/sevioBidAdapter_spec.js +209 -0
  1637. package/test/spec/modules/smaatoBidAdapter_spec.js +30 -30
  1638. package/test/spec/modules/smarticoBidAdapter_spec.js +10 -10
  1639. package/test/spec/modules/stvBidAdapter_spec.js +32 -32
  1640. package/test/spec/modules/tapnativeBidAdapter_spec.js +17 -17
  1641. package/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -6
  1642. package/test/spec/modules/ttdBidAdapter_spec.js +27 -2
  1643. package/test/spec/modules/uid2IdSystem_spec.js +3 -3
  1644. package/test/spec/modules/userId_spec.js +41 -7
  1645. package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1953 -154
  1646. package/test/spec/modules/yandexBidAdapter_spec.js +128 -0
  1647. package/test/spec/refererDetection_spec.js +11 -11
  1648. package/test/spec/unit/core/storageManager_spec.js +20 -1
  1649. package/test/spec/unit/core/targeting_spec.js +8 -8
  1650. package/test/spec/utils_spec.js +25 -25
@@ -1 +1 @@
1
- {"version":3,"file":"smaatoBidAdapter_spec.js","names":["spec","utils","config","IMAGE_SYNC_URL","IFRAME_SYNC_URL","ADTYPE_IMG","ADTYPE_VIDEO","ADTYPE_NATIVE","REFERRER","CONSENT_STRING","AUCTION_ID","defaultBidderRequest","bidderRequestId","gdprConsent","consentString","gdprApplies","uspConsent","refererInfo","ref","timeout","auctionId","BANNER_PREBID_MEDIATYPE","sizes","singleBannerBidRequest","bidder","params","publisherId","adspaceId","mediaTypes","banner","adUnitCode","transactionId","bidId","src","bidRequestsCount","bidderRequestsCount","bidderWinsCount","extractPayloadOfFirstAndOnlyRequest","reqs","expect","to","have","length","JSON","parse","data","describe","it","isBidRequestValid","be","false","ADPOD","video","context","adbreakId","true","BANNER_OPENRTB_IMP","format","h","w","topframe","MINIMAL_BIDDER_REQUEST","sandbox","beforeEach","sinon","createSandbox","afterEach","restore","buildRequests","req","at","equal","overridenEndpoint","updatedBidRequest","deepClone","deepSetValue","url","imp","deep","id","tagid","secure","singleBannerBidRequestWithFloor","Object","assign","getFloor","arg","currency","mediaType","stringify","size","floor","bidfloor","singleBannerMultipleSizesBidRequestWithFloor","undefined","site","exist","and","a","domain","page","publisher","ortb2","name","dooh","keywords","venuetypetax","language","ua","sua","dnt","device","regs","ext","gdpr","user","consent","coppa","not","us_privacy","gpp","gpp_sid","eql","source","schain","instl","bidRequestWithInstl","ortb2Imp","tmax","gender","yob","ifa","geo","lat","lon","eids","dsa","dsarequired","pubrender","datatopub","transparency","dsaparams","bidRequest1","bidRequest1BidId","bidRequest2","bidRequest2BidId","VIDEO_OUTSTREAM_PREBID_MEDIATYPE","playerSize","mimes","minduration","maxduration","startdelay","linearity","protocols","skip","skipmin","api","rewarded","VIDEO_OUTSTREAM_OPENRTB_IMP","singleVideoBidRequest","singleVideoBidRequestWithFloor","combinedBannerAndVideoBidRequest","ADBREAK_ID","BID_ID","W","H","ADPOD_DURATION","DURATION_RANGE","longFormVideoBidRequest","adPodDurationSec","durationRangeSec","requireExactDuration","sequence","longFormVideoBidRequestWithFloor","setConfig","adpod","brandCategoryExclusion","brandcategoryexclusion","MIMES","STARTDELAY","LINEARITY","SKIP","PROTOCOLS","SKIPMIN","API","validBasicAdpodBidRequest","SERIES_NAME","adpodRequestWithParameter","tvSeriesName","content","series","EPISODE_NAME","tvEpisodeName","title","SEASON_NUMBER_AS_NUMBER_IN_PREBID_REQUEST","SEASON_NUMBER_AS_STRING_IN_OUTGOING_REQUEST","tvSeasonNumber","season","EPISODE_NUMBER","tvEpisodeNumber","episode","LENGTH","contentLengthSec","len","contentMode","livestream","NATIVE_OPENRTB_REQUEST","ver","assets","required","img","type","require","singleNativeBidRequest","nativeOrtbRequest","native","request","singleNativeBidRequestWithFloor","LOCATION","DEVICE_ID","inAppBidRequestWithoutAppParams","inAppBidRequest","app","userIdBidRequest","userId","criteoId","tdid","userIdAsEids","complete","nodes","bidRequestWithSchain","buildBidRequest","payloadAsJsObj","arguments","method","NATIVE_RESPONSE","link","clicktrackers","text","value","eventtrackers","event","privacy","buildOpenRtbBidResponse","adType","adm","Error","body","bidid","cur","seatbid","bid","curls","seat","headers","get","header","response_with_empty_body","bids","interpretResponse","empty","requestId","cpm","width","height","ad","ttl","creativeId","dealId","netRevenue","meta","advertiserDomains","agencyId","networkName","vastXml","ortb","serverResponse","bidRequestWithAdpodContext","PRIMARY_CAT_ID","adomain","bidderName","cid","crid","dealid","impid","iurl","nurl","price","cat","duration","durationSeconds","primaryCatId","clock","useFakeTimers","tick","resp","net","behalf","paid","adrender","resetConfig","getUserSyncs","pixelEnabled","iframeEnabled","userSync","syncsPerBidder"],"sourceRoot":"../../../../..","sources":["test/spec/modules/smaatoBidAdapter_spec.js"],"sourcesContent":["import {spec} from 'modules/smaatoBidAdapter.js';\nimport * as utils from 'src/utils.js';\nimport {config} from 'src/config.js';\n\n// load modules that register ORTB processors\nimport 'src/prebid.js'\nimport 'modules/currency.js';\nimport 'modules/userId/index.js';\nimport 'modules/multibid/index.js';\nimport 'modules/priceFloors.js';\nimport 'modules/consentManagementTcf.js';\nimport 'modules/consentManagementUsp.js';\n\nconst IMAGE_SYNC_URL = 'https://s.ad.smaato.net/c/?adExInit=p'\nconst IFRAME_SYNC_URL = 'https://s.ad.smaato.net/i/?adExInit=p'\n\nconst ADTYPE_IMG = 'Img';\nconst ADTYPE_VIDEO = 'Video';\nconst ADTYPE_NATIVE = 'Native';\n\nconst REFERRER = 'http://example.com/page.html'\nconst CONSENT_STRING = 'HFIDUYFIUYIUYWIPOI87392DSU'\nconst AUCTION_ID = '6653';\n\nconst defaultBidderRequest = {\n bidderRequestId: 'mock-uuid',\n gdprConsent: {\n consentString: CONSENT_STRING,\n gdprApplies: true\n },\n uspConsent: 'uspConsentString',\n refererInfo: {\n ref: REFERRER,\n },\n timeout: 1200,\n auctionId: AUCTION_ID\n};\n\nconst BANNER_PREBID_MEDIATYPE = {\n sizes: [[300, 50]]\n}\n\nconst singleBannerBidRequest = {\n bidder: 'smaato',\n params: {\n publisherId: 'publisherId',\n adspaceId: 'adspaceId'\n },\n mediaTypes: {\n banner: BANNER_PREBID_MEDIATYPE\n },\n adUnitCode: '/19968336/header-bid-tag-0',\n transactionId: 'transactionId',\n sizes: [[300, 50]],\n bidId: 'bidId',\n bidderRequestId: 'bidderRequestId',\n src: 'client',\n bidRequestsCount: 1,\n bidderRequestsCount: 1,\n bidderWinsCount: 0\n};\n\nconst extractPayloadOfFirstAndOnlyRequest = (reqs) => {\n expect(reqs).to.have.length(1);\n return JSON.parse(reqs[0].data);\n}\n\ndescribe('smaatoBidAdapterTest', () => {\n describe('isBidRequestValid', () => {\n it('is invalid, when params object is not present', () => {\n expect(spec.isBidRequestValid({})).to.be.false;\n });\n\n it('is invalid, when params object is empty', () => {\n expect(spec.isBidRequestValid({params: {}})).to.be.false;\n });\n\n it('is invalid, when publisherId is present but of wrong type', () => {\n expect(spec.isBidRequestValid({params: {publisherId: 123}})).to.be.false;\n });\n\n describe('for ad pod / long form video requests', () => {\n const ADPOD = {video: {context: 'adpod'}}\n it('is invalid, when adbreakId is missing', () => {\n expect(spec.isBidRequestValid({mediaTypes: ADPOD, params: {publisherId: '123'}})).to.be.false;\n });\n\n it('is invalid, when adbreakId is present but of wrong type', () => {\n expect(spec.isBidRequestValid({mediaTypes: ADPOD, params: {publisherId: '123', adbreakId: 456}})).to.be.false;\n });\n\n it('is valid, when required params are present', () => {\n expect(spec.isBidRequestValid({mediaTypes: ADPOD, params: {publisherId: '123', adbreakId: '456'}})).to.be.true;\n });\n\n it('is invalid, when forbidden adspaceId param is present', () => {\n expect(spec.isBidRequestValid({\n mediaTypes: ADPOD,\n params: {publisherId: '123', adbreakId: '456', adspaceId: '42'}\n })).to.be.false;\n });\n });\n\n describe('for non adpod requests', () => {\n it('is invalid, when adspaceId is missing', () => {\n expect(spec.isBidRequestValid({params: {publisherId: '123'}})).to.be.false;\n });\n\n it('is invalid, when adspaceId is present but of wrong type', () => {\n expect(spec.isBidRequestValid({params: {publisherId: '123', adspaceId: 456}})).to.be.false;\n });\n\n it('is valid, when required params are present for minimal request', () => {\n expect(spec.isBidRequestValid({params: {publisherId: '123', adspaceId: '456'}})).to.be.true;\n });\n\n it('is invalid, when forbidden adbreakId param is present', () => {\n expect(spec.isBidRequestValid({params: {publisherId: '123', adspaceId: '456', adbreakId: '42'}})).to.be.false;\n });\n });\n });\n\n describe('buildRequests', () => {\n const BANNER_OPENRTB_IMP = {\n format: [\n {\n h: 50,\n w: 300\n }\n ],\n topframe: 0,\n }\n\n describe('common', () => {\n const MINIMAL_BIDDER_REQUEST = {\n refererInfo: {\n ref: REFERRER,\n }\n };\n\n let sandbox;\n beforeEach(() => {\n sandbox = sinon.createSandbox();\n });\n\n afterEach(() => {\n sandbox.restore();\n })\n\n it('auction type is 1 (first price auction)', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.at).to.be.equal(1);\n })\n\n it('can override endpoint', () => {\n const overridenEndpoint = 'https://prebid/bidder';\n const updatedBidRequest = utils.deepClone(singleBannerBidRequest);\n utils.deepSetValue(updatedBidRequest, 'params.endpoint', overridenEndpoint);\n\n const reqs = spec.buildRequests([updatedBidRequest], defaultBidderRequest);\n\n expect(reqs).to.have.length(1);\n expect(reqs[0].url).to.equal(overridenEndpoint);\n });\n\n it('sends correct imp', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp).to.deep.equal([\n {\n id: 'bidId',\n banner: BANNER_OPENRTB_IMP,\n tagid: 'adspaceId',\n secure: 1\n }\n ]);\n });\n\n it('sends bidfloor when configured', () => {\n const singleBannerBidRequestWithFloor = Object.assign({}, singleBannerBidRequest);\n singleBannerBidRequestWithFloor.getFloor = function (arg) {\n if (arg.currency === 'USD' &&\n arg.mediaType === 'banner' &&\n JSON.stringify(arg.size) === JSON.stringify([300, 50])) {\n return {\n currency: 'USD',\n floor: 0.123\n }\n }\n }\n const reqs = spec.buildRequests([singleBannerBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.equal(0.123);\n });\n\n it('bidfloor uses catch-all when multiple sizes', () => {\n const singleBannerMultipleSizesBidRequestWithFloor = Object.assign({}, singleBannerBidRequest, {\n mediaTypes: {\n banner: {\n sizes: [[320, 50], [320, 250]]\n }\n }\n });\n singleBannerMultipleSizesBidRequestWithFloor.getFloor = function (arg) {\n if (arg.size === '*') {\n return {\n currency: 'USD',\n floor: 0.101\n }\n }\n }\n const reqs = spec.buildRequests([singleBannerMultipleSizesBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.equal(0.101);\n });\n\n it('sends undefined bidfloor when not a function', () => {\n const singleBannerBidRequestWithFloor = Object.assign({}, singleBannerBidRequest);\n singleBannerBidRequestWithFloor.getFloor = 0\n\n const reqs = spec.buildRequests([singleBannerBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.undefined\n });\n\n it('sends undefined bidfloor when invalid', () => {\n const singleBannerBidRequestWithFloor = Object.assign({}, singleBannerBidRequest);\n singleBannerBidRequestWithFloor.getFloor = function () {\n return undefined;\n }\n const reqs = spec.buildRequests([singleBannerBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.undefined\n });\n\n it('sends undefined bidfloor when not a number', () => {\n const singleBannerBidRequestWithFloor = Object.assign({}, singleBannerBidRequest);\n singleBannerBidRequestWithFloor.getFloor = function () {\n return {\n currency: 'USD',\n }\n }\n const reqs = spec.buildRequests([singleBannerBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.undefined;\n });\n\n it('sends undefined bidfloor when wrong currency', () => {\n const singleBannerBidRequestWithFloor = Object.assign({}, singleBannerBidRequest);\n singleBannerBidRequestWithFloor.getFloor = function () {\n return {\n currency: 'EUR',\n floor: 0.123\n }\n }\n const reqs = spec.buildRequests([singleBannerBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.undefined;\n });\n\n it('sends correct site', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.id).to.exist.and.to.be.a('string');\n expect(req.site.domain).to.exist.and.to.be.a('string');\n expect(req.site.page).to.exist.and.to.be.a('string');\n expect(req.site.ref).to.equal(REFERRER);\n expect(req.site.publisher.id).to.equal('publisherId');\n })\n\n it('sends correct site from ortb2', () => {\n const domain = 'domain';\n const page = 'page';\n const ref = 'ref';\n const ortb2 = {\n site: {\n name: 'example',\n domain: domain,\n page: page,\n ref: ref\n },\n };\n\n const reqs = spec.buildRequests([singleBannerBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.id).to.exist.and.to.be.a('string');\n expect(req.site.domain).to.equal(domain);\n expect(req.site.page).to.equal(page);\n expect(req.site.ref).to.equal(ref);\n expect(req.site.publisher.id).to.equal('publisherId');\n expect(req.dooh).to.be.undefined;\n })\n\n it('sends correct dooh from ortb2', () => {\n const name = 'name';\n const domain = 'domain';\n const keywords = 'keyword1,keyword2';\n const venuetypetax = 1;\n const ortb2 = {\n dooh: {\n name: name,\n domain: domain,\n keywords: keywords,\n venuetypetax: venuetypetax\n },\n };\n\n const reqs = spec.buildRequests([singleBannerBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.dooh.id).to.exist.and.to.be.a('string');\n expect(req.dooh.name).to.equal(name);\n expect(req.dooh.domain).to.equal(domain);\n expect(req.dooh.keywords).to.equal(keywords);\n expect(req.dooh.venuetypetax).to.equal(venuetypetax);\n expect(req.dooh.publisher.id).to.equal('publisherId');\n expect(req.site).to.be.undefined;\n })\n\n it('sends correct device from ortb2', () => {\n const language = 'language'\n const ua = 'ua'\n const sua = 'sua'\n const dnt = 1\n const w = 2\n const h = 3\n const ortb2 = {\n device: {\n language: language,\n ua: ua,\n sua: sua,\n dnt: dnt,\n w: w,\n h: h\n },\n };\n\n const reqs = spec.buildRequests([singleBannerBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.device.language).to.equal(language);\n expect(req.device.ua).to.equal(ua);\n expect(req.device.sua).to.equal(sua);\n expect(req.device.dnt).to.equal(dnt);\n expect(req.device.w).to.equal(w);\n expect(req.device.h).to.equal(h);\n })\n\n it('sends gdpr applies if exists', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.regs.ext.gdpr).to.equal(1);\n expect(req.user.ext.consent).to.equal(CONSENT_STRING);\n });\n\n it('sends correct coppa from ortb2', () => {\n const ortb2 = {\n regs: {\n coppa: 1\n },\n };\n\n const reqs = spec.buildRequests([singleBannerBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.regs.coppa).to.equal(1);\n })\n\n it('sends no gdpr applies if no gdpr exists', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], MINIMAL_BIDDER_REQUEST);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.regs.ext.gdpr).to.not.exist;\n expect(req.user.ext.consent).to.not.exist;\n });\n\n it('sends us_privacy if exists', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.regs.ext.us_privacy).to.equal('uspConsentString');\n });\n\n it('sends gpp', () => {\n const ortb2 = {\n regs: {\n gpp: 'gppString',\n gpp_sid: [7]\n }\n };\n\n const reqs = spec.buildRequests([singleBannerBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.regs.ext.gpp).to.eql('gppString');\n expect(req.regs.ext.gpp_sid).to.eql([7]);\n });\n\n it('sends no schain if no schain exists', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.source.ext.schain).to.not.exist;\n });\n\n it('sends instl if instl exists', () => {\n const instl = {instl: 1};\n const bidRequestWithInstl = Object.assign({}, singleBannerBidRequest, {ortb2Imp: instl});\n\n const reqs = spec.buildRequests([bidRequestWithInstl], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].instl).to.equal(1);\n });\n\n it('sends tmax', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.tmax).to.equal(1200);\n });\n\n it('sends no us_privacy if no us_privacy exists', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], MINIMAL_BIDDER_REQUEST);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.regs.ext.us_privacy).to.not.exist;\n });\n\n it('sends first party data', () => {\n const ortb2 = {\n site: {\n keywords: 'power tools,drills',\n publisher: {\n id: 'otherpublisherid',\n name: 'publishername'\n }\n },\n user: {\n keywords: 'a,b',\n gender: 'M',\n yob: 1984\n },\n device: {\n ifa: 'ifa',\n geo: {\n lat: 53.5488,\n lon: 9.9872\n }\n }\n };\n\n const reqs = spec.buildRequests([singleBannerBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.user.gender).to.equal('M');\n expect(req.user.yob).to.equal(1984);\n expect(req.user.keywords).to.eql('a,b');\n expect(req.user.ext.consent).to.equal(CONSENT_STRING);\n expect(req.site.keywords).to.eql('power tools,drills');\n expect(req.site.publisher.id).to.equal('publisherId');\n expect(req.device.ifa).to.equal('ifa');\n expect(req.device.geo.lat).to.equal(53.5488);\n expect(req.device.geo.lon).to.equal(9.9872);\n });\n\n it('sends user first party data when user is not defined', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.user.gender).be.undefined;\n expect(req.user.yob).to.be.undefined;\n expect(req.user.keywords).to.be.undefined;\n expect(req.user.ext.consent).to.equal(CONSENT_STRING);\n });\n\n it('has no user ids', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.user.ext.eids).to.not.exist;\n });\n\n it('sends dsa', () => {\n const ortb2 = {\n regs: {\n ext: {\n dsa: {\n dsarequired: 2,\n pubrender: 0,\n datatopub: 1,\n transparency: [\n {\n domain: 'testdomain.com',\n dsaparams: [1, 2, 3]\n }\n ]\n }\n }\n }\n };\n\n const reqs = spec.buildRequests([singleBannerBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.regs.ext.dsa.dsarequired).to.eql(2);\n expect(req.regs.ext.dsa.pubrender).to.eql(0);\n expect(req.regs.ext.dsa.datatopub).to.eql(1);\n expect(req.regs.ext.dsa.transparency[0].domain).to.eql('testdomain.com');\n expect(req.regs.ext.dsa.transparency[0].dsaparams).to.eql([1, 2, 3]);\n });\n\n it('sends no dsa', () => {\n const ortb2 = {\n regs: {\n ext: {}\n }\n };\n\n const reqs = spec.buildRequests([singleBannerBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.regs.ext.dsa).to.be.undefined;\n });\n });\n\n describe('multiple requests', () => {\n it('build individual server request for each bid request', () => {\n const bidRequest1 = utils.deepClone(singleBannerBidRequest);\n const bidRequest1BidId = '1111';\n utils.deepSetValue(bidRequest1, 'bidId', bidRequest1BidId);\n const bidRequest2 = utils.deepClone(singleBannerBidRequest);\n const bidRequest2BidId = '2222';\n utils.deepSetValue(bidRequest2, 'bidId', bidRequest2BidId);\n\n const reqs = spec.buildRequests([bidRequest1, bidRequest2], defaultBidderRequest);\n\n expect(reqs).to.have.length(2);\n expect(JSON.parse(reqs[0].data).imp[0].id).to.be.equal(bidRequest1BidId);\n expect(JSON.parse(reqs[1].data).imp[0].id).to.be.equal(bidRequest2BidId);\n });\n });\n\n describe('buildRequests for video imps', () => {\n const VIDEO_OUTSTREAM_PREBID_MEDIATYPE = {\n context: 'outstream',\n playerSize: [[768, 1024]],\n mimes: ['video/mp4', 'video/quicktime', 'video/3gpp', 'video/x-m4v'],\n minduration: 5,\n maxduration: 30,\n startdelay: 0,\n linearity: 1,\n protocols: [7],\n skip: 1,\n skipmin: 5,\n api: [7],\n ext: {rewarded: 0}\n };\n const VIDEO_OUTSTREAM_OPENRTB_IMP = {\n mimes: ['video/mp4', 'video/quicktime', 'video/3gpp', 'video/x-m4v'],\n minduration: 5,\n startdelay: 0,\n linearity: 1,\n h: 1024,\n maxduration: 30,\n skip: 1,\n protocols: [7],\n ext: {\n rewarded: 0\n },\n skipmin: 5,\n api: [7],\n w: 768\n };\n const singleVideoBidRequest = {\n bidder: 'smaato',\n params: {\n publisherId: 'publisherId',\n adspaceId: 'adspaceId'\n },\n mediaTypes: {\n video: VIDEO_OUTSTREAM_PREBID_MEDIATYPE\n },\n adUnitCode: '/19968336/header-bid-tag-0',\n transactionId: 'transactionId',\n bidId: 'bidId',\n bidderRequestId: 'bidderRequestId',\n src: 'client',\n bidRequestsCount: 1,\n bidderRequestsCount: 1,\n bidderWinsCount: 0\n };\n\n if (FEATURES.VIDEO) {\n it('sends correct video imps', () => {\n const reqs = spec.buildRequests([singleVideoBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].id).to.be.equal('bidId');\n expect(req.imp[0].tagid).to.be.equal('adspaceId');\n expect(req.imp[0].bidfloor).to.be.undefined;\n expect(req.imp[0].video).to.deep.equal(VIDEO_OUTSTREAM_OPENRTB_IMP);\n });\n\n it('sends bidfloor when configured', () => {\n const singleVideoBidRequestWithFloor = Object.assign({}, singleVideoBidRequest);\n singleVideoBidRequestWithFloor.getFloor = function (arg) {\n if (arg.currency === 'USD' &&\n arg.mediaType === 'video' &&\n JSON.stringify(arg.size) === JSON.stringify([768, 1024])) {\n return {\n currency: 'USD',\n floor: 0.456\n }\n }\n }\n const reqs = spec.buildRequests([singleVideoBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.equal(0.456);\n });\n\n it('sends instl if instl exists', () => {\n const instl = {instl: 1};\n const bidRequestWithInstl = Object.assign({}, singleVideoBidRequest, {ortb2Imp: instl});\n\n const reqs = spec.buildRequests([bidRequestWithInstl], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].instl).to.equal(1);\n });\n\n it('splits multi format bid requests', () => {\n const combinedBannerAndVideoBidRequest = {\n bidder: 'smaato',\n params: {\n publisherId: 'publisherId',\n adspaceId: 'adspaceId'\n },\n mediaTypes: {\n banner: BANNER_PREBID_MEDIATYPE,\n video: VIDEO_OUTSTREAM_PREBID_MEDIATYPE\n },\n adUnitCode: '/19968336/header-bid-tag-0',\n transactionId: 'transactionId',\n sizes: [[300, 50]],\n bidId: 'bidId',\n bidderRequestId: 'bidderRequestId',\n src: 'client',\n bidRequestsCount: 1,\n bidderRequestsCount: 1,\n bidderWinsCount: 0\n };\n\n const reqs = spec.buildRequests([combinedBannerAndVideoBidRequest], defaultBidderRequest);\n\n expect(reqs).to.have.length(2);\n expect(JSON.parse(reqs[0].data).imp[0].banner).to.deep.equal(BANNER_OPENRTB_IMP);\n expect(JSON.parse(reqs[0].data).imp[0].video).to.not.exist;\n expect(JSON.parse(reqs[1].data).imp[0].banner).to.not.exist;\n expect(JSON.parse(reqs[1].data).imp[0].video).to.deep.equal(VIDEO_OUTSTREAM_OPENRTB_IMP);\n });\n\n describe('ad pod / long form video', () => {\n describe('required parameters with requireExactDuration false', () => {\n const ADBREAK_ID = 'adbreakId';\n const ADPOD = 'adpod';\n const BID_ID = '4331';\n const W = 640;\n const H = 480;\n const ADPOD_DURATION = 300;\n const DURATION_RANGE = [15, 30];\n const longFormVideoBidRequest = {\n params: {\n publisherId: 'publisherId',\n adbreakId: ADBREAK_ID,\n },\n mediaTypes: {\n video: {\n context: ADPOD,\n playerSize: [[W, H]],\n adPodDurationSec: ADPOD_DURATION,\n durationRangeSec: DURATION_RANGE,\n requireExactDuration: false\n }\n },\n bidId: BID_ID\n };\n\n it('sends required fields', () => {\n const reqs = spec.buildRequests([longFormVideoBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.id).to.exist;\n expect(req.imp.length).to.be.equal(ADPOD_DURATION / DURATION_RANGE[0]);\n expect(req.imp[0].id).to.be.equal(BID_ID);\n expect(req.imp[0].tagid).to.be.equal(ADBREAK_ID);\n expect(req.imp[0].bidfloor).to.be.undefined;\n expect(req.imp[0].video.ext.context).to.be.equal(ADPOD);\n expect(req.imp[0].video.w).to.be.equal(W);\n expect(req.imp[0].video.h).to.be.equal(H);\n expect(req.imp[0].video.maxduration).to.be.equal(DURATION_RANGE[1]);\n expect(req.imp[0].video.sequence).to.be.equal(1);\n expect(req.imp[1].id).to.be.equal(BID_ID);\n expect(req.imp[1].tagid).to.be.equal(ADBREAK_ID);\n expect(req.imp[1].bidfloor).to.be.undefined;\n expect(req.imp[1].video.ext.context).to.be.equal(ADPOD);\n expect(req.imp[1].video.w).to.be.equal(W);\n expect(req.imp[1].video.h).to.be.equal(H);\n expect(req.imp[1].video.maxduration).to.be.equal(DURATION_RANGE[1]);\n expect(req.imp[1].video.sequence).to.be.equal(2);\n });\n\n it('sends instl if instl exists', () => {\n const instl = {instl: 1};\n const bidRequestWithInstl = Object.assign({}, longFormVideoBidRequest, {ortb2Imp: instl});\n\n const reqs = spec.buildRequests([bidRequestWithInstl], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].instl).to.equal(1);\n expect(req.imp[1].instl).to.equal(1);\n });\n\n it('sends bidfloor when configured', () => {\n const longFormVideoBidRequestWithFloor = Object.assign({}, longFormVideoBidRequest);\n longFormVideoBidRequestWithFloor.getFloor = function (arg) {\n if (arg.currency === 'USD' &&\n arg.mediaType === 'video' &&\n JSON.stringify(arg.size) === JSON.stringify([640, 480])) {\n return {\n currency: 'USD',\n floor: 0.789\n }\n }\n }\n const reqs = spec.buildRequests([longFormVideoBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.equal(0.789);\n expect(req.imp[1].bidfloor).to.be.equal(0.789);\n });\n\n it('sends brand category exclusion as true when config is set to true', () => {\n config.setConfig({adpod: {brandCategoryExclusion: true}});\n\n const reqs = spec.buildRequests([longFormVideoBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].video.ext.brandcategoryexclusion).to.be.equal(true);\n });\n\n it('sends brand category exclusion as false when config is set to false', () => {\n config.setConfig({adpod: {brandCategoryExclusion: false}});\n\n const reqs = spec.buildRequests([longFormVideoBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].video.ext.brandcategoryexclusion).to.be.equal(false);\n });\n\n it('sends brand category exclusion as false when config is not set', () => {\n const reqs = spec.buildRequests([longFormVideoBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].video.ext.brandcategoryexclusion).to.be.equal(false);\n });\n });\n describe('required parameters with requireExactDuration true', () => {\n const ADBREAK_ID = 'adbreakId';\n const ADPOD = 'adpod';\n const BID_ID = '4331';\n const W = 640;\n const H = 480;\n const ADPOD_DURATION = 5;\n const DURATION_RANGE = [5, 15, 25];\n const longFormVideoBidRequest = {\n params: {\n publisherId: 'publisherId',\n adbreakId: ADBREAK_ID,\n },\n mediaTypes: {\n video: {\n context: ADPOD,\n playerSize: [[W, H]],\n adPodDurationSec: ADPOD_DURATION,\n durationRangeSec: DURATION_RANGE,\n requireExactDuration: true\n }\n },\n bidId: BID_ID\n };\n\n it('sends required fields', () => {\n const reqs = spec.buildRequests([longFormVideoBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.id).to.exist;\n expect(req.imp.length).to.be.equal(DURATION_RANGE.length);\n expect(req.imp[0].id).to.be.equal(BID_ID);\n expect(req.imp[0].tagid).to.be.equal(ADBREAK_ID);\n expect(req.imp[0].video.ext.context).to.be.equal(ADPOD);\n expect(req.imp[0].video.w).to.be.equal(W);\n expect(req.imp[0].video.h).to.be.equal(H);\n expect(req.imp[0].video.minduration).to.be.equal(DURATION_RANGE[0]);\n expect(req.imp[0].video.maxduration).to.be.equal(DURATION_RANGE[0]);\n expect(req.imp[0].video.sequence).to.be.equal(1);\n expect(req.imp[1].id).to.be.equal(BID_ID);\n expect(req.imp[1].tagid).to.be.equal(ADBREAK_ID);\n expect(req.imp[1].video.ext.context).to.be.equal(ADPOD);\n expect(req.imp[1].video.w).to.be.equal(W);\n expect(req.imp[1].video.h).to.be.equal(H);\n expect(req.imp[1].video.minduration).to.be.equal(DURATION_RANGE[1]);\n expect(req.imp[1].video.maxduration).to.be.equal(DURATION_RANGE[1]);\n expect(req.imp[1].video.sequence).to.be.equal(2);\n expect(req.imp[2].id).to.be.equal(BID_ID);\n expect(req.imp[2].tagid).to.be.equal(ADBREAK_ID);\n expect(req.imp[2].video.ext.context).to.be.equal(ADPOD);\n expect(req.imp[2].video.w).to.be.equal(W);\n expect(req.imp[2].video.h).to.be.equal(H);\n expect(req.imp[2].video.minduration).to.be.equal(DURATION_RANGE[2]);\n expect(req.imp[2].video.maxduration).to.be.equal(DURATION_RANGE[2]);\n expect(req.imp[2].video.sequence).to.be.equal(3);\n });\n });\n\n describe('forwarding of optional parameters', () => {\n const MIMES = ['video/mp4', 'video/quicktime', 'video/3gpp', 'video/x-m4v'];\n const STARTDELAY = 0;\n const LINEARITY = 1;\n const SKIP = 1;\n const PROTOCOLS = [7];\n const SKIPMIN = 5;\n const API = [7];\n const validBasicAdpodBidRequest = {\n params: {\n publisherId: 'publisherId',\n adbreakId: 'adbreakId',\n },\n mediaTypes: {\n video: {\n context: 'adpod',\n playerSize: [640, 480],\n adPodDurationSec: 300,\n durationRangeSec: [15, 30],\n mimes: MIMES,\n startdelay: STARTDELAY,\n linearity: LINEARITY,\n skip: SKIP,\n protocols: PROTOCOLS,\n skipmin: SKIPMIN,\n api: API\n }\n },\n bidId: 'bidId'\n };\n\n it('sends general video fields when they are present', () => {\n const reqs = spec.buildRequests([validBasicAdpodBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].video.mimes).to.eql(MIMES);\n expect(req.imp[0].video.startdelay).to.be.equal(STARTDELAY);\n expect(req.imp[0].video.linearity).to.be.equal(LINEARITY);\n expect(req.imp[0].video.skip).to.be.equal(SKIP);\n expect(req.imp[0].video.protocols).to.eql(PROTOCOLS);\n expect(req.imp[0].video.skipmin).to.be.equal(SKIPMIN);\n expect(req.imp[0].video.api).to.eql(API);\n });\n\n it('sends series name when parameter is present', () => {\n const SERIES_NAME = 'foo'\n const adpodRequestWithParameter = utils.deepClone(validBasicAdpodBidRequest);\n adpodRequestWithParameter.mediaTypes.video.tvSeriesName = SERIES_NAME;\n\n const reqs = spec.buildRequests([adpodRequestWithParameter], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.content.series).to.be.equal(SERIES_NAME);\n });\n\n it('sends episode name when parameter is present', () => {\n const EPISODE_NAME = 'foo'\n const adpodRequestWithParameter = utils.deepClone(validBasicAdpodBidRequest);\n adpodRequestWithParameter.mediaTypes.video.tvEpisodeName = EPISODE_NAME;\n\n const reqs = spec.buildRequests([adpodRequestWithParameter], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.content.title).to.be.equal(EPISODE_NAME);\n });\n\n it('sends season number as string when parameter is present', () => {\n const SEASON_NUMBER_AS_NUMBER_IN_PREBID_REQUEST = 42\n const SEASON_NUMBER_AS_STRING_IN_OUTGOING_REQUEST = '42'\n const adpodRequestWithParameter = utils.deepClone(validBasicAdpodBidRequest);\n adpodRequestWithParameter.mediaTypes.video.tvSeasonNumber = SEASON_NUMBER_AS_NUMBER_IN_PREBID_REQUEST;\n\n const reqs = spec.buildRequests([adpodRequestWithParameter], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.content.season).to.be.equal(SEASON_NUMBER_AS_STRING_IN_OUTGOING_REQUEST);\n });\n\n it('sends episode number when parameter is present', () => {\n const EPISODE_NUMBER = 42\n const adpodRequestWithParameter = utils.deepClone(validBasicAdpodBidRequest);\n adpodRequestWithParameter.mediaTypes.video.tvEpisodeNumber = EPISODE_NUMBER;\n\n const reqs = spec.buildRequests([adpodRequestWithParameter], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.content.episode).to.be.equal(EPISODE_NUMBER);\n });\n\n it('sends content length when parameter is present', () => {\n const LENGTH = 42\n const adpodRequestWithParameter = utils.deepClone(validBasicAdpodBidRequest);\n adpodRequestWithParameter.mediaTypes.video.contentLengthSec = LENGTH;\n\n const reqs = spec.buildRequests([adpodRequestWithParameter], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.content.len).to.be.equal(LENGTH);\n });\n\n it('sends livestream as 1 when content mode parameter is live', () => {\n const adpodRequestWithParameter = utils.deepClone(validBasicAdpodBidRequest);\n adpodRequestWithParameter.mediaTypes.video.contentMode = 'live';\n\n const reqs = spec.buildRequests([adpodRequestWithParameter], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.content.livestream).to.be.equal(1);\n });\n\n it('sends livestream as 0 when content mode parameter is on-demand', () => {\n const adpodRequestWithParameter = utils.deepClone(validBasicAdpodBidRequest);\n adpodRequestWithParameter.mediaTypes.video.contentMode = 'on-demand';\n\n const reqs = spec.buildRequests([adpodRequestWithParameter], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.content.livestream).to.be.equal(0);\n });\n\n it('doesn\\'t send any optional parameters when none are present', () => {\n const reqs = spec.buildRequests([validBasicAdpodBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].video.ext.requireExactDuration).to.not.exist;\n expect(req.site.content).to.not.exist;\n });\n });\n });\n }\n });\n\n if (FEATURES.NATIVE) {\n describe('buildRequests for native imps', () => {\n const NATIVE_OPENRTB_REQUEST = {\n ver: '1.2',\n assets: [\n {\n id: 4,\n required: 1,\n img: {\n type: 3,\n w: 150,\n h: 50,\n }\n },\n {\n id: 2,\n required: 1,\n img: {\n type: 2,\n w: 50,\n h: 50\n }\n },\n {\n id: 0,\n required: 1,\n title: {\n len: 80\n }\n },\n {\n id: 1,\n required: 1,\n data: {\n type: 1\n }\n },\n {\n id: 3,\n required: 1,\n data: {\n type: 2\n }\n },\n {\n id: 5,\n required: 1,\n data: {\n type: 3\n }\n },\n {\n id: 6,\n required: 1,\n data: {\n type: 4\n }\n },\n {\n id: 7,\n required: 1,\n data: {\n type: 5\n }\n },\n {\n id: 8,\n required: 1,\n data: {\n type: 6\n }\n },\n {\n id: 9,\n required: 1,\n data: {\n type: 7\n }\n },\n {\n id: 10,\n required: 0,\n data: {\n type: 8\n }\n },\n {\n id: 11,\n required: 1,\n data: {\n type: 9\n }\n },\n {\n id: 12,\n require: 0,\n data: {\n type: 10\n }\n },\n {\n id: 13,\n required: 0,\n data: {\n type: 11\n }\n },\n {\n id: 14,\n required: 1,\n data: {\n type: 12\n }\n }\n ]\n };\n\n const singleNativeBidRequest = {\n bidder: 'smaato',\n params: {\n publisherId: 'publisherId',\n adspaceId: 'adspaceId'\n },\n nativeOrtbRequest: NATIVE_OPENRTB_REQUEST,\n adUnitCode: '/19968336/header-bid-tag-0',\n transactionId: 'transactionId',\n bidId: 'bidId',\n bidderRequestId: 'bidderRequestId',\n src: 'client',\n bidRequestsCount: 1,\n bidderRequestsCount: 1,\n bidderWinsCount: 0\n };\n\n it('sends correct native imps', () => {\n const reqs = spec.buildRequests([singleNativeBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].id).to.be.equal('bidId');\n expect(req.imp[0].tagid).to.be.equal('adspaceId');\n expect(req.imp[0].bidfloor).to.be.undefined;\n expect(req.imp[0].native.request).to.deep.equal(JSON.stringify(NATIVE_OPENRTB_REQUEST));\n });\n\n it('sends bidfloor when configured', () => {\n const singleNativeBidRequestWithFloor = Object.assign({}, singleNativeBidRequest);\n singleNativeBidRequestWithFloor.getFloor = function (arg) {\n if (arg.currency === 'USD' &&\n arg.mediaType === 'native' &&\n JSON.stringify(arg.size) === JSON.stringify([150, 50])) {\n return {\n currency: 'USD',\n floor: 0.123\n }\n }\n }\n const reqs = spec.buildRequests([singleNativeBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.equal(0.123);\n });\n });\n }\n describe('in-app requests', () => {\n const LOCATION = {\n lat: 33.3,\n lon: -88.8\n }\n const DEVICE_ID = 'aDeviceId'\n const inAppBidRequestWithoutAppParams = {\n bidder: 'smaato',\n params: {\n publisherId: 'publisherId',\n adspaceId: 'adspaceId'\n },\n mediaTypes: {\n banner: BANNER_PREBID_MEDIATYPE\n },\n adUnitCode: '/19968336/header-bid-tag-0',\n transactionId: 'transactionId',\n sizes: [[300, 50]],\n bidId: 'bidId',\n bidderRequestId: 'bidderRequestId',\n src: 'client',\n bidRequestsCount: 1,\n bidderRequestsCount: 1,\n bidderWinsCount: 0\n };\n\n it('when geo and ifa info present, then add both to device object', () => {\n const inAppBidRequest = utils.deepClone(inAppBidRequestWithoutAppParams);\n inAppBidRequest.params.app = {ifa: DEVICE_ID, geo: LOCATION};\n\n const reqs = spec.buildRequests([inAppBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.device.geo).to.deep.equal(LOCATION);\n expect(req.device.ifa).to.equal(DEVICE_ID);\n });\n\n it('when geo and ifa info present and fpd present, then prefer fpd', () => {\n const ortb2 = {\n device: {\n ifa: 'ifa',\n geo: {\n lat: 53.5488,\n lon: 9.9872\n }\n }\n };\n\n const inAppBidRequest = utils.deepClone(inAppBidRequestWithoutAppParams);\n inAppBidRequest.params.app = {ifa: DEVICE_ID, geo: LOCATION};\n\n const reqs = spec.buildRequests([inAppBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.device.geo.lat).to.equal(53.5488);\n expect(req.device.geo.lon).to.equal(9.9872);\n expect(req.device.ifa).to.equal('ifa');\n });\n\n it('when ifa is present but geo is missing, then add only ifa to device object', () => {\n const inAppBidRequest = utils.deepClone(inAppBidRequestWithoutAppParams);\n inAppBidRequest.params.app = {ifa: DEVICE_ID};\n\n const reqs = spec.buildRequests([inAppBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.device.geo).to.not.exist;\n expect(req.device.ifa).to.equal(DEVICE_ID);\n });\n\n it('when geo is present but ifa is missing, then add only geo to device object', () => {\n const inAppBidRequest = utils.deepClone(inAppBidRequestWithoutAppParams);\n inAppBidRequest.params.app = {geo: LOCATION};\n\n const reqs = spec.buildRequests([inAppBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.device.geo).to.deep.equal(LOCATION);\n expect(req.device.ifa).to.not.exist;\n });\n\n it('when app param does not exist, then add no specific device info', () => {\n const reqs = spec.buildRequests([inAppBidRequestWithoutAppParams], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.device.geo).to.not.exist;\n expect(req.device.ifa).to.not.exist;\n });\n });\n\n describe('user ids in requests', () => {\n it('user ids are added to user.ext.eids', () => {\n const userIdBidRequest = {\n bidder: 'smaato',\n params: {\n publisherId: 'publisherId',\n adspaceId: 'adspaceId'\n },\n mediaTypes: {\n banner: BANNER_PREBID_MEDIATYPE\n },\n adUnitCode: '/19968336/header-bid-tag-0',\n transactionId: 'transactionId',\n sizes: [[300, 50]],\n bidId: 'bidId',\n bidderRequestId: 'bidderRequestId',\n src: 'client',\n bidRequestsCount: 1,\n bidderRequestsCount: 1,\n bidderWinsCount: 0,\n userId: {\n criteoId: '123456',\n tdid: '89145'\n },\n userIdAsEids: [\n {id: 1}, {id: 2}\n ]\n };\n\n const reqs = spec.buildRequests([userIdBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.user.ext.eids).to.eql(userIdBidRequest.userIdAsEids);\n });\n });\n\n describe('schain in request', () => {\n it('schain is added to source.ext.schain', () => {\n const schain = {\n ver: '1.0',\n complete: 1,\n nodes: [\n {\n 'asi': 'asi',\n 'sid': 'sid',\n 'rid': 'rid',\n 'hp': 1\n }\n ]\n };\n const bidRequestWithSchain = Object.assign({}, singleBannerBidRequest, {\n ortb2: {\n source: {\n ext: {\n schain: schain\n }\n }\n }\n });\n\n const reqs = spec.buildRequests([bidRequestWithSchain], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.source.ext.schain).to.deep.equal(schain);\n });\n });\n });\n\n describe('interpretResponse', () => {\n function buildBidRequest(payloadAsJsObj = {imp: [{}]}) {\n return {\n method: 'POST',\n url: 'https://prebid.ad.smaato.net/oapi/prebid',\n data: JSON.stringify(payloadAsJsObj)\n }\n }\n\n const NATIVE_RESPONSE = {\n ver: '1.2',\n link: {\n url: 'https://link.url',\n clicktrackers: [\n 'http://click.url/v1/click?e=prebid'\n ]\n },\n assets: [\n {\n id: 0,\n required: 1,\n title: {\n text: 'Title'\n }\n },\n {\n id: 2,\n required: 1,\n img: {\n type: 1,\n url: 'https://logo.png',\n w: 40,\n h: 40\n }\n },\n {\n id: 4,\n required: 1,\n img: {\n type: 3,\n url: 'https://main.png',\n w: 480,\n h: 320\n }\n },\n {\n id: 3,\n required: 1,\n data: {\n type: 2,\n value: 'Desc'\n }\n },\n {\n id: 14,\n required: 1,\n data: {\n type: 12,\n value: 'CTAText'\n }\n },\n {\n id: 5,\n required: 0,\n data: {\n type: 3,\n value: '2 stars'\n }\n }\n ],\n eventtrackers: [\n {\n event: 2,\n method: 1,\n url: 'https://js.url'\n },\n {\n event: 1,\n method: 1,\n url: 'http://view.url/v1/view?e=prebid'\n }\n ],\n privacy: 'https://privacy.com/'\n }\n\n const buildOpenRtbBidResponse = (adType) => {\n let adm = '';\n\n switch (adType) {\n case ADTYPE_IMG:\n adm = '<a rel=\"nofollow\" href=\"https://prebid.net/click\"><img src=\"https://prebid.net/images/image.png\" alt=\"\" width=\"480\" height=\"320\" /></a>'\n break;\n case ADTYPE_VIDEO:\n adm = '<VAST version=\"2.0\"></VAST>';\n break;\n case ADTYPE_NATIVE:\n adm = JSON.stringify({native: NATIVE_RESPONSE})\n break;\n default:\n throw Error('Invalid AdType');\n }\n\n return {\n body: {\n bidid: '04db8629-179d-4bcd-acce-e54722969006',\n cur: 'USD',\n ext: {},\n id: '5ebea288-f13a-4754-be6d-4ade66c68877',\n seatbid: [\n {\n bid: [\n {\n 'adm': adm,\n 'adomain': [\n 'smaato.com'\n ],\n 'bidderName': 'smaato',\n 'cid': 'CM6523',\n 'crid': 'CR69381',\n 'dealid': '12345',\n 'id': '6906aae8-7f74-4edd-9a4f-f49379a3cadd',\n 'impid': '226416e6e6bf41',\n 'iurl': 'https://prebid/iurl',\n 'nurl': 'https://prebid/nurl',\n 'price': 0.01,\n 'w': 350,\n 'h': 50,\n 'ext': {\n curls: ['https://prebid/track/click/1']\n }\n }\n ],\n seat: 'CM6523'\n }\n ],\n },\n headers: {\n get: function (header) {\n if (header === 'X-SMT-ADTYPE') {\n return adType;\n }\n }\n }\n };\n };\n\n it('returns empty array on no bid responses', () => {\n const response_with_empty_body = {body: {}};\n\n const bids = spec.interpretResponse(response_with_empty_body, buildBidRequest());\n\n expect(bids).to.be.empty;\n });\n\n describe('non ad pod', () => {\n it('single banner response', () => {\n const bids = spec.interpretResponse(buildOpenRtbBidResponse(ADTYPE_IMG), buildBidRequest());\n\n expect(bids).to.deep.equal([\n {\n requestId: '226416e6e6bf41',\n cpm: 0.01,\n width: 350,\n height: 50,\n ad: '<div style=\"cursor:pointer\" onclick=\"fetch(decodeURIComponent(\\'https%3A%2F%2Fprebid%2Ftrack%2Fclick%2F1\\'), {cache: \\'no-cache\\'});\"><a rel=\"nofollow\" href=\"https://prebid.net/click\"><img src=\"https://prebid.net/images/image.png\" alt=\"\" width=\"480\" height=\"320\" /></a></div>',\n ttl: 300,\n creativeId: 'CR69381',\n dealId: '12345',\n netRevenue: true,\n currency: 'USD',\n mediaType: 'banner',\n meta: {\n advertiserDomains: ['smaato.com'],\n agencyId: 'CM6523',\n networkName: 'smaato',\n mediaType: 'banner'\n }\n }\n ]);\n });\n\n it('single video response', () => {\n const bids = spec.interpretResponse(buildOpenRtbBidResponse(ADTYPE_VIDEO), buildBidRequest());\n\n expect(bids).to.deep.equal([\n {\n requestId: '226416e6e6bf41',\n cpm: 0.01,\n width: 350,\n height: 50,\n vastXml: '<VAST version=\"2.0\"></VAST>',\n ttl: 300,\n creativeId: 'CR69381',\n dealId: '12345',\n netRevenue: true,\n currency: 'USD',\n mediaType: 'video',\n meta: {\n advertiserDomains: ['smaato.com'],\n agencyId: 'CM6523',\n networkName: 'smaato',\n mediaType: 'video'\n }\n }\n ]);\n });\n\n it('single native response', () => {\n const bids = spec.interpretResponse(buildOpenRtbBidResponse(ADTYPE_NATIVE), buildBidRequest());\n\n expect(bids).to.deep.equal([\n {\n requestId: '226416e6e6bf41',\n cpm: 0.01,\n width: 350,\n height: 50,\n native: {\n ortb: NATIVE_RESPONSE\n },\n ttl: 300,\n creativeId: 'CR69381',\n dealId: '12345',\n netRevenue: true,\n currency: 'USD',\n mediaType: 'native',\n meta: {\n advertiserDomains: ['smaato.com'],\n agencyId: 'CM6523',\n networkName: 'smaato',\n mediaType: 'native'\n }\n }\n ]);\n });\n\n it('ignores bid response with invalid ad type', () => {\n const serverResponse = buildOpenRtbBidResponse(ADTYPE_IMG);\n serverResponse.headers.get = (header) => {\n if (header === 'X-SMT-ADTYPE') {\n return undefined;\n }\n };\n\n const bids = spec.interpretResponse(serverResponse, buildBidRequest());\n\n expect(bids).to.be.empty;\n });\n });\n\n describe('ad pod', () => {\n const bidRequestWithAdpodContext = buildBidRequest({imp: [{video: {ext: {context: 'adpod'}}}]});\n const PRIMARY_CAT_ID = 1337\n const serverResponse = {\n body: {\n bidid: '04db8629-179d-4bcd-acce-e54722969006',\n cur: 'USD',\n ext: {},\n id: '5ebea288-f13a-4754-be6d-4ade66c68877',\n seatbid: [\n {\n bid: [\n {\n adm: '<VAST version=\"2.0\"></VAST>',\n adomain: [\n 'smaato.com'\n ],\n bidderName: 'smaato',\n cid: 'CM6523',\n crid: 'CR69381',\n dealid: '12345',\n id: '6906aae8-7f74-4edd-9a4f-f49379a3cadd',\n impid: '226416e6e6bf41',\n iurl: 'https://prebid/iurl',\n nurl: 'https://prebid/nurl',\n price: 0.01,\n w: 350,\n h: 50,\n cat: [PRIMARY_CAT_ID],\n ext: {\n duration: 42\n }\n }\n ],\n seat: 'CM6523'\n }\n ]\n },\n headers: {get: () => undefined}\n };\n\n it('sets required values for adpod bid from server response', () => {\n const bids = spec.interpretResponse(serverResponse, bidRequestWithAdpodContext);\n\n expect(bids).to.deep.equal([\n {\n requestId: '226416e6e6bf41',\n cpm: 0.01,\n width: 350,\n height: 50,\n vastXml: '<VAST version=\"2.0\"></VAST>',\n ttl: 300,\n creativeId: 'CR69381',\n dealId: '12345',\n netRevenue: true,\n currency: 'USD',\n mediaType: 'video',\n video: {\n context: 'adpod',\n durationSeconds: 42\n },\n meta: {\n advertiserDomains: ['smaato.com'],\n agencyId: 'CM6523',\n networkName: 'smaato',\n mediaType: 'video'\n }\n }\n ]);\n });\n\n it('sets primary category id in case of enabled brand category exclusion', () => {\n config.setConfig({adpod: {brandCategoryExclusion: true}});\n\n const bids = spec.interpretResponse(serverResponse, bidRequestWithAdpodContext)\n\n expect(bids[0].meta.primaryCatId).to.be.equal(PRIMARY_CAT_ID)\n })\n });\n\n it('uses correct TTL when expire header exists', () => {\n const clock = sinon.useFakeTimers();\n clock.tick(2000);\n const resp = buildOpenRtbBidResponse(ADTYPE_IMG);\n resp.headers.get = (header) => {\n if (header === 'X-SMT-ADTYPE') {\n return ADTYPE_IMG;\n }\n if (header === 'X-SMT-Expires') {\n return 2000 + (400 * 1000);\n }\n };\n\n const bids = spec.interpretResponse(resp, buildBidRequest());\n\n expect(bids[0].ttl).to.equal(400);\n\n clock.restore();\n });\n\n it('uses net revenue flag send from server', () => {\n const resp = buildOpenRtbBidResponse(ADTYPE_IMG);\n resp.body.seatbid[0].bid[0].ext = {net: false};\n\n const bids = spec.interpretResponse(resp, buildBidRequest());\n\n expect(bids[0].netRevenue).to.equal(false);\n });\n\n it('uses dsa object sent from server', () => {\n const resp = buildOpenRtbBidResponse(ADTYPE_IMG);\n const dsa = {\n behalf: 'advertiser',\n paid: 'advertiser',\n adrender: 1,\n transparency: [\n {\n domain: 'dsp1domain.com',\n dsaparams: [1, 2]\n }\n ]\n };\n resp.body.seatbid[0].bid[0].ext.dsa = dsa;\n\n const bids = spec.interpretResponse(resp, buildBidRequest());\n\n expect(bids[0].meta.dsa).to.deep.equal(dsa);\n });\n\n it('does not use dsa object if not sent from server', () => {\n const resp = buildOpenRtbBidResponse(ADTYPE_IMG);\n resp.body.seatbid[0].bid[0].ext = {}\n\n const bids = spec.interpretResponse(resp, buildBidRequest());\n\n expect(bids[0].meta.dsa).to.be.undefined;\n });\n });\n\n describe('getUserSyncs', () => {\n afterEach(() => {\n config.resetConfig();\n })\n\n it('when pixelEnabled and iframeEnabled false then returns no syncs', () => {\n expect(spec.getUserSyncs()).to.be.empty\n })\n\n it('when pixelEnabled true then returns image sync', () => {\n expect(spec.getUserSyncs({pixelEnabled: true}, null, null, null)).to.deep.equal(\n [\n {\n type: 'image',\n url: IMAGE_SYNC_URL\n }\n ]\n )\n })\n\n it('when iframeEnabled true then returns iframe sync', () => {\n expect(spec.getUserSyncs({iframeEnabled: true}, null, null, null)).to.deep.equal(\n [\n {\n type: 'iframe',\n url: IFRAME_SYNC_URL\n }\n ]\n )\n })\n\n it('when iframeEnabled true and syncsPerBidder then returns iframe sync', () => {\n config.setConfig({userSync: {syncsPerBidder: 5}});\n expect(spec.getUserSyncs({iframeEnabled: true}, null, null, null)).to.deep.equal(\n [\n {\n type: 'iframe',\n url: `${IFRAME_SYNC_URL}&maxUrls=5`\n }\n ]\n )\n })\n\n it('when iframeEnabled and pixelEnabled true then returns iframe sync', () => {\n expect(spec.getUserSyncs({pixelEnabled: true, iframeEnabled: true}, null, null, null)).to.deep.equal(\n [\n {\n type: 'iframe',\n url: IFRAME_SYNC_URL\n }\n ]\n )\n })\n\n it('when pixelEnabled true and gdprConsent then returns image sync with gdpr params', () => {\n expect(spec.getUserSyncs({pixelEnabled: true}, null, {gdprApplies: true, consentString: CONSENT_STRING}, null)).to.deep.equal(\n [\n {\n type: 'image',\n url: `${IMAGE_SYNC_URL}&gdpr=1&gdpr_consent=${CONSENT_STRING}`\n }\n ]\n )\n })\n\n it('when iframeEnabled true and gdprConsent then returns iframe with gdpr params', () => {\n expect(spec.getUserSyncs({iframeEnabled: true}, null, {gdprApplies: true, consentString: CONSENT_STRING}, null)).to.deep.equal(\n [\n {\n type: 'iframe',\n url: `${IFRAME_SYNC_URL}&gdpr=1&gdpr_consent=${CONSENT_STRING}`\n }\n ]\n )\n })\n\n it('when pixelEnabled true and gdprConsent without gdpr then returns pixel sync with gdpr_consent', () => {\n expect(spec.getUserSyncs({pixelEnabled: true}, null, {consentString: CONSENT_STRING}, null), null).to.deep.equal(\n [\n {\n type: 'image',\n url: `${IMAGE_SYNC_URL}&gdpr_consent=${CONSENT_STRING}`\n }\n ]\n )\n })\n\n it('when iframeEnabled true and gdprConsent without gdpr then returns iframe sync with gdpr_consent', () => {\n expect(spec.getUserSyncs({iframeEnabled: true}, null, {consentString: CONSENT_STRING}, null), null).to.deep.equal(\n [\n {\n type: 'iframe',\n url: `${IFRAME_SYNC_URL}&gdpr_consent=${CONSENT_STRING}`\n }\n ]\n )\n })\n })\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"smaatoBidAdapter_spec.js","names":["spec","utils","config","IMAGE_SYNC_URL","IFRAME_SYNC_URL","ADTYPE_IMG","ADTYPE_VIDEO","ADTYPE_NATIVE","REFERRER","CONSENT_STRING","AUCTION_ID","defaultBidderRequest","bidderRequestId","gdprConsent","consentString","gdprApplies","uspConsent","refererInfo","ref","timeout","auctionId","BANNER_PREBID_MEDIATYPE","sizes","singleBannerBidRequest","bidder","params","publisherId","adspaceId","mediaTypes","banner","adUnitCode","transactionId","bidId","src","bidRequestsCount","bidderRequestsCount","bidderWinsCount","extractPayloadOfFirstAndOnlyRequest","reqs","expect","to","have","length","JSON","parse","data","describe","it","isBidRequestValid","be","false","ADPOD","video","context","adbreakId","true","BANNER_OPENRTB_IMP","format","h","w","topframe","MINIMAL_BIDDER_REQUEST","sandbox","beforeEach","sinon","createSandbox","afterEach","restore","buildRequests","req","at","equal","overridenEndpoint","updatedBidRequest","deepClone","deepSetValue","url","imp","deep","id","tagid","secure","singleBannerBidRequestWithFloor","Object","assign","getFloor","arg","currency","mediaType","stringify","size","floor","bidfloor","singleBannerMultipleSizesBidRequestWithFloor","undefined","site","exist","and","a","domain","page","publisher","ortb2","name","dooh","keywords","venuetypetax","language","ua","sua","dnt","device","regs","ext","gdpr","user","consent","coppa","not","us_privacy","gpp","gpp_sid","eql","source","schain","instl","bidRequestWithInstl","ortb2Imp","tmax","gender","yob","ifa","geo","lat","lon","eids","dsa","dsarequired","pubrender","datatopub","transparency","dsaparams","bidRequest1","bidRequest1BidId","bidRequest2","bidRequest2BidId","VIDEO_OUTSTREAM_PREBID_MEDIATYPE","playerSize","mimes","minduration","maxduration","startdelay","linearity","protocols","skip","skipmin","api","rewarded","VIDEO_OUTSTREAM_OPENRTB_IMP","singleVideoBidRequest","singleVideoBidRequestWithFloor","combinedBannerAndVideoBidRequest","ADBREAK_ID","BID_ID","W","H","ADPOD_DURATION","DURATION_RANGE","longFormVideoBidRequest","adPodDurationSec","durationRangeSec","requireExactDuration","sequence","longFormVideoBidRequestWithFloor","setConfig","adpod","brandCategoryExclusion","brandcategoryexclusion","MIMES","STARTDELAY","LINEARITY","SKIP","PROTOCOLS","SKIPMIN","API","validBasicAdpodBidRequest","SERIES_NAME","adpodRequestWithParameter","tvSeriesName","content","series","EPISODE_NAME","tvEpisodeName","title","SEASON_NUMBER_AS_NUMBER_IN_PREBID_REQUEST","SEASON_NUMBER_AS_STRING_IN_OUTGOING_REQUEST","tvSeasonNumber","season","EPISODE_NUMBER","tvEpisodeNumber","episode","LENGTH","contentLengthSec","len","contentMode","livestream","NATIVE_OPENRTB_REQUEST","ver","assets","required","img","type","require","singleNativeBidRequest","nativeOrtbRequest","native","request","singleNativeBidRequestWithFloor","LOCATION","DEVICE_ID","inAppBidRequestWithoutAppParams","inAppBidRequest","app","userIdBidRequest","userId","criteoId","tdid","userIdAsEids","complete","nodes","bidRequestWithSchain","buildBidRequest","payloadAsJsObj","arguments","method","NATIVE_RESPONSE","link","clicktrackers","text","value","eventtrackers","event","privacy","buildOpenRtbBidResponse","adType","adm","Error","body","bidid","cur","seatbid","bid","curls","seat","headers","get","header","response_with_empty_body","bids","interpretResponse","empty","requestId","cpm","width","height","ad","ttl","creativeId","dealId","netRevenue","meta","advertiserDomains","agencyId","networkName","vastXml","ortb","serverResponse","bidRequestWithAdpodContext","PRIMARY_CAT_ID","adomain","bidderName","cid","crid","dealid","impid","iurl","nurl","price","cat","duration","durationSeconds","primaryCatId","clock","useFakeTimers","tick","resp","net","behalf","paid","adrender","resetConfig","getUserSyncs","pixelEnabled","iframeEnabled","userSync","syncsPerBidder"],"sourceRoot":"../../../../..","sources":["test/spec/modules/smaatoBidAdapter_spec.js"],"sourcesContent":["import {spec} from 'modules/smaatoBidAdapter.js';\nimport * as utils from 'src/utils.js';\nimport {config} from 'src/config.js';\n\n// load modules that register ORTB processors\nimport 'src/prebid.js'\nimport 'modules/currency.js';\nimport 'modules/userId/index.js';\nimport 'modules/multibid/index.js';\nimport 'modules/priceFloors.js';\nimport 'modules/consentManagementTcf.js';\nimport 'modules/consentManagementUsp.js';\n\nconst IMAGE_SYNC_URL = 'https://s.ad.smaato.net/c/?adExInit=p'\nconst IFRAME_SYNC_URL = 'https://s.ad.smaato.net/i/?adExInit=p'\n\nconst ADTYPE_IMG = 'Img';\nconst ADTYPE_VIDEO = 'Video';\nconst ADTYPE_NATIVE = 'Native';\n\nconst REFERRER = 'http://example.com/page.html'\nconst CONSENT_STRING = 'HFIDUYFIUYIUYWIPOI87392DSU'\nconst AUCTION_ID = '6653';\n\nconst defaultBidderRequest = {\n bidderRequestId: 'mock-uuid',\n gdprConsent: {\n consentString: CONSENT_STRING,\n gdprApplies: true\n },\n uspConsent: 'uspConsentString',\n refererInfo: {\n ref: REFERRER,\n },\n timeout: 1200,\n auctionId: AUCTION_ID\n};\n\nconst BANNER_PREBID_MEDIATYPE = {\n sizes: [[300, 50]]\n}\n\nconst singleBannerBidRequest = {\n bidder: 'smaato',\n params: {\n publisherId: 'publisherId',\n adspaceId: 'adspaceId'\n },\n mediaTypes: {\n banner: BANNER_PREBID_MEDIATYPE\n },\n adUnitCode: '/19968336/header-bid-tag-0',\n transactionId: 'transactionId',\n sizes: [[300, 50]],\n bidId: 'bidId',\n bidderRequestId: 'bidderRequestId',\n src: 'client',\n bidRequestsCount: 1,\n bidderRequestsCount: 1,\n bidderWinsCount: 0\n};\n\nconst extractPayloadOfFirstAndOnlyRequest = (reqs) => {\n expect(reqs).to.have.length(1);\n return JSON.parse(reqs[0].data);\n}\n\ndescribe('smaatoBidAdapterTest', () => {\n describe('isBidRequestValid', () => {\n it('is invalid, when params object is not present', () => {\n expect(spec.isBidRequestValid({})).to.be.false;\n });\n\n it('is invalid, when params object is empty', () => {\n expect(spec.isBidRequestValid({params: {}})).to.be.false;\n });\n\n it('is invalid, when publisherId is present but of wrong type', () => {\n expect(spec.isBidRequestValid({params: {publisherId: 123}})).to.be.false;\n });\n\n describe('for ad pod / long form video requests', () => {\n const ADPOD = {video: {context: 'adpod'}}\n it('is invalid, when adbreakId is missing', () => {\n expect(spec.isBidRequestValid({mediaTypes: ADPOD, params: {publisherId: '123'}})).to.be.false;\n });\n\n it('is invalid, when adbreakId is present but of wrong type', () => {\n expect(spec.isBidRequestValid({mediaTypes: ADPOD, params: {publisherId: '123', adbreakId: 456}})).to.be.false;\n });\n\n it('is valid, when required params are present', () => {\n expect(spec.isBidRequestValid({mediaTypes: ADPOD, params: {publisherId: '123', adbreakId: '456'}})).to.be.true;\n });\n\n it('is invalid, when forbidden adspaceId param is present', () => {\n expect(spec.isBidRequestValid({\n mediaTypes: ADPOD,\n params: {publisherId: '123', adbreakId: '456', adspaceId: '42'}\n })).to.be.false;\n });\n });\n\n describe('for non adpod requests', () => {\n it('is invalid, when adspaceId is missing', () => {\n expect(spec.isBidRequestValid({params: {publisherId: '123'}})).to.be.false;\n });\n\n it('is invalid, when adspaceId is present but of wrong type', () => {\n expect(spec.isBidRequestValid({params: {publisherId: '123', adspaceId: 456}})).to.be.false;\n });\n\n it('is valid, when required params are present for minimal request', () => {\n expect(spec.isBidRequestValid({params: {publisherId: '123', adspaceId: '456'}})).to.be.true;\n });\n\n it('is invalid, when forbidden adbreakId param is present', () => {\n expect(spec.isBidRequestValid({params: {publisherId: '123', adspaceId: '456', adbreakId: '42'}})).to.be.false;\n });\n });\n });\n\n describe('buildRequests', () => {\n const BANNER_OPENRTB_IMP = {\n format: [\n {\n h: 50,\n w: 300\n }\n ],\n topframe: 0,\n }\n\n describe('common', () => {\n const MINIMAL_BIDDER_REQUEST = {\n refererInfo: {\n ref: REFERRER,\n }\n };\n\n let sandbox;\n beforeEach(() => {\n sandbox = sinon.createSandbox();\n });\n\n afterEach(() => {\n sandbox.restore();\n })\n\n it('auction type is 1 (first price auction)', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.at).to.be.equal(1);\n })\n\n it('can override endpoint', () => {\n const overridenEndpoint = 'https://prebid/bidder';\n const updatedBidRequest = utils.deepClone(singleBannerBidRequest);\n utils.deepSetValue(updatedBidRequest, 'params.endpoint', overridenEndpoint);\n\n const reqs = spec.buildRequests([updatedBidRequest], defaultBidderRequest);\n\n expect(reqs).to.have.length(1);\n expect(reqs[0].url).to.equal(overridenEndpoint);\n });\n\n it('sends correct imp', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp).to.deep.equal([\n {\n id: 'bidId',\n banner: BANNER_OPENRTB_IMP,\n tagid: 'adspaceId',\n secure: 1\n }\n ]);\n });\n\n it('sends bidfloor when configured', () => {\n const singleBannerBidRequestWithFloor = Object.assign({}, singleBannerBidRequest);\n singleBannerBidRequestWithFloor.getFloor = function (arg) {\n if (arg.currency === 'USD' &&\n arg.mediaType === 'banner' &&\n JSON.stringify(arg.size) === JSON.stringify([300, 50])) {\n return {\n currency: 'USD',\n floor: 0.123\n }\n }\n }\n const reqs = spec.buildRequests([singleBannerBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.equal(0.123);\n });\n\n it('bidfloor uses catch-all when multiple sizes', () => {\n const singleBannerMultipleSizesBidRequestWithFloor = Object.assign({}, singleBannerBidRequest, {\n mediaTypes: {\n banner: {\n sizes: [[320, 50], [320, 250]]\n }\n }\n });\n singleBannerMultipleSizesBidRequestWithFloor.getFloor = function (arg) {\n if (arg.size === '*') {\n return {\n currency: 'USD',\n floor: 0.101\n }\n }\n }\n const reqs = spec.buildRequests([singleBannerMultipleSizesBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.equal(0.101);\n });\n\n it('sends undefined bidfloor when not a function', () => {\n const singleBannerBidRequestWithFloor = Object.assign({}, singleBannerBidRequest);\n singleBannerBidRequestWithFloor.getFloor = 0\n\n const reqs = spec.buildRequests([singleBannerBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.undefined\n });\n\n it('sends undefined bidfloor when invalid', () => {\n const singleBannerBidRequestWithFloor = Object.assign({}, singleBannerBidRequest);\n singleBannerBidRequestWithFloor.getFloor = function () {\n return undefined;\n }\n const reqs = spec.buildRequests([singleBannerBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.undefined\n });\n\n it('sends undefined bidfloor when not a number', () => {\n const singleBannerBidRequestWithFloor = Object.assign({}, singleBannerBidRequest);\n singleBannerBidRequestWithFloor.getFloor = function () {\n return {\n currency: 'USD',\n }\n }\n const reqs = spec.buildRequests([singleBannerBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.undefined;\n });\n\n it('sends undefined bidfloor when wrong currency', () => {\n const singleBannerBidRequestWithFloor = Object.assign({}, singleBannerBidRequest);\n singleBannerBidRequestWithFloor.getFloor = function () {\n return {\n currency: 'EUR',\n floor: 0.123\n }\n }\n const reqs = spec.buildRequests([singleBannerBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.undefined;\n });\n\n it('sends correct site', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.id).to.exist.and.to.be.a('string');\n expect(req.site.domain).to.exist.and.to.be.a('string');\n expect(req.site.page).to.exist.and.to.be.a('string');\n expect(req.site.ref).to.equal(REFERRER);\n expect(req.site.publisher.id).to.equal('publisherId');\n })\n\n it('sends correct site from ortb2', () => {\n const domain = 'domain';\n const page = 'page';\n const ref = 'ref';\n const ortb2 = {\n site: {\n name: 'example',\n domain: domain,\n page: page,\n ref: ref\n },\n };\n\n const reqs = spec.buildRequests([singleBannerBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.id).to.exist.and.to.be.a('string');\n expect(req.site.domain).to.equal(domain);\n expect(req.site.page).to.equal(page);\n expect(req.site.ref).to.equal(ref);\n expect(req.site.publisher.id).to.equal('publisherId');\n expect(req.dooh).to.be.undefined;\n })\n\n it('sends correct dooh from ortb2', () => {\n const name = 'name';\n const domain = 'domain';\n const keywords = 'keyword1,keyword2';\n const venuetypetax = 1;\n const ortb2 = {\n dooh: {\n name: name,\n domain: domain,\n keywords: keywords,\n venuetypetax: venuetypetax\n },\n };\n\n const reqs = spec.buildRequests([singleBannerBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.dooh.id).to.exist.and.to.be.a('string');\n expect(req.dooh.name).to.equal(name);\n expect(req.dooh.domain).to.equal(domain);\n expect(req.dooh.keywords).to.equal(keywords);\n expect(req.dooh.venuetypetax).to.equal(venuetypetax);\n expect(req.dooh.publisher.id).to.equal('publisherId');\n expect(req.site).to.be.undefined;\n })\n\n it('sends correct device from ortb2', () => {\n const language = 'language'\n const ua = 'ua'\n const sua = 'sua'\n const dnt = 1\n const w = 2\n const h = 3\n const ortb2 = {\n device: {\n language: language,\n ua: ua,\n sua: sua,\n dnt: dnt,\n w: w,\n h: h\n },\n };\n\n const reqs = spec.buildRequests([singleBannerBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.device.language).to.equal(language);\n expect(req.device.ua).to.equal(ua);\n expect(req.device.sua).to.equal(sua);\n expect(req.device.dnt).to.equal(dnt);\n expect(req.device.w).to.equal(w);\n expect(req.device.h).to.equal(h);\n })\n\n it('sends gdpr applies if exists', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.regs.ext.gdpr).to.equal(1);\n expect(req.user.ext.consent).to.equal(CONSENT_STRING);\n });\n\n it('sends correct coppa from ortb2', () => {\n const ortb2 = {\n regs: {\n coppa: 1\n },\n };\n\n const reqs = spec.buildRequests([singleBannerBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.regs.coppa).to.equal(1);\n })\n\n it('sends no gdpr applies if no gdpr exists', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], MINIMAL_BIDDER_REQUEST);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.regs.ext.gdpr).to.not.exist;\n expect(req.user.ext.consent).to.not.exist;\n });\n\n it('sends us_privacy if exists', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.regs.ext.us_privacy).to.equal('uspConsentString');\n });\n\n it('sends gpp', () => {\n const ortb2 = {\n regs: {\n gpp: 'gppString',\n gpp_sid: [7]\n }\n };\n\n const reqs = spec.buildRequests([singleBannerBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.regs.ext.gpp).to.eql('gppString');\n expect(req.regs.ext.gpp_sid).to.eql([7]);\n });\n\n it('sends no schain if no schain exists', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.source.ext.schain).to.not.exist;\n });\n\n it('sends instl if instl exists', () => {\n const instl = {instl: 1};\n const bidRequestWithInstl = Object.assign({}, singleBannerBidRequest, {ortb2Imp: instl});\n\n const reqs = spec.buildRequests([bidRequestWithInstl], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].instl).to.equal(1);\n });\n\n it('sends tmax', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.tmax).to.equal(1200);\n });\n\n it('sends no us_privacy if no us_privacy exists', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], MINIMAL_BIDDER_REQUEST);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.regs.ext.us_privacy).to.not.exist;\n });\n\n it('sends first party data', () => {\n const ortb2 = {\n site: {\n keywords: 'power tools,drills',\n publisher: {\n id: 'otherpublisherid',\n name: 'publishername'\n }\n },\n user: {\n keywords: 'a,b',\n gender: 'M',\n yob: 1984\n },\n device: {\n ifa: 'ifa',\n geo: {\n lat: 53.5488,\n lon: 9.9872\n }\n }\n };\n\n const reqs = spec.buildRequests([singleBannerBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.user.gender).to.equal('M');\n expect(req.user.yob).to.equal(1984);\n expect(req.user.keywords).to.eql('a,b');\n expect(req.user.ext.consent).to.equal(CONSENT_STRING);\n expect(req.site.keywords).to.eql('power tools,drills');\n expect(req.site.publisher.id).to.equal('publisherId');\n expect(req.device.ifa).to.equal('ifa');\n expect(req.device.geo.lat).to.equal(53.5488);\n expect(req.device.geo.lon).to.equal(9.9872);\n });\n\n it('sends user first party data when user is not defined', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.user.gender).be.undefined;\n expect(req.user.yob).to.be.undefined;\n expect(req.user.keywords).to.be.undefined;\n expect(req.user.ext.consent).to.equal(CONSENT_STRING);\n });\n\n it('has no user ids', () => {\n const reqs = spec.buildRequests([singleBannerBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.user.ext.eids).to.not.exist;\n });\n\n it('sends dsa', () => {\n const ortb2 = {\n regs: {\n ext: {\n dsa: {\n dsarequired: 2,\n pubrender: 0,\n datatopub: 1,\n transparency: [\n {\n domain: 'testdomain.com',\n dsaparams: [1, 2, 3]\n }\n ]\n }\n }\n }\n };\n\n const reqs = spec.buildRequests([singleBannerBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.regs.ext.dsa.dsarequired).to.eql(2);\n expect(req.regs.ext.dsa.pubrender).to.eql(0);\n expect(req.regs.ext.dsa.datatopub).to.eql(1);\n expect(req.regs.ext.dsa.transparency[0].domain).to.eql('testdomain.com');\n expect(req.regs.ext.dsa.transparency[0].dsaparams).to.eql([1, 2, 3]);\n });\n\n it('sends no dsa', () => {\n const ortb2 = {\n regs: {\n ext: {}\n }\n };\n\n const reqs = spec.buildRequests([singleBannerBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.regs.ext.dsa).to.be.undefined;\n });\n });\n\n describe('multiple requests', () => {\n it('build individual server request for each bid request', () => {\n const bidRequest1 = utils.deepClone(singleBannerBidRequest);\n const bidRequest1BidId = '1111';\n utils.deepSetValue(bidRequest1, 'bidId', bidRequest1BidId);\n const bidRequest2 = utils.deepClone(singleBannerBidRequest);\n const bidRequest2BidId = '2222';\n utils.deepSetValue(bidRequest2, 'bidId', bidRequest2BidId);\n\n const reqs = spec.buildRequests([bidRequest1, bidRequest2], defaultBidderRequest);\n\n expect(reqs).to.have.length(2);\n expect(JSON.parse(reqs[0].data).imp[0].id).to.be.equal(bidRequest1BidId);\n expect(JSON.parse(reqs[1].data).imp[0].id).to.be.equal(bidRequest2BidId);\n });\n });\n\n describe('buildRequests for video imps', () => {\n const VIDEO_OUTSTREAM_PREBID_MEDIATYPE = {\n context: 'outstream',\n playerSize: [[768, 1024]],\n mimes: ['video/mp4', 'video/quicktime', 'video/3gpp', 'video/x-m4v'],\n minduration: 5,\n maxduration: 30,\n startdelay: 0,\n linearity: 1,\n protocols: [7],\n skip: 1,\n skipmin: 5,\n api: [7],\n ext: {rewarded: 0}\n };\n const VIDEO_OUTSTREAM_OPENRTB_IMP = {\n mimes: ['video/mp4', 'video/quicktime', 'video/3gpp', 'video/x-m4v'],\n minduration: 5,\n startdelay: 0,\n linearity: 1,\n h: 1024,\n maxduration: 30,\n skip: 1,\n protocols: [7],\n ext: {\n rewarded: 0\n },\n skipmin: 5,\n api: [7],\n w: 768\n };\n const singleVideoBidRequest = {\n bidder: 'smaato',\n params: {\n publisherId: 'publisherId',\n adspaceId: 'adspaceId'\n },\n mediaTypes: {\n video: VIDEO_OUTSTREAM_PREBID_MEDIATYPE\n },\n adUnitCode: '/19968336/header-bid-tag-0',\n transactionId: 'transactionId',\n bidId: 'bidId',\n bidderRequestId: 'bidderRequestId',\n src: 'client',\n bidRequestsCount: 1,\n bidderRequestsCount: 1,\n bidderWinsCount: 0\n };\n\n if (FEATURES.VIDEO) {\n it('sends correct video imps', () => {\n const reqs = spec.buildRequests([singleVideoBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].id).to.be.equal('bidId');\n expect(req.imp[0].tagid).to.be.equal('adspaceId');\n expect(req.imp[0].bidfloor).to.be.undefined;\n expect(req.imp[0].video).to.deep.equal(VIDEO_OUTSTREAM_OPENRTB_IMP);\n });\n\n it('sends bidfloor when configured', () => {\n const singleVideoBidRequestWithFloor = Object.assign({}, singleVideoBidRequest);\n singleVideoBidRequestWithFloor.getFloor = function (arg) {\n if (arg.currency === 'USD' &&\n arg.mediaType === 'video' &&\n JSON.stringify(arg.size) === JSON.stringify([768, 1024])) {\n return {\n currency: 'USD',\n floor: 0.456\n }\n }\n }\n const reqs = spec.buildRequests([singleVideoBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.equal(0.456);\n });\n\n it('sends instl if instl exists', () => {\n const instl = {instl: 1};\n const bidRequestWithInstl = Object.assign({}, singleVideoBidRequest, {ortb2Imp: instl});\n\n const reqs = spec.buildRequests([bidRequestWithInstl], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].instl).to.equal(1);\n });\n\n it('splits multi format bid requests', () => {\n const combinedBannerAndVideoBidRequest = {\n bidder: 'smaato',\n params: {\n publisherId: 'publisherId',\n adspaceId: 'adspaceId'\n },\n mediaTypes: {\n banner: BANNER_PREBID_MEDIATYPE,\n video: VIDEO_OUTSTREAM_PREBID_MEDIATYPE\n },\n adUnitCode: '/19968336/header-bid-tag-0',\n transactionId: 'transactionId',\n sizes: [[300, 50]],\n bidId: 'bidId',\n bidderRequestId: 'bidderRequestId',\n src: 'client',\n bidRequestsCount: 1,\n bidderRequestsCount: 1,\n bidderWinsCount: 0\n };\n\n const reqs = spec.buildRequests([combinedBannerAndVideoBidRequest], defaultBidderRequest);\n\n expect(reqs).to.have.length(2);\n expect(JSON.parse(reqs[0].data).imp[0].banner).to.deep.equal(BANNER_OPENRTB_IMP);\n expect(JSON.parse(reqs[0].data).imp[0].video).to.not.exist;\n expect(JSON.parse(reqs[1].data).imp[0].banner).to.not.exist;\n expect(JSON.parse(reqs[1].data).imp[0].video).to.deep.equal(VIDEO_OUTSTREAM_OPENRTB_IMP);\n });\n\n describe('ad pod / long form video', () => {\n describe('required parameters with requireExactDuration false', () => {\n const ADBREAK_ID = 'adbreakId';\n const ADPOD = 'adpod';\n const BID_ID = '4331';\n const W = 640;\n const H = 480;\n const ADPOD_DURATION = 300;\n const DURATION_RANGE = [15, 30];\n const longFormVideoBidRequest = {\n params: {\n publisherId: 'publisherId',\n adbreakId: ADBREAK_ID,\n },\n mediaTypes: {\n video: {\n context: ADPOD,\n playerSize: [[W, H]],\n adPodDurationSec: ADPOD_DURATION,\n durationRangeSec: DURATION_RANGE,\n requireExactDuration: false\n }\n },\n bidId: BID_ID\n };\n\n it('sends required fields', () => {\n const reqs = spec.buildRequests([longFormVideoBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.id).to.exist;\n expect(req.imp.length).to.be.equal(ADPOD_DURATION / DURATION_RANGE[0]);\n expect(req.imp[0].id).to.be.equal(BID_ID);\n expect(req.imp[0].tagid).to.be.equal(ADBREAK_ID);\n expect(req.imp[0].bidfloor).to.be.undefined;\n expect(req.imp[0].video.ext.context).to.be.equal(ADPOD);\n expect(req.imp[0].video.w).to.be.equal(W);\n expect(req.imp[0].video.h).to.be.equal(H);\n expect(req.imp[0].video.maxduration).to.be.equal(DURATION_RANGE[1]);\n expect(req.imp[0].video.sequence).to.be.equal(1);\n expect(req.imp[1].id).to.be.equal(BID_ID);\n expect(req.imp[1].tagid).to.be.equal(ADBREAK_ID);\n expect(req.imp[1].bidfloor).to.be.undefined;\n expect(req.imp[1].video.ext.context).to.be.equal(ADPOD);\n expect(req.imp[1].video.w).to.be.equal(W);\n expect(req.imp[1].video.h).to.be.equal(H);\n expect(req.imp[1].video.maxduration).to.be.equal(DURATION_RANGE[1]);\n expect(req.imp[1].video.sequence).to.be.equal(2);\n });\n\n it('sends instl if instl exists', () => {\n const instl = {instl: 1};\n const bidRequestWithInstl = Object.assign({}, longFormVideoBidRequest, {ortb2Imp: instl});\n\n const reqs = spec.buildRequests([bidRequestWithInstl], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].instl).to.equal(1);\n expect(req.imp[1].instl).to.equal(1);\n });\n\n it('sends bidfloor when configured', () => {\n const longFormVideoBidRequestWithFloor = Object.assign({}, longFormVideoBidRequest);\n longFormVideoBidRequestWithFloor.getFloor = function (arg) {\n if (arg.currency === 'USD' &&\n arg.mediaType === 'video' &&\n JSON.stringify(arg.size) === JSON.stringify([640, 480])) {\n return {\n currency: 'USD',\n floor: 0.789\n }\n }\n }\n const reqs = spec.buildRequests([longFormVideoBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.equal(0.789);\n expect(req.imp[1].bidfloor).to.be.equal(0.789);\n });\n\n it('sends brand category exclusion as true when config is set to true', () => {\n config.setConfig({adpod: {brandCategoryExclusion: true}});\n\n const reqs = spec.buildRequests([longFormVideoBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].video.ext.brandcategoryexclusion).to.be.equal(true);\n });\n\n it('sends brand category exclusion as false when config is set to false', () => {\n config.setConfig({adpod: {brandCategoryExclusion: false}});\n\n const reqs = spec.buildRequests([longFormVideoBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].video.ext.brandcategoryexclusion).to.be.equal(false);\n });\n\n it('sends brand category exclusion as false when config is not set', () => {\n const reqs = spec.buildRequests([longFormVideoBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].video.ext.brandcategoryexclusion).to.be.equal(false);\n });\n });\n describe('required parameters with requireExactDuration true', () => {\n const ADBREAK_ID = 'adbreakId';\n const ADPOD = 'adpod';\n const BID_ID = '4331';\n const W = 640;\n const H = 480;\n const ADPOD_DURATION = 5;\n const DURATION_RANGE = [5, 15, 25];\n const longFormVideoBidRequest = {\n params: {\n publisherId: 'publisherId',\n adbreakId: ADBREAK_ID,\n },\n mediaTypes: {\n video: {\n context: ADPOD,\n playerSize: [[W, H]],\n adPodDurationSec: ADPOD_DURATION,\n durationRangeSec: DURATION_RANGE,\n requireExactDuration: true\n }\n },\n bidId: BID_ID\n };\n\n it('sends required fields', () => {\n const reqs = spec.buildRequests([longFormVideoBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.id).to.exist;\n expect(req.imp.length).to.be.equal(DURATION_RANGE.length);\n expect(req.imp[0].id).to.be.equal(BID_ID);\n expect(req.imp[0].tagid).to.be.equal(ADBREAK_ID);\n expect(req.imp[0].video.ext.context).to.be.equal(ADPOD);\n expect(req.imp[0].video.w).to.be.equal(W);\n expect(req.imp[0].video.h).to.be.equal(H);\n expect(req.imp[0].video.minduration).to.be.equal(DURATION_RANGE[0]);\n expect(req.imp[0].video.maxduration).to.be.equal(DURATION_RANGE[0]);\n expect(req.imp[0].video.sequence).to.be.equal(1);\n expect(req.imp[1].id).to.be.equal(BID_ID);\n expect(req.imp[1].tagid).to.be.equal(ADBREAK_ID);\n expect(req.imp[1].video.ext.context).to.be.equal(ADPOD);\n expect(req.imp[1].video.w).to.be.equal(W);\n expect(req.imp[1].video.h).to.be.equal(H);\n expect(req.imp[1].video.minduration).to.be.equal(DURATION_RANGE[1]);\n expect(req.imp[1].video.maxduration).to.be.equal(DURATION_RANGE[1]);\n expect(req.imp[1].video.sequence).to.be.equal(2);\n expect(req.imp[2].id).to.be.equal(BID_ID);\n expect(req.imp[2].tagid).to.be.equal(ADBREAK_ID);\n expect(req.imp[2].video.ext.context).to.be.equal(ADPOD);\n expect(req.imp[2].video.w).to.be.equal(W);\n expect(req.imp[2].video.h).to.be.equal(H);\n expect(req.imp[2].video.minduration).to.be.equal(DURATION_RANGE[2]);\n expect(req.imp[2].video.maxduration).to.be.equal(DURATION_RANGE[2]);\n expect(req.imp[2].video.sequence).to.be.equal(3);\n });\n });\n\n describe('forwarding of optional parameters', () => {\n const MIMES = ['video/mp4', 'video/quicktime', 'video/3gpp', 'video/x-m4v'];\n const STARTDELAY = 0;\n const LINEARITY = 1;\n const SKIP = 1;\n const PROTOCOLS = [7];\n const SKIPMIN = 5;\n const API = [7];\n const validBasicAdpodBidRequest = {\n params: {\n publisherId: 'publisherId',\n adbreakId: 'adbreakId',\n },\n mediaTypes: {\n video: {\n context: 'adpod',\n playerSize: [640, 480],\n adPodDurationSec: 300,\n durationRangeSec: [15, 30],\n mimes: MIMES,\n startdelay: STARTDELAY,\n linearity: LINEARITY,\n skip: SKIP,\n protocols: PROTOCOLS,\n skipmin: SKIPMIN,\n api: API\n }\n },\n bidId: 'bidId'\n };\n\n it('sends general video fields when they are present', () => {\n const reqs = spec.buildRequests([validBasicAdpodBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].video.mimes).to.eql(MIMES);\n expect(req.imp[0].video.startdelay).to.be.equal(STARTDELAY);\n expect(req.imp[0].video.linearity).to.be.equal(LINEARITY);\n expect(req.imp[0].video.skip).to.be.equal(SKIP);\n expect(req.imp[0].video.protocols).to.eql(PROTOCOLS);\n expect(req.imp[0].video.skipmin).to.be.equal(SKIPMIN);\n expect(req.imp[0].video.api).to.eql(API);\n });\n\n it('sends series name when parameter is present', () => {\n const SERIES_NAME = 'foo'\n const adpodRequestWithParameter = utils.deepClone(validBasicAdpodBidRequest);\n adpodRequestWithParameter.mediaTypes.video.tvSeriesName = SERIES_NAME;\n\n const reqs = spec.buildRequests([adpodRequestWithParameter], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.content.series).to.be.equal(SERIES_NAME);\n });\n\n it('sends episode name when parameter is present', () => {\n const EPISODE_NAME = 'foo'\n const adpodRequestWithParameter = utils.deepClone(validBasicAdpodBidRequest);\n adpodRequestWithParameter.mediaTypes.video.tvEpisodeName = EPISODE_NAME;\n\n const reqs = spec.buildRequests([adpodRequestWithParameter], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.content.title).to.be.equal(EPISODE_NAME);\n });\n\n it('sends season number as string when parameter is present', () => {\n const SEASON_NUMBER_AS_NUMBER_IN_PREBID_REQUEST = 42\n const SEASON_NUMBER_AS_STRING_IN_OUTGOING_REQUEST = '42'\n const adpodRequestWithParameter = utils.deepClone(validBasicAdpodBidRequest);\n adpodRequestWithParameter.mediaTypes.video.tvSeasonNumber = SEASON_NUMBER_AS_NUMBER_IN_PREBID_REQUEST;\n\n const reqs = spec.buildRequests([adpodRequestWithParameter], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.content.season).to.be.equal(SEASON_NUMBER_AS_STRING_IN_OUTGOING_REQUEST);\n });\n\n it('sends episode number when parameter is present', () => {\n const EPISODE_NUMBER = 42\n const adpodRequestWithParameter = utils.deepClone(validBasicAdpodBidRequest);\n adpodRequestWithParameter.mediaTypes.video.tvEpisodeNumber = EPISODE_NUMBER;\n\n const reqs = spec.buildRequests([adpodRequestWithParameter], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.content.episode).to.be.equal(EPISODE_NUMBER);\n });\n\n it('sends content length when parameter is present', () => {\n const LENGTH = 42\n const adpodRequestWithParameter = utils.deepClone(validBasicAdpodBidRequest);\n adpodRequestWithParameter.mediaTypes.video.contentLengthSec = LENGTH;\n\n const reqs = spec.buildRequests([adpodRequestWithParameter], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.content.len).to.be.equal(LENGTH);\n });\n\n it('sends livestream as 1 when content mode parameter is live', () => {\n const adpodRequestWithParameter = utils.deepClone(validBasicAdpodBidRequest);\n adpodRequestWithParameter.mediaTypes.video.contentMode = 'live';\n\n const reqs = spec.buildRequests([adpodRequestWithParameter], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.content.livestream).to.be.equal(1);\n });\n\n it('sends livestream as 0 when content mode parameter is on-demand', () => {\n const adpodRequestWithParameter = utils.deepClone(validBasicAdpodBidRequest);\n adpodRequestWithParameter.mediaTypes.video.contentMode = 'on-demand';\n\n const reqs = spec.buildRequests([adpodRequestWithParameter], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.site.content.livestream).to.be.equal(0);\n });\n\n it('doesn\\'t send any optional parameters when none are present', () => {\n const reqs = spec.buildRequests([validBasicAdpodBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].video.ext.requireExactDuration).to.not.exist;\n expect(req.site.content).to.not.exist;\n });\n });\n });\n }\n });\n\n if (FEATURES.NATIVE) {\n describe('buildRequests for native imps', () => {\n const NATIVE_OPENRTB_REQUEST = {\n ver: '1.2',\n assets: [\n {\n id: 4,\n required: 1,\n img: {\n type: 3,\n w: 150,\n h: 50,\n }\n },\n {\n id: 2,\n required: 1,\n img: {\n type: 2,\n w: 50,\n h: 50\n }\n },\n {\n id: 0,\n required: 1,\n title: {\n len: 80\n }\n },\n {\n id: 1,\n required: 1,\n data: {\n type: 1\n }\n },\n {\n id: 3,\n required: 1,\n data: {\n type: 2\n }\n },\n {\n id: 5,\n required: 1,\n data: {\n type: 3\n }\n },\n {\n id: 6,\n required: 1,\n data: {\n type: 4\n }\n },\n {\n id: 7,\n required: 1,\n data: {\n type: 5\n }\n },\n {\n id: 8,\n required: 1,\n data: {\n type: 6\n }\n },\n {\n id: 9,\n required: 1,\n data: {\n type: 7\n }\n },\n {\n id: 10,\n required: 0,\n data: {\n type: 8\n }\n },\n {\n id: 11,\n required: 1,\n data: {\n type: 9\n }\n },\n {\n id: 12,\n require: 0,\n data: {\n type: 10\n }\n },\n {\n id: 13,\n required: 0,\n data: {\n type: 11\n }\n },\n {\n id: 14,\n required: 1,\n data: {\n type: 12\n }\n }\n ]\n };\n\n const singleNativeBidRequest = {\n bidder: 'smaato',\n params: {\n publisherId: 'publisherId',\n adspaceId: 'adspaceId'\n },\n nativeOrtbRequest: NATIVE_OPENRTB_REQUEST,\n adUnitCode: '/19968336/header-bid-tag-0',\n transactionId: 'transactionId',\n bidId: 'bidId',\n bidderRequestId: 'bidderRequestId',\n src: 'client',\n bidRequestsCount: 1,\n bidderRequestsCount: 1,\n bidderWinsCount: 0\n };\n\n it('sends correct native imps', () => {\n const reqs = spec.buildRequests([singleNativeBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].id).to.be.equal('bidId');\n expect(req.imp[0].tagid).to.be.equal('adspaceId');\n expect(req.imp[0].bidfloor).to.be.undefined;\n expect(req.imp[0].native.request).to.deep.equal(JSON.stringify(NATIVE_OPENRTB_REQUEST));\n });\n\n it('sends bidfloor when configured', () => {\n const singleNativeBidRequestWithFloor = Object.assign({}, singleNativeBidRequest);\n singleNativeBidRequestWithFloor.getFloor = function (arg) {\n if (arg.currency === 'USD' &&\n arg.mediaType === 'native' &&\n JSON.stringify(arg.size) === JSON.stringify([150, 50])) {\n return {\n currency: 'USD',\n floor: 0.123\n }\n }\n }\n const reqs = spec.buildRequests([singleNativeBidRequestWithFloor], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.imp[0].bidfloor).to.be.equal(0.123);\n });\n });\n }\n describe('in-app requests', () => {\n const LOCATION = {\n lat: 33.3,\n lon: -88.8\n }\n const DEVICE_ID = 'aDeviceId'\n const inAppBidRequestWithoutAppParams = {\n bidder: 'smaato',\n params: {\n publisherId: 'publisherId',\n adspaceId: 'adspaceId'\n },\n mediaTypes: {\n banner: BANNER_PREBID_MEDIATYPE\n },\n adUnitCode: '/19968336/header-bid-tag-0',\n transactionId: 'transactionId',\n sizes: [[300, 50]],\n bidId: 'bidId',\n bidderRequestId: 'bidderRequestId',\n src: 'client',\n bidRequestsCount: 1,\n bidderRequestsCount: 1,\n bidderWinsCount: 0\n };\n\n it('when geo and ifa info present, then add both to device object', () => {\n const inAppBidRequest = utils.deepClone(inAppBidRequestWithoutAppParams);\n inAppBidRequest.params.app = {ifa: DEVICE_ID, geo: LOCATION};\n\n const reqs = spec.buildRequests([inAppBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.device.geo).to.deep.equal(LOCATION);\n expect(req.device.ifa).to.equal(DEVICE_ID);\n });\n\n it('when geo and ifa info present and fpd present, then prefer fpd', () => {\n const ortb2 = {\n device: {\n ifa: 'ifa',\n geo: {\n lat: 53.5488,\n lon: 9.9872\n }\n }\n };\n\n const inAppBidRequest = utils.deepClone(inAppBidRequestWithoutAppParams);\n inAppBidRequest.params.app = {ifa: DEVICE_ID, geo: LOCATION};\n\n const reqs = spec.buildRequests([inAppBidRequest], {...defaultBidderRequest, ortb2});\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.device.geo.lat).to.equal(53.5488);\n expect(req.device.geo.lon).to.equal(9.9872);\n expect(req.device.ifa).to.equal('ifa');\n });\n\n it('when ifa is present but geo is missing, then add only ifa to device object', () => {\n const inAppBidRequest = utils.deepClone(inAppBidRequestWithoutAppParams);\n inAppBidRequest.params.app = {ifa: DEVICE_ID};\n\n const reqs = spec.buildRequests([inAppBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.device.geo).to.not.exist;\n expect(req.device.ifa).to.equal(DEVICE_ID);\n });\n\n it('when geo is present but ifa is missing, then add only geo to device object', () => {\n const inAppBidRequest = utils.deepClone(inAppBidRequestWithoutAppParams);\n inAppBidRequest.params.app = {geo: LOCATION};\n\n const reqs = spec.buildRequests([inAppBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.device.geo).to.deep.equal(LOCATION);\n expect(req.device.ifa).to.not.exist;\n });\n\n it('when app param does not exist, then add no specific device info', () => {\n const reqs = spec.buildRequests([inAppBidRequestWithoutAppParams], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.device.geo).to.not.exist;\n expect(req.device.ifa).to.not.exist;\n });\n });\n\n describe('user ids in requests', () => {\n it('user ids are added to user.ext.eids', () => {\n const userIdBidRequest = {\n bidder: 'smaato',\n params: {\n publisherId: 'publisherId',\n adspaceId: 'adspaceId'\n },\n mediaTypes: {\n banner: BANNER_PREBID_MEDIATYPE\n },\n adUnitCode: '/19968336/header-bid-tag-0',\n transactionId: 'transactionId',\n sizes: [[300, 50]],\n bidId: 'bidId',\n bidderRequestId: 'bidderRequestId',\n src: 'client',\n bidRequestsCount: 1,\n bidderRequestsCount: 1,\n bidderWinsCount: 0,\n userId: {\n criteoId: '123456',\n tdid: '89145'\n },\n userIdAsEids: [\n {id: 1}, {id: 2}\n ]\n };\n\n const reqs = spec.buildRequests([userIdBidRequest], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.user.ext.eids).to.eql(userIdBidRequest.userIdAsEids);\n });\n });\n\n describe('schain in request', () => {\n it('schain is added to source.ext.schain', () => {\n const schain = {\n ver: '1.0',\n complete: 1,\n nodes: [\n {\n 'asi': 'asi',\n 'sid': 'sid',\n 'rid': 'rid',\n 'hp': 1\n }\n ]\n };\n const bidRequestWithSchain = Object.assign({}, singleBannerBidRequest, {\n ortb2: {\n source: {\n ext: {\n schain: schain\n }\n }\n }\n });\n\n const reqs = spec.buildRequests([bidRequestWithSchain], defaultBidderRequest);\n\n const req = extractPayloadOfFirstAndOnlyRequest(reqs);\n expect(req.source.ext.schain).to.deep.equal(schain);\n });\n });\n });\n\n describe('interpretResponse', () => {\n function buildBidRequest(payloadAsJsObj = {imp: [{}]}) {\n return {\n method: 'POST',\n url: 'https://prebid.ad.smaato.net/oapi/prebid',\n data: JSON.stringify(payloadAsJsObj)\n }\n }\n\n const NATIVE_RESPONSE = {\n ver: '1.2',\n link: {\n url: 'https://link.url',\n clicktrackers: [\n 'http://click.url/v1/click?e=prebid'\n ]\n },\n assets: [\n {\n id: 0,\n required: 1,\n title: {\n text: 'Title'\n }\n },\n {\n id: 2,\n required: 1,\n img: {\n type: 1,\n url: 'https://logo.png',\n w: 40,\n h: 40\n }\n },\n {\n id: 4,\n required: 1,\n img: {\n type: 3,\n url: 'https://main.png',\n w: 480,\n h: 320\n }\n },\n {\n id: 3,\n required: 1,\n data: {\n type: 2,\n value: 'Desc'\n }\n },\n {\n id: 14,\n required: 1,\n data: {\n type: 12,\n value: 'CTAText'\n }\n },\n {\n id: 5,\n required: 0,\n data: {\n type: 3,\n value: '2 stars'\n }\n }\n ],\n eventtrackers: [\n {\n event: 2,\n method: 1,\n url: 'https://js.url'\n },\n {\n event: 1,\n method: 1,\n url: 'http://view.url/v1/view?e=prebid'\n }\n ],\n privacy: 'https://privacy.com/'\n }\n\n const buildOpenRtbBidResponse = (adType) => {\n let adm = '';\n\n switch (adType) {\n case ADTYPE_IMG:\n adm = '<a rel=\"nofollow\" href=\"https://prebid.net/click\"><img src=\"https://prebid.net/images/image.png\" alt=\"\" width=\"480\" height=\"320\" /></a>'\n break;\n case ADTYPE_VIDEO:\n adm = '<VAST version=\"2.0\"></VAST>';\n break;\n case ADTYPE_NATIVE:\n adm = JSON.stringify({native: NATIVE_RESPONSE})\n break;\n default:\n throw Error('Invalid AdType');\n }\n\n return {\n body: {\n bidid: '04db8629-179d-4bcd-acce-e54722969006',\n cur: 'USD',\n ext: {},\n id: '5ebea288-f13a-4754-be6d-4ade66c68877',\n seatbid: [\n {\n bid: [\n {\n 'adm': adm,\n 'adomain': [\n 'smaato.com'\n ],\n 'bidderName': 'smaato',\n 'cid': 'CM6523',\n 'crid': 'CR69381',\n 'dealid': '12345',\n 'id': '6906aae8-7f74-4edd-9a4f-f49379a3cadd',\n 'impid': '226416e6e6bf41',\n 'iurl': 'https://prebid/iurl',\n 'nurl': 'https://prebid/nurl',\n 'price': 0.01,\n 'w': 350,\n 'h': 50,\n 'ext': {\n curls: ['https://prebid/track/click/1']\n }\n }\n ],\n seat: 'CM6523'\n }\n ],\n },\n headers: {\n get: function (header) {\n if (header === 'X-SMT-ADTYPE') {\n return adType;\n }\n }\n }\n };\n };\n\n it('returns empty array on no bid responses', () => {\n const response_with_empty_body = {body: {}};\n\n const bids = spec.interpretResponse(response_with_empty_body, buildBidRequest());\n\n expect(bids).to.be.empty;\n });\n\n describe('non ad pod', () => {\n it('single banner response', () => {\n const bids = spec.interpretResponse(buildOpenRtbBidResponse(ADTYPE_IMG), buildBidRequest());\n\n expect(bids).to.deep.equal([\n {\n requestId: '226416e6e6bf41',\n cpm: 0.01,\n width: 350,\n height: 50,\n ad: '<div style=\"cursor:pointer\" onclick=\"fetch(decodeURIComponent(\\'https%3A%2F%2Fprebid%2Ftrack%2Fclick%2F1\\'), {cache: \\'no-cache\\'});\"><a rel=\"nofollow\" href=\"https://prebid.net/click\"><img src=\"https://prebid.net/images/image.png\" alt=\"\" width=\"480\" height=\"320\" /></a></div>',\n ttl: 300,\n creativeId: 'CR69381',\n dealId: '12345',\n netRevenue: true,\n currency: 'USD',\n mediaType: 'banner',\n meta: {\n advertiserDomains: ['smaato.com'],\n agencyId: 'CM6523',\n networkName: 'smaato',\n mediaType: 'banner'\n }\n }\n ]);\n });\n\n it('single video response', () => {\n const bids = spec.interpretResponse(buildOpenRtbBidResponse(ADTYPE_VIDEO), buildBidRequest());\n\n expect(bids).to.deep.equal([\n {\n requestId: '226416e6e6bf41',\n cpm: 0.01,\n width: 350,\n height: 50,\n vastXml: '<VAST version=\"2.0\"></VAST>',\n ttl: 300,\n creativeId: 'CR69381',\n dealId: '12345',\n netRevenue: true,\n currency: 'USD',\n mediaType: 'video',\n meta: {\n advertiserDomains: ['smaato.com'],\n agencyId: 'CM6523',\n networkName: 'smaato',\n mediaType: 'video'\n }\n }\n ]);\n });\n\n it('single native response', () => {\n const bids = spec.interpretResponse(buildOpenRtbBidResponse(ADTYPE_NATIVE), buildBidRequest());\n\n expect(bids).to.deep.equal([\n {\n requestId: '226416e6e6bf41',\n cpm: 0.01,\n width: 350,\n height: 50,\n native: {\n ortb: NATIVE_RESPONSE\n },\n ttl: 300,\n creativeId: 'CR69381',\n dealId: '12345',\n netRevenue: true,\n currency: 'USD',\n mediaType: 'native',\n meta: {\n advertiserDomains: ['smaato.com'],\n agencyId: 'CM6523',\n networkName: 'smaato',\n mediaType: 'native'\n }\n }\n ]);\n });\n\n it('ignores bid response with invalid ad type', () => {\n const serverResponse = buildOpenRtbBidResponse(ADTYPE_IMG);\n serverResponse.headers.get = (header) => {\n if (header === 'X-SMT-ADTYPE') {\n return undefined;\n }\n };\n\n const bids = spec.interpretResponse(serverResponse, buildBidRequest());\n\n expect(bids).to.be.empty;\n });\n });\n\n describe('ad pod', () => {\n const bidRequestWithAdpodContext = buildBidRequest({imp: [{video: {ext: {context: 'adpod'}}}]});\n const PRIMARY_CAT_ID = 1337\n const serverResponse = {\n body: {\n bidid: '04db8629-179d-4bcd-acce-e54722969006',\n cur: 'USD',\n ext: {},\n id: '5ebea288-f13a-4754-be6d-4ade66c68877',\n seatbid: [\n {\n bid: [\n {\n adm: '<VAST version=\"2.0\"></VAST>',\n adomain: [\n 'smaato.com'\n ],\n bidderName: 'smaato',\n cid: 'CM6523',\n crid: 'CR69381',\n dealid: '12345',\n id: '6906aae8-7f74-4edd-9a4f-f49379a3cadd',\n impid: '226416e6e6bf41',\n iurl: 'https://prebid/iurl',\n nurl: 'https://prebid/nurl',\n price: 0.01,\n w: 350,\n h: 50,\n cat: [PRIMARY_CAT_ID],\n ext: {\n duration: 42\n }\n }\n ],\n seat: 'CM6523'\n }\n ]\n },\n headers: {get: () => undefined}\n };\n\n it('sets required values for adpod bid from server response', () => {\n const bids = spec.interpretResponse(serverResponse, bidRequestWithAdpodContext);\n\n expect(bids).to.deep.equal([\n {\n requestId: '226416e6e6bf41',\n cpm: 0.01,\n width: 350,\n height: 50,\n vastXml: '<VAST version=\"2.0\"></VAST>',\n ttl: 300,\n creativeId: 'CR69381',\n dealId: '12345',\n netRevenue: true,\n currency: 'USD',\n mediaType: 'video',\n video: {\n context: 'adpod',\n durationSeconds: 42\n },\n meta: {\n advertiserDomains: ['smaato.com'],\n agencyId: 'CM6523',\n networkName: 'smaato',\n mediaType: 'video'\n }\n }\n ]);\n });\n\n it('sets primary category id in case of enabled brand category exclusion', () => {\n config.setConfig({adpod: {brandCategoryExclusion: true}});\n\n const bids = spec.interpretResponse(serverResponse, bidRequestWithAdpodContext)\n\n expect(bids[0].meta.primaryCatId).to.be.equal(PRIMARY_CAT_ID)\n })\n });\n\n it('uses correct TTL when expire header exists', () => {\n const clock = sinon.useFakeTimers();\n clock.tick(2000);\n const resp = buildOpenRtbBidResponse(ADTYPE_IMG);\n resp.headers.get = (header) => {\n if (header === 'X-SMT-ADTYPE') {\n return ADTYPE_IMG;\n }\n if (header === 'X-SMT-Expires') {\n return 2000 + (400 * 1000);\n }\n };\n\n const bids = spec.interpretResponse(resp, buildBidRequest());\n\n expect(bids[0].ttl).to.equal(400);\n\n clock.restore();\n });\n\n it('uses net revenue flag send from server', () => {\n const resp = buildOpenRtbBidResponse(ADTYPE_IMG);\n resp.body.seatbid[0].bid[0].ext = {net: false};\n\n const bids = spec.interpretResponse(resp, buildBidRequest());\n\n expect(bids[0].netRevenue).to.equal(false);\n });\n\n it('uses dsa object sent from server', () => {\n const resp = buildOpenRtbBidResponse(ADTYPE_IMG);\n const dsa = {\n behalf: 'advertiser',\n paid: 'advertiser',\n adrender: 1,\n transparency: [\n {\n domain: 'dsp1domain.com',\n dsaparams: [1, 2]\n }\n ]\n };\n resp.body.seatbid[0].bid[0].ext.dsa = dsa;\n\n const bids = spec.interpretResponse(resp, buildBidRequest());\n\n expect(bids[0].meta.dsa).to.deep.equal(dsa);\n });\n\n it('does not use dsa object if not sent from server', () => {\n const resp = buildOpenRtbBidResponse(ADTYPE_IMG);\n resp.body.seatbid[0].bid[0].ext = {}\n\n const bids = spec.interpretResponse(resp, buildBidRequest());\n\n expect(bids[0].meta.dsa).to.be.undefined;\n });\n });\n\n describe('getUserSyncs', () => {\n afterEach(() => {\n config.resetConfig();\n })\n\n it('when pixelEnabled and iframeEnabled false then returns no syncs', () => {\n expect(spec.getUserSyncs()).to.be.empty\n })\n\n it('when pixelEnabled true then returns image sync', () => {\n expect(spec.getUserSyncs({pixelEnabled: true}, null, null, null)).to.deep.equal(\n [\n {\n type: 'image',\n url: IMAGE_SYNC_URL\n }\n ]\n )\n })\n\n it('when iframeEnabled true then returns iframe sync', () => {\n expect(spec.getUserSyncs({iframeEnabled: true}, null, null, null)).to.deep.equal(\n [\n {\n type: 'iframe',\n url: IFRAME_SYNC_URL\n }\n ]\n )\n })\n\n it('when iframeEnabled true and syncsPerBidder then returns iframe sync', () => {\n config.setConfig({userSync: {syncsPerBidder: 5}});\n expect(spec.getUserSyncs({iframeEnabled: true}, null, null, null)).to.deep.equal(\n [\n {\n type: 'iframe',\n url: `${IFRAME_SYNC_URL}&maxUrls=5`\n }\n ]\n )\n })\n\n it('when iframeEnabled and pixelEnabled true then returns iframe sync', () => {\n expect(spec.getUserSyncs({pixelEnabled: true, iframeEnabled: true}, null, null, null)).to.deep.equal(\n [\n {\n type: 'iframe',\n url: IFRAME_SYNC_URL\n }\n ]\n )\n })\n\n it('when pixelEnabled true and gdprConsent then returns image sync with gdpr params', () => {\n expect(spec.getUserSyncs({pixelEnabled: true}, null, {gdprApplies: true, consentString: CONSENT_STRING}, null)).to.deep.equal(\n [\n {\n type: 'image',\n url: `${IMAGE_SYNC_URL}&gdpr=1&gdpr_consent=${CONSENT_STRING}`\n }\n ]\n )\n })\n\n it('when iframeEnabled true and gdprConsent then returns iframe with gdpr params', () => {\n expect(spec.getUserSyncs({iframeEnabled: true}, null, {gdprApplies: true, consentString: CONSENT_STRING}, null)).to.deep.equal(\n [\n {\n type: 'iframe',\n url: `${IFRAME_SYNC_URL}&gdpr=1&gdpr_consent=${CONSENT_STRING}`\n }\n ]\n )\n })\n\n it('when pixelEnabled true and gdprConsent without gdpr then returns pixel sync with gdpr_consent', () => {\n expect(spec.getUserSyncs({pixelEnabled: true}, null, {consentString: CONSENT_STRING}, null), null).to.deep.equal(\n [\n {\n type: 'image',\n url: `${IMAGE_SYNC_URL}&gdpr_consent=${CONSENT_STRING}`\n }\n ]\n )\n })\n\n it('when iframeEnabled true and gdprConsent without gdpr then returns iframe sync with gdpr_consent', () => {\n expect(spec.getUserSyncs({iframeEnabled: true}, null, {consentString: CONSENT_STRING}, null), null).to.deep.equal(\n [\n {\n type: 'iframe',\n url: `${IFRAME_SYNC_URL}&gdpr_consent=${CONSENT_STRING}`\n }\n ]\n )\n })\n })\n});\n"],"mappings":"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","ignoreList":[]}