From apptokens
Generate Solidity contracts and scripts that integrate with Wrapped Native (WNATIVE)
How this skill is triggered — by the user, by Claude, or both
Slash command
/apptokens:wrapped-native-integratorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate Solidity contracts that interact with the Wrapped Native (WNATIVE) contract at `0x6000030000842044000077551D00cfc6b4005900`.
Generate Solidity contracts that interact with the Wrapped Native (WNATIVE) contract at 0x6000030000842044000077551D00cfc6b4005900.
Before generating code, check the user's project is configured:
foundry.toml must exist. If not: forge initlib/wrapped-native/ must exist. If not: forge install limitbreakinc/wrapped-nativeremappings.txt needs @limitbreak/wrapped-native/=lib/wrapped-native/. Append if missing -- do not overwrite existing entries.apptoken-dev to bootstrap an Anvil node with all Apptoken protocols at their deterministic addresses -- see apptoken-general/references/project-setup.md.Parse integration requirements from $ARGUMENTS
Resolve ambiguities before generating -- if $ARGUMENTS doesn't make the integration pattern clear (basic wrapping vs permits vs gas sponsorship), or references external addresses (fee recipients, operators) without specifying them, ask in a single message. If clear, proceed.
Determine the integration pattern based on what the user needs:
permitTransferdoPermittedWithdraw with convenience feesGenerate the integration contract with:
IWrappedNative for basic, IWrappedNativeExtended for permits/enhanced features)payable functions when combining deposit + actionreceive() if the contract needs to accept unwrapped native)Handle key integration details:
0x6000030000842044000077551D00cfc6b4005900transferFrom with msg.value, deposits credit the from address, NOT msg.senderpermitTransfer -- deposits credit fromwithdraw/withdrawToAccount must have a receive() or fallback() functionwithdrawSplit arrays must be equal lengthGenerate a Foundry test if the integration involves non-trivial logic (permits, fee calculations, multi-step flows).
references/integration-patterns.md -- Common integration patterns with annotated Solidity exampleswrapped-native-protocoltransferFrom and permitTransfer credit deposits to from, not msg.sender -- operator contracts will not receive the deposited fundsreceive() on contracts that call withdraw or withdrawToAccount to themselves -- the native transfer will revertdeposit() pattern (call + value) when depositTo would be more gas-efficient for crediting another address"Wrapped Native", version "1", and the deterministic contract addressisNonceUsed before submitting a permit transaction -- the nonce may have been revoked or already consumednpx claudepluginhub limitbreakinc/apptoken-skills --plugin apptokensBuilds Bankr SDK transactions for ERC20/ETH/NFT transfers, ETH/WETH conversions, cross-chain bridges, NFT minting/buying, approvals, and DeFi operations.
Builds unsigned DeFi transactions from natural language intents across EVM chains like Ethereum, Arbitrum, Base, Optimism, Polygon. Supports send, swap, stake, lend on Aave, Uniswap, Lido, etc.
Develops secure smart contracts by integrating OpenZeppelin libraries for ERC tokens, access control, pausability, governance, and accounts. Supports Solidity, Cairo, Stylus, Stellar.