ox 0.4.4 → 0.6.0

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 (87) hide show
  1. package/BlockOverrides/package.json +6 -0
  2. package/CHANGELOG.md +14 -0
  3. package/StateOverrides/package.json +6 -0
  4. package/_cjs/core/BlockOverrides.js +63 -0
  5. package/_cjs/core/BlockOverrides.js.map +1 -0
  6. package/_cjs/core/StateOverrides.js +48 -0
  7. package/_cjs/core/StateOverrides.js.map +1 -0
  8. package/_cjs/erc4337/EntryPoint.js +1320 -0
  9. package/_cjs/erc4337/EntryPoint.js.map +1 -0
  10. package/_cjs/erc4337/RpcSchema.js +3 -0
  11. package/_cjs/erc4337/RpcSchema.js.map +1 -0
  12. package/_cjs/erc4337/UserOperation.js +152 -0
  13. package/_cjs/erc4337/UserOperation.js.map +1 -0
  14. package/_cjs/erc4337/UserOperationGas.js +31 -0
  15. package/_cjs/erc4337/UserOperationGas.js.map +1 -0
  16. package/_cjs/erc4337/UserOperationReceipt.js +35 -0
  17. package/_cjs/erc4337/UserOperationReceipt.js.map +1 -0
  18. package/_cjs/erc4337/index.js +9 -0
  19. package/_cjs/erc4337/index.js.map +1 -0
  20. package/_cjs/index.docs.js +1 -0
  21. package/_cjs/index.docs.js.map +1 -1
  22. package/_cjs/index.js +4 -2
  23. package/_cjs/index.js.map +1 -1
  24. package/_cjs/version.js +1 -1
  25. package/_esm/core/BlockOverrides.js +117 -0
  26. package/_esm/core/BlockOverrides.js.map +1 -0
  27. package/_esm/core/StateOverrides.js +78 -0
  28. package/_esm/core/StateOverrides.js.map +1 -0
  29. package/_esm/erc4337/EntryPoint.js +1321 -0
  30. package/_esm/erc4337/EntryPoint.js.map +1 -0
  31. package/_esm/erc4337/RpcSchema.js +2 -0
  32. package/_esm/erc4337/RpcSchema.js.map +1 -0
  33. package/_esm/erc4337/UserOperation.js +324 -0
  34. package/_esm/erc4337/UserOperation.js.map +1 -0
  35. package/_esm/erc4337/UserOperationGas.js +61 -0
  36. package/_esm/erc4337/UserOperationGas.js.map +1 -0
  37. package/_esm/erc4337/UserOperationReceipt.js +79 -0
  38. package/_esm/erc4337/UserOperationReceipt.js.map +1 -0
  39. package/_esm/erc4337/index.js +31 -0
  40. package/_esm/erc4337/index.js.map +1 -0
  41. package/_esm/index.docs.js +1 -0
  42. package/_esm/index.docs.js.map +1 -1
  43. package/_esm/index.js +12 -0
  44. package/_esm/index.js.map +1 -1
  45. package/_esm/version.js +1 -1
  46. package/_types/core/BlockOverrides.d.ts +89 -0
  47. package/_types/core/BlockOverrides.d.ts.map +1 -0
  48. package/_types/core/StateOverrides.d.ts +79 -0
  49. package/_types/core/StateOverrides.d.ts.map +1 -0
  50. package/_types/core/internal/rpcSchemas/eth.d.ts +34 -2
  51. package/_types/core/internal/rpcSchemas/eth.d.ts.map +1 -1
  52. package/_types/erc4337/EntryPoint.d.ts +1480 -0
  53. package/_types/erc4337/EntryPoint.d.ts.map +1 -0
  54. package/_types/erc4337/RpcSchema.d.ts +159 -0
  55. package/_types/erc4337/RpcSchema.d.ts.map +1 -0
  56. package/_types/erc4337/UserOperation.d.ts +330 -0
  57. package/_types/erc4337/UserOperation.d.ts.map +1 -0
  58. package/_types/erc4337/UserOperationGas.d.ts +62 -0
  59. package/_types/erc4337/UserOperationGas.d.ts.map +1 -0
  60. package/_types/erc4337/UserOperationReceipt.d.ts +87 -0
  61. package/_types/erc4337/UserOperationReceipt.d.ts.map +1 -0
  62. package/_types/erc4337/index.d.ts +33 -0
  63. package/_types/erc4337/index.d.ts.map +1 -0
  64. package/_types/index.d.ts +12 -0
  65. package/_types/index.d.ts.map +1 -1
  66. package/_types/index.docs.d.ts +1 -0
  67. package/_types/index.docs.d.ts.map +1 -1
  68. package/_types/version.d.ts +1 -1
  69. package/core/BlockOverrides.ts +146 -0
  70. package/core/StateOverrides.ts +131 -0
  71. package/core/internal/rpcSchemas/eth.ts +43 -4
  72. package/erc4337/EntryPoint/package.json +6 -0
  73. package/erc4337/EntryPoint.ts +1419 -0
  74. package/erc4337/RpcSchema/package.json +6 -0
  75. package/erc4337/RpcSchema.ts +179 -0
  76. package/erc4337/UserOperation/package.json +6 -0
  77. package/erc4337/UserOperation.ts +617 -0
  78. package/erc4337/UserOperationGas/package.json +6 -0
  79. package/erc4337/UserOperationGas.ts +109 -0
  80. package/erc4337/UserOperationReceipt/package.json +6 -0
  81. package/erc4337/UserOperationReceipt.ts +139 -0
  82. package/erc4337/index.ts +38 -0
  83. package/erc4337/package.json +6 -0
  84. package/index.docs.ts +1 -0
  85. package/index.ts +14 -0
  86. package/package.json +41 -1
  87. package/version.ts +1 -1
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../_types/core/BlockOverrides.d.ts",
4
+ "main": "../_cjs/core/BlockOverrides.js",
5
+ "module": "../_esm/core/BlockOverrides.js"
6
+ }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # ox
2
2
 
