mppx 0.8.12 → 0.8.14
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 +34 -0
- package/README.md +16 -1
- package/dist/Errors.d.ts +10 -0
- package/dist/Errors.d.ts.map +1 -1
- package/dist/Errors.js +11 -2
- package/dist/Errors.js.map +1 -1
- package/dist/Method.d.ts +105 -3
- package/dist/Method.d.ts.map +1 -1
- package/dist/Method.js +102 -2
- package/dist/Method.js.map +1 -1
- package/dist/cli/account.d.ts +88 -0
- package/dist/cli/account.d.ts.map +1 -1
- package/dist/cli/account.js +39 -9
- package/dist/cli/account.js.map +1 -1
- package/dist/cli/cli.d.ts +2 -1
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +59 -2
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/sessions/Manager.d.ts +31 -0
- package/dist/cli/sessions/Manager.d.ts.map +1 -0
- package/dist/cli/sessions/Manager.js +56 -0
- package/dist/cli/sessions/Manager.js.map +1 -0
- package/dist/cli/sessions/commands.d.ts +36 -0
- package/dist/cli/sessions/commands.d.ts.map +1 -0
- package/dist/cli/sessions/commands.js +407 -0
- package/dist/cli/sessions/commands.js.map +1 -0
- package/dist/cli/sessions/request.d.ts +35 -0
- package/dist/cli/sessions/request.d.ts.map +1 -0
- package/dist/cli/sessions/request.js +271 -0
- package/dist/cli/sessions/request.js.map +1 -0
- package/dist/cli/sessions/store.d.ts +134 -0
- package/dist/cli/sessions/store.d.ts.map +1 -0
- package/dist/cli/sessions/store.js +723 -0
- package/dist/cli/sessions/store.js.map +1 -0
- package/dist/cli/utils.d.ts +2 -0
- package/dist/cli/utils.d.ts.map +1 -1
- package/dist/cli/utils.js +12 -0
- package/dist/cli/utils.js.map +1 -1
- package/dist/cli/validate/index.d.ts.map +1 -1
- package/dist/cli/validate/index.js +12 -6
- package/dist/cli/validate/index.js.map +1 -1
- package/dist/cli/validate/messages.d.ts +2 -0
- package/dist/cli/validate/messages.d.ts.map +1 -0
- package/dist/cli/validate/messages.js +8 -0
- package/dist/cli/validate/messages.js.map +1 -0
- package/dist/client/internal/Fetch.d.ts.map +1 -1
- package/dist/client/internal/Fetch.js +12 -2
- package/dist/client/internal/Fetch.js.map +1 -1
- package/dist/client/internal/MethodChallenge.d.ts +17 -0
- package/dist/client/internal/MethodChallenge.d.ts.map +1 -0
- package/dist/client/internal/MethodChallenge.js +11 -0
- package/dist/client/internal/MethodChallenge.js.map +1 -0
- package/dist/client/node.d.ts +29 -0
- package/dist/client/node.d.ts.map +1 -0
- package/dist/client/node.js +177 -0
- package/dist/client/node.js.map +1 -0
- package/dist/internal/types.d.ts +24 -0
- package/dist/internal/types.d.ts.map +1 -1
- package/dist/server/Mppx.d.ts +23 -4
- package/dist/server/Mppx.d.ts.map +1 -1
- package/dist/server/Mppx.js +91 -82
- package/dist/server/Mppx.js.map +1 -1
- package/dist/stripe/server/Charge.d.ts +8 -4
- package/dist/stripe/server/Charge.d.ts.map +1 -1
- package/dist/stripe/server/Charge.js.map +1 -1
- package/dist/stripe/server/internal/html.gen.d.ts +1 -1
- package/dist/stripe/server/internal/html.gen.d.ts.map +1 -1
- package/dist/stripe/server/internal/html.gen.js +1 -1
- package/dist/stripe/server/internal/html.gen.js.map +1 -1
- package/dist/tempo/client/Methods.d.ts +2 -1
- package/dist/tempo/client/Methods.d.ts.map +1 -1
- package/dist/tempo/internal/fee-payer.d.ts +1 -0
- package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
- package/dist/tempo/internal/fee-payer.js +7 -2
- package/dist/tempo/internal/fee-payer.js.map +1 -1
- package/dist/tempo/internal/types.d.ts +10 -1
- package/dist/tempo/internal/types.d.ts.map +1 -1
- package/dist/tempo/legacy/client/ChannelOps.d.ts.map +1 -1
- package/dist/tempo/legacy/client/ChannelOps.js +2 -1
- package/dist/tempo/legacy/client/ChannelOps.js.map +1 -1
- package/dist/tempo/legacy/client/Session.d.ts +2 -2
- package/dist/tempo/legacy/server/Session.d.ts +3 -3
- package/dist/tempo/legacy/server/Session.d.ts.map +1 -1
- package/dist/tempo/legacy/server/Session.js.map +1 -1
- package/dist/tempo/server/Charge.d.ts +40 -78
- package/dist/tempo/server/Charge.d.ts.map +1 -1
- package/dist/tempo/server/Charge.js +289 -209
- package/dist/tempo/server/Charge.js.map +1 -1
- package/dist/tempo/server/Methods.d.ts +13 -23
- package/dist/tempo/server/Methods.d.ts.map +1 -1
- package/dist/tempo/server/Methods.js +6 -2
- package/dist/tempo/server/Methods.js.map +1 -1
- package/dist/tempo/server/Relay.d.ts +48 -0
- package/dist/tempo/server/Relay.d.ts.map +1 -0
- package/dist/tempo/server/Relay.js +177 -0
- package/dist/tempo/server/Relay.js.map +1 -0
- package/dist/tempo/server/SponsorBudget.d.ts +59 -0
- package/dist/tempo/server/SponsorBudget.d.ts.map +1 -0
- package/dist/tempo/server/SponsorBudget.js +144 -0
- package/dist/tempo/server/SponsorBudget.js.map +1 -0
- package/dist/tempo/server/Subscription.d.ts +3 -2
- package/dist/tempo/server/Subscription.d.ts.map +1 -1
- package/dist/tempo/server/Subscription.js.map +1 -1
- package/dist/tempo/server/index.d.ts +1 -1
- package/dist/tempo/server/index.d.ts.map +1 -1
- package/dist/tempo/server/index.js.map +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
- package/dist/tempo/server/internal/html.gen.js +1 -1
- package/dist/tempo/server/internal/html.gen.js.map +1 -1
- package/dist/tempo/session/Snapshot.d.ts +9 -0
- package/dist/tempo/session/Snapshot.d.ts.map +1 -1
- package/dist/tempo/session/Snapshot.js +6 -0
- package/dist/tempo/session/Snapshot.js.map +1 -1
- package/dist/tempo/session/client/ChannelOps.d.ts +7 -1
- package/dist/tempo/session/client/ChannelOps.d.ts.map +1 -1
- package/dist/tempo/session/client/ChannelOps.js +17 -3
- package/dist/tempo/session/client/ChannelOps.js.map +1 -1
- package/dist/tempo/session/client/CredentialState.d.ts +26 -2
- package/dist/tempo/session/client/CredentialState.d.ts.map +1 -1
- package/dist/tempo/session/client/CredentialState.js +99 -16
- package/dist/tempo/session/client/CredentialState.js.map +1 -1
- package/dist/tempo/session/client/Runtime.d.ts +8 -0
- package/dist/tempo/session/client/Runtime.d.ts.map +1 -1
- package/dist/tempo/session/client/Runtime.js +17 -0
- package/dist/tempo/session/client/Runtime.js.map +1 -1
- package/dist/tempo/session/client/Session.d.ts +16 -6
- package/dist/tempo/session/client/Session.d.ts.map +1 -1
- package/dist/tempo/session/client/Session.js +93 -36
- package/dist/tempo/session/client/Session.js.map +1 -1
- package/dist/tempo/session/client/SessionManager.d.ts +10 -3
- package/dist/tempo/session/client/SessionManager.d.ts.map +1 -1
- package/dist/tempo/session/client/SessionManager.js +176 -50
- package/dist/tempo/session/client/SessionManager.js.map +1 -1
- package/dist/tempo/session/client/Transports.d.ts +18 -7
- package/dist/tempo/session/client/Transports.d.ts.map +1 -1
- package/dist/tempo/session/client/Transports.js +81 -33
- package/dist/tempo/session/client/Transports.js.map +1 -1
- package/dist/tempo/session/client/internal/SessionManager.d.ts +19 -0
- package/dist/tempo/session/client/internal/SessionManager.d.ts.map +1 -0
- package/dist/tempo/session/client/internal/SessionManager.js +13 -0
- package/dist/tempo/session/client/internal/SessionManager.js.map +1 -0
- package/dist/tempo/session/precompile/Chain.d.ts.map +1 -1
- package/dist/tempo/session/precompile/Chain.js +109 -12
- package/dist/tempo/session/precompile/Chain.js.map +1 -1
- package/dist/tempo/session/precompile/Channel.d.ts +2 -0
- package/dist/tempo/session/precompile/Channel.d.ts.map +1 -1
- package/dist/tempo/session/precompile/Channel.js +4 -0
- package/dist/tempo/session/precompile/Channel.js.map +1 -1
- package/dist/tempo/session/server/CredentialVerification.d.ts +3 -0
- package/dist/tempo/session/server/CredentialVerification.d.ts.map +1 -1
- package/dist/tempo/session/server/CredentialVerification.js +14 -0
- package/dist/tempo/session/server/CredentialVerification.js.map +1 -1
- package/dist/tempo/session/server/MeteredStream.d.ts +7 -1
- package/dist/tempo/session/server/MeteredStream.d.ts.map +1 -1
- package/dist/tempo/session/server/MeteredStream.js +5 -4
- package/dist/tempo/session/server/MeteredStream.js.map +1 -1
- package/dist/tempo/session/server/RequestState.d.ts +5 -1
- package/dist/tempo/session/server/RequestState.d.ts.map +1 -1
- package/dist/tempo/session/server/RequestState.js +13 -5
- package/dist/tempo/session/server/RequestState.js.map +1 -1
- package/dist/tempo/session/server/Session.d.ts +21 -6
- package/dist/tempo/session/server/Session.d.ts.map +1 -1
- package/dist/tempo/session/server/Session.js +4 -1
- package/dist/tempo/session/server/Session.js.map +1 -1
- package/dist/tempo/session/server/Settlement.d.ts +20 -0
- package/dist/tempo/session/server/Settlement.d.ts.map +1 -1
- package/dist/tempo/session/server/Settlement.js +20 -0
- package/dist/tempo/session/server/Settlement.js.map +1 -1
- package/dist/tempo/session/server/Ws.d.ts +2 -0
- package/dist/tempo/session/server/Ws.d.ts.map +1 -1
- package/dist/tempo/session/server/Ws.js.map +1 -1
- package/dist/tempo/session/server/index.d.ts +1 -1
- package/dist/tempo/session/server/index.d.ts.map +1 -1
- package/dist/tempo/subscription/KeyAuthorization.d.ts +21 -21
- package/dist/validation/core.d.ts.map +1 -1
- package/dist/validation/core.js +6 -2
- package/dist/validation/core.js.map +1 -1
- package/dist/viem/Client.d.ts.map +1 -1
- package/dist/viem/Client.js +24 -17
- package/dist/viem/Client.js.map +1 -1
- package/package.json +6 -1
- package/src/Errors.test.ts +23 -0
- package/src/Errors.ts +21 -2
- package/src/Method.test.ts +102 -1
- package/src/Method.ts +241 -5
- package/src/cli/account.ts +45 -10
- package/src/cli/cli.test.ts +165 -70
- package/src/cli/cli.ts +67 -2
- package/src/cli/mcp.test.ts +11 -0
- package/src/cli/sessions/Manager.test.ts +249 -0
- package/src/cli/sessions/Manager.ts +93 -0
- package/src/cli/sessions/commands.ts +444 -0
- package/src/cli/sessions/request.test.ts +51 -0
- package/src/cli/sessions/request.ts +353 -0
- package/src/cli/sessions/store.test.ts +581 -0
- package/src/cli/sessions/store.ts +940 -0
- package/src/cli/utils.test.ts +23 -0
- package/src/cli/utils.ts +10 -0
- package/src/cli/validate/index.ts +12 -14
- package/src/cli/validate/messages.ts +7 -0
- package/src/cli/validate.test.ts +38 -5
- package/src/client/Mppx.test-d.ts +3 -3
- package/src/client/internal/Fetch.ts +16 -7
- package/src/client/internal/MethodChallenge.ts +30 -0
- package/src/client/node.test.ts +115 -0
- package/src/client/node.ts +247 -0
- package/src/internal/types.test-d.ts +21 -0
- package/src/internal/types.ts +33 -0
- package/src/server/Mppx.test-d.ts +44 -0
- package/src/server/Mppx.test.ts +205 -0
- package/src/server/Mppx.ts +167 -103
- package/src/stripe/Methods.test.ts +10 -0
- package/src/stripe/server/Charge.test-d.ts +66 -0
- package/src/stripe/server/Charge.ts +8 -5
- package/src/stripe/server/internal/html.gen.ts +1 -1
- package/src/tempo/PublicExports.test-d.ts +20 -0
- package/src/tempo/internal/fee-payer.ts +7 -3
- package/src/tempo/internal/types.ts +13 -2
- package/src/tempo/legacy/client/ChannelOps.test.ts +7 -0
- package/src/tempo/legacy/client/ChannelOps.ts +2 -1
- package/src/tempo/legacy/server/Defaults.test-d.ts +9 -0
- package/src/tempo/legacy/server/Session.ts +6 -5
- package/src/tempo/server/Charge.test.ts +337 -63
- package/src/tempo/server/Charge.ts +440 -270
- package/src/tempo/server/Methods.ts +16 -4
- package/src/tempo/server/Relay.test.ts +523 -0
- package/src/tempo/server/Relay.ts +288 -0
- package/src/tempo/server/SponsorBudget.test.ts +125 -0
- package/src/tempo/server/SponsorBudget.ts +213 -0
- package/src/tempo/server/Subscription.ts +6 -4
- package/src/tempo/server/index.ts +5 -1
- package/src/tempo/server/internal/html.gen.ts +1 -1
- package/src/tempo/session/README.md +201 -0
- package/src/tempo/session/Snapshot.ts +21 -0
- package/src/tempo/session/client/ChannelOps.test.ts +55 -0
- package/src/tempo/session/client/ChannelOps.ts +21 -3
- package/src/tempo/session/client/CredentialState.test.ts +2 -2
- package/src/tempo/session/client/CredentialState.ts +159 -16
- package/src/tempo/session/client/Runtime.test.ts +12 -0
- package/src/tempo/session/client/Runtime.ts +22 -0
- package/src/tempo/session/client/Session.test.ts +238 -5
- package/src/tempo/session/client/Session.ts +130 -41
- package/src/tempo/session/client/SessionManager.test.ts +239 -8
- package/src/tempo/session/client/SessionManager.ts +204 -54
- package/src/tempo/session/client/Transports.test.ts +181 -8
- package/src/tempo/session/client/Transports.ts +127 -45
- package/src/tempo/session/client/internal/SessionManager.ts +36 -0
- package/src/tempo/session/precompile/Chain.integration.test.ts +19 -1
- package/src/tempo/session/precompile/Chain.test.ts +223 -10
- package/src/tempo/session/precompile/Chain.ts +119 -12
- package/src/tempo/session/precompile/Channel.test.ts +9 -0
- package/src/tempo/session/precompile/Channel.ts +5 -0
- package/src/tempo/session/server/CredentialVerification.ts +18 -1
- package/src/tempo/session/server/MeteredStream.ts +12 -5
- package/src/tempo/session/server/RequestState.test.ts +47 -4
- package/src/tempo/session/server/RequestState.ts +15 -8
- package/src/tempo/session/server/Session.test.ts +461 -0
- package/src/tempo/session/server/Session.ts +31 -8
- package/src/tempo/session/server/Settlement.ts +45 -0
- package/src/tempo/session/server/Ws.test.ts +113 -0
- package/src/tempo/session/server/Ws.ts +2 -0
- package/src/tempo/session/server/index.ts +2 -0
- package/src/validation/core.ts +7 -1
- package/src/viem/Client.test.ts +44 -1
- package/src/viem/Client.ts +31 -17
|
@@ -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,
|
|
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,07qqBAA07qqB,CAAA"}
|
|
@@ -18,6 +18,15 @@ export type SessionSnapshot = {
|
|
|
18
18
|
escrow: Address;
|
|
19
19
|
/** Minimum cumulative authorization needed for the challenged request or stream continuation. */
|
|
20
20
|
requiredCumulative: RawAmountString;
|
|
21
|
+
/** Highest client-signed voucher accepted by the server. */
|
|
22
|
+
highestVoucher?: {
|
|
23
|
+
/** Channel identifier bound into the voucher signature. */
|
|
24
|
+
channelId: Hex;
|
|
25
|
+
/** Cumulative authorization bound into the voucher signature. */
|
|
26
|
+
cumulativeAmount: RawAmountString;
|
|
27
|
+
/** Original client signature proving the accepted cumulative authorization. */
|
|
28
|
+
signature: Hex;
|
|
29
|
+
} | undefined;
|
|
21
30
|
/** Amount already settled on-chain. */
|
|
22
31
|
settled: RawAmountString;
|
|
23
32
|
/** Amount consumed by delivered content according to server accounting. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Snapshot.d.ts","sourceRoot":"","sources":["../../../src/tempo/session/Snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AAIxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAElF,iFAAiF;AACjF,MAAM,MAAM,eAAe,GAAG;IAC5B,kFAAkF;IAClF,kBAAkB,EAAE,eAAe,CAAA;IACnC,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAA;IACf,iFAAiF;IACjF,SAAS,EAAE,GAAG,CAAA;IACd,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,eAAe,GAAG,SAAS,CAAA;IAC9C,6EAA6E;IAC7E,OAAO,EAAE,eAAe,CAAA;IACxB,qFAAqF;IACrF,UAAU,EAAE,iBAAiB,CAAA;IAC7B,+DAA+D;IAC/D,MAAM,EAAE,OAAO,CAAA;IACf,iGAAiG;IACjG,kBAAkB,EAAE,eAAe,CAAA;IACnC,uCAAuC;IACvC,OAAO,EAAE,eAAe,CAAA;IACxB,2EAA2E;IAC3E,KAAK,EAAE,eAAe,CAAA;IACtB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B,CAAA;
|
|
1
|
+
{"version":3,"file":"Snapshot.d.ts","sourceRoot":"","sources":["../../../src/tempo/session/Snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AAIxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAElF,iFAAiF;AACjF,MAAM,MAAM,eAAe,GAAG;IAC5B,kFAAkF;IAClF,kBAAkB,EAAE,eAAe,CAAA;IACnC,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAA;IACf,iFAAiF;IACjF,SAAS,EAAE,GAAG,CAAA;IACd,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,eAAe,GAAG,SAAS,CAAA;IAC9C,6EAA6E;IAC7E,OAAO,EAAE,eAAe,CAAA;IACxB,qFAAqF;IACrF,UAAU,EAAE,iBAAiB,CAAA;IAC7B,+DAA+D;IAC/D,MAAM,EAAE,OAAO,CAAA;IACf,iGAAiG;IACjG,kBAAkB,EAAE,eAAe,CAAA;IACnC,4DAA4D;IAC5D,cAAc,CAAC,EACX;QACE,2DAA2D;QAC3D,SAAS,EAAE,GAAG,CAAA;QACd,iEAAiE;QACjE,gBAAgB,EAAE,eAAe,CAAA;QACjC,+EAA+E;QAC/E,SAAS,EAAE,GAAG,CAAA;KACf,GACD,SAAS,CAAA;IACb,uCAAuC;IACvC,OAAO,EAAE,eAAe,CAAA;IACxB,2EAA2E;IAC3E,KAAK,EAAE,eAAe,CAAA;IACtB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B,CAAA;AA6CD,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAEnE;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAElE"}
|
|
@@ -3,6 +3,7 @@ import * as HeaderCodec from '../../internal/HeaderCodec.js';
|
|
|
3
3
|
import * as z from '../../zod.js';
|
|
4
4
|
const addressSchema = z.custom((value) => typeof value === 'string' && isAddress(value, { strict: false }));
|
|
5
5
|
const hashSchema = z.custom((value) => typeof value === 'string' && /^0x[0-9a-fA-F]{64}$/.test(value));
|
|
6
|
+
const hexSchema = z.custom((value) => typeof value === 'string' && /^0x[0-9a-fA-F]+$/.test(value));
|
|
6
7
|
const channelDescriptorSchema = z.object({
|
|
7
8
|
authorizedSigner: addressSchema,
|
|
8
9
|
expiringNonceHash: hashSchema,
|
|
@@ -20,6 +21,11 @@ const sessionSnapshotSchema = z.object({
|
|
|
20
21
|
deposit: z.string(),
|
|
21
22
|
descriptor: channelDescriptorSchema,
|
|
22
23
|
escrow: addressSchema,
|
|
24
|
+
highestVoucher: z.optional(z.object({
|
|
25
|
+
channelId: hashSchema,
|
|
26
|
+
cumulativeAmount: z.string(),
|
|
27
|
+
signature: hexSchema,
|
|
28
|
+
})),
|
|
23
29
|
requiredCumulative: z.string(),
|
|
24
30
|
settled: z.string(),
|
|
25
31
|
spent: z.string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Snapshot.js","sourceRoot":"","sources":["../../../src/tempo/session/Snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA0B,MAAM,MAAM,CAAA;AAExD,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAA;AAC5D,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"Snapshot.js","sourceRoot":"","sources":["../../../src/tempo/session/Snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA0B,MAAM,MAAM,CAAA;AAExD,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAA;AAC5D,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAwCjC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAC5B,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAC5E,CAAA;AACD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CACzB,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAC1E,CAAA;AACD,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CACxB,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CACvE,CAAA;AAED,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,gBAAgB,EAAE,aAAa;IAC/B,iBAAiB,EAAE,UAAU;IAC7B,QAAQ,EAAE,aAAa;IACvB,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,aAAa;CACrB,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,UAAU;IACrB,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,uBAAuB;IACnC,MAAM,EAAE,aAAa;IACrB,cAAc,EAAE,CAAC,CAAC,QAAQ,CACxB,CAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,UAAU;QACrB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;QAC5B,SAAS,EAAE,SAAS;KACrB,CAAC,CACH;IACD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC9B,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,WAAW,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAA;AAE3E,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAAC,QAAyB;IACzD,OAAO,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAC/C,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAoB,CAAA;AAC/D,CAAC"}
|
|
@@ -13,6 +13,10 @@ import { type Account, type Address, type Client } from 'viem';
|
|
|
13
13
|
import type { Challenge } from '../../../Challenge.js';
|
|
14
14
|
import * as Channel from '../precompile/Channel.js';
|
|
15
15
|
import type { CloseCredentialPayload, OpenCredentialPayload, SessionCredentialPayload, TopUpCredentialPayload, VoucherCredentialPayload } from '../precompile/Protocol.js';
|
|
16
|
+
export type TempoChannelCall = {
|
|
17
|
+
to: Address;
|
|
18
|
+
data: Hex.Hex;
|
|
19
|
+
};
|
|
16
20
|
/** Client-side cached channel metadata used for automatic voucher management. */
|
|
17
21
|
export type ChannelEntry = {
|
|
18
22
|
/** TIP-1034 channel ID derived from descriptor, escrow, and chain ID. */
|
|
@@ -70,6 +74,8 @@ export declare function createOpenPayload(client: Client, account: Account, para
|
|
|
70
74
|
initialAmount: bigint;
|
|
71
75
|
operator?: Address | undefined;
|
|
72
76
|
payee: Address;
|
|
77
|
+
/** Calls executed atomically before the channel is opened. */
|
|
78
|
+
prefixCalls?: readonly TempoChannelCall[] | undefined;
|
|
73
79
|
token: Address;
|
|
74
80
|
}): Promise<OpenCredentialPayload>;
|
|
75
81
|
/**
|
|
@@ -77,5 +83,5 @@ export declare function createOpenPayload(client: Client, account: Account, para
|
|
|
77
83
|
*
|
|
78
84
|
* @see https://tips.sh/1034-1#execution-semantics
|
|
79
85
|
*/
|
|
80
|
-
export declare function createTopUpPayload(client: Client, account: Account, descriptor: Channel.ChannelDescriptor, additionalDeposit: bigint, chainId: number, feePayer?: boolean | undefined, escrow?: Address): Promise<TopUpCredentialPayload>;
|
|
86
|
+
export declare function createTopUpPayload(client: Client, account: Account, descriptor: Channel.ChannelDescriptor, additionalDeposit: bigint, chainId: number, feePayer?: boolean | undefined, escrow?: Address, prefixCalls?: readonly TempoChannelCall[]): Promise<TopUpCredentialPayload>;
|
|
81
87
|
//# sourceMappingURL=ChannelOps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelOps.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/client/ChannelOps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,EAAiC,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,MAAM,CAAA;AAI7F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEtD,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAA;AAGnD,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"ChannelOps.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/client/ChannelOps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,EAAiC,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,MAAM,CAAA;AAI7F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEtD,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAA;AAGnD,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,2BAA2B,CAAA;AAIlC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,EAAE,GAAG,CAAC,GAAG,CAAA;CACd,CAAA;AAMD,iFAAiF;AACjF,MAAM,MAAM,YAAY,GAAG;IACzB,yEAAyE;IACzE,SAAS,EAAE,GAAG,CAAC,GAAG,CAAA;IAClB,oEAAoE;IACpE,gBAAgB,EAAE,MAAM,CAAA;IACxB,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAA;IACf,iFAAiF;IACjF,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAA;IACrC,0DAA0D;IAC1D,MAAM,EAAE,OAAO,CAAA;IACf,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAA;IACf,0EAA0E;IAC1E,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAsBD,mEAAmE;AACnE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEjE;AAgCD,iGAAiG;AACjG,wBAAgB,aAAa,CAC3B,SAAS,EAAE;IACT,OAAO,EAAE;QACP,aAAa,CAAC,EAAE,OAAO,CAAA;KACxB,CAAA;CACF,EACD,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,GACnC,OAAO,CAOT;AAED,oFAAoF;AACpF,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,GACf,MAAM,CAMR;AAED,6CAA6C;AAC7C,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAE7D;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,OAAO,CAAC,iBAAiB,EACrC,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,OAA4B,GACnC,OAAO,CAAC,wBAAwB,CAAC,CAsBnC;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,OAAO,CAAC,iBAAiB,EACrC,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,OAA4B,GACnC,OAAO,CAAC,sBAAsB,CAAC,CAgBjC;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE;IACV,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,KAAK,EAAE,OAAO,CAAA;IACd,8DAA8D;IAC9D,WAAW,CAAC,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,CAAA;IACrD,KAAK,EAAE,OAAO,CAAA;CACf,GACA,OAAO,CAAC,qBAAqB,CAAC,CA4DhC;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,OAAO,CAAC,iBAAiB,EACrC,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,EAC9B,MAAM,GAAE,OAA4B,EACpC,WAAW,GAAE,SAAS,gBAAgB,EAAO,GAC5C,OAAO,CAAC,sBAAsB,CAAC,CAkCjC"}
|
|
@@ -27,20 +27,32 @@ function readOptionalAddress(value) {
|
|
|
27
27
|
function readAccessKeyAddress(account) {
|
|
28
28
|
return readOptionalAddress(account.accessKeyAddress);
|
|
29
29
|
}
|
|
30
|
+
/** Returns random past seconds to distinguish otherwise-identical expiring transactions. */
|
|
31
|
+
function randomValidAfter() {
|
|
32
|
+
const now = BigInt(Math.floor(Date.now() / 1_000));
|
|
33
|
+
const latest = now - 60n;
|
|
34
|
+
if (latest <= 0n)
|
|
35
|
+
return 0;
|
|
36
|
+
return Number(BigInt(Hex.random(8)) % latest);
|
|
37
|
+
}
|
|
30
38
|
/** Resolves the voucher authority address for a client account. */
|
|
31
39
|
export function resolveAuthorizedSigner(account) {
|
|
32
40
|
return readAccessKeyAddress(account) ?? account.address;
|
|
33
41
|
}
|
|
34
42
|
async function prepareTempoChannelTransaction(client, parameters) {
|
|
35
|
-
const { account, calls, feePayer, feeToken } = parameters;
|
|
43
|
+
const { account, calls, feePayer, feeToken, validAfter } = parameters;
|
|
44
|
+
// Session management transactions are independent and short-lived, so they
|
|
45
|
+
// always use TIP-1009 expiring nonces. `feePayer` controls sponsorship only.
|
|
36
46
|
// viem's stable transaction request type does not yet expose Tempo's
|
|
37
47
|
// `calls`, `feePayer`, and `feeToken` fields together. Keep the cast at
|
|
38
48
|
// this boundary so session credential builders stay typed.
|
|
39
49
|
return prepareTransactionRequest(client, {
|
|
40
50
|
account,
|
|
41
51
|
calls,
|
|
52
|
+
nonceKey: 'expiring',
|
|
42
53
|
...(feePayer ? { feePayer: true } : {}),
|
|
43
54
|
feeToken,
|
|
55
|
+
...(validAfter !== undefined ? { validAfter } : {}),
|
|
44
56
|
});
|
|
45
57
|
}
|
|
46
58
|
async function signPreparedTempoTransaction(client, prepared) {
|
|
@@ -125,7 +137,7 @@ export async function createOpenPayload(client, account, parameters) {
|
|
|
125
137
|
});
|
|
126
138
|
const prepared = await prepareTempoChannelTransaction(client, {
|
|
127
139
|
account,
|
|
128
|
-
calls: [{ to: escrow, data: openData }],
|
|
140
|
+
calls: [...(parameters.prefixCalls ?? []), { to: escrow, data: openData }],
|
|
129
141
|
feePayer: parameters.feePayer,
|
|
130
142
|
feeToken: parameters.token,
|
|
131
143
|
});
|
|
@@ -166,7 +178,7 @@ export async function createOpenPayload(client, account, parameters) {
|
|
|
166
178
|
*
|
|
167
179
|
* @see https://tips.sh/1034-1#execution-semantics
|
|
168
180
|
*/
|
|
169
|
-
export async function createTopUpPayload(client, account, descriptor, additionalDeposit, chainId, feePayer, escrow = tip20ChannelEscrow) {
|
|
181
|
+
export async function createTopUpPayload(client, account, descriptor, additionalDeposit, chainId, feePayer, escrow = tip20ChannelEscrow, prefixCalls = []) {
|
|
170
182
|
const channelId = Channel.computeId({
|
|
171
183
|
...descriptor,
|
|
172
184
|
chainId,
|
|
@@ -176,6 +188,7 @@ export async function createTopUpPayload(client, account, descriptor, additional
|
|
|
176
188
|
const prepared = await prepareTempoChannelTransaction(client, {
|
|
177
189
|
account,
|
|
178
190
|
calls: [
|
|
191
|
+
...prefixCalls,
|
|
179
192
|
{
|
|
180
193
|
to: escrow,
|
|
181
194
|
data: encodeFunctionData({
|
|
@@ -187,6 +200,7 @@ export async function createTopUpPayload(client, account, descriptor, additional
|
|
|
187
200
|
],
|
|
188
201
|
feePayer,
|
|
189
202
|
feeToken: descriptor.token,
|
|
203
|
+
validAfter: randomValidAfter(),
|
|
190
204
|
});
|
|
191
205
|
const transaction = await signPreparedTempoTransaction(client, prepared);
|
|
192
206
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelOps.js","sourceRoot":"","sources":["../../../../src/tempo/session/client/ChannelOps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAA2C,MAAM,MAAM,CAAA;AAC7F,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGxC,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAQ9D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAA;AA6BnD,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAA;AACpD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7F,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,OAAO,mBAAmB,CAAE,OAAgC,CAAC,gBAAgB,CAAC,CAAA;AAChF,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,OAAO,oBAAoB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAA;AACzD,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,MAAc,EACd,
|
|
1
|
+
{"version":3,"file":"ChannelOps.js","sourceRoot":"","sources":["../../../../src/tempo/session/client/ChannelOps.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { type Account as ViemAccount, type Address, type Client, type Hex } from
|
|
|
2
2
|
import type * as Challenge from '../../../Challenge.js';
|
|
3
3
|
import * as Account from '../../../viem/Account.js';
|
|
4
4
|
import * as z from '../../../zod.js';
|
|
5
|
+
import * as AutoSwap from '../../internal/auto-swap.js';
|
|
5
6
|
import * as Chain from '../precompile/Chain.js';
|
|
6
7
|
import * as Channel from '../precompile/Channel.js';
|
|
7
8
|
import type { SessionCredentialPayload } from '../precompile/Protocol.js';
|
|
@@ -19,11 +20,12 @@ export declare function readCredentialCumulativeAmount(payload: SessionCredentia
|
|
|
19
20
|
/** Runtime schema for low-level TIP-1034 session credential context. */
|
|
20
21
|
export declare const sessionContextSchema: z.ZodMiniObject<{
|
|
21
22
|
account: z.ZodMiniOptional<z.ZodMiniCustom<`0x${string}` | Account.Account | undefined, `0x${string}` | Account.Account | undefined>>;
|
|
23
|
+
autoSwap: z.ZodMiniOptional<z.ZodMiniCustom<AutoSwap.resolve.Value, AutoSwap.resolve.Value>>;
|
|
22
24
|
action: z.ZodMiniOptional<z.ZodMiniEnum<{
|
|
23
|
-
close: "close";
|
|
24
25
|
open: "open";
|
|
25
26
|
topUp: "topUp";
|
|
26
27
|
voucher: "voucher";
|
|
28
|
+
close: "close";
|
|
27
29
|
}>>;
|
|
28
30
|
channelId: z.ZodMiniOptional<z.ZodMiniCustom<`0x${string}`, `0x${string}`>>;
|
|
29
31
|
cumulativeAmount: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -38,6 +40,8 @@ export declare const sessionContextSchema: z.ZodMiniObject<{
|
|
|
38
40
|
export type SessionContext = {
|
|
39
41
|
/** Optional account override used for this credential only. */
|
|
40
42
|
account?: Account.getResolver.Parameters['account'] | undefined;
|
|
43
|
+
/** Automatically acquire the session currency from fallback stablecoins before open/top-up. */
|
|
44
|
+
autoSwap?: AutoSwap.resolve.Value | undefined;
|
|
41
45
|
/** Manual credential action. Omit for automatic open/recover/voucher management. */
|
|
42
46
|
action?: 'open' | 'topUp' | 'voucher' | 'close' | undefined;
|
|
43
47
|
/** Channel ID being reused or manually operated on. */
|
|
@@ -193,6 +197,24 @@ export type ResolveRecoveredCumulativeParameters = {
|
|
|
193
197
|
/** On-chain settled amount used when no local/server accounting is available. */
|
|
194
198
|
settled: bigint;
|
|
195
199
|
};
|
|
200
|
+
/** Inputs used to validate and hydrate a server-provided session snapshot. */
|
|
201
|
+
export type HydrateSessionSnapshotParameters = {
|
|
202
|
+
/** Account expected to own the channel and its voucher authority. */
|
|
203
|
+
account: ViemAccount;
|
|
204
|
+
/** Viem client used to read authoritative TIP-1034 channel state. */
|
|
205
|
+
client: Client;
|
|
206
|
+
/** Snapshot returned by an MPP server bootstrap. */
|
|
207
|
+
snapshot: SessionSnapshot;
|
|
208
|
+
/** Optional state reader for deterministic tests. */
|
|
209
|
+
readChannelState?: ReadReusableChannelState | undefined;
|
|
210
|
+
};
|
|
211
|
+
/** Validated client channel state reconstructed without local persistence. */
|
|
212
|
+
export type HydratedSessionSnapshot = {
|
|
213
|
+
/** Reusable channel entry safe to cache locally. */
|
|
214
|
+
entry: ChannelEntry;
|
|
215
|
+
/** Server-accounted delivered spend at bootstrap time. */
|
|
216
|
+
spent: bigint;
|
|
217
|
+
};
|
|
196
218
|
/** Data-first description of the next credential operation the client should execute. */
|
|
197
219
|
export type CredentialPlan =
|
|
198
220
|
/** No reusable channel is available, so create an open transaction and initial voucher. */
|
|
@@ -236,10 +258,12 @@ export declare function resolveReusableChannel(parameters: ResolveReusableChanne
|
|
|
236
258
|
export declare function resolveRecoverContext(parameters: ResolveRecoverContextParameters): DescriptorSessionContext | undefined;
|
|
237
259
|
/** Resolves a voucher boundary that can satisfy the resumed request. */
|
|
238
260
|
export declare function resolveRecoveredCumulative(parameters: ResolveRecoveredCumulativeParameters): bigint;
|
|
261
|
+
/** Checks a server snapshot against its signed voucher and current TIP-1034 state. */
|
|
262
|
+
export declare function hydrateSessionSnapshot(parameters: HydrateSessionSnapshotParameters): Promise<HydratedSessionSnapshot>;
|
|
239
263
|
/** Returns whether `account` can satisfy the descriptor's voucher authority. */
|
|
240
264
|
export declare function canSignDescriptor(account: ViemAccount, descriptor: Channel.ChannelDescriptor): boolean;
|
|
241
265
|
/** Chooses the next credential plan from local channel cache and optional caller context. */
|
|
242
266
|
export declare function planCredential(parameters: PlanCredentialParameters): CredentialPlan;
|
|
243
267
|
/** Executes a credential plan and returns the concrete session credential payload. */
|
|
244
|
-
export declare function executeCredentialPlan(plan: CredentialPlan, sink: ChannelSink): Promise<SessionCredentialPayload>;
|
|
268
|
+
export declare function executeCredentialPlan(plan: CredentialPlan, sink: ChannelSink, autoSwap?: AutoSwap.resolve.Resolved | false): Promise<SessionCredentialPayload>;
|
|
245
269
|
//# sourceMappingURL=CredentialState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CredentialState.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/client/CredentialState.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,IAAI,WAAW,EAC3B,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,GAAG,EACT,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAEvD,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAA;AACnD,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,wBAAwB,CAAA;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAA;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"CredentialState.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/client/CredentialState.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { isAddress, parseUnits, } from 'viem';
|
|
2
2
|
import * as Constants from '../../../Constants.js';
|
|
3
3
|
import * as z from '../../../zod.js';
|
|
4
|
+
import * as AutoSwap from '../../internal/auto-swap.js';
|
|
4
5
|
import * as Chain from '../precompile/Chain.js';
|
|
5
6
|
import * as Channel from '../precompile/Channel.js';
|
|
7
|
+
import * as Voucher from '../precompile/Voucher.js';
|
|
6
8
|
import { createClosePayload, createOpenPayload, createTopUpPayload, createVoucherPayload, isSameAddress, resolveAuthorizedSigner, resolveEscrow, } from './ChannelOps.js';
|
|
7
9
|
import { channelKey, entryKey } from './ChannelStore.js';
|
|
8
10
|
import { assertWithinMaxDeposit, resolveOpeningDeposit } from './Runtime.js';
|
|
@@ -49,6 +51,7 @@ const hashSchema = z.custom((value) => typeof value === 'string' && /^0x[0-9a-fA
|
|
|
49
51
|
/** Runtime schema for low-level TIP-1034 session credential context. */
|
|
50
52
|
export const sessionContextSchema = z.object({
|
|
51
53
|
account: z.optional(z.custom()),
|
|
54
|
+
autoSwap: z.optional(z.custom()),
|
|
52
55
|
action: z.optional(z.enum(['open', 'topUp', 'voucher', 'close'])),
|
|
53
56
|
channelId: z.optional(hashSchema),
|
|
54
57
|
cumulativeAmount: z.optional(z.amount()),
|
|
@@ -180,7 +183,7 @@ function assertReusableChannelDescriptor(parameters) {
|
|
|
180
183
|
throw new Error('context descriptor token does not match challenge');
|
|
181
184
|
if (!isSameAddress(descriptor.payer, payer))
|
|
182
185
|
throw new Error('context descriptor payer does not match account');
|
|
183
|
-
if (!isSameAddress(descriptor
|
|
186
|
+
if (!isSameAddress(Channel.resolveAuthorizedSigner(descriptor), authorizedSigner))
|
|
184
187
|
throw new Error('context descriptor authorizedSigner does not match account');
|
|
185
188
|
}
|
|
186
189
|
/** Resolves descriptor-based recovery data, preferring caller context over server hints. */
|
|
@@ -199,22 +202,80 @@ export function resolveRecoverContext(parameters) {
|
|
|
199
202
|
export function resolveRecoveredCumulative(parameters) {
|
|
200
203
|
const { context, decimals, requestAmount, snapshot, settled } = parameters;
|
|
201
204
|
if (snapshot) {
|
|
202
|
-
return
|
|
205
|
+
return [
|
|
206
|
+
BigInt(snapshot.acceptedCumulative),
|
|
207
|
+
BigInt(snapshot.requiredCumulative),
|
|
208
|
+
BigInt(snapshot.spent) + requestAmount,
|
|
209
|
+
settled,
|
|
210
|
+
].reduce((highest, value) => (value > highest ? value : highest), 0n);
|
|
203
211
|
}
|
|
204
212
|
const contextCumulative = parseOptionalContextAmount(context, decimals, 'cumulativeAmount');
|
|
205
213
|
if (contextCumulative !== undefined)
|
|
206
214
|
return contextCumulative + requestAmount;
|
|
207
215
|
return settled + requestAmount;
|
|
208
216
|
}
|
|
217
|
+
/** Checks a server snapshot against its signed voucher and current TIP-1034 state. */
|
|
218
|
+
export async function hydrateSessionSnapshot(parameters) {
|
|
219
|
+
const { account, client, readChannelState, snapshot } = parameters;
|
|
220
|
+
const signed = snapshot.highestVoucher;
|
|
221
|
+
if (!signed)
|
|
222
|
+
throw new Error('session snapshot is missing its highest signed voucher');
|
|
223
|
+
if (signed.channelId.toLowerCase() !== snapshot.channelId.toLowerCase())
|
|
224
|
+
throw new Error('session snapshot voucher channelId does not match snapshot channelId');
|
|
225
|
+
const acceptedCumulative = BigInt(snapshot.acceptedCumulative);
|
|
226
|
+
const voucherCumulative = BigInt(signed.cumulativeAmount);
|
|
227
|
+
const requiredCumulative = BigInt(snapshot.requiredCumulative);
|
|
228
|
+
const snapshotDeposit = BigInt(snapshot.deposit);
|
|
229
|
+
const snapshotSettled = BigInt(snapshot.settled);
|
|
230
|
+
const spent = BigInt(snapshot.spent);
|
|
231
|
+
if (voucherCumulative !== acceptedCumulative)
|
|
232
|
+
throw new Error('session snapshot voucher amount does not match acceptedCumulative');
|
|
233
|
+
if (spent > acceptedCumulative)
|
|
234
|
+
throw new Error('session snapshot spent exceeds acceptedCumulative');
|
|
235
|
+
if (snapshotSettled > snapshotDeposit)
|
|
236
|
+
throw new Error('session snapshot settled amount exceeds deposit');
|
|
237
|
+
if (!Voucher.verifyVoucher(snapshot.escrow, snapshot.chainId, {
|
|
238
|
+
channelId: signed.channelId,
|
|
239
|
+
cumulativeAmount: voucherCumulative,
|
|
240
|
+
signature: signed.signature,
|
|
241
|
+
}, Channel.resolveAuthorizedSigner(snapshot.descriptor)))
|
|
242
|
+
throw new Error('session snapshot highest voucher signature is invalid');
|
|
243
|
+
const reusable = await resolveReusableChannel({
|
|
244
|
+
channelId: snapshot.channelId,
|
|
245
|
+
client,
|
|
246
|
+
descriptor: snapshot.descriptor,
|
|
247
|
+
expected: {
|
|
248
|
+
chainId: snapshot.chainId,
|
|
249
|
+
escrow: snapshot.escrow,
|
|
250
|
+
payee: snapshot.descriptor.payee,
|
|
251
|
+
payer: account.address,
|
|
252
|
+
authorizedSigner: resolveAuthorizedSigner(account),
|
|
253
|
+
token: snapshot.descriptor.token,
|
|
254
|
+
},
|
|
255
|
+
readChannelState,
|
|
256
|
+
});
|
|
257
|
+
const cumulativeAmount = [acceptedCumulative, requiredCumulative, reusable.state.settled].reduce((highest, value) => (value > highest ? value : highest), 0n);
|
|
258
|
+
if (cumulativeAmount > reusable.state.deposit)
|
|
259
|
+
throw new Error('recovered session cumulative amount exceeds on-chain channel deposit');
|
|
260
|
+
return {
|
|
261
|
+
entry: {
|
|
262
|
+
channelId: reusable.channelId,
|
|
263
|
+
cumulativeAmount,
|
|
264
|
+
deposit: reusable.state.deposit,
|
|
265
|
+
descriptor: snapshot.descriptor,
|
|
266
|
+
escrow: snapshot.escrow,
|
|
267
|
+
chainId: snapshot.chainId,
|
|
268
|
+
opened: true,
|
|
269
|
+
},
|
|
270
|
+
spent,
|
|
271
|
+
};
|
|
272
|
+
}
|
|
209
273
|
/** Returns whether `account` can satisfy the descriptor's voucher authority. */
|
|
210
274
|
export function canSignDescriptor(account, descriptor) {
|
|
211
275
|
// Only the payer can deposit into and voucher against its own channel.
|
|
212
276
|
if (!isSameAddress(account.address, descriptor.payer))
|
|
213
277
|
return false;
|
|
214
|
-
|
|
215
|
-
if (BigInt(authority) === 0n || isSameAddress(authority, descriptor.payer))
|
|
216
|
-
return true;
|
|
217
|
-
return isSameAddress(resolveAuthorizedSigner(account), authority);
|
|
278
|
+
return isSameAddress(resolveAuthorizedSigner(account), Channel.resolveAuthorizedSigner(descriptor));
|
|
218
279
|
}
|
|
219
280
|
/** Chooses the next credential plan from local channel cache and optional caller context. */
|
|
220
281
|
export function planCredential(parameters) {
|
|
@@ -248,19 +309,30 @@ export function planCredential(parameters) {
|
|
|
248
309
|
return { type: 'open', account, context, maxDeposit, resolved };
|
|
249
310
|
}
|
|
250
311
|
/** Executes a credential plan and returns the concrete session credential payload. */
|
|
251
|
-
export async function executeCredentialPlan(plan, sink) {
|
|
312
|
+
export async function executeCredentialPlan(plan, sink, autoSwap = false) {
|
|
252
313
|
switch (plan.type) {
|
|
253
314
|
case 'open':
|
|
254
|
-
return open(plan, sink);
|
|
315
|
+
return open(plan, sink, autoSwap);
|
|
255
316
|
case 'recover':
|
|
256
317
|
return recover(plan, sink);
|
|
257
318
|
case 'voucher':
|
|
258
319
|
return voucher(plan, sink);
|
|
259
320
|
case 'manual':
|
|
260
|
-
return manual(plan, sink);
|
|
321
|
+
return manual(plan, sink, autoSwap);
|
|
261
322
|
}
|
|
262
323
|
}
|
|
263
|
-
async function
|
|
324
|
+
async function resolveAutoSwapCalls(autoSwap, parameters) {
|
|
325
|
+
if (!autoSwap)
|
|
326
|
+
return undefined;
|
|
327
|
+
return (await AutoSwap.findCalls(parameters.client, {
|
|
328
|
+
account: parameters.account,
|
|
329
|
+
amountOut: parameters.amountOut,
|
|
330
|
+
tokenOut: parameters.tokenOut,
|
|
331
|
+
tokenIn: autoSwap.tokenIn,
|
|
332
|
+
slippage: autoSwap.slippage,
|
|
333
|
+
}));
|
|
334
|
+
}
|
|
335
|
+
async function open(plan, sink, autoSwap) {
|
|
264
336
|
const { account, resolved } = plan;
|
|
265
337
|
const deposit = resolveOpeningDeposit({
|
|
266
338
|
contextDepositRaw: plan.context?.depositRaw,
|
|
@@ -276,6 +348,12 @@ async function open(plan, sink) {
|
|
|
276
348
|
initialAmount: resolved.amount,
|
|
277
349
|
operator: resolved.operator,
|
|
278
350
|
payee: resolved.payee,
|
|
351
|
+
prefixCalls: await resolveAutoSwapCalls(autoSwap, {
|
|
352
|
+
account: account.address,
|
|
353
|
+
amountOut: deposit,
|
|
354
|
+
client: resolved.client,
|
|
355
|
+
tokenOut: resolved.token,
|
|
356
|
+
}),
|
|
279
357
|
token: resolved.token,
|
|
280
358
|
});
|
|
281
359
|
await storeChannelEntry(sink, {
|
|
@@ -336,7 +414,7 @@ async function voucher(plan, sink) {
|
|
|
336
414
|
await storeChannelEntry(sink, entry);
|
|
337
415
|
return payload;
|
|
338
416
|
}
|
|
339
|
-
async function manual(plan, sink) {
|
|
417
|
+
async function manual(plan, sink, autoSwap) {
|
|
340
418
|
const { account, context, decimals, resolved } = plan;
|
|
341
419
|
const { descriptor } = context;
|
|
342
420
|
const channelId = Channel.computeId({
|
|
@@ -360,16 +438,16 @@ async function manual(plan, sink) {
|
|
|
360
438
|
decimals,
|
|
361
439
|
descriptor,
|
|
362
440
|
resolved,
|
|
363
|
-
});
|
|
441
|
+
}, autoSwap);
|
|
364
442
|
await applyCumulative(sink, resolved.key, payload);
|
|
365
443
|
return payload;
|
|
366
444
|
}
|
|
367
|
-
async function executeManualCredential(parameters) {
|
|
445
|
+
async function executeManualCredential(parameters, autoSwap) {
|
|
368
446
|
switch (parameters.context.action) {
|
|
369
447
|
case 'open':
|
|
370
448
|
return manualOpen(parameters);
|
|
371
449
|
case 'topUp':
|
|
372
|
-
return manualTopUp(parameters);
|
|
450
|
+
return manualTopUp(parameters, autoSwap);
|
|
373
451
|
case 'voucher':
|
|
374
452
|
return manualVoucher(parameters);
|
|
375
453
|
case 'close':
|
|
@@ -393,7 +471,7 @@ async function manualOpen(parameters) {
|
|
|
393
471
|
authorizedSigner: descriptor.authorizedSigner,
|
|
394
472
|
};
|
|
395
473
|
}
|
|
396
|
-
async function manualTopUp(parameters) {
|
|
474
|
+
async function manualTopUp(parameters, autoSwap) {
|
|
397
475
|
const { account, channelId, context, decimals, descriptor, resolved } = parameters;
|
|
398
476
|
const additionalDeposit = requireContextAmount(context, decimals, 'additionalDeposit', 'topUp');
|
|
399
477
|
if (context.transaction) {
|
|
@@ -406,7 +484,12 @@ async function manualTopUp(parameters) {
|
|
|
406
484
|
additionalDeposit: additionalDeposit.toString(),
|
|
407
485
|
};
|
|
408
486
|
}
|
|
409
|
-
return createTopUpPayload(resolved.client, account, descriptor, additionalDeposit, resolved.chainId, resolved.feePayer, resolved.escrow
|
|
487
|
+
return createTopUpPayload(resolved.client, account, descriptor, additionalDeposit, resolved.chainId, resolved.feePayer, resolved.escrow, await resolveAutoSwapCalls(autoSwap, {
|
|
488
|
+
account: account.address,
|
|
489
|
+
amountOut: additionalDeposit,
|
|
490
|
+
client: resolved.client,
|
|
491
|
+
tokenOut: resolved.token,
|
|
492
|
+
}));
|
|
410
493
|
}
|
|
411
494
|
function manualVoucher(parameters) {
|
|
412
495
|
const { account, context, decimals, descriptor, resolved } = parameters;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CredentialState.js","sourceRoot":"","sources":["../../../../src/tempo/session/client/CredentialState.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CredentialState.js","sourceRoot":"","sources":["../../../../src/tempo/session/client/CredentialState.ts"],"names":[],"mappings":"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"}
|
|
@@ -263,6 +263,14 @@ export declare function nextSpentFromReceipt(parameters: NextReceiptSpendParamet
|
|
|
263
263
|
export declare function parseManagerAmount(amount: string | bigint, decimals: number): bigint;
|
|
264
264
|
/** Resolves the opening deposit from explicit context, server hint, request amount, and local cap. */
|
|
265
265
|
export declare function resolveOpeningDeposit(parameters: ResolveOpeningDepositParameters): bigint;
|
|
266
|
+
/** Resolves a bounded automatic refill, preferring explicit policy over server headroom. */
|
|
267
|
+
export declare function resolveAutomaticTopUp(parameters: {
|
|
268
|
+
deposit: bigint;
|
|
269
|
+
maxDeposit?: bigint | null | undefined;
|
|
270
|
+
requiredCumulative: bigint;
|
|
271
|
+
suggestedDeposit?: bigint | undefined;
|
|
272
|
+
topUpAmount?: bigint | null | undefined;
|
|
273
|
+
}): bigint;
|
|
266
274
|
/** Enforces the optional client-side maximum cumulative voucher authorization. */
|
|
267
275
|
export declare function assertWithinMaxDeposit(cumulativeAmount: bigint, maxDeposit: bigint | undefined): void;
|
|
268
276
|
/** Predicate used when waiting for a specific session receipt. */
|