@zerodev/sdk 5.2.8 → 5.2.9

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 (78) hide show
  1. package/_cjs/accounts/utils/multisend.js.map +1 -1
  2. package/_cjs/clients/fallbackKernelAccountClient.js +37 -0
  3. package/_cjs/clients/fallbackKernelAccountClient.js.map +1 -0
  4. package/_cjs/clients/index.js +3 -1
  5. package/_cjs/clients/index.js.map +1 -1
  6. package/_cjs/index.js +3 -1
  7. package/_cjs/index.js.map +1 -1
  8. package/_esm/accounts/kernel/utils/account/ep0_6/encodeDeployCallData.js +0 -1
  9. package/_esm/accounts/kernel/utils/account/ep0_6/encodeDeployCallData.js.map +1 -1
  10. package/_esm/accounts/kernel/utils/account/ep0_7/encodeDeployCallData.js +0 -1
  11. package/_esm/accounts/kernel/utils/account/ep0_7/encodeDeployCallData.js.map +1 -1
  12. package/_esm/accounts/kernel/v1/createKernelV1Account.js +0 -2
  13. package/_esm/accounts/kernel/v1/createKernelV1Account.js.map +1 -1
  14. package/_esm/accounts/kernel/v2/createKernelV2Account.js +0 -1
  15. package/_esm/accounts/kernel/v2/createKernelV2Account.js.map +1 -1
  16. package/_esm/accounts/utils/multisend.js +0 -1
  17. package/_esm/accounts/utils/multisend.js.map +1 -1
  18. package/_esm/clients/decorators/kernel.js +0 -2
  19. package/_esm/clients/decorators/kernel.js.map +1 -1
  20. package/_esm/clients/fallbackKernelAccountClient.js +38 -0
  21. package/_esm/clients/fallbackKernelAccountClient.js.map +1 -0
  22. package/_esm/clients/index.js +1 -0
  23. package/_esm/clients/index.js.map +1 -1
  24. package/_esm/clients/kernelAccountClient.js +0 -1
  25. package/_esm/clients/kernelAccountClient.js.map +1 -1
  26. package/_esm/constants.js +0 -1
  27. package/_esm/constants.js.map +1 -1
  28. package/_esm/index.js +1 -0
  29. package/_esm/index.js.map +1 -1
  30. package/_esm/providers/KernelEIP1193Provider.js +0 -2
  31. package/_esm/providers/KernelEIP1193Provider.js.map +1 -1
  32. package/_esm/types/kernel.js +0 -2
  33. package/_esm/types/kernel.js.map +1 -1
  34. package/_esm/utils.js +1 -1
  35. package/_esm/utils.js.map +1 -1
  36. package/_types/accounts/kernel/utils/account/ep0_6/encodeDeployCallData.d.ts +1 -1
  37. package/_types/accounts/kernel/utils/account/ep0_6/encodeDeployCallData.d.ts.map +1 -1
  38. package/_types/accounts/kernel/utils/account/ep0_7/encodeDeployCallData.d.ts +1 -1
  39. package/_types/accounts/kernel/utils/account/ep0_7/encodeDeployCallData.d.ts.map +1 -1
  40. package/_types/accounts/kernel/v1/createKernelV1Account.d.ts +1 -1
  41. package/_types/accounts/kernel/v1/createKernelV1Account.d.ts.map +1 -1
  42. package/_types/accounts/kernel/v2/createKernelV2Account.d.ts +1 -1
  43. package/_types/accounts/kernel/v2/createKernelV2Account.d.ts.map +1 -1
  44. package/_types/accounts/utils/multisend.d.ts +1 -1
  45. package/_types/accounts/utils/multisend.d.ts.map +1 -1
  46. package/_types/clients/decorators/kernel.d.ts +2 -2
  47. package/_types/clients/decorators/kernel.d.ts.map +1 -1
  48. package/_types/clients/fallbackKernelAccountClient.d.ts +600 -0
  49. package/_types/clients/fallbackKernelAccountClient.d.ts.map +1 -0
  50. package/_types/clients/index.d.ts +1 -0
  51. package/_types/clients/index.d.ts.map +1 -1
  52. package/_types/clients/kernelAccountClient.d.ts +1 -1
  53. package/_types/clients/kernelAccountClient.d.ts.map +1 -1
  54. package/_types/constants.d.ts +1 -1
  55. package/_types/constants.d.ts.map +1 -1
  56. package/_types/index.d.ts +1 -0
  57. package/_types/index.d.ts.map +1 -1
  58. package/_types/providers/KernelEIP1193Provider.d.ts +2 -2
  59. package/_types/providers/KernelEIP1193Provider.d.ts.map +1 -1
  60. package/_types/types/kernel.d.ts +2 -2
  61. package/_types/types/kernel.d.ts.map +1 -1
  62. package/_types/utils.d.ts +1 -1
  63. package/_types/utils.d.ts.map +1 -1
  64. package/accounts/kernel/utils/account/ep0_6/encodeDeployCallData.ts +1 -1
  65. package/accounts/kernel/utils/account/ep0_7/encodeDeployCallData.ts +1 -1
  66. package/accounts/kernel/v1/createKernelV1Account.ts +2 -2
  67. package/accounts/kernel/v2/createKernelV2Account.ts +1 -1
  68. package/accounts/utils/multisend.ts +1 -4
  69. package/clients/decorators/kernel.ts +2 -2
  70. package/clients/fallbackKernelAccountClient.ts +62 -0
  71. package/clients/index.ts +2 -0
  72. package/clients/kernelAccountClient.ts +1 -1
  73. package/constants.ts +1 -1
  74. package/index.ts +1 -0
  75. package/package.json +2 -8
  76. package/providers/KernelEIP1193Provider.ts +6 -6
  77. package/types/kernel.ts +2 -2
  78. package/utils.ts +2 -2
