mppx 0.6.29 → 0.6.30

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # mppx
2
2
 
3
+ ## 0.6.30
4
+
5
+ ### Patch Changes
6
+
7
+ - 77eac81: Added the root EVM charge method export for direct `mppx/evm` helper access.
8
+
3
9
  ## 0.6.29
4
10
 
5
11
  ### Patch Changes
@@ -4,6 +4,7 @@ export * as Methods from './Methods.js';
4
4
  export * as Types from './Types.js';
5
5
  export * as assets from './Assets.js';
6
6
  export * as chains from './Chains.js';
7
+ export { charge } from './Methods.js';
7
8
  export * from './Types.js';
8
9
  export type { ExactEip3009Transfer, ExactPermit2Transfer, ExactTransfer, ResourceInfo, } from '../x402/Types.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evm/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,cAAc,YAAY,CAAA;AAC1B,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,YAAY,GACb,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evm/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,cAAc,YAAY,CAAA;AAC1B,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,YAAY,GACb,MAAM,kBAAkB,CAAA"}
package/dist/evm/index.js CHANGED
@@ -4,5 +4,6 @@ export * as Methods from './Methods.js';
4
4
  export * as Types from './Types.js';
5
5
  export * as assets from './Assets.js';
6
6
  export * as chains from './Chains.js';
7
+ export { charge } from './Methods.js';
7
8
  export * from './Types.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evm/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evm/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,cAAc,YAAY,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mppx",
3
3
  "type": "module",
4
- "version": "0.6.29",
4
+ "version": "0.6.30",
5
5
  "main": "./dist/index.js",
6
6
  "license": "MIT",
7
7
  "files": [
@@ -454,19 +454,45 @@ describe('serialize', () => {
454
454
  expect(header).toContain('expires="2025-01-06T12:00:00Z"')
455
455
  })
456
456
 
457
- test('behavior: escapes quoted-string values', () => {
457
+ test.each([
458
+ {
459
+ description: 'Plain payment description',
460
+ escaped: 'Plain payment description',
461
+ label: 'plain values',
462
+ },
463
+ {
464
+ description: 'Pay "premium"',
465
+ escaped: 'Pay \\"premium\\"',
466
+ label: 'double quotes',
467
+ },
468
+ {
469
+ description: 'Path C:\\tempo\\api',
470
+ escaped: 'Path C:\\\\tempo\\\\api',
471
+ label: 'backslashes',
472
+ },
473
+ {
474
+ description: 'Pay "premium" path C:\\tempo\\api',
475
+ escaped: 'Pay \\"premium\\" path C:\\\\tempo\\\\api',
476
+ label: 'mixed quotes and backslashes',
477
+ },
478
+ {
479
+ description: 'Ends with slash \\',
480
+ escaped: 'Ends with slash \\\\',
481
+ label: 'trailing backslash',
482
+ },
483
+ ])('behavior: escapes quoted-string values: $label', ({ description, escaped }) => {
458
484
  const challenge = Challenge.from({
459
485
  id: 'abc123',
460
486
  realm: 'api.example.com',
461
487
  method: 'tempo',
462
488
  intent: 'charge',
463
489
  request: { amount: '1000000' },
464
- description: 'Pay "premium" path C:\\tempo\\api',
490
+ description,
465
491
  })
466
492
 
467
493
  const header = Challenge.serialize(challenge)
468
- expect(header).toContain('description="Pay \\"premium\\" path C:\\\\tempo\\\\api"')
469
- expect(Challenge.deserialize(header).description).toBe('Pay "premium" path C:\\tempo\\api')
494
+ expect(header).toContain(`description="${escaped}"`)
495
+ expect(Challenge.deserialize(header).description).toBe(description)
470
496
  })
471
497
 
472
498
  test('error: rejects CRLF in quoted-string values', () => {
@@ -37,6 +37,11 @@ describe('evm public interface', () => {
37
37
  expectTypeOf(clientChains.baseSepolia).toMatchTypeOf<number>()
38
38
  })
39
39
 
40
+ test('exports root EVM charge method definition', () => {
41
+ expectTypeOf(evmRoot.charge.name).toEqualTypeOf<'evm'>()
42
+ expectTypeOf(evmRoot.charge.intent).toEqualTypeOf<'charge'>()
43
+ })
44
+
40
45
  test('server charge works through subpath exports and tuple helper', () => {
41
46
  const direct = serverCharge({
42
47
  currency: serverAssets.base.USDC,
package/src/evm/index.ts CHANGED
@@ -4,6 +4,7 @@ export * as Methods from './Methods.js'
4
4
  export * as Types from './Types.js'
5
5
  export * as assets from './Assets.js'
6
6
  export * as chains from './Chains.js'
7
+ export { charge } from './Methods.js'
7
8
  export * from './Types.js'
8
9
  export type {
9
10
  ExactEip3009Transfer,