3
+ ## 0.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`94ec558`](https://github.com/wevm/ox/commit/94ec558c3f56d3254080be520a0d257e8b5d42c2) Thanks [@jxom](https://github.com/jxom)! - Added `BlockOverrides` & `StateOverrides` modules.
8
+
9
+ - [`94ec558`](https://github.com/wevm/ox/commit/94ec558c3f56d3254080be520a0d257e8b5d42c2) Thanks [@jxom](https://github.com/jxom)! - Added `eth_simulateV1` to `eth_` RPC schema.
10
+
11
+ ## 0.5.0
12
+
13
+ ### Minor Changes
14
+
15
+ - [`1406e22`](https://github.com/wevm/ox/commit/1406e224d0527732885fdb7737ed2f0dc41929ef) Thanks [@jxom](https://github.com/jxom)! - Added ERC-4337 utilities.
16
+
3
17
  ## 0.4.4
4
18
 
5
19
  ### Patch Changes
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../_types/core/StateOverrides.d.ts",
4
+ "main": "../_cjs/core/StateOverrides.js",
5
+ "module": "../_esm/core/StateOverrides.js"
6
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fromRpc = fromRpc;
4
+ exports.toRpc = toRpc;
5
+ const Hex = require("./Hex.js");
6
+ const Withdrawal = require("./Withdrawal.js");
7
+ function fromRpc(rpcBlockOverrides) {
8
+ return {
9
+ ...(rpcBlockOverrides.baseFeePerGas && {
10
+ baseFeePerGas: BigInt(rpcBlockOverrides.baseFeePerGas),
11
+ }),
12
+ ...(rpcBlockOverrides.blobBaseFee && {
13
+ blobBaseFee: BigInt(rpcBlockOverrides.blobBaseFee),
14
+ }),
15
+ ...(rpcBlockOverrides.feeRecipient && {
16
+ feeRecipient: rpcBlockOverrides.feeRecipient,
17
+ }),
18
+ ...(rpcBlockOverrides.gasLimit && {
19
+ gasLimit: BigInt(rpcBlockOverrides.gasLimit),
20
+ }),
21
+ ...(rpcBlockOverrides.number && {
22
+ number: BigInt(rpcBlockOverrides.number),
23
+ }),
24
+ ...(rpcBlockOverrides.prevRandao && {
25
+ prevRandao: BigInt(rpcBlockOverrides.prevRandao),
26
+ }),
27
+ ...(rpcBlockOverrides.time && {
28
+ time: BigInt(rpcBlockOverrides.time),
29
+ }),
30
+ ...(rpcBlockOverrides.withdrawals && {
31
+ withdrawals: rpcBlockOverrides.withdrawals.map(Withdrawal.fromRpc),
32
+ }),
33
+ };
34
+ }
35
+ function toRpc(blockOverrides) {
36
+ return {
37
+ ...(typeof blockOverrides.baseFeePerGas === 'bigint' && {
38
+ baseFeePerGas: Hex.fromNumber(blockOverrides.baseFeePerGas),
39
+ }),
40
+ ...(typeof blockOverrides.blobBaseFee === 'bigint' && {
41
+ blobBaseFee: Hex.fromNumber(blockOverrides.blobBaseFee),
42
+ }),
43
+ ...(typeof blockOverrides.feeRecipient === 'string' && {
44
+ feeRecipient: blockOverrides.feeRecipient,
45
+ }),
46
+ ...(typeof blockOverrides.gasLimit === 'bigint' && {
47
+ gasLimit: Hex.fromNumber(blockOverrides.gasLimit),
48
+ }),
49
+ ...(typeof blockOverrides.number === 'bigint' && {
50
+ number: Hex.fromNumber(blockOverrides.number),
51
+ }),
52
+ ...(typeof blockOverrides.prevRandao === 'bigint' && {
53
+ prevRandao: Hex.fromNumber(blockOverrides.prevRandao),
54
+ }),
55
+ ...(typeof blockOverrides.time === 'bigint' && {
56
+ time: Hex.fromNumber(blockOverrides.time),
57
+ }),
58
+ ...(blockOverrides.withdrawals && {
59
+ withdrawals: blockOverrides.withdrawals.map(Withdrawal.toRpc),
60
+ }),
61
+ };
62
+ }
63
+ //# sourceMappingURL=BlockOverrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockOverrides.js","sourceRoot":"","sources":["../../core/BlockOverrides.ts"],"names":[],"mappings":";;AA4DA,0BA2BC;AA+BD,sBA2BC;AAhJD,gCAA+B;AAC/B,8CAA6C;AA0D7C,SAAgB,OAAO,CAAC,iBAAsB;IAC5C,OAAO;QACL,GAAG,CAAC,iBAAiB,CAAC,aAAa,IAAI;YACrC,aAAa,EAAE,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC;SACvD,CAAC;QACF,GAAG,CAAC,iBAAiB,CAAC,WAAW,IAAI;YACnC,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC;SACnD,CAAC;QACF,GAAG,CAAC,iBAAiB,CAAC,YAAY,IAAI;YACpC,YAAY,EAAE,iBAAiB,CAAC,YAAY;SAC7C,CAAC;QACF,GAAG,CAAC,iBAAiB,CAAC,QAAQ,IAAI;YAChC,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC;SAC7C,CAAC;QACF,GAAG,CAAC,iBAAiB,CAAC,MAAM,IAAI;YAC9B,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC;SACzC,CAAC;QACF,GAAG,CAAC,iBAAiB,CAAC,UAAU,IAAI;YAClC,UAAU,EAAE,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC;SACjD,CAAC;QACF,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI;YAC5B,IAAI,EAAE,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC;SACrC,CAAC;QACF,GAAG,CAAC,iBAAiB,CAAC,WAAW,IAAI;YACnC,WAAW,EAAE,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;SACnE,CAAC;KACH,CAAA;AACH,CAAC;AA+BD,SAAgB,KAAK,CAAC,cAA8B;IAClD,OAAO;QACL,GAAG,CAAC,OAAO,cAAc,CAAC,aAAa,KAAK,QAAQ,IAAI;YACtD,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC;SAC5D,CAAC;QACF,GAAG,CAAC,OAAO,cAAc,CAAC,WAAW,KAAK,QAAQ,IAAI;YACpD,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC;SACxD,CAAC;QACF,GAAG,CAAC,OAAO,cAAc,CAAC,YAAY,KAAK,QAAQ,IAAI;YACrD,YAAY,EAAE,cAAc,CAAC,YAAY;SAC1C,CAAC;QACF,GAAG,CAAC,OAAO,cAAc,CAAC,QAAQ,KAAK,QAAQ,IAAI;YACjD,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC;SAClD,CAAC;QACF,GAAG,CAAC,OAAO,cAAc,CAAC,MAAM,KAAK,QAAQ,IAAI;YAC/C,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC;SAC9C,CAAC;QACF,GAAG,CAAC,OAAO,cAAc,CAAC,UAAU,KAAK,QAAQ,IAAI;YACnD,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC;SACtD,CAAC;QACF,GAAG,CAAC,OAAO,cAAc,CAAC,IAAI,KAAK,QAAQ,IAAI;YAC7C,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC;SAC1C,CAAC;QACF,GAAG,CAAC,cAAc,CAAC,WAAW,IAAI;YAChC,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;SAC9D,CAAC;KACH,CAAA;AACH,CAAC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fromRpc = fromRpc;
4
+ exports.toRpc = toRpc;
5
+ const Hex = require("./Hex.js");
6
+ function fromRpc(rpcStateOverrides) {
7
+ const stateOverrides = {};
8
+ for (const [address, accountOverridesRpc] of Object.entries(rpcStateOverrides)) {
9
+ const accountOverrides = {};
10
+ if (accountOverridesRpc.balance)
11
+ accountOverrides.balance = BigInt(accountOverridesRpc.balance);
12
+ if (accountOverridesRpc.code)
13
+ accountOverrides.code = accountOverridesRpc.code;
14
+ if (accountOverridesRpc.movePrecompileToAddress)
15
+ accountOverrides.movePrecompileToAddress =
16
+ accountOverridesRpc.movePrecompileToAddress;
17
+ if (accountOverridesRpc.nonce)
18
+ accountOverrides.nonce = BigInt(accountOverridesRpc.nonce);
19
+ if (accountOverridesRpc.state)
20
+ accountOverrides.state = accountOverridesRpc.state;
21
+ if (accountOverridesRpc.stateDiff)
22
+ accountOverrides.stateDiff = accountOverridesRpc.stateDiff;
23
+ stateOverrides[address] = accountOverrides;
24
+ }
25
+ return stateOverrides;
26
+ }
27
+ function toRpc(stateOverrides) {
28
+ const rpcStateOverrides = {};
29
+ for (const [address, accountOverrides] of Object.entries(stateOverrides)) {
30
+ const accountOverridesRpc = {};
31
+ if (typeof accountOverrides.balance === 'bigint')
32
+ accountOverridesRpc.balance = Hex.fromNumber(accountOverrides.balance);
33
+ if (accountOverrides.code)
34
+ accountOverridesRpc.code = accountOverrides.code;
35
+ if (accountOverrides.movePrecompileToAddress)
36
+ accountOverridesRpc.movePrecompileToAddress =
37
+ accountOverrides.movePrecompileToAddress;
38
+ if (typeof accountOverrides.nonce === 'bigint')
39
+ accountOverridesRpc.nonce = Hex.fromNumber(accountOverrides.nonce);
40
+ if (accountOverrides.state)
41
+ accountOverridesRpc.state = accountOverrides.state;
42
+ if (accountOverrides.stateDiff)
43
+ accountOverridesRpc.stateDiff = accountOverrides.stateDiff;
44
+ rpcStateOverrides[address] = accountOverridesRpc;
45
+ }
46
+ return rpcStateOverrides;
47
+ }
48
+ //# sourceMappingURL=StateOverrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StateOverrides.js","sourceRoot":"","sources":["../../core/StateOverrides.ts"],"names":[],"mappings":";;AAsEA,0BAsBC;AAmBD,sBAmBC;AAjID,gCAA+B;AAqE/B,SAAgB,OAAO,CAAC,iBAAsB;IAC5C,MAAM,cAAc,GAAmB,EAAE,CAAA;IACzC,KAAK,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,MAAM,CAAC,OAAO,CACzD,iBAAiB,CAClB,EAAE,CAAC;QACF,MAAM,gBAAgB,GAAqB,EAAE,CAAA;QAC7C,IAAI,mBAAmB,CAAC,OAAO;YAC7B,gBAAgB,CAAC,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;QAChE,IAAI,mBAAmB,CAAC,IAAI;YAC1B,gBAAgB,CAAC,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAA;QAClD,IAAI,mBAAmB,CAAC,uBAAuB;YAC7C,gBAAgB,CAAC,uBAAuB;gBACtC,mBAAmB,CAAC,uBAAuB,CAAA;QAC/C,IAAI,mBAAmB,CAAC,KAAK;YAC3B,gBAAgB,CAAC,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAC5D,IAAI,mBAAmB,CAAC,KAAK;YAC3B,gBAAgB,CAAC,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAA;QACpD,IAAI,mBAAmB,CAAC,SAAS;YAC/B,gBAAgB,CAAC,SAAS,GAAG,mBAAmB,CAAC,SAAS,CAC3D;QAAC,cAAsB,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAA;IACtD,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AAmBD,SAAgB,KAAK,CAAC,cAA8B;IAClD,MAAM,iBAAiB,GAAQ,EAAE,CAAA;IACjC,KAAK,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACzE,MAAM,mBAAmB,GAAwB,EAAE,CAAA;QACnD,IAAI,OAAO,gBAAgB,CAAC,OAAO,KAAK,QAAQ;YAC9C,mBAAmB,CAAC,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QACxE,IAAI,gBAAgB,CAAC,IAAI;YAAE,mBAAmB,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAA;QAC3E,IAAI,gBAAgB,CAAC,uBAAuB;YAC1C,mBAAmB,CAAC,uBAAuB;gBACzC,gBAAgB,CAAC,uBAAuB,CAAA;QAC5C,IAAI,OAAO,gBAAgB,CAAC,KAAK,KAAK,QAAQ;YAC5C,mBAAmB,CAAC,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QACpE,IAAI,gBAAgB,CAAC,KAAK;YACxB,mBAAmB,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAA;QACpD,IAAI,gBAAgB,CAAC,SAAS;YAC5B,mBAAmB,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAC3D;QAAC,iBAAyB,CAAC,OAAO,CAAC,GAAG,mBAAmB,CAAA;IAC5D,CAAC;IACD,OAAO,iBAAiB,CAAA;AAC1B,CAAC"}