mppx 0.8.5 → 0.8.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/Receipt.d.ts +20 -2
  3. package/dist/Receipt.d.ts.map +1 -1
  4. package/dist/Receipt.js +19 -12
  5. package/dist/Receipt.js.map +1 -1
  6. package/dist/cli/cli.d.ts.map +1 -1
  7. package/dist/cli/cli.js +6 -4
  8. package/dist/cli/cli.js.map +1 -1
  9. package/dist/cli/plugins/tempo.d.ts.map +1 -1
  10. package/dist/cli/plugins/tempo.js +4 -2
  11. package/dist/cli/plugins/tempo.js.map +1 -1
  12. package/dist/client/internal/Fetch.d.ts.map +1 -1
  13. package/dist/client/internal/Fetch.js +6 -1
  14. package/dist/client/internal/Fetch.js.map +1 -1
  15. package/dist/tempo/client/Charge.d.ts.map +1 -1
  16. package/dist/tempo/client/Charge.js +6 -2
  17. package/dist/tempo/client/Charge.js.map +1 -1
  18. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  19. package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
  20. package/dist/tempo/server/internal/html.gen.js +1 -1
  21. package/dist/tempo/server/internal/html.gen.js.map +1 -1
  22. package/dist/tempo/session/precompile/Chain.d.ts +26 -2
  23. package/dist/tempo/session/precompile/Chain.d.ts.map +1 -1
  24. package/dist/tempo/session/precompile/Chain.js +38 -5
  25. package/dist/tempo/session/precompile/Chain.js.map +1 -1
  26. package/package.json +1 -1
  27. package/src/Receipt.test.ts +53 -0
  28. package/src/Receipt.ts +26 -13
  29. package/src/cli/cli.test.ts +41 -5
  30. package/src/cli/cli.ts +7 -4
  31. package/src/cli/plugins/tempo.ts +6 -2
  32. package/src/client/internal/Fetch.test.ts +44 -0
  33. package/src/client/internal/Fetch.ts +5 -1
  34. package/src/tempo/client/Charge.test.ts +61 -0
  35. package/src/tempo/client/Charge.ts +6 -1
  36. package/src/tempo/server/internal/html.gen.ts +1 -1
  37. package/src/tempo/session/precompile/Chain.test.ts +121 -2
  38. package/src/tempo/session/precompile/Chain.ts +56 -6
