mppx 0.5.11 → 0.5.13
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 +16 -0
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +41 -16
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/config.d.ts +6 -4
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/internal.d.ts +8 -0
- package/dist/cli/internal.d.ts.map +1 -1
- package/dist/cli/internal.js +33 -3
- package/dist/cli/internal.js.map +1 -1
- package/dist/cli/plugins/plugin.d.ts +2 -0
- package/dist/cli/plugins/plugin.d.ts.map +1 -1
- package/dist/cli/plugins/stripe.d.ts.map +1 -1
- package/dist/cli/plugins/stripe.js +3 -0
- package/dist/cli/plugins/stripe.js.map +1 -1
- package/dist/cli/plugins/tempo.d.ts.map +1 -1
- package/dist/cli/plugins/tempo.js +3 -0
- package/dist/cli/plugins/tempo.js.map +1 -1
- package/dist/client/Mppx.d.ts +10 -1
- package/dist/client/Mppx.d.ts.map +1 -1
- package/dist/client/Mppx.js +17 -5
- package/dist/client/Mppx.js.map +1 -1
- package/dist/client/Transport.d.ts +2 -0
- package/dist/client/Transport.d.ts.map +1 -1
- package/dist/client/Transport.js +11 -0
- package/dist/client/Transport.js.map +1 -1
- package/dist/client/internal/Fetch.d.ts +3 -0
- package/dist/client/internal/Fetch.d.ts.map +1 -1
- package/dist/client/internal/Fetch.js +65 -19
- package/dist/client/internal/Fetch.js.map +1 -1
- package/dist/internal/AcceptPayment.d.ts +72 -0
- package/dist/internal/AcceptPayment.d.ts.map +1 -0
- package/dist/internal/AcceptPayment.js +185 -0
- package/dist/internal/AcceptPayment.js.map +1 -0
- package/dist/mcp-sdk/client/McpClient.d.ts.map +1 -1
- package/dist/mcp-sdk/client/McpClient.js +8 -4
- package/dist/mcp-sdk/client/McpClient.js.map +1 -1
- package/dist/server/Mppx.d.ts +1 -1
- package/dist/server/Mppx.d.ts.map +1 -1
- package/dist/server/Mppx.js +33 -24
- package/dist/server/Mppx.js.map +1 -1
- package/dist/server/internal/html/config.d.ts.map +1 -1
- package/dist/server/internal/html/config.js +8 -1
- package/dist/server/internal/html/config.js.map +1 -1
- package/dist/stripe/internal/constants.d.ts +8 -0
- package/dist/stripe/internal/constants.d.ts.map +1 -0
- package/dist/stripe/internal/constants.js +8 -0
- package/dist/stripe/internal/constants.js.map +1 -0
- package/dist/stripe/server/Charge.d.ts.map +1 -1
- package/dist/stripe/server/Charge.js +23 -5
- package/dist/stripe/server/Charge.js.map +1 -1
- package/dist/tempo/Methods.d.ts +8 -0
- package/dist/tempo/Methods.d.ts.map +1 -1
- package/dist/tempo/Methods.js +6 -2
- package/dist/tempo/Methods.js.map +1 -1
- package/dist/tempo/Proof.d.ts +12 -0
- package/dist/tempo/Proof.d.ts.map +1 -0
- package/dist/tempo/Proof.js +10 -0
- package/dist/tempo/Proof.js.map +1 -0
- package/dist/tempo/client/Charge.d.ts +11 -1
- package/dist/tempo/client/Charge.d.ts.map +1 -1
- package/dist/tempo/client/Charge.js +14 -2
- package/dist/tempo/client/Charge.js.map +1 -1
- package/dist/tempo/client/Methods.d.ts +6 -0
- package/dist/tempo/client/Methods.d.ts.map +1 -1
- package/dist/tempo/index.d.ts +1 -0
- package/dist/tempo/index.d.ts.map +1 -1
- package/dist/tempo/index.js +1 -0
- package/dist/tempo/index.js.map +1 -1
- package/dist/tempo/internal/fee-payer.d.ts +8 -0
- package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
- package/dist/tempo/internal/fee-payer.js +29 -3
- package/dist/tempo/internal/fee-payer.js.map +1 -1
- package/dist/tempo/server/Charge.d.ts +17 -0
- package/dist/tempo/server/Charge.d.ts.map +1 -1
- package/dist/tempo/server/Charge.js +69 -4
- package/dist/tempo/server/Charge.js.map +1 -1
- package/dist/tempo/server/Methods.d.ts +6 -0
- package/dist/tempo/server/Methods.d.ts.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/package.json +2 -2
- package/src/cli/cli.test.ts +278 -0
- package/src/cli/cli.ts +47 -16
- package/src/cli/config.ts +10 -4
- package/src/cli/internal.ts +59 -3
- package/src/cli/plugins/plugin.ts +3 -0
- package/src/cli/plugins/stripe.ts +3 -0
- package/src/cli/plugins/tempo.ts +3 -0
- package/src/client/Mppx.test-d.ts +33 -0
- package/src/client/Mppx.test.ts +130 -1
- package/src/client/Mppx.ts +35 -5
- package/src/client/Transport.test.ts +88 -55
- package/src/client/Transport.ts +13 -0
- package/src/client/internal/Fetch.browser.test.ts +16 -13
- package/src/client/internal/Fetch.test.ts +307 -10
- package/src/client/internal/Fetch.ts +85 -19
- package/src/internal/AcceptPayment.test.ts +211 -0
- package/src/internal/AcceptPayment.ts +304 -0
- package/src/mcp-sdk/client/McpClient.ts +11 -5
- package/src/server/Mppx.test.ts +141 -44
- package/src/server/Mppx.ts +43 -23
- package/src/server/Transport.test.ts +20 -0
- package/src/server/internal/html/config.ts +9 -1
- package/src/stripe/internal/constants.ts +7 -0
- package/src/stripe/server/Charge.ts +22 -4
- package/src/tempo/Methods.test.ts +25 -0
- package/src/tempo/Methods.ts +30 -22
- package/src/tempo/Proof.test-d.ts +13 -0
- package/src/tempo/Proof.test.ts +31 -0
- package/src/tempo/Proof.ts +13 -0
- package/src/tempo/client/Charge.ts +20 -6
- package/src/tempo/client/SessionManager.test.ts +4 -7
- package/src/tempo/index.ts +1 -0
- package/src/tempo/internal/fee-payer.test.ts +75 -1
- package/src/tempo/internal/fee-payer.ts +41 -3
- package/src/tempo/server/Charge.test.ts +309 -1
- package/src/tempo/server/Charge.ts +99 -1
- package/src/tempo/server/internal/html/main.ts +2 -2
- package/src/tempo/server/internal/html.gen.ts +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/stripe/internal/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Charge.d.ts","sourceRoot":"","sources":["../../../src/stripe/server/Charge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,KAAK,IAAI,MAAM,sCAAsC,CAAA;AACjE,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"Charge.d.ts","sourceRoot":"","sources":["../../../src/stripe/server/Charge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,KAAK,IAAI,MAAM,sCAAsC,CAAA;AACjE,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,EACV,YAAY,EACZ,+BAA+B,EAC/B,yBAAyB,EACzB,2BAA2B,EAC5B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AAGxC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,MAAM,CAAC,KAAK,CAAC,UAAU,SAAS,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAuGxF;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAA;IAErF,KAAK,UAAU,GAAG;QAChB,6EAA6E;QAC7E,IAAI,CAAC,EACD,CAAC;YACC,cAAc,EAAE,MAAM,CAAA;YACtB,QAAQ,CAAC,EACL;gBACE,OAAO,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAA;gBAC/C,cAAc,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAA;gBACxD,0BAA0B,CAAC,EAAE,+BAA+B,GAAG,SAAS,CAAA;aACzE,GACD,SAAS,CAAA;YACb,cAAc,EAAE,MAAM,CAAA;SACvB,GAAG,IAAI,CAAC,MAAM,CAAC,GAChB,SAAS,CAAA;QACb,6DAA6D;QAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;KAC9C,GAAG,QAAQ,GACV,KAAK,CACD;QACE,yGAAyG;QACzG,MAAM,EAAE,YAAY,CAAA;KACrB,GACD;QACE,6BAA6B;QAC7B,SAAS,EAAE,MAAM,CAAA;KAClB,CACJ,CAAA;IAEH,KAAK,cAAc,CAAC,UAAU,SAAS,UAAU,IAAI,IAAI,CACvD,UAAU,EACV,OAAO,CAAC,MAAM,UAAU,EAAE,MAAM,QAAQ,CAAC,CAC1C,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CACzB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PaymentActionRequiredError, VerificationFailedError } from '../../Errors.js';
|
|
2
2
|
import * as Expires from '../../Expires.js';
|
|
3
3
|
import * as Method from '../../Method.js';
|
|
4
|
+
import { stripePreviewVersion } from '../internal/constants.js';
|
|
4
5
|
import * as Methods from '../Methods.js';
|
|
5
6
|
import { html as htmlContent } from './internal/html.gen.js';
|
|
6
7
|
/**
|
|
@@ -119,13 +120,16 @@ async function createWithClient(parameters) {
|
|
|
119
120
|
metadata,
|
|
120
121
|
// `shared_payment_granted_token` is not yet in the Stripe SDK types (SPTs are in private preview).
|
|
121
122
|
shared_payment_granted_token: spt,
|
|
122
|
-
}, { idempotencyKey: `mppx_${challenge.id}_${spt}
|
|
123
|
+
}, { idempotencyKey: `mppx_${challenge.id}_${spt}`, apiVersion: stripePreviewVersion });
|
|
123
124
|
// https://docs.stripe.com/error-low-level#idempotency
|
|
124
125
|
const replayed = result.lastResponse?.headers?.['idempotent-replayed'] === 'true';
|
|
125
126
|
return { id: result.id, status: result.status, replayed };
|
|
126
127
|
}
|
|
127
|
-
catch {
|
|
128
|
-
|
|
128
|
+
catch (error) {
|
|
129
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
130
|
+
throw new VerificationFailedError({
|
|
131
|
+
reason: `Stripe PaymentIntent failed: ${detail}`,
|
|
132
|
+
});
|
|
129
133
|
}
|
|
130
134
|
}
|
|
131
135
|
/** Creates a PaymentIntent using a raw secret key and fetch. */
|
|
@@ -148,11 +152,25 @@ async function createWithSecretKey(parameters) {
|
|
|
148
152
|
Authorization: `Basic ${btoa(`${secretKey}:`)}`,
|
|
149
153
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
150
154
|
'Idempotency-Key': `mppx_${challenge.id}_${spt}`,
|
|
155
|
+
'Stripe-Version': stripePreviewVersion,
|
|
151
156
|
},
|
|
152
157
|
body,
|
|
153
158
|
});
|
|
154
|
-
if (!response.ok)
|
|
155
|
-
|
|
159
|
+
if (!response.ok) {
|
|
160
|
+
const body = await response.text().catch(() => '');
|
|
161
|
+
const detail = (() => {
|
|
162
|
+
try {
|
|
163
|
+
const parsed = JSON.parse(body);
|
|
164
|
+
return parsed.error?.message ?? body;
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
return body;
|
|
168
|
+
}
|
|
169
|
+
})();
|
|
170
|
+
throw new VerificationFailedError({
|
|
171
|
+
reason: `Stripe PaymentIntent failed: ${detail}`,
|
|
172
|
+
});
|
|
173
|
+
}
|
|
156
174
|
// https://docs.stripe.com/error-low-level#idempotency
|
|
157
175
|
const replayed = response.headers.get('idempotent-replayed') === 'true';
|
|
158
176
|
const result = (await response.json());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../src/stripe/server/Charge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACrF,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAE3C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../src/stripe/server/Charge.ts"],"names":[],"mappings":"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"}
|
package/dist/tempo/Methods.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { Account } from 'viem';
|
|
2
2
|
import * as z from '../zod.js';
|
|
3
|
+
export declare const chargeModes: readonly ["push", "pull"];
|
|
4
|
+
export type ChargeMode = (typeof chargeModes)[number];
|
|
3
5
|
/**
|
|
4
6
|
* Tempo charge intent for one-time TIP-20 token transfers.
|
|
5
7
|
*
|
|
@@ -36,8 +38,13 @@ export declare const charge: {
|
|
|
36
38
|
memo: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
37
39
|
recipient: z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<`0x${string}`, string>>;
|
|
38
40
|
}, z.core.$strip>>>;
|
|
41
|
+
supportedModes: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEnum<{
|
|
42
|
+
push: "push";
|
|
43
|
+
pull: "pull";
|
|
44
|
+
}>>>;
|
|
39
45
|
}, z.core.$strip>, z.ZodMiniTransform<{
|
|
40
46
|
methodDetails?: {
|
|
47
|
+
supportedModes?: ("push" | "pull")[] | undefined;
|
|
41
48
|
splits?: {
|
|
42
49
|
amount: string;
|
|
43
50
|
recipient: `0x${string}`;
|
|
@@ -67,6 +74,7 @@ export declare const charge: {
|
|
|
67
74
|
recipient: `0x${string}`;
|
|
68
75
|
memo?: string | undefined;
|
|
69
76
|
}[] | undefined;
|
|
77
|
+
supportedModes?: ("push" | "pull")[] | undefined;
|
|
70
78
|
}>>;
|
|
71
79
|
};
|
|
72
80
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Methods.d.ts","sourceRoot":"","sources":["../../src/tempo/Methods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAW,MAAM,MAAM,CAAA;AAI5C,OAAO,KAAK,CAAC,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"Methods.d.ts","sourceRoot":"","sources":["../../src/tempo/Methods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAW,MAAM,MAAM,CAAA;AAI5C,OAAO,KAAK,CAAC,MAAM,WAAW,CAAA;AAE9B,eAAO,MAAM,WAAW,2BAA4B,CAAA;AACpD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAWrD;;;;GAIG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2EjB,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuFlB,CAAA"}
|
package/dist/tempo/Methods.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { parseUnits } from 'viem';
|
|
2
2
|
import * as Method from '../Method.js';
|
|
3
3
|
import * as z from '../zod.js';
|
|
4
|
+
export const chargeModes = ['push', 'pull'];
|
|
4
5
|
const split = z.object({
|
|
5
6
|
amount: z.amount(),
|
|
6
7
|
memo: z.optional(z.hash()),
|
|
@@ -34,6 +35,7 @@ export const charge = Method.from({
|
|
|
34
35
|
memo: z.optional(z.hash()),
|
|
35
36
|
recipient: z.optional(z.string()),
|
|
36
37
|
splits: z.optional(z.array(split).check(z.minLength(1), z.maxLength(10))),
|
|
38
|
+
supportedModes: z.optional(z.array(z.enum(chargeModes)).check(z.minLength(1))),
|
|
37
39
|
})
|
|
38
40
|
.check(z.refine(({ amount, decimals, splits }) => {
|
|
39
41
|
if (!splits)
|
|
@@ -42,13 +44,14 @@ export const charge = Method.from({
|
|
|
42
44
|
const splitTotal = splits.reduce((sum, split) => sum + parseUnits(split.amount, decimals), 0n);
|
|
43
45
|
return (splits.every((split) => parseUnits(split.amount, decimals) > 0n) &&
|
|
44
46
|
splitTotal < totalAmount);
|
|
45
|
-
}, 'Invalid splits')), z.transform(({ amount, chainId, decimals, feePayer, memo, splits, ...rest }) => ({
|
|
47
|
+
}, 'Invalid splits')), z.transform(({ amount, chainId, decimals, feePayer, memo, splits, supportedModes, ...rest }) => ({
|
|
46
48
|
...rest,
|
|
47
49
|
amount: parseUnits(amount, decimals).toString(),
|
|
48
50
|
...(chainId !== undefined ||
|
|
49
51
|
feePayer !== undefined ||
|
|
50
52
|
memo !== undefined ||
|
|
51
|
-
splits !== undefined
|
|
53
|
+
splits !== undefined ||
|
|
54
|
+
supportedModes !== undefined
|
|
52
55
|
? {
|
|
53
56
|
methodDetails: {
|
|
54
57
|
...(chainId !== undefined && { chainId }),
|
|
@@ -60,6 +63,7 @@ export const charge = Method.from({
|
|
|
60
63
|
amount: parseUnits(split.amount, decimals).toString(),
|
|
61
64
|
})),
|
|
62
65
|
}),
|
|
66
|
+
...(supportedModes !== undefined && { supportedModes }),
|
|
63
67
|
},
|
|
64
68
|
}
|
|
65
69
|
: {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Methods.js","sourceRoot":"","sources":["../../src/tempo/Methods.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAEjC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,CAAC,MAAM,WAAW,CAAA;AAE9B,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1B,SAAS,EAAE,CAAC,CAAC,IAAI,CACf,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAY,CAAC,CACjC;CACF,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;IAChC,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE;QACN,UAAU,EAAE;YACV,OAAO,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;gBACpC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrD,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACtE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;aACjE,CAAC;SACH;QACD,OAAO,EAAE,CAAC,CAAC,IAAI,CACb,CAAC;aACE,MAAM,CAAC;YACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACnC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAClC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAClB,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAW,CAAC,CAAC,EAC3C,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAW,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAChE,CACF;YACD,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1B,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Methods.js","sourceRoot":"","sources":["../../src/tempo/Methods.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAEjC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,CAAC,MAAM,WAAW,CAAA;AAE9B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAU,CAAA;AAGpD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1B,SAAS,EAAE,CAAC,CAAC,IAAI,CACf,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAY,CAAC,CACjC;CACF,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;IAChC,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE;QACN,UAAU,EAAE;YACV,OAAO,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;gBACpC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrD,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACtE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;aACjE,CAAC;SACH;QACD,OAAO,EAAE,CAAC,CAAC,IAAI,CACb,CAAC;aACE,MAAM,CAAC;YACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACnC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAClC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAClB,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAW,CAAC,CAAC,EAC3C,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAW,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAChE,CACF;YACD,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1B,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YACzE,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/E,CAAC;aACD,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;YACxC,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAA;YAExB,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YAChD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAC9B,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,EACxD,EAAE,CACH,CAAA;YAED,OAAO,CACL,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAChE,UAAU,GAAG,WAAW,CACzB,CAAA;QACH,CAAC,EAAE,gBAAgB,CAAC,CACrB,EACH,CAAC,CAAC,SAAS,CACT,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACnF,GAAG,IAAI;YACP,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE;YAC/C,GAAG,CAAC,OAAO,KAAK,SAAS;gBACzB,QAAQ,KAAK,SAAS;gBACtB,IAAI,KAAK,SAAS;gBAClB,MAAM,KAAK,SAAS;gBACpB,cAAc,KAAK,SAAS;gBAC1B,CAAC,CAAC;oBACE,aAAa,EAAE;wBACb,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC;wBACzC,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;wBAC3C,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC;wBACnC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI;4BAC1B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gCAC7B,GAAG,KAAK;gCACR,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE;6BACtD,CAAC,CAAC;yBACJ,CAAC;wBACF,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,CAAC;qBACxD;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CACH,CACF;KACF;CACF,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;IACjC,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE;QACN,UAAU,EAAE;YACV,OAAO,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;gBACtC,CAAC,CAAC,MAAM,CAAC;oBACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;oBACzB,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;oBACxC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;oBACnB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;oBAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE;oBACxB,WAAW,EAAE,CAAC,CAAC,SAAS,EAAE;oBAC1B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;iBAC/B,CAAC;gBACF,CAAC,CAAC,MAAM,CAAC;oBACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;oBAC1B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;oBAC7B,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;oBACnB,WAAW,EAAE,CAAC,CAAC,SAAS,EAAE;oBAC1B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;iBAC/B,CAAC;gBACF,CAAC,CAAC,MAAM,CAAC;oBACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;oBAC5B,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;oBACnB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;oBAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE;iBACzB,CAAC;gBACF,CAAC,CAAC,MAAM,CAAC;oBACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;oBAC1B,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;oBACnB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;oBAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE;iBACzB,CAAC;aACH,CAAC;SACH;QACD,OAAO,EAAE,CAAC,CAAC,IAAI,CACb,CAAC,CAAC,MAAM,CAAC;YACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC/B,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACtC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAClB,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAW,CAAC,CAAC,EAC3C,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAW,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAChE,CACF;YACD,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACvC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACjC,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SACrB,CAAC,EACF,CAAC,CAAC,SAAS,CACT,CAAC,EACC,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,GAAG,IAAI,EACR,EAAE,EAAE,CAAC,CAAC;YACL,GAAG,IAAI;YACP,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE;YAC/C,GAAG,CAAC,gBAAgB;gBAClB,CAAC,CAAC;oBACE,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE;iBACpE;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,aAAa,EAAE;gBACb,cAAc;gBACd,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;gBAC7C,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI;oBACnC,eAAe,EAAE,UAAU,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE;iBAClE,CAAC;gBACF,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC;gBACzC,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;aAC5C;SACF,CAAC,CACH,CACF;KACF;CACF,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Address } from 'viem';
|
|
2
|
+
/** Constructs the canonical `did:pkh:eip155` source DID for Tempo proof credentials. */
|
|
3
|
+
export declare function proofSource(parameters: {
|
|
4
|
+
address: string;
|
|
5
|
+
chainId: number;
|
|
6
|
+
}): string;
|
|
7
|
+
/** Parses a Tempo proof credential source DID into its chain ID and wallet address. */
|
|
8
|
+
export declare function parseProofSource(source: string): {
|
|
9
|
+
address: Address;
|
|
10
|
+
chainId: number;
|
|
11
|
+
} | null;
|
|
12
|
+
//# sourceMappingURL=Proof.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Proof.d.ts","sourceRoot":"","sources":["../../src/tempo/Proof.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAInC,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEpF;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAE7F"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as Proof_internal from './internal/proof.js';
|
|
2
|
+
/** Constructs the canonical `did:pkh:eip155` source DID for Tempo proof credentials. */
|
|
3
|
+
export function proofSource(parameters) {
|
|
4
|
+
return Proof_internal.proofSource(parameters);
|
|
5
|
+
}
|
|
6
|
+
/** Parses a Tempo proof credential source DID into its chain ID and wallet address. */
|
|
7
|
+
export function parseProofSource(source) {
|
|
8
|
+
return Proof_internal.parseProofSource(source);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=Proof.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Proof.js","sourceRoot":"","sources":["../../src/tempo/Proof.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD,wFAAwF;AACxF,MAAM,UAAU,WAAW,CAAC,UAAgD;IAC1E,OAAO,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;AAC/C,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;AAChD,CAAC"}
|
|
@@ -4,6 +4,7 @@ import * as Account from '../../viem/Account.js';
|
|
|
4
4
|
import * as Client from '../../viem/Client.js';
|
|
5
5
|
import * as z from '../../zod.js';
|
|
6
6
|
import * as AutoSwap from '../internal/auto-swap.js';
|
|
7
|
+
import * as Methods from '../Methods.js';
|
|
7
8
|
/**
|
|
8
9
|
* Creates a Tempo charge method intent for usage on the client.
|
|
9
10
|
*
|
|
@@ -48,8 +49,13 @@ export declare function charge(parameters?: charge.Parameters): Method.Client<{
|
|
|
48
49
|
memo: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
49
50
|
recipient: z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<`0x${string}`, string>>;
|
|
50
51
|
}, z.core.$strip>>>;
|
|
52
|
+
supportedModes: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEnum<{
|
|
53
|
+
push: "push";
|
|
54
|
+
pull: "pull";
|
|
55
|
+
}>>>;
|
|
51
56
|
}, z.core.$strip>, z.ZodMiniTransform<{
|
|
52
57
|
methodDetails?: {
|
|
58
|
+
supportedModes?: ("push" | "pull")[] | undefined;
|
|
53
59
|
splits?: {
|
|
54
60
|
amount: string;
|
|
55
61
|
recipient: `0x${string}`;
|
|
@@ -79,6 +85,7 @@ export declare function charge(parameters?: charge.Parameters): Method.Client<{
|
|
|
79
85
|
recipient: `0x${string}`;
|
|
80
86
|
memo?: string | undefined;
|
|
81
87
|
}[] | undefined;
|
|
88
|
+
supportedModes?: ("push" | "pull")[] | undefined;
|
|
82
89
|
}>>;
|
|
83
90
|
};
|
|
84
91
|
}, z.ZodMiniObject<{
|
|
@@ -112,9 +119,12 @@ export declare namespace charge {
|
|
|
112
119
|
* - `'push'`: Client broadcasts the transaction and sends the tx hash to the server.
|
|
113
120
|
* - `'pull'`: Client signs the transaction and sends the serialized tx to the server for broadcast.
|
|
114
121
|
*
|
|
122
|
+
* If the server advertises `supportedModes`, this setting must be one of
|
|
123
|
+
* the supported values for the challenge.
|
|
124
|
+
*
|
|
115
125
|
* @default `'push'` for JSON-RPC accounts, `'pull'` for local accounts.
|
|
116
126
|
*/
|
|
117
|
-
mode?:
|
|
127
|
+
mode?: Methods.ChargeMode | undefined;
|
|
118
128
|
} & Account.getResolver.Parameters & Client.getResolver.Parameters;
|
|
119
129
|
}
|
|
120
130
|
//# sourceMappingURL=Charge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Charge.d.ts","sourceRoot":"","sources":["../../../src/tempo/client/Charge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAWnC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAEjC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"Charge.d.ts","sourceRoot":"","sources":["../../../src/tempo/client/Charge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAWnC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAEjC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAA;AAIpD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AAExC;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,UAAU,GAAE,MAAM,CAAC,UAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAgJxD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAA;IAEtC,KAAK,UAAU,GAAG;QAChB;;;;;WAKG;QACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;QAC/B,oFAAoF;QACpF,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC7B;;;WAGG;QACH,kBAAkB,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAA;QACnD;;;;;;;;;;WAUG;QACH,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,GAAG,SAAS,CAAA;KACtC,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,GAChC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAA;CAChC"}
|
|
@@ -37,7 +37,7 @@ export function charge(parameters = {}) {
|
|
|
37
37
|
context: z.object({
|
|
38
38
|
account: z.optional(z.custom()),
|
|
39
39
|
autoSwap: z.optional(z.custom()),
|
|
40
|
-
mode: z.optional(z.enum(
|
|
40
|
+
mode: z.optional(z.enum(Methods.chargeModes)),
|
|
41
41
|
}),
|
|
42
42
|
async createCredential({ challenge, context }) {
|
|
43
43
|
const chainId = challenge.request.methodDetails?.chainId;
|
|
@@ -60,7 +60,6 @@ export function charge(parameters = {}) {
|
|
|
60
60
|
source: Proof.proofSource({ address: account.address, chainId: chainId }),
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
|
-
const mode = context?.mode ?? parameters.mode ?? (account.type === 'json-rpc' ? 'push' : 'pull');
|
|
64
63
|
const currency = request.currency;
|
|
65
64
|
if (parameters.expectedRecipients) {
|
|
66
65
|
const allowed = new Set(parameters.expectedRecipients.map((a) => a.toLowerCase()));
|
|
@@ -72,6 +71,19 @@ export function charge(parameters = {}) {
|
|
|
72
71
|
}
|
|
73
72
|
}
|
|
74
73
|
}
|
|
74
|
+
const supportedModes = methodDetails?.supportedModes ?? ['pull', 'push'];
|
|
75
|
+
const mode = (() => {
|
|
76
|
+
const explicitMode = context?.mode ?? parameters.mode;
|
|
77
|
+
if (explicitMode) {
|
|
78
|
+
if (!supportedModes.includes(explicitMode))
|
|
79
|
+
throw new Error(`Challenge does not support ${explicitMode} mode.`);
|
|
80
|
+
return explicitMode;
|
|
81
|
+
}
|
|
82
|
+
const preferredMode = account.type === 'json-rpc' ? 'push' : 'pull';
|
|
83
|
+
if (supportedModes.includes(preferredMode))
|
|
84
|
+
return preferredMode;
|
|
85
|
+
return supportedModes[0];
|
|
86
|
+
})();
|
|
75
87
|
const memo = methodDetails?.memo
|
|
76
88
|
? methodDetails.memo
|
|
77
89
|
: Attribution.encode({ challengeId: challenge.id, clientId, serverId: challenge.realm });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../src/tempo/client/Charge.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,aAAa,EACb,eAAe,GAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAA;AACnD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAC7C,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AAExC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,MAAM,CAAC,aAAgC,EAAE;IACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;IAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;QACnC,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAA;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;IAEvE,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;QACrC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAA6C,CAAC;YAC1E,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAmB,CAAC;YACjD,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../src/tempo/client/Charge.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,8 +44,13 @@ export declare function tempo(parameters?: tempo.Parameters): readonly [import("
|
|
|
44
44
|
memo: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
|
|
45
45
|
recipient: import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<`0x${string}`, string>>;
|
|
46
46
|
}, import("zod/v4/core").$strip>>>;
|
|
47
|
+
supportedModes: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniArray<import("zod/mini").ZodMiniEnum<{
|
|
48
|
+
push: "push";
|
|
49
|
+
pull: "pull";
|
|
50
|
+
}>>>;
|
|
47
51
|
}, import("zod/v4/core").$strip>, import("zod/mini").ZodMiniTransform<{
|
|
48
52
|
methodDetails?: {
|
|
53
|
+
supportedModes?: ("push" | "pull")[] | undefined;
|
|
49
54
|
splits?: {
|
|
50
55
|
amount: string;
|
|
51
56
|
recipient: `0x${string}`;
|
|
@@ -75,6 +80,7 @@ export declare function tempo(parameters?: tempo.Parameters): readonly [import("
|
|
|
75
80
|
recipient: `0x${string}`;
|
|
76
81
|
memo?: string | undefined;
|
|
77
82
|
}[] | undefined;
|
|
83
|
+
supportedModes?: ("push" | "pull")[] | undefined;
|
|
78
84
|
}>>;
|
|
79
85
|
};
|
|
80
86
|
}, import("zod/mini").ZodMiniObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Methods.d.ts","sourceRoot":"","sources":["../../../src/tempo/client/Methods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,cAAc,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAEhE;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,UAAU,GAAE,KAAK,CAAC,UAAe
|
|
1
|
+
{"version":3,"file":"Methods.d.ts","sourceRoot":"","sources":["../../../src/tempo/client/Methods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,cAAc,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAEhE;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,UAAU,GAAE,KAAK,CAAC,UAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAEtD;AAED,yBAAiB,KAAK,CAAC;IACrB,KAAY,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC,UAAU,CAAA;IAEvE,kFAAkF;IAC3E,MAAM,MAAM,gBAAU,CAAA;IAC7B,6EAA6E;IACtE,MAAM,OAAO,iBAAW,CAAA;CAChC"}
|
package/dist/tempo/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tempo/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tempo/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA"}
|
package/dist/tempo/index.js
CHANGED
package/dist/tempo/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tempo/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tempo/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA"}
|
|
@@ -8,6 +8,13 @@ export declare function isTempoTransaction(serialized: string | undefined): bool
|
|
|
8
8
|
* Each inner array is an ordered list of function selectors.
|
|
9
9
|
*/
|
|
10
10
|
export declare const callScopes: `0x${string}`[][];
|
|
11
|
+
export type Policy = {
|
|
12
|
+
maxGas: bigint;
|
|
13
|
+
maxFeePerGas: bigint;
|
|
14
|
+
maxPriorityFeePerGas: bigint;
|
|
15
|
+
maxTotalFee: bigint;
|
|
16
|
+
maxValidityWindowSeconds: number;
|
|
17
|
+
};
|
|
11
18
|
/** Validates that a set of transaction calls matches an allowed fee-payer pattern. */
|
|
12
19
|
export declare function validateCalls(calls: readonly {
|
|
13
20
|
data?: `0x${string}` | undefined;
|
|
@@ -20,6 +27,7 @@ export declare function prepareSponsoredTransaction(parameters: {
|
|
|
20
27
|
details: Record<string, string>;
|
|
21
28
|
expectedFeeToken?: TempoAddress.Address | undefined;
|
|
22
29
|
now?: Date | undefined;
|
|
30
|
+
policy?: Partial<Policy> | undefined;
|
|
23
31
|
transaction: ReturnType<(typeof Transaction)['deserialize']>;
|
|
24
32
|
}): {
|
|
25
33
|
validBefore: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fee-payer.d.ts","sourceRoot":"","sources":["../../../src/tempo/internal/fee-payer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,EAAmB,WAAW,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"fee-payer.d.ts","sourceRoot":"","sources":["../../../src/tempo/internal/fee-payer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,EAAmB,WAAW,EAAE,MAAM,YAAY,CAAA;AAMzD,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAK1E;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,mBAKtB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,wBAAwB,EAAE,MAAM,CAAA;CACjC,CAAA;AAoCD,sFAAsF;AACtF,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS;IAAE,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAAC;IAAC,EAAE,CAAC,EAAE,YAAY,CAAC,OAAO,GAAG,SAAS,CAAA;CAAE,EAAE,EAC7F,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAuChC;AAED,wBAAgB,2BAA2B,CAAC,UAAU,EAAE;IACtD,OAAO,EAAE,OAAO,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,gBAAgB,CAAC,EAAE,YAAY,CAAC,OAAO,GAAG,SAAS,CAAA;IACnD,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACpC,WAAW,EAAE,UAAU,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,CAAA;CAC7D;;;;;;;;;;;;;;;;;EAwHA;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,SAAkB,IAAI,6BAA4B;gBAEtC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAQ5D"}
|
|
@@ -2,6 +2,7 @@ import { TxEnvelopeTempo } from 'ox/tempo';
|
|
|
2
2
|
import { decodeFunctionData } from 'viem';
|
|
3
3
|
import { Abis, Addresses } from 'viem/tempo';
|
|
4
4
|
import * as TempoAddress_internal from './address.js';
|
|
5
|
+
import * as defaults from './defaults.js';
|
|
5
6
|
import * as Selectors from './selectors.js';
|
|
6
7
|
/** Returns true if the serialized transaction has a Tempo envelope prefix. */
|
|
7
8
|
export function isTempoTransaction(serialized) {
|
|
@@ -18,13 +19,37 @@ export const callScopes = [
|
|
|
18
19
|
[Selectors.approve, Selectors.swapExactAmountOut, Selectors.transfer],
|
|
19
20
|
[Selectors.approve, Selectors.swapExactAmountOut, Selectors.transferWithMemo],
|
|
20
21
|
];
|
|
21
|
-
|
|
22
|
+
/**
|
|
23
|
+
* maxTotalFee must be high enough to cover `transferWithMemo` and
|
|
24
|
+
* swap transactions at peak gas prices. Bumped from 0.01 ETH in #327.
|
|
25
|
+
*/
|
|
26
|
+
const defaultPolicy = {
|
|
22
27
|
maxGas: 2000000n,
|
|
23
28
|
maxFeePerGas: 100000000000n,
|
|
24
29
|
maxPriorityFeePerGas: 10000000000n,
|
|
25
|
-
maxTotalFee:
|
|
30
|
+
maxTotalFee: 50000000000000000n,
|
|
26
31
|
maxValidityWindowSeconds: 15 * 60,
|
|
27
32
|
};
|
|
33
|
+
const policyByChainId = {
|
|
34
|
+
[defaults.chainId.mainnet]: defaultPolicy,
|
|
35
|
+
// Moderato regularly needs a higher priority fee than mainnet.
|
|
36
|
+
[defaults.chainId.testnet]: {
|
|
37
|
+
...defaultPolicy,
|
|
38
|
+
maxPriorityFeePerGas: 50000000000n,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
function getPolicy(chainId, overrides) {
|
|
42
|
+
const base = policyByChainId[chainId] ?? defaultPolicy;
|
|
43
|
+
if (!overrides)
|
|
44
|
+
return base;
|
|
45
|
+
return {
|
|
46
|
+
maxGas: overrides.maxGas ?? base.maxGas,
|
|
47
|
+
maxFeePerGas: overrides.maxFeePerGas ?? base.maxFeePerGas,
|
|
48
|
+
maxPriorityFeePerGas: overrides.maxPriorityFeePerGas ?? base.maxPriorityFeePerGas,
|
|
49
|
+
maxTotalFee: overrides.maxTotalFee ?? base.maxTotalFee,
|
|
50
|
+
maxValidityWindowSeconds: overrides.maxValidityWindowSeconds ?? base.maxValidityWindowSeconds,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
28
53
|
/** Validates that a set of transaction calls matches an allowed fee-payer pattern. */
|
|
29
54
|
export function validateCalls(calls, details) {
|
|
30
55
|
if (calls.length === 0)
|
|
@@ -57,7 +82,8 @@ export function validateCalls(calls, details) {
|
|
|
57
82
|
throw new FeePayerValidationError('buy target is not the DEX', details);
|
|
58
83
|
}
|
|
59
84
|
export function prepareSponsoredTransaction(parameters) {
|
|
60
|
-
const { account, challengeExpires, chainId, details, expectedFeeToken, now = new Date(), transaction, } = parameters;
|
|
85
|
+
const { account, challengeExpires, chainId, details, expectedFeeToken, now = new Date(), policy: policyOverrides, transaction, } = parameters;
|
|
86
|
+
const policy = getPolicy(chainId, policyOverrides);
|
|
61
87
|
const { accessList, calls, chainId: transactionChainId, feeToken, from, gas, maxFeePerGas, maxPriorityFeePerGas, nonce, nonceKey, signature, validAfter, validBefore, } = transaction;
|
|
62
88
|
const fail = (reason, extra = {}) => {
|
|
63
89
|
throw new FeePayerValidationError(reason, { ...details, ...extra });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fee-payer.js","sourceRoot":"","sources":["../../../src/tempo/internal/fee-payer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAe,MAAM,YAAY,CAAA;AAEzD,OAAO,KAAK,qBAAqB,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,8EAA8E;AAC9E,MAAM,UAAU,kBAAkB,CAAC,UAA8B;IAC/D,OAAO,CACL,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,KAAK,IAAI;QAC/D,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,IAAI,CAC/D,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,CAAC,SAAS,CAAC,QAAQ,CAAC;IACpB,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAC5B,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,kBAAkB,EAAE,SAAS,CAAC,QAAQ,CAAC;IACrE,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,kBAAkB,EAAE,SAAS,CAAC,gBAAgB,CAAC;CAC9E,CAAA;
|
|
1
|
+
{"version":3,"file":"fee-payer.js","sourceRoot":"","sources":["../../../src/tempo/internal/fee-payer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAe,MAAM,YAAY,CAAA;AAEzD,OAAO,KAAK,qBAAqB,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,8EAA8E;AAC9E,MAAM,UAAU,kBAAkB,CAAC,UAA8B;IAC/D,OAAO,CACL,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,KAAK,IAAI;QAC/D,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,IAAI,CAC/D,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,CAAC,SAAS,CAAC,QAAQ,CAAC;IACpB,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAC5B,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,kBAAkB,EAAE,SAAS,CAAC,QAAQ,CAAC;IACrE,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,kBAAkB,EAAE,SAAS,CAAC,gBAAgB,CAAC;CAC9E,CAAA;AAUD;;;GAGG;AACH,MAAM,aAAa,GAAW;IAC5B,MAAM,EAAE,QAAU;IAClB,YAAY,EAAE,aAAgB;IAC9B,oBAAoB,EAAE,YAAe;IACrC,WAAW,EAAE,kBAAuB;IACpC,wBAAwB,EAAE,EAAE,GAAG,EAAE;CAClC,CAAA;AAED,MAAM,eAAe,GAAG;IACtB,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,aAAa;IACzC,+DAA+D;IAC/D,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC1B,GAAG,aAAa;QAChB,oBAAoB,EAAE,YAAe;KACtC;CACkD,CAAA;AAErD,SAAS,SAAS,CAAC,OAAe,EAAE,SAAsC;IACxE,MAAM,IAAI,GAAG,eAAe,CAAC,OAA2B,CAAC,IAAI,aAAa,CAAA;IAC1E,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IAE3B,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;QACvC,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY;QACzD,oBAAoB,EAAE,SAAS,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB;QACjF,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;QACtD,wBAAwB,EAAE,SAAS,CAAC,wBAAwB,IAAI,IAAI,CAAC,wBAAwB;KAC9F,CAAA;AACH,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,aAAa,CAC3B,KAA6F,EAC7F,OAA+B;IAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACpB,MAAM,IAAI,uBAAuB,CAAC,kDAAkD,EAAE,OAAO,CAAC,CAAA;IAEhG,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAC5D,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,OAAO,CAAA;IAE5D,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,kBAAkB;YACnD,MAAM,IAAI,uBAAuB,CAAC,kDAAkD,EAAE,OAAO,CAAC,CAAA;IAClG,CAAC;SAAM,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,kBAAkB,EAAE,CAAC;QAC7D,MAAM,IAAI,uBAAuB,CAAC,kDAAkD,EAAE,OAAO,CAAC,CAAA;IAChG,CAAC;IAED,MAAM,iBAAiB,GAAG,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpE,IACE,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAC9B,iBAAiB,CAAC,MAAM,GAAG,EAAE;QAC7B,iBAAiB,CAAC,IAAI,CACpB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,IAAI,QAAQ,KAAK,SAAS,CAAC,gBAAgB,CACzF,EACD,CAAC;QACD,MAAM,IAAI,uBAAuB,CAAC,kDAAkD,EAAE,OAAO,CAAC,CAAA;IAChG,CAAC;IAED,uDAAuD;IACvD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,CAAA;IACjF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,IAAK,EAAE,CAAC,CAAA;QACjF,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAE,IAAwB,CAAC,CAAC,CAAE,EAAE,SAAS,CAAC,aAAa,CAAC;YACxF,MAAM,IAAI,uBAAuB,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAA;IAChF,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,kBAAkB,CAAC,CAAA;IACxF,IACE,OAAO;QACP,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAEpF,MAAM,IAAI,uBAAuB,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAA;AAC3E,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,UAS3C;IACC,MAAM,EACJ,OAAO,EACP,gBAAgB,EAChB,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,GAAG,GAAG,IAAI,IAAI,EAAE,EAChB,MAAM,EAAE,eAAe,EACvB,WAAW,GACZ,GAAG,UAAU,CAAA;IACd,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;IAElD,MAAM,EACJ,UAAU,EACV,KAAK,EACL,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EACR,IAAI,EACJ,GAAG,EACH,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,UAAU,EACV,WAAW,GACZ,GAAG,WAAW,CAAA;IAEf,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,QAAgC,EAAE,EAAE,EAAE;QAClE,MAAM,IAAI,uBAAuB,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;IACrE,CAAC,CAAA;IAED,IAAI,kBAAkB,KAAK,OAAO;QAChC,IAAI,CAAC,4DAA4D,EAAE;YACjE,OAAO,EAAE,MAAM,CAAC,kBAAkB,CAAC;SACpC,CAAC,CAAA;IAEJ,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,IAAI,EAAE;QAAE,IAAI,CAAC,4CAA4C,CAAC,CAAA;IACtF,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM;QACrB,IAAI,CAAC,sDAAsD,EAAE;YAC3D,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;SACpB,CAAC,CAAA;IAEJ,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,IAAI,EAAE;QAClD,IAAI,CAAC,qDAAqD,CAAC,CAAA;IAC7D,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY;QACpC,IAAI,CAAC,+DAA+D,EAAE;YACpE,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;SACtC,CAAC,CAAA;IAEJ,MAAM,WAAW,GAAG,GAAG,GAAG,YAAY,CAAA;IACtC,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW;QAClC,IAAI,CAAC,mEAAmE,EAAE;YACxE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;YACnB,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;YACrC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE;SACjC,CAAC,CAAA;IAEJ,IAAI,oBAAoB,KAAK,SAAS,IAAI,oBAAoB,GAAG,YAAY;QAC3E,IAAI,CAAC,qEAAqE,EAAE;YAC1E,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;YACrC,oBAAoB,EAAE,oBAAoB,CAAC,QAAQ,EAAE;SACtD,CAAC,CAAA;IACJ,IAAI,oBAAoB,KAAK,SAAS,IAAI,oBAAoB,GAAG,MAAM,CAAC,oBAAoB;QAC1F,IAAI,CAAC,uEAAuE,EAAE;YAC5E,oBAAoB,EAAE,oBAAoB,CAAC,QAAQ,EAAE;SACtD,CAAC,CAAA;IAEJ,IAAI,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,sDAAsD,CAAC,CAAA;IACxF,IAAI,WAAW,KAAK,SAAS;QAC3B,IAAI,CAAC,2EAA2E,CAAC,CAAA;IAEnF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAA;IACpD,IAAI,WAAW,IAAI,UAAU;QAC3B,IAAI,CAAC,+CAA+C,EAAE;YACpD,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;SACjC,CAAC,CAAA;IAEJ,MAAM,sBAAsB,GAAG,gBAAgB;QAC7C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;QAC1D,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,UAAU,GAAG,MAAM,CAAC,wBAAwB,EAC5C,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAC/E,CAAA;IACD,IAAI,WAAW,GAAG,cAAc;QAC9B,IAAI,CAAC,kEAAkE,EAAE;YACvE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;SACjC,CAAC,CAAA;IAEJ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,IAAI,CAAC,+CAA+C,CAAC,CAAA;QACvF,IAAI,gBAAgB,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC;YAChF,IAAI,CAAC,mDAAmD,EAAE;gBACxD,QAAQ;aACT,CAAC,CAAA;IACN,CAAC;IAED,OAAO;QACL,UAAU;QACV,OAAO;QACP,KAAK;QACL,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,OAAO;QACjB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,GAAG;QACH,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,YAAY;QACZ,GAAG,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,QAAQ;QACR,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,IAAI,EAAE,OAAgB;QACtB,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,WAAW;KAIZ,CAAA;AACH,CAAC;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC9B,IAAI,GAAG,yBAAyB,CAAA;IAElD,YAAY,MAAc,EAAE,OAA+B;QACzD,KAAK,CACH;YACE,wBAAwB,MAAM,EAAE;YAChC,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;SAC7D,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAA;IACH,CAAC;CACF"}
|
|
@@ -5,6 +5,7 @@ import * as Store from '../../Store.js';
|
|
|
5
5
|
import * as Client from '../../viem/Client.js';
|
|
6
6
|
import type * as z from '../../zod.js';
|
|
7
7
|
import * as Account from '../internal/account.js';
|
|
8
|
+
import * as FeePayer from '../internal/fee-payer.js';
|
|
8
9
|
import type * as types from '../internal/types.js';
|
|
9
10
|
import * as Methods from '../Methods.js';
|
|
10
11
|
/**
|
|
@@ -48,8 +49,13 @@ export declare function charge<const parameters extends charge.Parameters>(param
|
|
|
48
49
|
memo: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
49
50
|
recipient: z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<`0x${string}`, string>>;
|
|
50
51
|
}, z.core.$strip>>>;
|
|
52
|
+
supportedModes: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEnum<{
|
|
53
|
+
push: "push";
|
|
54
|
+
pull: "pull";
|
|
55
|
+
}>>>;
|
|
51
56
|
}, z.core.$strip>, z.ZodMiniTransform<{
|
|
52
57
|
methodDetails?: {
|
|
58
|
+
supportedModes?: ("push" | "pull")[] | undefined;
|
|
53
59
|
splits?: {
|
|
54
60
|
amount: string;
|
|
55
61
|
recipient: `0x${string}`;
|
|
@@ -79,6 +85,7 @@ export declare function charge<const parameters extends charge.Parameters>(param
|
|
|
79
85
|
recipient: `0x${string}`;
|
|
80
86
|
memo?: string | undefined;
|
|
81
87
|
}[] | undefined;
|
|
88
|
+
supportedModes?: ("push" | "pull")[] | undefined;
|
|
82
89
|
}>>;
|
|
83
90
|
};
|
|
84
91
|
}, charge.DeriveDefaults<parameters>, undefined>;
|
|
@@ -90,6 +97,15 @@ export declare namespace charge {
|
|
|
90
97
|
type Parameters = {
|
|
91
98
|
/** Render payment page when Accept header is text/html (e.g. in browsers) */
|
|
92
99
|
html?: boolean | Html.Config | undefined;
|
|
100
|
+
/**
|
|
101
|
+
* Override the fee-sponsor policy used when co-signing Tempo charge
|
|
102
|
+
* transactions. Defaults resolve per chain, including a higher
|
|
103
|
+
* priority-fee ceiling on Moderato.
|
|
104
|
+
*
|
|
105
|
+
* If you increase `maxGas` or `maxFeePerGas`, you may also need to raise
|
|
106
|
+
* `maxTotalFee` so the combined fee budget remains valid.
|
|
107
|
+
*/
|
|
108
|
+
feePayerPolicy?: FeePayerPolicy | undefined;
|
|
93
109
|
/** Testnet mode. */
|
|
94
110
|
testnet?: boolean | undefined;
|
|
95
111
|
/**
|
|
@@ -123,5 +139,6 @@ export declare namespace charge {
|
|
|
123
139
|
type DeriveDefaults<parameters extends Parameters> = types.DeriveDefaults<parameters, Defaults> & {
|
|
124
140
|
decimals: number;
|
|
125
141
|
};
|
|
142
|
+
type FeePayerPolicy = Partial<FeePayer.Policy>;
|
|
126
143
|
}
|
|
127
144
|
//# sourceMappingURL=Charge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Charge.d.ts","sourceRoot":"","sources":["../../../src/tempo/server/Charge.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Charge.d.ts","sourceRoot":"","sources":["../../../src/tempo/server/Charge.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,KAAK,IAAI,MAAM,sCAAsC,CAAA;AACjE,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAIjD,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAA;AAGpD,OAAO,KAAK,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AAGxC;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,KAAK,CAAC,UAAU,SAAS,MAAM,CAAC,UAAU,EAC/D,UAAU,GAAE,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAGpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAiVF;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,YAAY,GAAG;QAAE,CAAC,GAAG,EAAE,eAAe,MAAM,EAAE,GAAG,MAAM,CAAA;KAAE,CAAA;IAE9D,KAAK,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC,CAAA;IAElG,KAAK,UAAU,GAAG;QAChB,6EAA6E;QAC7E,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACxC;;;;;;;WAOG;QACH,cAAc,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;QAC3C,oBAAoB;QACpB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC7B;;;;;;;;;;;;;WAaG;QACH,KAAK,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,SAAS,CAAA;QACrC;;;;;;;;;;WAUG;QACH,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAC1C,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,GAC/B,OAAO,CAAC,OAAO,CAAC,UAAU,GAC1B,QAAQ,CAAA;IAEV,KAAK,cAAc,CAAC,UAAU,SAAS,UAAU,IAAI,KAAK,CAAC,cAAc,CACvE,UAAU,EACV,QAAQ,CACT,GAAG;QACF,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IAED,KAAK,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;CAC/C"}
|