viem 2.47.17 → 2.47.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/_cjs/errors/version.js +1 -1
  3. package/_cjs/op-stack/actions/getTimeToNextGame.js +11 -2
  4. package/_cjs/op-stack/actions/getTimeToNextGame.js.map +1 -1
  5. package/_cjs/tempo/Abis.js +15 -1
  6. package/_cjs/tempo/Abis.js.map +1 -1
  7. package/_cjs/tempo/Transport.js +42 -0
  8. package/_cjs/tempo/Transport.js.map +1 -1
  9. package/_cjs/tempo/index.js +2 -1
  10. package/_cjs/tempo/index.js.map +1 -1
  11. package/_esm/errors/version.js +1 -1
  12. package/_esm/op-stack/actions/getTimeToNextGame.js +12 -2
  13. package/_esm/op-stack/actions/getTimeToNextGame.js.map +1 -1
  14. package/_esm/tempo/Abis.js +14 -0
  15. package/_esm/tempo/Abis.js.map +1 -1
  16. package/_esm/tempo/Transport.js +59 -7
  17. package/_esm/tempo/Transport.js.map +1 -1
  18. package/_esm/tempo/index.js +1 -1
  19. package/_esm/tempo/index.js.map +1 -1
  20. package/_types/errors/version.d.ts +1 -1
  21. package/_types/op-stack/actions/getTimeToNextGame.d.ts.map +1 -1
  22. package/_types/tempo/Abis.d.ts +3541 -0
  23. package/_types/tempo/Abis.d.ts.map +1 -1
  24. package/_types/tempo/Capabilities.d.ts +16 -1
  25. package/_types/tempo/Capabilities.d.ts.map +1 -1
  26. package/_types/tempo/Transport.d.ts +22 -6
  27. package/_types/tempo/Transport.d.ts.map +1 -1
  28. package/_types/tempo/index.d.ts +1 -1
  29. package/_types/tempo/index.d.ts.map +1 -1
  30. package/errors/version.ts +1 -1
  31. package/op-stack/actions/getTimeToNextGame.ts +26 -12
  32. package/package.json +1 -1
  33. package/tempo/Abis.ts +15 -0
  34. package/tempo/Capabilities.ts +20 -1
  35. package/tempo/Transport.ts +101 -7
  36. package/tempo/index.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Abis.d.ts","sourceRoot":"","sources":["../../tempo/Abis.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8iBR,CAAA;AAEV,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"Abis.d.ts","sourceRoot":"","sources":["../../tempo/Abis.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8iBR,CAAA;AAEV,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmMjB,CAAA;AAEV,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqJlB,CAAA;AAEV,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaP,CAAA"}
@@ -1,7 +1,8 @@
1
1
  import type { Address } from 'abitype';
2
2
  import type { DefaultCapabilitiesSchema } from '../types/capabilities.js';
3
3
  import type { Hex } from '../types/misc.js';
4
- import type { ExactPartial } from '../types/utils.js';
4
+ import type { ExactPartial, OneOf } from '../types/utils.js';
5
+ import type { DecodeErrorResultReturnType } from '../utils/index.js';
5
6
  import type { TransactionRequestTempo } from './Transaction.js';