@@ -1 +1 @@
1
- {"version":3,"file":"html.gen.js","sourceRoot":"","sources":["../../../../src/tempo/server/internal/html.gen.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,IAAI,GAAG,swrpBAAswrpB,CAAA"}
1
+ {"version":3,"file":"html.gen.js","sourceRoot":"","sources":["../../../../src/tempo/server/internal/html.gen.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,IAAI,GAAG,g3rpBAAg3rpB,CAAA"}
@@ -138,15 +138,39 @@ export type Channel = {
138
138
  /**
139
139
  * Read channel descriptor and state from the TIP20EscrowChannel precompile.
140
140
  */
141
- export declare function getChannel(client: Client, descriptor: ChannelDescriptor, escrow?: Address): Promise<Channel>;
141
+ export declare function getChannel(client: Client, descriptor: ChannelDescriptor, escrow?: Address, blockNumber?: bigint): Promise<Channel>;
142
142
  /**
143
143
  * Read channel state from the TIP20EscrowChannel precompile.
144
144
  */
145
- export declare function getChannelState(client: Client, channelId: Hex, escrow?: Address): Promise<ChannelState>;
145
+ export declare function getChannelState(client: Client, channelId: Hex, escrow?: Address, blockNumber?: bigint): Promise<ChannelState>;
146
146
  /**
147
147
  * Read channel states from the TIP20EscrowChannel precompile.
148
148
  */
149
149
  export declare function getChannelStatesBatch(client: Client, channelIds: readonly Hex[], escrow?: Address): Promise<ChannelState[]>;
150
+ /** Tuning for {@link readbackWithRetry}. */
151
+ export type ReadbackRetryOptions = {
152
+ /** Additional attempts after the first, before giving up. @default 5 */
153
+ retries?: number | undefined;
154
+ /** Delay between attempts, in milliseconds. @default 250 */
155
+ delayMs?: number | undefined;
156
+ };
157
+ /**
158
+ * Retry an on-chain readback that is pinned to the block containing a just-sent
159
+ * transaction.
160
+ *
161
+ * The escrow state read is served by a load-balanced RPC whose replicas can lag
162
+ * behind the block that produced the transaction receipt. Callers pin the read
163
+ * to that block number (via the `blockNumber` arg on {@link getChannel} /
164
+ * {@link getChannelState}) so a node that has imported the block returns
165
+ * authoritative state; replicas that have not yet imported it throw (e.g.
166
+ * "header not found"), so we retry with a short backoff until one catches up.
167
+ *
168
+ * This closes the read-after-write race behind
169
+ * `on-chain channel state does not match open receipt` — without it, a stale
170
+ * `latest` read on a lagging replica returns an empty channel and fails
171
+ * verification even though the open transaction succeeded.
172
+ */
173
+ export declare function readbackWithRetry<T>(read: () => Promise<T>, options?: ReadbackRetryOptions): Promise<T>;
150
174
  /** Options accepted by low-level TIP-1034 on-chain management helpers. */
151
175
  export type ChannelTransactionOptions = {
152
176
  /** Account used to send the transaction when the viem client has no default account. */
@@ -1 +1 @@
1
- {"version":3,"file":"Chain.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/precompile/Chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AACzD,OAAO,EAAsC,cAAc,EAAE,MAAM,MAAM,CAAA;AACzE,OAAO,EAIL,kBAAkB,EAKnB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGxC,OAAO,KAAK,QAAQ,MAAM,6BAA6B,CAAA;AAIvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAIrD,8EAA8E;AAC9E,MAAM,MAAM,6BAA6B,GAAG;IAC1C,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAA;IACf,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,kDAAkD;IAClD,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,wFAAwF;AACxF,MAAM,MAAM,sCAAsC,GAAG;IACnD,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAA;IACf,uDAAuD;IACvD,UAAU,EAAE,iBAAiB,CAAA;IAC7B,qDAAqD;IACrD,gBAAgB,EAAE,GAAG,CAAA;IACrB,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAA;IACtB,8DAA8D;IAC9D,wBAAwB,EAAE,GAAG,CAAA;IAC7B,uEAAuE;IACvE,MAAM,EAAE,OAAO,CAAA;IACf,+CAA+C;IAC/C,iBAAiB,EAAE,GAAG,CAAA;IACtB,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wEAAwE;AACxE,MAAM,MAAM,mCAAmC,GAAG;IAChD,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAA;IACtB,2CAA2C;IAC3C,KAAK,EAAE,6BAA6B,CAAA;CACrC,CAAA;AAED,+EAA+E;AAC/E,MAAM,MAAM,8BAA8B,GAAG;IAC3C,6CAA6C;IAC7C,gBAAgB,EAAE,GAAG,CAAA;IACrB,+CAA+C;IAC/C,iBAAiB,EAAE,GAAG,CAAA;CACvB,CAAA;AAED,kEAAkE;AAClE,MAAM,MAAM,oCAAoC,GAAG;IACjD,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAA;IAClB,2CAA2C;IAC3C,KAAK,EAAE,6BAA6B,CAAA;CACrC,CAAA;AAED,+DAA+D;AAC/D,MAAM,MAAM,0BAA0B,GAAG;IACvC,4CAA4C;IAC5C,SAAS,EAAE,GAAG,CAAA;IACd,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,qDAAqD;IACrD,iBAAiB,EAAE,GAAG,CAAA;CACvB,CAAA;AAED,uDAAuD;AACvD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,4CAA4C;IAC5C,SAAS,EAAE,GAAG,CAAA;IACd,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,yDAAyD;AACzD,MAAM,MAAM,oBAAoB,GAAG;IACjC,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,+DAA+D;AAC/D,MAAM,MAAM,0BAA0B,GAAG;IACvC,oCAAoC;IACpC,cAAc,EAAE,MAAM,CAAA;IACtB,oCAAoC;IACpC,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B,CAAA;AAiBD,2EAA2E;AAC3E,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,oBAAoB,GAC1B,0BAA0B,CAM5B;AAED,mEAAmE;AACnE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,GAAG,kBAAkB,CAKtF;AAED,qEAAqE;AACrE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,oBAAoB,GAAG,oBAAoB,CAI1F;AAED,2EAA2E;AAC3E,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,oBAAoB,GAC1B,0BAA0B,CAK5B;AAED,8FAA8F;AAC9F,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,sCAAsC,GACjD,IAAI,CA4BN;AAED,yEAAyE;AACzE,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,mCAAmC,GAAG,IAAI,CAM/F;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,8BAA8B,GAAG,IAAI,CAGrF;AAED,2EAA2E;AAC3E,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,oCAAoC,GAAG,IAAI,CAKjG;AAED,uFAAuF;AACvF,MAAM,MAAM,qCAAqC,GAAG;IAClD,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,yCAAyC;IACzC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1C,CAAA;AAED,sFAAsF;AACtF,MAAM,MAAM,wCAAwC,GAAG;IACrD,mDAAmD;IACnD,QAAQ,EAAE,qCAAqC,CAAA;IAC/C,+EAA+E;IAC/E,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;CAC9C,CAAA;AAED,sFAAsF;AACtF,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,wCAAwC,QAkBrD;AAID,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;AAQxE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,UAAU,EAAE,iBAAiB,CAAA;IAC7B,KAAK,EAAE,YAAY,CAAA;CACpB,CAAA;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,iBAAiB,EAC7B,MAAM,GAAE,OAA4B,GACnC,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,GAAG,EACd,MAAM,GAAE,OAA4B,GACnC,OAAO,CAAC,YAAY,CAAC,CAQvB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,SAAS,GAAG,EAAE,EAC1B,MAAM,GAAE,OAA4B,GACnC,OAAO,CAAC,YAAY,EAAE,CAAC,CAQzB;AAED,0EAA0E;AAC1E,MAAM,MAAM,yBAAyB,GAAG;IACtC,wFAAwF;IACxF,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,2FAA2F;IAC3F,kBAAkB,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAA;IACnD,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,8EAA8E;IAC9E,cAAc,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACrD,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC/B,CAAA;AA4FD;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,iBAAiB,EAC7B,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,GAAG,EACd,MAAM,GAAE,OAA4B,EACpC,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,GAAG,CAAC,CAUd;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,iBAAiB,EAC7B,iBAAiB,EAAE,MAAM,EACzB,MAAM,GAAE,OAA4B,EACpC,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,GAAG,CAAC,CAUd;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,iBAAiB,EAC7B,MAAM,GAAE,OAA4B,EACpC,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,GAAG,CAAC,CASd;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,iBAAiB,EAC7B,MAAM,GAAE,OAA4B,EACpC,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,GAAG,CAAC,CASd;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,iBAAiB,EAC7B,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,GAAG,EACd,MAAM,GAAE,OAA4B,EACpC,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,GAAG,CAAC,CAWd;AAED,qFAAqF;AACrF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE;QACJ,SAAS,EAAE,GAAG,CAAA;QACd,iBAAiB,CAAC,EAAE,GAAG,GAAG,SAAS,CAAA;QACnC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACnC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACrC,CAAA;CACF,CAAA;AAED,oFAAoF;AACpF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;CACnD,CAAA;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,UAAU,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,GAC3D,IAAI,CAKN;AAED,8CAA8C;AAC9C,wBAAsB,eAAe,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,0BAEhF;AAED,sEAAsE;AACtE,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,8CAKlF;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAC7B,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,eAAe,EAC7D,SAAS,EAAE,GAAG,GACb,mBAAmB,CAYrB;AAED,iFAAiF;AACjF,MAAM,MAAM,mCAAmC,GAAG;IAChD,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAA;IACf,kDAAkD;IAClD,MAAM,EAAE,iBAAiB,CAAA;IACzB,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAA;IACjD,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACrD,+DAA+D;IAC/D,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;IACvB,4CAA4C;IAC5C,qBAAqB,EAAE,GAAG,CAAA;IAC1B,yEAAyE;IACzE,WAAW,EAAE,UAAU,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,CAAA;CAC7D,CAAA;AAED,yGAAyG;AACzG,wBAAsB,yBAAyB,CAAC,UAAU,EAAE,mCAAmC,8CA8C9F;AAED,mFAAmF;AACnF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,kCAAkC;IAClC,MAAM,EAAE,GAAG,CAAA;IACX,+DAA+D;IAC/D,UAAU,EAAE,iBAAiB,CAAA;IAC7B,gDAAgD;IAChD,KAAK,EAAE,YAAY,CAAA;IACnB,uDAAuD;IACvD,iBAAiB,EAAE,GAAG,CAAA;IACtB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,uFAAuF;AACvF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,sEAAsE;IACtE,eAAe,CAAC,EACZ,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,8BAA8B,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAC5F,SAAS,CAAA;IACb,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAA;IACf,gEAAgE;IAChE,MAAM,EAAE,iBAAiB,CAAA;IACzB,6CAA6C;IAC7C,cAAc,EAAE,OAAO,CAAA;IACvB,+DAA+D;IAC/D,wBAAwB,EAAE,OAAO,CAAA;IACjC,iEAAiE;IACjE,iBAAiB,EAAE,GAAG,CAAA;IACtB,mDAAmD;IACnD,gBAAgB,EAAE,OAAO,CAAA;IACzB,+DAA+D;IAC/D,yBAAyB,EAAE,GAAG,CAAA;IAC9B,yDAAyD;IACzD,gBAAgB,EAAE,OAAO,CAAA;IACzB,uDAAuD;IACvD,aAAa,EAAE,OAAO,CAAA;IACtB,0DAA0D;IAC1D,aAAa,EAAE,OAAO,CAAA;IACtB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACrD,iDAAiD;IACjD,qBAAqB,EAAE,GAAG,CAAA;CAC3B,CAAA;AAED,wEAAwE;AACxE,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,kCAAkC,GAC7C,OAAO,CAAC,8BAA8B,CAAC,CAiFzC;AAED,qFAAqF;AACrF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,kCAAkC;IAClC,MAAM,EAAE,GAAG,CAAA;IACX,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,KAAK,EAAE,YAAY,CAAA;CACpB,CAAA;AAED,yFAAyF;AACzF,MAAM,MAAM,mCAAmC,GAAG;IAChD,iEAAiE;IACjE,iBAAiB,EAAE,MAAM,CAAA;IACzB,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAA;IACf,gEAAgE;IAChE,MAAM,EAAE,iBAAiB,CAAA;IACzB,kDAAkD;IAClD,UAAU,EAAE,iBAAiB,CAAA;IAC7B,6CAA6C;IAC7C,cAAc,EAAE,OAAO,CAAA;IACvB,iDAAiD;IACjD,iBAAiB,EAAE,GAAG,CAAA;IACtB,yEAAyE;IACzE,gBAAgB,EAAE,OAAO,CAAA;IACzB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACrD,mDAAmD;IACnD,qBAAqB,EAAE,GAAG,CAAA;CAC3B,CAAA;AAED,0EAA0E;AAC1E,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,mCAAmC,GAC9C,OAAO,CAAC,+BAA+B,CAAC,CA4C1C"}
1
+ {"version":3,"file":"Chain.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/precompile/Chain.ts"],"names":[],"mappings":"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"}
@@ -113,12 +113,13 @@ function assertUint96(amount) {
113
113
  /**
114
114
  * Read channel descriptor and state from the TIP20EscrowChannel precompile.
115
115
  */
116
- export async function getChannel(client, descriptor, escrow = tip20ChannelEscrow) {
116
+ export async function getChannel(client, descriptor, escrow = tip20ChannelEscrow, blockNumber) {
117
117
  const channel = await readContract(client, {
118
118
  address: escrow,
119
119
  abi: escrowAbi,
120
120
  functionName: 'getChannel',
121
121
  args: [descriptorTuple(descriptor)],
122
+ ...(blockNumber !== undefined ? { blockNumber } : {}),
122
123
  });
123
124
  return {
124
125
  descriptor: channel.descriptor,
@@ -128,12 +129,13 @@ export async function getChannel(client, descriptor, escrow = tip20ChannelEscrow
128
129
  /**
129
130
  * Read channel state from the TIP20EscrowChannel precompile.
130
131
  */
131
- export async function getChannelState(client, channelId, escrow = tip20ChannelEscrow) {
132
+ export async function getChannelState(client, channelId, escrow = tip20ChannelEscrow, blockNumber) {
132
133
  const state = await readContract(client, {
133
134
  address: escrow,
134
135
  abi: escrowAbi,
135
136
  functionName: 'getChannelState',
136
137
  args: [channelId],
138
+ ...(blockNumber !== undefined ? { blockNumber } : {}),
137
139
  });
138
140
  return stateFromTuple(state);
139
141
  }
@@ -149,6 +151,37 @@ export async function getChannelStatesBatch(client, channelIds, escrow = tip20Ch
149
151
  });
150
152
  return states.map(stateFromTuple);
151
153
  }
154
+ /**
155
+ * Retry an on-chain readback that is pinned to the block containing a just-sent
156
+ * transaction.
157
+ *
158
+ * The escrow state read is served by a load-balanced RPC whose replicas can lag
159
+ * behind the block that produced the transaction receipt. Callers pin the read
160
+ * to that block number (via the `blockNumber` arg on {@link getChannel} /
161
+ * {@link getChannelState}) so a node that has imported the block returns
162
+ * authoritative state; replicas that have not yet imported it throw (e.g.
163
+ * "header not found"), so we retry with a short backoff until one catches up.
164
+ *
165
+ * This closes the read-after-write race behind
166
+ * `on-chain channel state does not match open receipt` — without it, a stale
167
+ * `latest` read on a lagging replica returns an empty channel and fails
168
+ * verification even though the open transaction succeeded.
169
+ */
170
+ export async function readbackWithRetry(read, options = {}) {
171
+ const { retries = 5, delayMs = 250 } = options;
172
+ let lastError;
173
+ for (let attempt = 0; attempt <= retries; attempt++) {
174
+ try {
175
+ return await read();
176
+ }
177
+ catch (error) {
178
+ lastError = error;
179
+ if (attempt < retries)
180
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
181
+ }
182
+ }
183
+ throw lastError;
184
+ }
152
185
  function parsePrecompileCredentialTransaction(parameters) {
153
186
  const { escrowContract, feePayer, label, serializedTransaction } = parameters;
154
187
  if (feePayer && !FeePayer.isTempoTransaction(serializedTransaction))
@@ -259,7 +292,7 @@ export async function sendTransaction(client, transaction) {
259
292
  }
260
293
  /** Wait for a receipt and reject reverted precompile transactions. */
261
294
  export async function waitForSuccessfulReceipt(client, hash) {
262
- const receipt = await waitForTransactionReceipt(client, { hash });
295
+ const receipt = await waitForTransactionReceipt(client, { hash, checkReplacement: false });
263
296
  if (receipt.status !== 'success')
264
297
  throw new VerificationFailedError({ reason: 'precompile transaction reverted' });
265
298
  return receipt;
@@ -379,7 +412,7 @@ export async function broadcastOpenTransaction(parameters) {
379
412
  expectedChannelId: parameters.expectedChannelId,
380
413
  openDeposit: open.deposit,
381
414
  });
382
- const chainChannel = await getChannel(parameters.client, descriptor, parameters.escrowContract);
415
+ const chainChannel = await readbackWithRetry(() => getChannel(parameters.client, descriptor, parameters.escrowContract, receipt.blockNumber));
383
416
  const state = chainChannel.state;
384
417
  validateOpenReadbackState({ emittedDeposit: opened.deposit, state });
385
418
  return {
@@ -426,7 +459,7 @@ export async function broadcastTopUpTransaction(parameters) {
426
459
  emittedChannelId: toppedUp.channelId,
427
460
  expectedChannelId: parameters.expectedChannelId,
428
461
  });
429
- const state = await getChannelState(parameters.client, toppedUp.channelId, parameters.escrowContract);
462
+ const state = await readbackWithRetry(() => getChannelState(parameters.client, toppedUp.channelId, parameters.escrowContract, receipt.blockNumber));
430
463
  validateTopUpReadbackState({ newDeposit: toppedUp.newDeposit, state });
431
464
  return { txHash: receipt.transactionHash, newDeposit: toppedUp.newDeposit, state };
432
465
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Chain.js","sourceRoot":"","sources":["../../../../src/tempo/session/precompile/Chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chain.js","sourceRoot":"","sources":["../../../../src/tempo/session/precompile/Chain.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mppx",
3
3
  "type": "module",
4
- "version": "0.8.5",
4
+ "version": "0.8.6",
5
5
  "main": "./dist/index.js",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/wevm/mppx#readme",
@@ -30,6 +30,42 @@ describe('from', () => {
30
30
  }),
31
31
  ).toThrow()
32
32
  })
33
+
34
+ test('behavior: preserves method-specific extension fields', () => {
35
+ const receipt = Receipt.from({
36
+ method: 'nearintents',
37
+ reference: 'FtChYxxQh1k6vKjQ9wq5q1f8s2n3p4r5t6u7v8w9x0yz',
38
+ status: 'success',
39
+ timestamp: '2025-01-21T12:00:00.000Z',
40
+ challengeId: 'qB3wErTyU7iOpAsD9fGhJk',
41
+ originTxHash: '0x9bcff372aee89b648c922b850573b22387c31d693079f5e37cd255814e2d615a',
42
+ destinationNetwork: 'near:mainnet',
43
+ })
44
+
45
+ expect(receipt).toMatchInlineSnapshot(`
46
+ {
47
+ "challengeId": "qB3wErTyU7iOpAsD9fGhJk",
48
+ "destinationNetwork": "near:mainnet",
49
+ "method": "nearintents",
50
+ "originTxHash": "0x9bcff372aee89b648c922b850573b22387c31d693079f5e37cd255814e2d615a",
51
+ "reference": "FtChYxxQh1k6vKjQ9wq5q1f8s2n3p4r5t6u7v8w9x0yz",
52
+ "status": "success",
53
+ "timestamp": "2025-01-21T12:00:00.000Z",
54
+ }
55
+ `)
56
+ })
57
+
58
+ test('error: rejects invalid base field even with extension fields present', () => {
59
+ expect(() =>
60
+ Receipt.from({
61
+ method: 'nearintents',
62
+ reference: 'FtChYxxQh1k6vKjQ9wq5q1f8s2n3p4r5t6u7v8w9x0yz',
63
+ status: 'failed' as 'success',
64
+ timestamp: '2025-01-21T12:00:00.000Z',
65
+ originTxHash: '0x9bcff372aee89b648c922b850573b22387c31d693079f5e37cd255814e2d615a',
66
+ }),
67
+ ).toThrow()
68
+ })
33
69
  })
34
70
 
35
71
  describe('serialize', () => {
@@ -67,6 +103,23 @@ describe('deserialize', () => {
67
103
  })
68
104
  })
69
105
 
106
+ describe('serialize + deserialize', () => {
107
+ test('behavior: round-trips method-specific extension fields', () => {
108
+ const receipt = Receipt.from({
109
+ method: 'nearintents',
110
+ reference: 'FtChYxxQh1k6vKjQ9wq5q1f8s2n3p4r5t6u7v8w9x0yz',
111
+ status: 'success',
112
+ timestamp: '2025-01-21T12:00:00.000Z',
113
+ externalId: 'order_12345',
114
+ challengeId: 'qB3wErTyU7iOpAsD9fGhJk',
115
+ originTxHash: '0x9bcff372aee89b648c922b850573b22387c31d693079f5e37cd255814e2d615a',
116
+ destinationNetwork: 'near:mainnet',
117
+ })
118
+
119
+ expect(Receipt.deserialize(Receipt.serialize(receipt))).toEqual(receipt)
120
+ })
121
+ })
122
+
70
123
  describe('fromResponse', () => {
71
124
  test('behavior: extracts receipt from Payment-Receipt header', () => {
72
125
  const encoded =
package/src/Receipt.ts CHANGED
@@ -3,17 +3,7 @@ import { Base64 } from 'ox'
3
3
  import * as Constants from './Constants.js'
4
4
  import * as z from './zod.js'
5
5
 
6
- /**
7
- * Schema for a payment receipt.
8
- *
9
- * @example
10
- * ```ts
11
- * import { Receipt } from 'mppx'
12
- *
13
- * const receipt = Receipt.Schema.parse(data)
14
- * ```
15
- */
16
- export const Schema = z.object({
6
+ const shape = {
17
7
  /** Payment method used (e.g., "tempo", "stripe"). */
18
8
  method: z.string(),
19
9
  /** Method-specific reference (e.g., transaction hash). */
@@ -26,11 +16,34 @@ export const Schema = z.object({
26
16
  status: z.literal('success'),
27
17
  /** RFC 3339 settlement timestamp. */
28
18
  timestamp: z.datetime(),
29
- })
19
+ }
20
+
21
+ /** Base-field schema used only to derive the {@link Receipt} type without an index signature. */
22
+ const BaseSchema = z.object(shape)
23
+
24
+ /**
25
+ * Schema for a payment receipt.
26
+ *
27
+ * Method specifications may define additional receipt fields beyond the
28
+ * base set (per the core spec's Payment-Receipt section); unknown fields
29
+ * are preserved through parse/serialize round-trips rather than stripped.
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * import { Receipt } from 'mppx'
34
+ *
35
+ * const receipt = Receipt.Schema.parse(data)
36
+ * ```
37
+ */
38
+ export const Schema = z.looseObject(shape)
30
39
 
31
40
  /**
32
41
  * Payment receipt returned after verification.
33
42
  *
43
+ * Method-specific extension fields are preserved at runtime but not part of
44
+ * this base type; method packages can type them via intersection
45
+ * (e.g. `Receipt.Receipt & { originTxHash: string }`).
46
+ *
34
47
  * @example
35
48
  * ```ts
36
49
  * import { Receipt } from 'mppx'
@@ -43,7 +56,7 @@ export const Schema = z.object({
43
56
  * }
44
57
  * ```
45
58
  */
46
- export type Receipt = z.infer<typeof Schema>
59
+ export type Receipt = z.infer<typeof BaseSchema>
47
60
 
48
61
  /**
49
62
  * Deserializes a Payment-Receipt header value to a receipt.
@@ -43,7 +43,7 @@ afterAll(() => {
43
43
  })
44
44
 
45
45
  async function serve(argv: string[], options?: { env?: Record<string, string | undefined> }) {
46
- let output = ''
46
+ const stdoutChunks: Buffer[] = []
47
47
  let stderr = ''
48
48
  let exitCode: number | undefined
49
49
  const saved: Record<string, string | undefined> = {}
@@ -58,7 +58,9 @@ async function serve(argv: string[], options?: { env?: Record<string, string | u
58
58
  const origLog = console.log
59
59
  const origError = console.error
60
60
  process.stdout.write = ((chunk: unknown) => {
61
- output += typeof chunk === 'string' ? chunk : String(chunk)
61
+ if (typeof chunk === 'string') stdoutChunks.push(Buffer.from(chunk))
62
+ else if (chunk instanceof Uint8Array) stdoutChunks.push(Buffer.from(chunk))
63
+ else stdoutChunks.push(Buffer.from(String(chunk)))
62
64
  return true
63
65
  }) as typeof process.stdout.write
64
66
  process.stderr.write = ((chunk: unknown) => {
@@ -66,7 +68,7 @@ async function serve(argv: string[], options?: { env?: Record<string, string | u
66
68
  return true
67
69
  }) as typeof process.stderr.write
68
70
  console.log = (...args: unknown[]) => {
69
- output += `${args.map(String).join(' ')}\n`
71
+ stdoutChunks.push(Buffer.from(`${args.map(String).join(' ')}\n`))
70
72
  }
71
73
  console.error = (...args: unknown[]) => {
72
74
  stderr += `${args.map(String).join(' ')}\n`
@@ -74,7 +76,7 @@ async function serve(argv: string[], options?: { env?: Record<string, string | u
74
76
  try {
75
77
  await cli.serve(argv, {
76
78
  stdout(s: string) {
77
- output += s
79
+ stdoutChunks.push(Buffer.from(s))
78
80
  },
79
81
  exit(code: number) {
80
82
  exitCode = code
@@ -90,7 +92,8 @@ async function serve(argv: string[], options?: { env?: Record<string, string | u
90
92
  else process.env[key] = value
91
93
  }
92
94
  }
93
- return { output, stderr, exitCode }
95
+ const stdoutBytes = Buffer.concat(stdoutChunks)
96
+ return { output: stdoutBytes.toString(), stderr, exitCode, stdoutBytes }
94
97
  }
95
98
 
96
99
  function createMockChargeMethod(name: string) {
@@ -430,6 +433,24 @@ describe('services', () => {
430
433
  })
431
434
  })
432
435
 
436
+ describe('request output', () => {
437
+ test('writes non-402 response bodies to stdout without text decoding', async () => {
438
+ const body = Buffer.from([0xff, 0xd8, 0xff, 0xe0, 0x00, 0x10, 0x4a, 0x46, 0x0a, 0x0a])
439
+ const httpServer = await Http.createServer((_req, res) => {
440
+ res.writeHead(200, { 'Content-Type': 'application/pdf' })
441
+ res.end(body)
442
+ })
443
+
444
+ try {
445
+ const { exitCode, stdoutBytes } = await serve([httpServer.url, '-s'])
446
+ expect(exitCode).toBeUndefined()
447
+ expect(stdoutBytes).toEqual(body)
448
+ } finally {
449
+ httpServer.close()
450
+ }
451
+ })
452
+ })
453
+
433
454
  describe('basic charge (examples/basic)', () => {
434
455
  test('happy path: makes payment and receives response', { timeout: 120_000 }, async () => {
435
456
  const { Actions } = await import('viem/tempo')
@@ -1819,6 +1840,21 @@ test('mppx --help', async () => {
1819
1840
  expect(output).toContain('sign')
1820
1841
  })
1821
1842
 
1843
+ describe('account fund help', () => {
1844
+ test('only advertises testnet network funding', async () => {
1845
+ const { output } = await serve(['account', 'fund', '--help'])
1846
+ expect(output).toContain('--network <testnet>')
1847
+ expect(output).not.toContain('mainnet|testnet')
1848
+ })
1849
+
1850
+ test('rejects mainnet network funding', async () => {
1851
+ const { exitCode, output } = await serve(['account', 'fund', '--network', 'mainnet'])
1852
+ expect(exitCode).toBe(1)
1853
+ expect(output).toContain('Invalid input')
1854
+ expect(output).toContain('testnet')
1855
+ })
1856
+ })
1857
+
1822
1858
  // ---------------------------------------------------------------------------
1823
1859
  // sign
1824
1860
  // ---------------------------------------------------------------------------
package/src/cli/cli.ts CHANGED
@@ -99,6 +99,10 @@ function outputResult<Data>(
99
99
  return undefined as unknown as Data
100
100
  }
101
101
 
102
+ async function writeResponseBody(response: Response) {
103
+ process.stdout.write(Buffer.from(await response.arrayBuffer()))
104
+ }
105
+
102
106
  function canReadCommandStdin() {
103
107
  if (process.stdin.isTTY !== false) return false
104
108
  return process.stdin.listenerCount('data') === 0 && process.stdin.listenerCount('readable') === 0
@@ -371,7 +375,7 @@ const cli = Cli.create('mppx', {
371
375
  exitCode: 22,
372
376
  })
373
377
  printResponseHeaders(challengeResponse, headerOpts)
374
- console.log((await challengeResponse.text()).replace(/\n+$/, ''))
378
+ await writeResponseBody(challengeResponse)
375
379
  return
376
380
  }
377
381
 
@@ -625,8 +629,7 @@ const cli = Cli.create('mppx', {
625
629
  } catch {}
626
630
  }
627
631
 
628
- const body = (await credentialResponse.text()).replace(/\n+$/, '')
629
- console.log(body)
632
+ await writeResponseBody(credentialResponse)
630
633
  }
631
634
  } catch (err) {
632
635
  // Re-throw IncurError so incur's error handler formats it properly
@@ -864,7 +867,7 @@ const account = Cli.create('account', {
864
867
  description: 'Fund account with testnet tokens',
865
868
  options: z.object({
866
869
  account: z.string().optional().describe('Account name (env: MPPX_ACCOUNT)'),
867
- network: z.enum(['mainnet', 'testnet']).optional().describe('Tempo network'),
870
+ network: z.enum(['testnet']).optional().describe('Tempo network'),
868
871
  rpcUrl: z.string().optional().describe('RPC endpoint (env: MPPX_RPC_URL)'),
869
872
  }),
870
873
  output: z.object({ account: z.string(), chain: z.string(), transactions: z.array(z.string()) }),
@@ -42,6 +42,11 @@ const booleanOption = z.union([
42
42
  z.literal('true').transform(() => true),
43
43
  z.literal('false').transform(() => false),
44
44
  ])
45
+
46
+ async function writeResponseBody(response: Response) {
47
+ process.stdout.write(Buffer.from(await response.arrayBuffer()))
48
+ }
49
+
45
50
  const tempoOptionSchema = z.object({
46
51
  autoSwap: z.optional(booleanOption),
47
52
  channel: z.optional(z.coerce.string()),
@@ -425,8 +430,7 @@ export function tempo() {
425
430
  })
426
431
  } else {
427
432
  // Non-SSE: print body, then close channel
428
- const body = (await credentialResponse.text()).replace(/\n+$/, '')
429
- console.log(body)
433
+ await writeResponseBody(credentialResponse)
430
434
 
431
435
  if (channelId && escrowContract && chainId) {
432
436
  if (confirmEnabled) info('\n')
@@ -1742,6 +1742,50 @@ describe('Fetch.from: 402 retry path', () => {
1742
1742
  expect(createCredential).toHaveBeenCalledOnce()
1743
1743
  expect(response.status).toBe(402)
1744
1744
  })
1745
+
1746
+ test('returns a challenge-less 402 after a rejected payment', async () => {
1747
+ let callCount = 0
1748
+ const createCredential = vi.fn(async () => 'credential')
1749
+ const mockFetch: typeof globalThis.fetch = async () => {
1750
+ callCount++
1751
+ if (callCount === 1) return make402()
1752
+ return new Response(JSON.stringify({ title: 'Verification Failed' }), {
1753
+ status: 402,
1754
+ headers: { 'Content-Type': 'application/json' },
1755
+ })
1756
+ }
1757
+
1758
+ const fetch = Fetch.from({
1759
+ fetch: mockFetch,
1760
+ methods: [{ ...noopMethod, createCredential }],
1761
+ })
1762
+
1763
+ const response = await fetch('https://example.com/api')
1764
+ expect(callCount).toBe(2)
1765
+ expect(createCredential).toHaveBeenCalledOnce()
1766
+ expect(response.status).toBe(402)
1767
+ await expect(response.json()).resolves.toEqual({ title: 'Verification Failed' })
1768
+ })
1769
+
1770
+ test('returns a post-payment 402 with only unsupported challenges', async () => {
1771
+ let callCount = 0
1772
+ const createCredential = vi.fn(async () => 'credential')
1773
+ const mockFetch: typeof globalThis.fetch = async () => {
1774
+ callCount++
1775
+ if (callCount === 1) return make402()
1776
+ return make402({ method: 'stripe', intent: 'charge' })
1777
+ }
1778
+
1779
+ const fetch = Fetch.from({
1780
+ fetch: mockFetch,
1781
+ methods: [{ ...noopMethod, createCredential }],
1782
+ })
1783
+
1784
+ const response = await fetch('https://example.com/api')
1785
+ expect(callCount).toBe(2)
1786
+ expect(createCredential).toHaveBeenCalledOnce()
1787
+ expect(response.status).toBe(402)
1788
+ })
1745
1789
  })
1746
1790
 
1747
1791
  describe('Fetch.from: acceptPaymentPolicy', () => {
@@ -221,10 +221,14 @@ export function from<const methods extends readonly Method.AnyClient[]>(
221
221
  orderChallenges,
222
222
  )
223
223
  const selected = orderedCandidates[0]
224
- if (!selected)
224
+ if (!selected) {
225
+ // A post-payment 402 with no actionable challenge (e.g. rejected credential)
226
+ // is the server's final answer, not a new challenge round.
227
+ if (retry > 0) return response
225
228
  throw new Error(
226
229
  `No method found for challenges: ${challenges.map((c) => `${c.method}.${c.intent}`).join(', ')}. Available: ${methods.map((m) => `${m.name}.${m.intent}`).join(', ')}`,
227
230
  )
231
+ }
228
232
 
229
233
  const selectedChallenge = selected.challenge
230
234
  challenge = selectedChallenge