Merged
Conversation
struong
approved these changes
Jan 31, 2026
jamalavedra
pushed a commit
to jamalavedra/tempo-docs
that referenced
this pull request
Feb 2, 2026
* fix: escape colon in 1:1 to fix rendering bug The ':' in '1:1' was being interpreted by Vocs markdown parser, causing it to render as '1' with a line break. Using HTML entity &tempoxyz#58; fixes the issue. Slack thread: https://tempoxyz.slack.com/archives/C0A87C21805/p1769732286036299 * test: skip flaky faucet E2E test The faucet test depends on external service timing and is unreliable. Skipping until faucet reliability is improved or test is mocked. Amp-Thread-ID: https://ampcode.com/threads/T-019c0c44-b42c-7448-bc59-76729f21276a Co-authored-by: Amp <amp@ampcode.com> * docs: improve stablecoins page for SEO and content depth - Add title frontmatter for proper SEO/OG tags - Add History of stablecoins section (USDT 2014, DAI 2017, USDC 2018, DeFi Summer, regulatory developments) - Add Risks and considerations section (counterparty risk, regulatory risk) - Add FAQ section with 6 common questions for SEO optimization Co-authored-by: Juan <juan@tempo.xyz> Amp-Thread-ID: https://ampcode.com/threads/T-019c0c44-b42c-7448-bc59-76729f21276a Co-authored-by: Amp <amp@ampcode.com> * docs: change title to 'What are stablecoins?' Amp-Thread-ID: https://ampcode.com/threads/T-019c0c44-b42c-7448-bc59-76729f21276a Co-authored-by: Amp <amp@ampcode.com> * revert: restore faucet test, keep only stablecoins changes Amp-Thread-ID: https://ampcode.com/threads/T-019c0c44-b42c-7448-bc59-76729f21276a Co-authored-by: Amp <amp@ampcode.com> * docs: move risks into FAQ section Amp-Thread-ID: https://ampcode.com/threads/T-019c0c44-b42c-7448-bc59-76729f21276a Co-authored-by: Amp <amp@ampcode.com> * docs: improve stablecoins page with internal links, FAQ schema, and language - Add FAQSchema component for JSON-LD rich snippets - Add 'Stablecoins on Tempo' section with links to TIP-20, native stablecoins, DEX, issuance - Add inline links throughout (remittances, global payouts, embedded finance, etc.) - Balance USDC/USDT mentions (both now appear in safety, counterparty risk sections) - Improve language per Tempo writing guidelines (neutral, concrete, active voice) - Remove hype tagline, tighten intro, add stablecoin type clarification - Add FAQ JSON-LD schema for SEO rich results Co-authored-by: Juan <juan@tempo.xyz> Amp-Thread-ID: https://ampcode.com/threads/T-019c0c44-b42c-7448-bc59-76729f21276a Co-authored-by: Amp <amp@ampcode.com> * fix: escape < in FAQ schema to prevent script injection Amp-Thread-ID: https://ampcode.com/threads/T-019c0c44-b42c-7448-bc59-76729f21276a Co-authored-by: Amp <amp@ampcode.com> * fix: harden FAQSchema with input validation and defense-in-depth escaping - Filter empty/invalid FAQ entries before rendering - Return null if no valid entries (avoid empty mainEntity array) - Escape <, >, and & for defense-in-depth - Make items prop readonly for TypeScript safety Amp-Thread-ID: https://ampcode.com/threads/T-019c0c44-b42c-7448-bc59-76729f21276a Co-authored-by: Amp <amp@ampcode.com> * revert: remove FAQ schema component for now Amp-Thread-ID: https://ampcode.com/threads/T-019c0c44-b42c-7448-bc59-76729f21276a Co-authored-by: Amp <amp@ampcode.com> * feat: restore FAQ schema component with hardened escaping Amp-Thread-ID: https://ampcode.com/threads/T-019c0c44-b42c-7448-bc59-76729f21276a Co-authored-by: Amp <amp@ampcode.com> * fix: add biome-ignore for JSON-LD dangerouslySetInnerHTML Amp-Thread-ID: https://ampcode.com/threads/T-019c0c44-b42c-7448-bc59-76729f21276a Co-authored-by: Amp <amp@ampcode.com> --------- Co-authored-by: Amp <amp@ampcode.com> Co-authored-by: Juan <juan@tempo.xyz>
snario
pushed a commit
that referenced
this pull request
Feb 3, 2026
* wip: reward distribution * wip: make streaming * change to streaming rewards * update to only one tx * cleanup * update reward() to startReward() * change rewards to update when touched * chore: skip sstore if no time change * fix: do balance check post rewards, use to decrement existing rewrad supply first instead, and revert if there is no supply * feat: add rewards logic to other transfer functions * feat: add accruedBalanceOf function * fix: failing tests, lint * fix: better to use delegatedBalance than rewardRecipient * forge fmt * feat: TIP20RewardsRegistry (#84) * feat: add rewards registry * fmt: forge fmt * fmt: forge fmt * fix: remove block.timestamp check * chore: delete stream registered * chore: update tip rewards registry address * fmt: forge fmt * fix: fix timestamp to derive stream key * fix: etch tip20 rewards registry in test setup * fix: increment delegated supply and opted in balance on reward * fix: CI * fix: accrue logic in edge case of multiple finalizeStreams happening in the same block * feat: set up separate reward pool for delegated rewards * feat: use a separate balance to track rewards instead * fix: add claimRewards * fix: modify optInSupply on setRewardRecipient * fix: tests * fix: stream related bugs * chore: improve stream lifecycle test * fix: rewards logic * fix: review fixes * fix: review fixes * fix: enforce 1 token per time in registry max * chore: more review fixes * chore: update comment * fix: errs * chore: nits around naming, combining similarish tests * fix: policy checks and more renaming * chore: fix test --------- Co-authored-by: howy <132113803+howydev@users.noreply.github.com> Co-authored-by: 0xKitsune <77890308+0xKitsune@users.noreply.github.com> Co-authored-by: 0xKitsune <0xKitsune@protonmail.com>
unbalancedparentheses
pushed a commit
to unbalancedparentheses/tempo
that referenced
this pull request
Feb 23, 2026
Closes tempoxyz#544 This PR introduces TIP-20 streaming rewards, as described in [tempoxyz/docs#58](tempoxyz/docs#58). This feature adds an opt-in, streaming reward mechanism to TIP-20 tokens. Funders can start reward streams using `startReward(amount, seconds)`, which linearly distribute `amount` over `seconds` to all opted-in token holders. Rewards are streamed continuously and accrue proportionally to each user’s delegated balance. Streams can be canceled by the funder at any time before completion. The reward system is fully integrated into normal token operations. Users opt in by calling `setRewardRecipient(recipient)`, which assigns their balance to a reward recipient. When opted in, a user’s balance contributes to the total opted-in supply, which determines how rewards are split. Accrual happens automatically during any balance changing operations (mints, transfers, burns, or changing reward recipients) so users do not need to need to manually claim rewards. At a high level overview of the flow: - `setRewardRecipient` opts the user in or out and updates delegated balances accordingly. - `startReward` creates a stream that emits rewards over time, tracked via `totalRewardPerSecond`. - `accrue()` updates the global `rewardPerTokenStored` based on elapsed time and total active rewards. - `updateRewards(recipient)` settles accrued rewards for that recipient and transfers them from the contract balance. Additionally this PR introduces the `TIP20RewardsRegistry` precompile which keeps track of all tip20 token streams ending at a given timestamp. This precompile exposes a `finalize_streams()` function which is called via a system tx at the end of every block. --------- Co-authored-by: Federico Gimenez <fgimenez@users.noreply.github.com>
unbalancedparentheses
pushed a commit
to unbalancedparentheses/tempo
that referenced
this pull request
Feb 23, 2026
…xyz#637) This PR updates TIP20 rewards to reflect the latest spec changes in tempoxyz/docs#58.
tx-tomcat
pushed a commit
to Magnus-Foundation/magnus
that referenced
this pull request
Apr 18, 2026
Closes #544 This PR introduces TIP-20 streaming rewards, as described in [tempoxyz/docs#58](tempoxyz/docs#58). This feature adds an opt-in, streaming reward mechanism to TIP-20 tokens. Funders can start reward streams using `startReward(amount, seconds)`, which linearly distribute `amount` over `seconds` to all opted-in token holders. Rewards are streamed continuously and accrue proportionally to each user’s delegated balance. Streams can be canceled by the funder at any time before completion. The reward system is fully integrated into normal token operations. Users opt in by calling `setRewardRecipient(recipient)`, which assigns their balance to a reward recipient. When opted in, a user’s balance contributes to the total opted-in supply, which determines how rewards are split. Accrual happens automatically during any balance changing operations (mints, transfers, burns, or changing reward recipients) so users do not need to need to manually claim rewards. At a high level overview of the flow: - `setRewardRecipient` opts the user in or out and updates delegated balances accordingly. - `startReward` creates a stream that emits rewards over time, tracked via `totalRewardPerSecond`. - `accrue()` updates the global `rewardPerTokenStored` based on elapsed time and total active rewards. - `updateRewards(recipient)` settles accrued rewards for that recipient and transfers them from the contract balance. Additionally this PR introduces the `TIP20RewardsRegistry` precompile which keeps track of all tip20 token streams ending at a given timestamp. This precompile exposes a `finalize_streams()` function which is called via a system tx at the end of every block. --------- Co-authored-by: Federico Gimenez <fgimenez@users.noreply.github.com>
tx-tomcat
pushed a commit
to Magnus-Foundation/magnus
that referenced
this pull request
Apr 18, 2026
This PR updates TIP20 rewards to reflect the latest spec changes in tempoxyz/docs#58.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds Chainstack to the Developer Tools docs page under Node Providers.
Changes
Thread: https://tempoxyz.slack.com/archives/C0A332FHV0A/p1769813057912309