Conversation
- Upgrade @aztec/* npm packages to 4.2.0-nightly.20260409 - Upgrade Nargo.toml git tags to match - Use portal: links for @gregojuice/* packages (local dev) - Add deploy-subscription-fpc.ts script for local SubscriptionFPC deployment - Updated local.json with deployed contract addresses and subscriptionFPC config Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copies the Aztec standard token contract into contracts/token/, removes the test module, and adds a transfer_offchain method that delivers notes via MessageDelivery.OFFCHAIN. Updates AMM and ProofOfPassword to depend on this local fork instead of the upstream git reference. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Introduces SendProvider/useSend context following the existing swap context pattern, with a state machine covering idle/sending/generating_link/link_ready/error phases and namespaced action creators. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Handles offchain transfer execution, sender change note self-delivery, and recipient message extraction for link encoding.
SendForm (token selector, address, amount), SendProgress, LinkDisplay (copyable link + QR code), SentHistory, and SendContainer orchestrator.
ClaimPage (orchestrator with state machine), ClaimProgress, and ClaimSuccess. Claim contract interaction to be wired in Task 10.
Detects /#/claim/ routes and renders ClaimPage. Adds Swap/Send tabs to the main interface. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add sendOffchain and claimOffchainTransfer to ContractsContext. Update SendContext with executeSend business logic. Wire SendForm button and ClaimPage contract interaction.
- Add scripts/deploy-subscription-fpc.ts for deploying SubscriptionFPC to local - Make registerDripContracts skip gracefully when SubscriptionFPC is not on-chain - Add design spec and implementation plan docs Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mverzilli
commented
Apr 13, 2026
Comment on lines
+599
to
+614
| // Self-deliver sender's change note (manual until F-324 lands) | ||
| const senderMessages = offchainMessages.filter( | ||
| (msg: OffchainMessage) => msg.recipient.equals(fromAddress), | ||
| ); | ||
| if (senderMessages.length > 0) { | ||
| await token.methods | ||
| .offchain_receive( | ||
| senderMessages.map((msg: OffchainMessage) => ({ | ||
| ciphertext: msg.payload, | ||
| recipient: fromAddress, | ||
| tx_hash: receipt.txHash.hash, | ||
| anchor_block_timestamp: msg.anchorBlockTimestamp, | ||
| })), | ||
| ) | ||
| .simulate({ from: fromAddress }); | ||
| } |
Contributor
Author
There was a problem hiding this comment.
if we end up deciding against F-324, this should maybe become a helper in Aztec.js ("receive offchain messages emitted to myself").
also, I'm an idiot and now we have divergent names between ts and noir (ciphertext -> payload, anchor_block_timestamp -> anchorBlockTimestamp) 🤦♂️
Collaborator
There was a problem hiding this comment.
It's not that bad, kebab_case vs. camelCase is very common in the noir/TS barrier. I'd align ciphertext/payload though.
Thunkar
reviewed
Apr 13, 2026
|
|
||
| // Create an authwitness so the FPC can call transfer_in_private_deliver_offchain on the user's behalf. | ||
| // The caller from the token contract's perspective is the FPC. | ||
| const authWitness = await wallet.createAuthWit(fromAddress, { caller: fpcAddress, call }); |
Collaborator
There was a problem hiding this comment.
Wallets should do authwit resolution during pre-simulation. Avoid manual authwit creation since it results in another interaction for external wallets!
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.
Shows how Aztec.nr's offchain delivery method to send notes without needing on-chain discovery.
If reviewer likes this I'll open a PR on aztec-packages to update the Token contract (vendored for now for simplicity)
Closes F-551