6
7
  export type Schema = Omit<DefaultCapabilitiesSchema, 'sendCalls'> & {
7
8
  fillTransaction: {
@@ -23,12 +24,26 @@ export type FillTransactionCapabilities = {
23
24
  slippage: number;
24
25
  } | undefined;
25
26
  balanceDiffs?: Readonly<Record<Address, readonly BalanceDiff[]>> | undefined;
27
+ error?: OneOf<(DecodeErrorResultReturnType & {
28
+ data: Hex;
29
+ message: string;
30
+ }) | {
31
+ errorName: 'unknown';
32
+ message: string;
33
+ }> | undefined;
26
34
  fee?: {
27
35
  amount: Hex;
28
36
  decimals: number;
29
37
  formatted: string;
30
38
  symbol: string;
31
39
  } | undefined;
40
+ requireFunds?: {
41
+ amount: Hex;
42
+ decimals: number;
43
+ formatted: string;
44
+ token: Address;
45
+ symbol: string;
46
+ } | undefined;
32
47
  sponsor?: {
33
48
  address: Address;
34
49
  name?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Capabilities.d.ts","sourceRoot":"","sources":["../../tempo/Capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AACzE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAE/D,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,EAAE,WAAW,CAAC,GAAG;IAClE,eAAe,EAAE;QACf,UAAU,EAAE,2BAA2B,CAAA;KACxC,CAAA;IACD,SAAS,EAAE;QACT,OAAO,EAAE,YAAY,CAAC,uBAAuB,CAAC,CAAA;KAC/C,CAAA;CACF,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,EACL;QACE,KAAK,EAAE,SAAS;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,GAAG,CAAC;YAAC,KAAK,EAAE,GAAG,CAAA;SAAE,EAAE,CAAA;QACxD,KAAK,EAAE,UAAU,CAAA;QACjB,MAAM,EAAE,UAAU,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;KACjB,GACD,SAAS,CAAA;IACb,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;IAC5E,GAAG,CAAC,EACA;QACE,MAAM,EAAE,GAAG,CAAA;QACX,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,MAAM,CAAA;KACf,GACD,SAAS,CAAA;IACb,OAAO,CAAC,EACJ;QACE,OAAO,EAAE,OAAO,CAAA;QAChB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACzB,GACD,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,UAAU,GAAG,UAAU,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,SAAS,OAAO,EAAE,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,GAAG,CAAA;CACX,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,GAAG,CAAA;CACX,CAAA"}
1
+ {"version":3,"file":"Capabilities.d.ts","sourceRoot":"","sources":["../../tempo/Capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AACzE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAE/D,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,EAAE,WAAW,CAAC,GAAG;IAClE,eAAe,EAAE;QACf,UAAU,EAAE,2BAA2B,CAAA;KACxC,CAAA;IACD,SAAS,EAAE;QACT,OAAO,EAAE,YAAY,CAAC,uBAAuB,CAAC,CAAA;KAC/C,CAAA;CACF,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,EACL;QACE,KAAK,EAAE,SAAS;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,GAAG,CAAC;YAAC,KAAK,EAAE,GAAG,CAAA;SAAE,EAAE,CAAA;QACxD,KAAK,EAAE,UAAU,CAAA;QACjB,MAAM,EAAE,UAAU,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;KACjB,GACD,SAAS,CAAA;IACb,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;IAC5E,KAAK,CAAC,EACF,KAAK,CACD,CAAC,2BAA2B,GAAG;QAC7B,IAAI,EAAE,GAAG,CAAA;QACT,OAAO,EAAE,MAAM,CAAA;KAChB,CAAC,GACF;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAC5C,GACD,SAAS,CAAA;IACb,GAAG,CAAC,EACA;QACE,MAAM,EAAE,GAAG,CAAA;QACX,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,MAAM,CAAA;KACf,GACD,SAAS,CAAA;IACb,YAAY,CAAC,EACT;QACE,MAAM,EAAE,GAAG,CAAA;QACX,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,OAAO,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;KACf,GACD,SAAS,CAAA;IACb,OAAO,CAAC,EACJ;QACE,OAAO,EAAE,OAAO,CAAA;QAChB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACzB,GACD,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,UAAU,GAAG,UAAU,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,SAAS,OAAO,EAAE,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,GAAG,CAAA;CACX,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,GAAG,CAAA;CACX,CAAA"}
@@ -1,19 +1,34 @@
1
1
  import type { LocalAccount } from '../accounts/types.js';
2
2
  import { type Transport } from '../clients/transports/createTransport.js';
3
+ type RelayProxyParameters = {
4
+ /** Policy for how the relay should handle sponsored transactions. Defaults to `'sign-only'`. */
5
+ policy?: 'sign-only' | 'sign-and-broadcast' | undefined;
6
+ };
3
7
  export type FeePayer = Transport<typeof withFeePayer.type>;
8
+ export type Relay = Transport<typeof withRelay.type>;
4
9
  /**
5
- * Creates a fee payer transport that routes requests between
6
- * the default transport or the fee payer transport.
10
+ * Creates a relay transport that routes requests between
11
+ * the default transport or the relay transport.
7
12
  *
8
- * The policy parameter controls how the fee payer handles transactions:
9
- * - `'sign-only'`: Fee payer co-signs the transaction and returns it to the client transport, which then broadcasts it via the default transport
10
- * - `'sign-and-broadcast'`: Fee payer co-signs and broadcasts the transaction directly
13
+ * All `eth_fillTransaction` requests are sent to the relay with the request's
14
+ * `feePayer` value preserved so the relay can decide whether to sponsor the transaction.
15
+ *
16
+ * The policy parameter controls how the relay handles sponsored transactions:
17
+ * - `'sign-only'`: Relay co-signs the transaction and returns it to the client transport, which then broadcasts it via the default transport
18
+ * - `'sign-and-broadcast'`: Relay co-signs and broadcasts the transaction directly
11
19
  *
12
20
  * @param defaultTransport - The default transport to use.
13
- * @param feePayerTransport - The fee payer transport to use.
21
+ * @param relayTransport - The relay transport to use.
14
22
  * @param parameters - Configuration parameters.
15
23
  * @returns A relay transport.
16
24
  */
25
+ export declare function withRelay(defaultTransport: Transport, relayTransport: Transport, parameters?: withRelay.Parameters): withRelay.ReturnValue;
26
+ export declare namespace withRelay {
27
+ const type = "relay";
28
+ type Parameters = RelayProxyParameters;
29
+ type ReturnValue = Relay;
30
+ }
31
+ /** @deprecated Use `withRelay` instead. */
17
32
  export declare function withFeePayer(defaultTransport: Transport, relayTransport: Transport, parameters?: withFeePayer.Parameters): withFeePayer.ReturnValue;
18
33
  export declare namespace withFeePayer {
19
34
  const type = "feePayer";
@@ -36,4 +51,5 @@ export declare namespace walletNamespaceCompat {
36
51
  account: LocalAccount;
37
52
  };
38
53
  }
54
+ export {};
39
55
  //# sourceMappingURL=Transport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../../tempo/Transport.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKxD,OAAO,EAEL,KAAK,SAAS,EACf,MAAM,0CAA0C,CAAA;AAKjD,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;AAE1D;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,gBAAgB,EAAE,SAAS,EAC3B,cAAc,EAAE,SAAS,EACzB,UAAU,CAAC,EAAE,YAAY,CAAC,UAAU,GACnC,YAAY,CAAC,WAAW,CAsD1B;AAED,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IAC7B,MAAM,IAAI,aAAa,CAAA;IAE9B,KAAY,UAAU,GAAG;QACvB,0FAA0F;QAC1F,MAAM,CAAC,EAAE,WAAW,GAAG,oBAAoB,GAAG,SAAS,CAAA;KACxD,CAAA;IAED,KAAY,WAAW,GAAG,QAAQ,CAAA;CACnC;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,qBAAqB,CAAC,UAAU,GACxC,SAAS,CAsFX;AAED,MAAM,CAAC,OAAO,WAAW,qBAAqB,CAAC;IAC7C,KAAY,UAAU,GAAG;QACvB,OAAO,EAAE,YAAY,CAAA;KACtB,CAAA;CACF"}
1
+ {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../../tempo/Transport.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKxD,OAAO,EAEL,KAAK,SAAS,EACf,MAAM,0CAA0C,CAAA;AAKjD,KAAK,oBAAoB,GAAG;IAC1B,gGAAgG;IAChG,MAAM,CAAC,EAAE,WAAW,GAAG,oBAAoB,GAAG,SAAS,CAAA;CACxD,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;AAC1D,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;AAEpD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CACvB,gBAAgB,EAAE,SAAS,EAC3B,cAAc,EAAE,SAAS,EACzB,UAAU,CAAC,EAAE,SAAS,CAAC,UAAU,GAChC,SAAS,CAAC,WAAW,CA2DvB;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IAC1B,MAAM,IAAI,UAAU,CAAA;IAE3B,KAAY,UAAU,GAAG,oBAAoB,CAAA;IAE7C,KAAY,WAAW,GAAG,KAAK,CAAA;CAChC;AAED,2CAA2C;AAC3C,wBAAgB,YAAY,CAC1B,gBAAgB,EAAE,SAAS,EAC3B,cAAc,EAAE,SAAS,EACzB,UAAU,CAAC,EAAE,YAAY,CAAC,UAAU,GACnC,YAAY,CAAC,WAAW,CAiE1B;AAED,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IAC7B,MAAM,IAAI,aAAa,CAAA;IAE9B,KAAY,UAAU,GAAG;QACvB,0FAA0F;QAC1F,MAAM,CAAC,EAAE,WAAW,GAAG,oBAAoB,GAAG,SAAS,CAAA;KACxD,CAAA;IAED,KAAY,WAAW,GAAG,QAAQ,CAAA;CACnC;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,qBAAqB,CAAC,UAAU,GACxC,SAAS,CAsFX;AAED,MAAM,CAAC,OAAO,WAAW,qBAAqB,CAAC;IAC7C,KAAY,UAAU,GAAG;QACvB,OAAO,EAAE,YAAY,CAAA;KACtB,CAAA;CACF"}
@@ -49,7 +49,7 @@ TransactionTempo as z_TransactionTempo,
49
49
  TransactionType as z_TransactionType, } from './Transaction.js';
50
50
  export * as Transaction from './Transaction.js';
51
51
  export * as Transport from './Transport.js';
52
- export { walletNamespaceCompat, withFeePayer } from './Transport.js';
52
+ export { walletNamespaceCompat, withFeePayer, withRelay } from './Transport.js';
53
53
  export * as WebAuthnP256 from './WebAuthnP256.js';
54
54
  export * as WebCryptoP256 from './WebCryptoP256.js';
55
55
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../tempo/index.ts"],"names":[],"mappings":"AACA,YAAY;AACV,kBAAkB;AAClB,gBAAgB,IAAI,kBAAkB;AACtC,kBAAkB;AAClB,iBAAiB,IAAI,mBAAmB;AACxC,kBAAkB;AAClB,OAAO,IAAI,SAAS;AACpB,kBAAkB;AAClB,eAAe,IAAI,iBAAiB,GACrC,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAC9D,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,EACL,KAAK,SAAS,IAAI,YAAY,EAC9B,SAAS,IAAI,YAAY,GAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC,YAAY;AACV,kBAAkB;AAClB,WAAW,IAAI,aAAa;AAC5B,kBAAkB;AAClB,kBAAkB,IAAI,oBAAoB;AAC1C,kBAAkB;AAClB,qBAAqB,IAAI,uBAAuB;AAChD,kBAAkB;AAClB,kBAAkB,IAAI,oBAAoB;AAC1C,kBAAkB;AAClB,qBAAqB,IAAI,uBAAuB;AAChD,kBAAkB;AAClB,uBAAuB,IAAI,yBAAyB;AACpD,kBAAkB;AAClB,cAAc,IAAI,gBAAgB;AAClC,kBAAkB;AAClB,uBAAuB,IAAI,yBAAyB;AACpD,kBAAkB;AAClB,4BAA4B,IAAI,8BAA8B;AAC9D,kBAAkB;AAClB,qBAAqB,IAAI,uBAAuB;AAChD,kBAAkB;AAClB,0BAA0B,IAAI,4BAA4B;AAC1D,kBAAkB;AAClB,gBAAgB,IAAI,kBAAkB;AACtC,kBAAkB;AAClB,eAAe,IAAI,iBAAiB,GACrC,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../tempo/index.ts"],"names":[],"mappings":"AACA,YAAY;AACV,kBAAkB;AAClB,gBAAgB,IAAI,kBAAkB;AACtC,kBAAkB;AAClB,iBAAiB,IAAI,mBAAmB;AACxC,kBAAkB;AAClB,OAAO,IAAI,SAAS;AACpB,kBAAkB;AAClB,eAAe,IAAI,iBAAiB,GACrC,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAC9D,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,EACL,KAAK,SAAS,IAAI,YAAY,EAC9B,SAAS,IAAI,YAAY,GAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC,YAAY;AACV,kBAAkB;AAClB,WAAW,IAAI,aAAa;AAC5B,kBAAkB;AAClB,kBAAkB,IAAI,oBAAoB;AAC1C,kBAAkB;AAClB,qBAAqB,IAAI,uBAAuB;AAChD,kBAAkB;AAClB,kBAAkB,IAAI,oBAAoB;AAC1C,kBAAkB;AAClB,qBAAqB,IAAI,uBAAuB;AAChD,kBAAkB;AAClB,uBAAuB,IAAI,yBAAyB;AACpD,kBAAkB;AAClB,cAAc,IAAI,gBAAgB;AAClC,kBAAkB;AAClB,uBAAuB,IAAI,yBAAyB;AACpD,kBAAkB;AAClB,4BAA4B,IAAI,8BAA8B;AAC9D,kBAAkB;AAClB,qBAAqB,IAAI,uBAAuB;AAChD,kBAAkB;AAClB,0BAA0B,IAAI,4BAA4B;AAC1D,kBAAkB;AAClB,gBAAgB,IAAI,kBAAkB;AACtC,kBAAkB;AAClB,eAAe,IAAI,iBAAiB,GACrC,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/E,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA"}
package/errors/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '2.47.17'
1
+ export const version = '2.47.18'
@@ -87,6 +87,10 @@ export async function getTimeToNextGame<
87
87
  limit: 10,
88
88
  })
89
89
 
90
+ if (games.length === 0) {
91
+ return { interval: 0, seconds: 0, timestamp: undefined }
92
+ }
93
+
90
94
  const deltas = games
91
95
  .map(({ l2BlockNumber, timestamp }, index) => {
92
96
  return index === games.length - 1
@@ -97,18 +101,25 @@ export async function getTimeToNextGame<
97
101
  ]
98
102
  })
99
103
  .filter(Boolean)
100
- const interval = Math.ceil(
101
- (deltas as [bigint, bigint][]).reduce(
102
- (a, [b]) => Number(a) - Number(b),
103
- 0,
104
- ) / deltas.length,
105
- )
106
- const blockInterval = Math.ceil(
107
- (deltas as [bigint, bigint][]).reduce(
108
- (a, [_, b]) => Number(a) - Number(b),
109
- 0,
110
- ) / deltas.length,
111
- )
104
+
105
+ const interval =
106
+ deltas.length > 0
107
+ ? Math.ceil(
108
+ (deltas as [bigint, bigint][]).reduce(
109
+ (a, [b]) => Number(a) - Number(b),
110
+ 0,
111
+ ) / deltas.length,
112
+ )
113
+ : 0
114
+ const blockInterval =
115
+ deltas.length > 0
116
+ ? Math.ceil(
117
+ (deltas as [bigint, bigint][]).reduce(
118
+ (a, [_, b]) => Number(a) - Number(b),
119
+ 0,
120
+ ) / deltas.length,
121
+ )
122
+ : 0
112
123
 
113
124
  const latestGame = games[0]
114
125
  const latestGameTimestamp = Number(latestGame.timestamp) * 1000
@@ -126,6 +137,9 @@ export async function getTimeToNextGame<
126
137
  // then we assume that the dispute game has already been submitted.
127
138
  if (latestGame.l2BlockNumber > l2BlockNumber) return 0
128
139
 
140
+ // If there is only a single game, no interval data
141
+ if (intervalWithBuffer === 0) return 0
142
+
129
143
  const elapsedBlocks = Number(l2BlockNumber - latestGame.l2BlockNumber)
130
144
 
131
145
  const elapsed = Math.ceil((now - latestGameTimestamp) / 1000)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "viem",
3
3
  "description": "TypeScript Interface for Ethereum",
4
- "version": "2.47.17",
4
+ "version": "2.47.18",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
7
7
  "types": "./_types/index.d.ts",
package/tempo/Abis.ts CHANGED
@@ -2269,3 +2269,18 @@ export const validatorConfig = [
2269
2269
  ],
2270
2270
  },