package/_types/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export { sponsorUserOperation, type SponsorUserOperationParameters, type Sponsor
3
3
  export { zerodevPaymasterActions, type ZeroDevPaymasterClientActions, kernelAccountClientActions, type KernelAccountClientActions } from "./clients/decorators/kernel.js";
4
4
  export { createZeroDevPaymasterClient, type ZeroDevPaymasterClient } from "./clients/paymasterClient.js";
5
5
  export { createKernelAccountClient, type KernelAccountClient } from "./clients/kernelAccountClient.js";
6
+ export { createFallbackKernelAccountClient } from "./clients/fallbackKernelAccountClient.js";
6
7
  export { type KernelValidator, type ZeroDevPaymasterRpcSchema, type KernelPluginManager } from "./types/kernel.js";
7
8
  export { KernelAccountAbi } from "./accounts/kernel/abi/KernelAccountAbi.js";
8
9
  export { KernelFactoryAbi } from "./accounts/kernel/abi/KernelFactoryAbi.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACH,oBAAoB,EACpB,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACtC,MAAM,6CAA6C,CAAA;AACpD,OAAO,EACH,uBAAuB,EACvB,KAAK,6BAA6B,EAClC,0BAA0B,EAC1B,KAAK,0BAA0B,EAClC,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACH,4BAA4B,EAC5B,KAAK,sBAAsB,EAC9B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACH,yBAAyB,EACzB,KAAK,mBAAmB,EAC3B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACH,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EAC3B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EACH,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EAClB,MAAM,0DAA0D,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAA;AACvG,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAC1E,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EACH,sBAAsB,EACtB,2BAA2B,EAC9B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACH,oBAAoB,EACpB,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACtC,MAAM,6CAA6C,CAAA;AACpD,OAAO,EACH,uBAAuB,EACvB,KAAK,6BAA6B,EAClC,0BAA0B,EAC1B,KAAK,0BAA0B,EAClC,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACH,4BAA4B,EAC5B,KAAK,sBAAsB,EAC9B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACH,yBAAyB,EACzB,KAAK,mBAAmB,EAC3B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,iCAAiC,EAAE,MAAM,0CAA0C,CAAA;AAC5F,OAAO,EACH,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EAC3B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EACH,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EAClB,MAAM,0DAA0D,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAA;AACvG,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAC1E,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EACH,sBAAsB,EACtB,2BAA2B,EAC9B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -1,8 +1,8 @@
1
1
  /// <reference types="node" />
2
2
  import { EventEmitter } from "events";
3
- import { type KernelAccountClient } from "@zerodev/sdk";
3
+ import type { KernelAccountClient } from "@zerodev/sdk";
4
4
  import type { EntryPoint } from "permissionless/types";
5
- import { type EIP1193Parameters, type EIP1193RequestFn } from "viem";
5
+ import type { EIP1193Parameters, EIP1193RequestFn } from "viem";
6
6
  export declare class KernelEIP1193Provider<entryPoint extends EntryPoint> extends EventEmitter {
7
7
  private kernelClient;
8
8
  constructor(kernelClient: KernelAccountClient<entryPoint>);
@@ -1 +1 @@
1
- {"version":3,"file":"KernelEIP1193Provider.d.ts","sourceRoot":"","sources":["../../providers/KernelEIP1193Provider.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGxB,MAAM,MAAM,CAAA;AAEb,qBAAa,qBAAqB,CAC9B,UAAU,SAAS,UAAU,CAC/B,SAAQ,YAAY;IAClB,OAAO,CAAC,YAAY,CAAiC;gBAEzC,YAAY,EAAE,mBAAmB,CAAC,UAAU,CAAC;IAKnD,OAAO,CAAC,EACV,MAAM,EACN,MAAW,EACd,EAAE,iBAAiB,GAAG,UAAU,CAAC,gBAAgB,CAAC;YAoBrC,wBAAwB;YAOxB,iBAAiB;YAOjB,wBAAwB;YAKxB,aAAa;YAoBb,kBAAkB;YAsBlB,wBAAwB;CAyBzC"}
1
+ {"version":3,"file":"KernelEIP1193Provider.d.ts","sourceRoot":"","sources":["../../providers/KernelEIP1193Provider.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EACR,iBAAiB,EACjB,gBAAgB,EAGnB,MAAM,MAAM,CAAA;AAEb,qBAAa,qBAAqB,CAC9B,UAAU,SAAS,UAAU,CAC/B,SAAQ,YAAY;IAClB,OAAO,CAAC,YAAY,CAAiC;gBAEzC,YAAY,EAAE,mBAAmB,CAAC,UAAU,CAAC;IAKnD,OAAO,CAAC,EACV,MAAM,EACN,MAAW,EACd,EAAE,iBAAiB,GAAG,UAAU,CAAC,gBAAgB,CAAC;YAoBrC,wBAAwB;YAOxB,iBAAiB;YAOjB,wBAAwB;YAKxB,aAAa;YAoBb,kBAAkB;YAsBlB,wBAAwB;CAyBzC"}
@@ -1,9 +1,9 @@
1
1
  import type { ENTRYPOINT_ADDRESS_V06_TYPE, EntryPoint } from "permissionless/types";
2
2
  import type { GetEntryPointVersion } from "permissionless/types/entrypoint";
3
3
  import type { UserOperation, UserOperationWithBigIntAsHex } from "permissionless/types/userOperation";
4
- import { type Address, type Hex, type LocalAccount } from "viem";
4
+ import type { Address, Hex, LocalAccount } from "viem";
5
5
  import type { PartialBy } from "viem/types/utils";
6
- import { VALIDATOR_TYPE } from "../constants.js";
6
+ import type { VALIDATOR_TYPE } from "../constants.js";
7
7
  export type ZeroDevPaymasterRpcSchema<entryPoint extends EntryPoint> = [
8
8
  {
9
9
  Method: "zd_sponsorUserOperation";
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../types/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,2BAA2B,EAC3B,UAAU,EACb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAC3E,OAAO,KAAK,EACR,aAAa,EACb,4BAA4B,EAC/B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,MAAM,MAAM,yBAAyB,CAAC,UAAU,SAAS,UAAU,IAAI;IACnE;QACI,MAAM,EAAE,yBAAyB,CAAA;QACjC,UAAU,EAAE;YACR;gBACI,OAAO,EAAE,MAAM,CAAA;gBACf,MAAM,EAAE,oBAAoB,CAAC,UAAU,CAAC,SAAS,MAAM,GACjD,SAAS,CACL,4BAA4B,CAAC,MAAM,CAAC,EAClC,cAAc,GACd,oBAAoB,GACpB,sBAAsB,CAC3B,GACD,SAAS,CACL,4BAA4B,CAAC,MAAM,CAAC,EAClC,cAAc,GACd,oBAAoB,GACpB,sBAAsB,GACtB,+BAA+B,GAC/B,yBAAyB,CAC9B,CAAA;gBACP,iBAAiB,EAAE,OAAO,CAAA;gBAC1B,YAAY,CAAC,EAAE;oBACX,YAAY,EAAE,GAAG,CAAA;iBACpB,CAAA;gBACD,iBAAiB,CAAC,EAAE,OAAO,CAAA;gBAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAA;gBAC7B,aAAa,CAAC,EAAE,OAAO,CAAA;aAC1B;SACJ,CAAA;QACD,UAAU,EAAE,oBAAoB,CAAC,UAAU,CAAC,SAAS,MAAM,GACrD;YACI,gBAAgB,EAAE,GAAG,CAAA;YACrB,kBAAkB,EAAE,GAAG,CAAA;YACvB,oBAAoB,EAAE,GAAG,CAAA;YACzB,YAAY,EAAE,GAAG,CAAA;YACjB,YAAY,CAAC,EAAE,GAAG,CAAA;YAClB,oBAAoB,CAAC,EAAE,GAAG,CAAA;YAC1B,SAAS,CAAC,EAAE,KAAK,CAAA;YACjB,6BAA6B,CAAC,EAAE,KAAK,CAAA;YACrC,uBAAuB,CAAC,EAAE,KAAK,CAAA;YAC/B,aAAa,CAAC,EAAE,KAAK,CAAA;SACxB,GACD;YACI,kBAAkB,EAAE,GAAG,CAAA;YACvB,oBAAoB,EAAE,GAAG,CAAA;YACzB,YAAY,EAAE,GAAG,CAAA;YACjB,SAAS,EAAE,OAAO,CAAA;YAClB,6BAA6B,EAAE,GAAG,CAAA;YAClC,uBAAuB,EAAE,GAAG,CAAA;YAC5B,aAAa,EAAE,GAAG,CAAA;YAClB,YAAY,CAAC,EAAE,GAAG,CAAA;YAClB,oBAAoB,CAAC,EAAE,GAAG,CAAA;YAC1B,gBAAgB,CAAC,EAAE,KAAK,CAAA;SAC3B,CAAA;KACV;IACD;QACI,MAAM,EAAE,gBAAgB,CAAA;QACxB,UAAU,EAAE;YACR;gBACI,OAAO,EAAE,MAAM,CAAA;gBACf,iBAAiB,EAAE,OAAO,CAAA;aAC7B;SACJ,CAAA;QACD,UAAU,EAAE,OAAO,EAAE,CAAA;KACxB;IACD;QACI,MAAM,EAAE,6BAA6B,CAAA;QACrC,UAAU,EAAE;YACR;gBACI,OAAO,EAAE,MAAM,CAAA;gBACf,MAAM,EAAE,4BAA4B,CAAC,MAAM,CAAC,CAAA;gBAC5C,iBAAiB,EAAE,OAAO,CAAA;gBAC1B,YAAY,EAAE,OAAO,CAAA;aACxB;SACJ,CAAA;QACD,UAAU,EAAE;YACR,eAAe,EAAE,MAAM,CAAA;YACvB,aAAa,EAAE,MAAM,CAAA;SACxB,CAAA;KACJ;CACJ,CAAA;AAED,MAAM,MAAM,2CAA2C,GAAG;IACtD,IAAI,EAAE;QACF,YAAY,EAAE,GAAG,CAAA;QACjB,oBAAoB,EAAE,GAAG,CAAA;KAC5B,CAAA;IACD,QAAQ,EAAE;QACN,YAAY,EAAE,GAAG,CAAA;QACjB,oBAAoB,EAAE,GAAG,CAAA;KAC5B,CAAA;IACD,IAAI,EAAE;QACF,YAAY,EAAE,GAAG,CAAA;QACjB,oBAAoB,EAAE,GAAG,CAAA;KAC5B,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IACxC;QACI,MAAM,EAAE,6BAA6B,CAAA;QACrC,UAAU,EAAE,EAAE,CAAA;QACd,UAAU,EAAE,2CAA2C,CAAA;KAC1D;CACJ,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,CAC/B,MAAM,OAAO,cAAc,EAC3B,YAAY,GAAG,WAAW,CAC7B,CAAA;AAED,MAAM,MAAM,eAAe,CACvB,UAAU,SAAS,UAAU,EAC7B,IAAI,SAAS,MAAM,GAAG,MAAM,IAC5B,YAAY,CAAC,IAAI,CAAC,GAAG;IACrB,aAAa,EAAE,aAAa,CAAA;IAC5B,WAAW,EAAE,CACT,cAAc,CAAC,EAAE,OAAO,EACxB,cAAc,CAAC,EAAE,MAAM,KACtB,OAAO,CAAC,MAAM,CAAC,CAAA;IACpB,iBAAiB,CACb,aAAa,EAAE,aAAa,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,EAC9D,qBAAqB,CAAC,EAAE,GAAG,GAC5B,OAAO,CAAC,GAAG,CAAC,CAAA;IACf,iBAAiB,EAAE,CACf,aAAa,EAAE,aAAa,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,EAC9D,qBAAqB,CAAC,EAAE,GAAG,KAC1B,OAAO,CAAC,GAAG,CAAC,CAAA;IACjB,aAAa,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACrD,SAAS,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACnE,aAAa,EAAE,MAAM,GAAG,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC5B,gBAAgB,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE,GAAG,CAAA;IACf,UAAU,EAAE,GAAG,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,mBAAmB,CAAC,UAAU,SAAS,UAAU,IACzD,eAAe,CAAC,UAAU,CAAC,GAAG;IAC1B,wBAAwB,CAAC,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/D,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAClD,SAAS,IAAI,MAAM,CAAA;IACnB,eAAe,IAAI,kBAAkB,CAAA;IACrC,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,GAAG,CAAA;IACpC,2BAA2B,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CACzE,CAAA;AAEL,MAAM,MAAM,iBAAiB,CAAC,UAAU,SAAS,UAAU,IACvD,UAAU,SAAS,2BAA2B,GACxC;IACI,QAAQ,EAAE,GAAG,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,GAAG,CAAA;CAClB,GAED,KAAK,CAAA;AAEf,MAAM,MAAM,yBAAyB,CAAC,UAAU,SAAS,UAAU,IAAI;IACnE,IAAI,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IAClC,OAAO,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IACrC,qBAAqB,CAAC,EAAE,GAAG,CAAA;IAC3B,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;AAE/B,MAAM,MAAM,IAAI,GAAG;IACf,OAAO,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,GAAG,CAAA;IACb,IAAI,CAAC,EAAE,IAAI,CAAA;CACd,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,oBAAY,aAAa;IACrB,IAAI,eAAe;IACnB,MAAM,eAAe;IACrB,MAAM,eAAe;CACxB;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,cAAc,CAAA;AAE9C,MAAM,MAAM,wBAAwB,GAC9B;IACI,EAAE,EAAE,OAAO,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,GAAG,CAAA;IACT,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAA;CACjC,GACD;IACI,EAAE,EAAE,OAAO,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,GAAG,CAAA;IACT,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAA;CACjC,EAAE,CAAA;AAET,MAAM,MAAM,SAAS,GAAG;IACpB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,GAAG,CAAA;CAChB,CAAA"}
1
+ {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../types/kernel.ts"],"names":[],"mappings":"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"}
package/_types/utils.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { EntryPoint } from "permissionless/types/entrypoint";
2
2
  import { type Address, type Hex } from "viem";
3
3
  import type { ZeroDevPaymasterClient } from "./clients/paymasterClient.js";
4
- import { CALL_TYPE, EXEC_TYPE } from "./constants.js";
4
+ import { type CALL_TYPE, type EXEC_TYPE } from "./constants.js";
5
5
  export declare const getKernelVersion: <entryPoint extends EntryPoint>(entryPointAddress: entryPoint, kernelImpl?: Address) => string;
6
6
  export declare enum KERNEL_FEATURES {
7
7
  ERC1271_SIG_WRAPPER = "ERC1271_SIG_WRAPPER",
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAEjE,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,GAAG,EASX,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAC1E,OAAO,EACH,SAAS,EACT,SAAS,EAGZ,MAAM,gBAAgB,CAAA;AAEvB,eAAO,MAAM,gBAAgB,8EAEZ,OAAO,KACrB,MAQF,CAAA;AAED,oBAAY,eAAe;IACvB,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;IACjD,qCAAqC,0CAA0C;CAClF;AAQD,eAAO,MAAM,gBAAgB,YAChB,eAAe,WACf,MAAM,KAChB,OAMF,CAAA;AAED,eAAO,MAAM,4BAA4B;cAQvB,OAAO;mBACF,MAAM;MAE1B,QAAQ;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAmBnD,CAAA;AAED,eAAO,MAAM,aAAa,QAAS,GAAG,KAAG,GAcxC,CAAA;AAED,eAAO,MAAM,WAAW;cAIV,SAAS;cACT,SAAS;MACnB,GAQH,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAEjE,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,GAAG,EASX,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAC1E,OAAO,EACH,KAAK,SAAS,EACd,KAAK,SAAS,EAGjB,MAAM,gBAAgB,CAAA;AAEvB,eAAO,MAAM,gBAAgB,8EAEZ,OAAO,KACrB,MAQF,CAAA;AAED,oBAAY,eAAe;IACvB,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;IACjD,qCAAqC,0CAA0C;CAClF;AAQD,eAAO,MAAM,gBAAgB,YAChB,eAAe,WACf,MAAM,KAChB,OAMF,CAAA;AAED,eAAO,MAAM,4BAA4B;cAQvB,OAAO;mBACF,MAAM;MAE1B,QAAQ;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAmBnD,CAAA;AAED,eAAO,MAAM,aAAa,QAAS,GAAG,KAAG,GAcxC,CAAA;AAED,eAAO,MAAM,WAAW;cAIV,SAAS;cACT,SAAS;MACnB,GAQH,CAAA"}
@@ -1,4 +1,4 @@
1
- import { toSmartAccount } from "permissionless/accounts"
1
+ import type { toSmartAccount } from "permissionless/accounts"
2
2
  import { encodeDeployData } from "viem"
3
3
  import { safeCreateCallAddress } from "../../../../../constants.js"
4
4
  import { encodeSafeCreateCall } from "../../common/encodeSafeCreateCall.js"
@@ -1,4 +1,4 @@
1
- import { toSmartAccount } from "permissionless/accounts"
1
+ import type { toSmartAccount } from "permissionless/accounts"
2
2
  import { encodeDeployData } from "viem"
3
3
  import { EXEC_TYPE, safeCreateCallAddress } from "../../../../../constants.js"
4
4
  import { encodeSafeCreateCall } from "../../common/encodeSafeCreateCall.js"
@@ -29,7 +29,7 @@ import {
29
29
  } from "viem"
30
30
  import { toAccount } from "viem/accounts"
31
31
  import { getChainId, signMessage, signTypedData } from "viem/actions"
32
- import { type KernelEncodeCallDataArgs } from "../../../types/kernel.js"
32
+ import type { KernelEncodeCallDataArgs } from "../../../types/kernel.js"
33
33
  import { wrapSignatureWith6492 } from "../../utils/6492.js"
34
34
  import { parseFactoryAddressAndCallDataFromAccountInitCode } from "../../utils/index.js"
35
35
  import {
@@ -37,7 +37,7 @@ import {
37
37
  encodeMultiSend,
38
38
  multiSendAbi
39
39
  } from "../../utils/multisend.js"
40
- import { type KernelSmartAccount } from "../createKernelAccount.js"
40
+ import type { KernelSmartAccount } from "../createKernelAccount.js"
41
41
 
42
42
  export type KernelV1SmartAccount<
43
43
  entryPoint extends EntryPoint,
@@ -44,7 +44,7 @@ import {
44
44
  isKernelPluginManager,
45
45
  toKernelPluginManager
46
46
  } from "../../utils/toKernelPluginManager.js"
47
- import { type KernelSmartAccount } from "../createKernelAccount.js"
47
+ import type { KernelSmartAccount } from "../createKernelAccount.js"
48
48
  import { KernelAccountV2Abi } from "./abi/KernelAccountV2Abi.js"
49
49
  import { KernelFactoryV2Abi } from "./abi/KernelFactoryV2Abi.js"
50
50
 
@@ -1,8 +1,5 @@
1
1
  import { type Address, type Hex, encodePacked, toBytes } from "viem"
2
- import {
3
- type CallType,
4
- type KernelEncodeCallDataArgs
5
- } from "../../types/index.js"
2
+ import type { CallType, KernelEncodeCallDataArgs } from "../../types/index.js"
6
3
 
7
4
  export const MULTISEND_ADDRESS = "0x8ae01fcf7c655655ff2c6ef907b8b4718ab4e17c"
8
5
 
@@ -1,8 +1,8 @@
1
1
  import { type SmartAccountActions, smartAccountActions } from "permissionless"
2
- import { type Middleware } from "permissionless/actions/smartAccount"
2
+ import type { Middleware } from "permissionless/actions/smartAccount"
3
3
  import type { EntryPoint, Prettify } from "permissionless/types"
4
4
  import type { Chain, Client, Transport } from "viem"
5
- import { type KernelSmartAccount } from "../../accounts/index.js"
5
+ import type { KernelSmartAccount } from "../../accounts/index.js"
6
6
  import {
7
7
  type GetUserOperationGasPriceReturnType,
8
8
  getUserOperationGasPrice
@@ -0,0 +1,62 @@
1
+ import type { EntryPoint } from "permissionless/types"
2
+ import type { Chain, Transport } from "viem"
3
+ import type { KernelSmartAccount } from "../accounts/index.js"
4
+ import type { KernelAccountClient } from "./kernelAccountClient.js"
5
+
6
+ export const createFallbackKernelAccountClient = <
7
+ TEntryPoint extends EntryPoint,
8
+ TTransport extends Transport,
9
+ TChain extends Chain | undefined,
10
+ TSmartAccount extends KernelSmartAccount<TEntryPoint> | undefined
11
+ >(
12
+ clients: Array<
13
+ KernelAccountClient<TEntryPoint, TTransport, TChain, TSmartAccount>
14
+ >
15
+ ): KernelAccountClient<TEntryPoint, TTransport, TChain, TSmartAccount> => {
16
+ const proxyClient = new Proxy(clients[0], {
17
+ get(_target, prop, receiver) {
18
+ for (const client of clients) {
19
+ const value = Reflect.get(client, prop, receiver)
20
+ if (value !== undefined) {
21
+ // If the property is a function, wrap it to add fallback logic
22
+ if (typeof value === "function") {
23
+ // biome-ignore lint/suspicious/noExplicitAny: <explanation>
24
+ return async (...args: any[]) => {
25
+ for (let i = 0; i < clients.length; i++) {
26
+ try {
27
+ const method = Reflect.get(
28
+ clients[i],
29
+ prop,
30
+ receiver
31
+ )
32
+ if (typeof method === "function") {
33
+ // Attempt to call the function on the current client
34
+ return await method(...args)
35
+ }
36
+ } catch (error) {
37
+ console.error(
38
+ `Action ${String(
39
+ prop
40
+ )} failed with client ${
41
+ client.transport.url
42
+ }, trying next if available.`,
43
+ error
44
+ )
45
+ if (i === clients.length - 1) {
46
+ throw error
47
+ }
48
+ }
49
+ }
50
+ }
51
+ }
52
+ // For non-function properties, return the first defined value found
53
+ return value
54
+ }
55
+ }
56
+ // If no clients have a defined value for the property, return undefined
57
+ return undefined
58
+ }
59
+ })
60
+
61
+ return proxyClient
62
+ }
package/clients/index.ts CHANGED
@@ -7,3 +7,5 @@ export {
7
7
  createKernelAccountClient,
8
8
  type KernelAccountClient
9
9
  } from "./kernelAccountClient.js"
10
+
11
+ export { createFallbackKernelAccountClient } from "./fallbackKernelAccountClient.js"
@@ -11,7 +11,7 @@ import {
11
11
  type Transport,
12
12
  createClient
13
13
  } from "viem"
14
- import { type KernelSmartAccount } from "../accounts/index.js"
14
+ import type { KernelSmartAccount } from "../accounts/index.js"
15
15
  import { getUserOperationGasPrice } from "../actions/account-client/getUserOperationGasPrice.js"
16
16
  import {
17
17
  type KernelAccountClientActions,
package/constants.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { EntryPointVersion } from "permissionless/types/entrypoint"
2
- import { type Address, type Hex } from "viem"
2
+ import type { Address, Hex } from "viem"
3
3
 
4
4
  export const DUMMY_ECDSA_SIG =
5
5
  "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
package/index.ts CHANGED
@@ -26,6 +26,7 @@ export {
26
26
  createKernelAccountClient,
27
27
  type KernelAccountClient
28
28
  } from "./clients/kernelAccountClient.js"
29
+ export { createFallbackKernelAccountClient } from "./clients/fallbackKernelAccountClient.js"
29
30
  export {
30
31
  type KernelValidator,
31
32
  type ZeroDevPaymasterRpcSchema,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zerodev/sdk",
3
- "version": "5.2.8",
3
+ "version": "5.2.9",
4
4
  "author": "ZeroDev",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
@@ -9,13 +9,7 @@
9
9
  "type": "module",
10
10
  "sideEffects": false,
11
11
  "description": "A utility library for working with ERC-4337",
12
- "keywords": [
13
- "ethereum",
14
- "erc-4337",
15
- "eip-4337",
16
- "paymaster",
17
- "bundler"
18
- ],
12
+ "keywords": ["ethereum", "erc-4337", "eip-4337", "paymaster", "bundler"],
19
13
  "license": "MIT",
20
14
  "files": [
21
15
  "_esm",
@@ -1,11 +1,11 @@
1
1
  import { EventEmitter } from "events"
2
- import { type KernelAccountClient } from "@zerodev/sdk"
2
+ import type { KernelAccountClient } from "@zerodev/sdk"
3
3
  import type { EntryPoint } from "permissionless/types"
4
- import {
5
- type EIP1193Parameters,
6
- type EIP1193RequestFn,
7
- type Hash,
8
- type SendTransactionParameters
4
+ import type {
5
+ EIP1193Parameters,
6
+ EIP1193RequestFn,
7
+ Hash,
8
+ SendTransactionParameters
9
9
  } from "viem"
10
10
 
11
11
  export class KernelEIP1193Provider<
package/types/kernel.ts CHANGED
@@ -7,9 +7,9 @@ import type {
7
7
  UserOperation,
8
8
  UserOperationWithBigIntAsHex
9
9
  } from "permissionless/types/userOperation"
10
- import { type Address, type Hex, type LocalAccount } from "viem"
10
+ import type { Address, Hex, LocalAccount } from "viem"
11
11
  import type { PartialBy } from "viem/types/utils"
12
- import { VALIDATOR_TYPE } from "../constants.js"
12
+ import type { VALIDATOR_TYPE } from "../constants.js"
13
13
  export type ZeroDevPaymasterRpcSchema<entryPoint extends EntryPoint> = [
14
14
  {
15
15
  Method: "zd_sponsorUserOperation"
package/utils.ts CHANGED
@@ -15,8 +15,8 @@ import {
15
15
  } from "viem"
16
16
  import type { ZeroDevPaymasterClient } from "./clients/paymasterClient.js"
17
17
  import {
18
- CALL_TYPE,
19
- EXEC_TYPE,
18
+ type CALL_TYPE,
19
+ type EXEC_TYPE,
20
20
  KernelImplToVersionMap,
21
21
  LATEST_KERNEL_VERSION
22
22
  } from "./constants.js"