Skip to content

feat(puddleswap): add StakingRewards descriptor on Monad testnet (chainId 10143) - #3003

Open
portdeveloper wants to merge 4 commits into
ethereum:masterfrom
portdeveloper:puddleswap-staking-rewards
Open

portdeveloper wants to merge 4 commits into
ethereum:masterfrom
portdeveloper:puddleswap-staking-rewards

Conversation

@portdeveloper

Copy link
Copy Markdown

Adds an ERC-7730 calldata descriptor for PuddleSwap's StakingRewards contract on Monad testnet (chain 10143), with a v2 test file covering every described function.

Contract: 0xe23B3825F950637256e8DE1BF39743E8f29D97F1, source verified on Sourcify (full match). PuddleSwap is a Uniswap V2 fork on Monad testnet; this contract is the USDC/WMON LP staking pool.

Described functions (user flows): stake(uint256), withdraw(uint256), getReward(), exit(). Amounts are denominated in the LP token 0x1FBC7b6B54726D735fF1B47Df75535B4B9021902, which is the contract's immutable stakingToken (constructor argument in the deploy broadcast; readable via stakingToken()).

Intentionally not described: notifyRewardAmount, setRewardsDuration, recoverERC20, grantRole, revokeRole, renounceRole — operator and role-management functions, not user-signed flows. These account for the linter's "missing display format" warnings.

Checks run locally before opening: erc7730 format and erc7730 lint (1.0.10; the linter fetched the reference ABI from Sourcify and validated the field paths), both JSON schemas, index build, and the four test cases through the Sourcify (@ethereum-sourcify/clear-signing@0.2.2) and Rust (llbartekll/clear-signing@0.1.0) implementations at the revisions this repository's CI pins — all cases pass.

Submitted by the PuddleSwap author. The descriptor and test file were produced with clear-signing-helper; intents and the token denomination were chosen by hand and are recorded with their sources in the tool's provenance output.

…inId 10143)

Stake, withdraw, claim and exit for the USDC/WMON LP staking pool at
0xe23B3825F950637256e8DE1BF39743E8f29D97F1 (source verified on Sourcify,
full match). Amounts are denominated in the LP token, which is the
contract's immutable stakingToken (constructor argument recorded in the
deploy broadcast and readable via stakingToken()). Operator and role
management functions are intentionally not described.
@github-actions

github-actions Bot commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

Clear Signing Tests

Tested 7dc4316 · started 2026-09-24 15:54 UTC · finished 2026-09-24 15:55 UTC

📊 Open the test report

Entity Descriptor Case @ethereum-sourcify/clear-signing@0.2.2 llbartekll/clear-signing@0.1.0
puddleswap calldata-StakingRewards claim - chain 10143 ✅ ✅
puddleswap calldata-StakingRewards exit - chain 10143 ✅ ✅
puddleswap calldata-StakingRewards stake - chain 10143 ✅ ✅
puddleswap calldata-StakingRewards withdraw - chain 10143 ✅ ✅

✅ pass · ❌ fail · ⚠️ error · ⏭️ skipped · — not run

📋 View test details

@github-actions github-actions Bot added the descriptors Changes to clear signing descriptors label Sep 19, 2026
portdeveloper and others added 3 commits September 19, 2026 18:41
Per the registry's clear signing recommendations on ethereum#3003. Sentences
embed the rendered amount where there is one; the test file carries the
expected sentences.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

descriptors Changes to clear signing descriptors

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

2 participants