2271
2271
  ] as const
2272
+
2273
+ export const abis = [
2274
+ ...tip20,
2275
+ ...validatorConfigV2,
2276
+ ...signatureVerifier,
2277
+ ...stablecoinDex,
2278
+ ...addressRegistry,
2279
+ ...feeManager,
2280
+ ...feeAmm,
2281
+ ...accountKeychain,
2282
+ ...nonce,
2283
+ ...tip20Factory,
2284
+ ...tip403Registry,
2285
+ ...validatorConfig,
2286
+ ] as const
@@ -1,7 +1,8 @@
1
1
  import type { Address } from 'abitype'
2
2
  import type { DefaultCapabilitiesSchema } from '../types/capabilities.js'
3
3
  import type { Hex } from '../types/misc.js'
4
- import type { ExactPartial } from '../types/utils.js'
4
+ import type { ExactPartial, OneOf } from '../types/utils.js'
5
+ import type { DecodeErrorResultReturnType } from '../utils/index.js'
5
6
  import type { TransactionRequestTempo } from './Transaction.js'
6
7
 
7
8
  export type Schema = Omit<DefaultCapabilitiesSchema, 'sendCalls'> & {
@@ -23,6 +24,15 @@ export type FillTransactionCapabilities = {
23
24
  }
24
25
  | undefined
25
26
  balanceDiffs?: Readonly<Record<Address, readonly BalanceDiff[]>> | undefined
27
+ error?:
28
+ | OneOf<
29
+ | (DecodeErrorResultReturnType & {
30
+ data: Hex
31
+ message: string
32
+ })
33
+ | { errorName: 'unknown'; message: string }
34
+ >
35
+ | undefined
26
36
  fee?:
27
37
  | {
28
38
  amount: Hex
@@ -31,6 +41,15 @@ export type FillTransactionCapabilities = {
31
41
  symbol: string
32
42
  }
33
43
  | undefined
44
+ requireFunds?:
45
+ | {
46
+ amount: Hex
47
+ decimals: number
48
+ formatted: string
49
+ token: Address
50
+ symbol: string
51
+ }
52
+ | undefined
34
53
  sponsor?:
35
54
  | {
36
55
  address: Address
@@ -16,21 +16,104 @@ import type { Chain } from '../types/chain.js'
16
16
  import type { ChainConfig } from './chainConfig.js'
17
17
  import * as Transaction from './Transaction.js'
18
18
 
19
+ type RelayProxyParameters = {
20
+ /** Policy for how the relay should handle sponsored transactions. Defaults to `'sign-only'`. */
21
+ policy?: 'sign-only' | 'sign-and-broadcast' | undefined
22
+ }
23
+
19
24
  export type FeePayer = Transport<typeof withFeePayer.type>
25
+ export type Relay = Transport<typeof withRelay.type>
20
26
 
21
27
  /**
22
- * Creates a fee payer transport that routes requests between
23
- * the default transport or the fee payer transport.
28
+ * Creates a relay transport that routes requests between
29
+ * the default transport or the relay transport.
24
30
  *
25
- * The policy parameter controls how the fee payer handles transactions:
26
- * - `'sign-only'`: Fee payer co-signs the transaction and returns it to the client transport, which then broadcasts it via the default transport
27
- * - `'sign-and-broadcast'`: Fee payer co-signs and broadcasts the transaction directly
31
+ * All `eth_fillTransaction` requests are sent to the relay with the request's
32
+ * `feePayer` value preserved so the relay can decide whether to sponsor the transaction.
33
+ *
34
+ * The policy parameter controls how the relay handles sponsored transactions:
35
+ * - `'sign-only'`: Relay co-signs the transaction and returns it to the client transport, which then broadcasts it via the default transport
36
+ * - `'sign-and-broadcast'`: Relay co-signs and broadcasts the transaction directly
28
37
  *
29
38
  * @param defaultTransport - The default transport to use.
30
- * @param feePayerTransport - The fee payer transport to use.
39
+ * @param relayTransport - The relay transport to use.
31
40
  * @param parameters - Configuration parameters.
32
41
  * @returns A relay transport.
33
42
  */
43
+ export function withRelay(
44
+ defaultTransport: Transport,
45
+ relayTransport: Transport,
46
+ parameters?: withRelay.Parameters,
47
+ ): withRelay.ReturnValue {
48
+ const { policy = 'sign-only' } = parameters ?? {}
49
+
50
+ return (config) => {
51
+ const transport_default = defaultTransport(config)
52
+ const transport_relay = relayTransport(config)
53
+
54
+ return createTransport({
55
+ key: withRelay.type,
56
+ name: 'Relay Proxy',
57
+ async request({ method, params }, options) {
58
+ if (method === 'eth_fillTransaction')
59
+ return transport_relay.request({ method, params }, options) as never
60
+
61
+ if (
62
+ method === 'eth_sendRawTransactionSync' ||
63
+ method === 'eth_sendRawTransaction'
64
+ ) {
65
+ const serialized = (params as any)[0] as `0x76${string}`
66
+ const transaction = Transaction.deserialize(serialized)
67
+
68
+ // Serialized Tempo envelopes encode `feePayer: true` as a missing fee payer
69
+ // signature until the relay co-signs the transaction.
70
+ if (transaction.feePayerSignature === null) {
71
+ // For 'sign-and-broadcast', relay signs and broadcasts
72
+ if (policy === 'sign-and-broadcast')
73
+ return transport_relay.request(
74
+ { method, params },
75
+ options,
76
+ ) as never
77
+
78
+ // For 'sign-only', request signature from relay using eth_signRawTransaction
79
+ {
80
+ // Request signature from relay using eth_signRawTransaction
81
+ const signedTransaction = await transport_relay.request(
82
+ {
83
+ method: 'eth_signRawTransaction',
84
+ params: [serialized],
85
+ },
86
+ options,
87
+ )
88
+
89
+ // Broadcast the signed transaction via the default transport
90
+ return transport_default.request(
91
+ { method, params: [signedTransaction] },
92
+ options,
93
+ ) as never
94
+ }
95
+ }
96
+ }
97
+
98
+ return (await transport_default.request(
99
+ { method, params },
100
+ options,
101
+ )) as never
102
+ },
103
+ type: withRelay.type,
104
+ })
105
+ }
106
+ }
107
+
108
+ export declare namespace withRelay {
109
+ export const type = 'relay'
110
+
111
+ export type Parameters = RelayProxyParameters
112
+
113
+ export type ReturnValue = Relay
114
+ }
115
+
116
+ /** @deprecated Use `withRelay` instead. */
34
117
  export function withFeePayer(
35
118
  defaultTransport: Transport,
36
119
  relayTransport: Transport,
@@ -46,6 +129,16 @@ export function withFeePayer(
46
129
  key: withFeePayer.type,
47
130
  name: 'Relay Proxy',
48
131
  async request({ method, params }, options) {
132
+ if (method === 'eth_fillTransaction') {
133
+ const request = (params as readonly unknown[] | undefined)?.[0]
134
+ if (
135
+ request &&
136
+ typeof request === 'object' &&
137
+ 'feePayer' in request &&
138
+ request.feePayer === true
139
+ )
140
+ return transport_relay.request({ method, params }, options) as never
141
+ }
49
142
  if (
50
143
  method === 'eth_sendRawTransactionSync' ||
51
144
  method === 'eth_sendRawTransaction'
@@ -53,7 +146,8 @@ export function withFeePayer(
53
146
  const serialized = (params as any)[0] as `0x76${string}`
54
147
  const transaction = Transaction.deserialize(serialized)
55
148
 
56
- // If the transaction is intended to be sponsored, forward it to the relay.
149
+ // Serialized Tempo envelopes encode `feePayer: true` as a missing fee payer
150
+ // signature until the relay co-signs the transaction.
57
151
  if (transaction.feePayerSignature === null) {
58
152
  // For 'sign-and-broadcast', relay signs and broadcasts
59
153
  if (policy === 'sign-and-broadcast')
package/tempo/index.ts CHANGED
@@ -57,6 +57,6 @@ export type {
57
57
  } from './Transaction.js'
58
58
  export * as Transaction from './Transaction.js'
59
59
  export * as Transport from './Transport.js'
60
- export { walletNamespaceCompat, withFeePayer } from './Transport.js'
60
+ export { walletNamespaceCompat, withFeePayer, withRelay } from './Transport.js'
61
61
  export * as WebAuthnP256 from './WebAuthnP256.js'
62
62
  export * as WebCryptoP256 from './WebCryptoP256.js'