Skip to content

feat(v0/tempo): add funding requirements and policies - #469

Open
jxom wants to merge 23 commits into
0.xfrom
jxom/tip-1120-funding-v0
Open

jxom wants to merge 23 commits into
0.xfrom
jxom/tip-1120-funding-v0

Conversation

@jxom

@jxom jxom commented Sep 23, 2026

Copy link
Copy Markdown
Member

Added TIP-1120 funding requirements, policy commitments, and access key funding authorization to 0.x, including FundingRequirement.from() and native DEX codecs.

Backports #468 using existing v0 tooling.

@vercel

vercel Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
ox Ready Ready Preview Sep 27, 2026 6:45am UTC

Request Review

@pkg-pr-new

pkg-pr-new Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/ox@469

commit: 3b2879b

@jxom
jxom marked this pull request as ready for review September 23, 2026 20:44
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-27T06:41:30.166676Z 7ac06e9 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@jxom jxom changed the title feat(tempo): add funding requirements and policies to v0 feat(v0/tempo): add funding requirements and policies Sep 23, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4c9c1f520d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +108 to +110
requireFunds?:
| readonly FundingRequirement.FundingRequirement<bigintType, numberType>[]
| undefined

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Model RPC funding sources with target

When consumers use the exported TxEnvelopeTempo.Rpc type, this generic requirement becomes FundingRequirement<Hex.Hex, Hex.Hex>, whose sources still use the domain field to. The node RPC representation introduced here is instead FundingRequirement.Rpc, with sources shaped as { target, data }, as reflected by FundingRequirement.toRpc/fromRpc. Consequently, a valid RPC envelope containing requireFunds is not assignable to TxEnvelopeTempo.Rpc, while the type incorrectly accepts envelopes using the non-RPC to field; override this property in the Rpc alias with FundingRequirement.Rpc[].

Useful? React with 👍 / 👎.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4eb6793a43

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

...(limits !== undefined ? { limits } : {}),
...(scopes !== undefined ? { scopes } : {}),
...(witness !== undefined ? { witness } : {}),
...(rawFundingPolicy !== undefined

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Treat the funding-policy null marker as absent

When decoding a key authorization whose seventh optional slot is explicitly 0x (the RLP-null placeholder used for skipped trailing fields), this condition passes the marker to FundingPolicy.fromTuple, which rejects it as an invalid policy ID. The surrounding decoder deliberately treats 0x as absent for every other optional slot, so a full-width encoding with no funding policy cannot be deserialized; use isAbsent(rawFundingPolicy) here as well.

Useful? React with 👍 / 👎.

This branch was successfully deployed

1 active deployment
Preview — 7ac06e9f Deployed Sep 27, 2026 by vercel[bot]
Sign up for free to 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.

1 participant