') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); readme: Update test instructions by vadorovsky · Pull Request #7 · Lightprotocol/light-protocol · GitHub
Skip to content

readme: Update test instructions - #7

Merged
ananas-block merged 1 commit into
dev_v4from
michal-dev_v4-update-readme
Jan 13, 2023
Merged

readme: Update test instructions#7
ananas-block merged 1 commit into
dev_v4from
michal-dev_v4-update-readme

Conversation

@vadorovsky

Copy link
Copy Markdown
Contributor
  • Point to the master (and the last reliable commit) of Solana, instead of pointing to the fork.
  • Use relative paths for running the validator and programs.

* Point to the master (and the last reliable commit) of Solana, instead
of pointing to the fork.
* Use relative paths for running the validator and programs.
@ananas-block
ananas-block merged commit 4bc3cba into dev_v4Jan 13, 2023
@vadorovsky
vadorovsky deleted the michal-dev_v4-update-readme branch January 13, 2023 16:10
vadorovsky referenced this pull request in vadorovsky/light-protocol May 1, 2024
ananas-block added a commit that referenced this pull request Feb 6, 2026
Audit issue #7 (MEDIUM): is_valid_mint was only called inside
configure_compression_info, so non-compressible token accounts
could be initialized with an invalid mint. Move validation to
initialize_ctoken_account so it runs for all account types.
ananas-block added a commit that referenced this pull request Feb 12, 2026
Audit issue #7 (MEDIUM): is_valid_mint was only called inside
configure_compression_info, so non-compressible token accounts
could be initialized with an invalid mint. Move validation to
initialize_ctoken_account so it runs for all account types.
ananas-block added a commit that referenced this pull request Feb 12, 2026
* fix: validate mint for all token accounts, not just compressible
Audit issue #7 (MEDIUM): is_valid_mint was only called inside
configure_compression_info, so non-compressible token accounts
could be initialized with an invalid mint. Move validation to
initialize_ctoken_account so it runs for all account types.
* fix: read mint data once, pass decimals to configure_compression_info
* fix: tests
* fix tests
* fix tests
* fix tests
* fix js tests
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@vadorovsky@ananas-block