ox 1.0.0-beta.1 → 1.0.0-beta.2
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/dist/core/RpcSchema.d.ts +5 -3
- package/dist/core/RpcSchema.d.ts.map +1 -1
- package/dist/zod/RpcSchema.d.ts +91 -29
- package/dist/zod/RpcSchema.d.ts.map +1 -1
- package/dist/zod/RpcSchema.js +75 -12
- package/dist/zod/RpcSchema.js.map +1 -1
- package/dist/zod/internal/rpcSchemas/Eth.d.ts +12 -12
- package/dist/zod/internal/rpcSchemas/Eth.d.ts.map +1 -1
- package/dist/zod/internal/rpcSchemas/Eth.js +14 -12
- package/dist/zod/internal/rpcSchemas/Eth.js.map +1 -1
- package/package.json +1 -1
- package/src/core/RpcSchema.ts +5 -3
- package/src/version.ts +1 -1
- package/src/zod/RpcSchema.ts +108 -17
- package/src/zod/_test/RpcSchema.test-d.ts +27 -9
- package/src/zod/_test/RpcSchema.test.ts +86 -22
- package/src/zod/internal/rpcSchemas/Eth.ts +14 -12
- package/src/zod/tempo/_test/RpcSchemaTempo.test.ts +1 -1
|
@@ -7,10 +7,12 @@ import * as z_Fee from '../../Fee.js';
|
|
|
7
7
|
import * as z_Filter from '../../Filter.js';
|
|
8
8
|
import * as z_Hex from '../../Hex.js';
|
|
9
9
|
import * as z_Log from '../../Log.js';
|
|
10
|
+
import * as z_Number from '../../Number.js';
|
|
10
11
|
import * as z_StateOverrides from '../../StateOverrides.js';
|
|
11
12
|
import * as z_Transaction from '../../Transaction.js';
|
|
12
13
|
import * as z_TransactionReceipt from '../../TransactionReceipt.js';
|
|
13
14
|
import * as z_TransactionRequest from '../../TransactionRequest.js';
|
|
15
|
+
import * as z_Uint from '../../Uint.js';
|
|
14
16
|
import * as z from 'zod/mini';
|
|
15
17
|
import { from } from './from.js';
|
|
16
18
|
const NoParams = z.optional(z.tuple([]));
|
|
@@ -52,12 +54,12 @@ export const eth_accounts = from({
|
|
|
52
54
|
export const eth_blobBaseFee = from({
|
|
53
55
|
method: 'eth_blobBaseFee',
|
|
54
56
|
params: NoParams,
|
|
55
|
-
returns:
|
|
57
|
+
returns: z_Uint.Uint,
|
|
56
58
|
});
|
|
57
59
|
export const eth_blockNumber = from({
|
|
58
60
|
method: 'eth_blockNumber',
|
|
59
61
|
params: NoParams,
|
|
60
|
-
returns:
|
|
62
|
+
returns: z_Uint.Uint,
|
|
61
63
|
});
|
|
62
64
|
export const eth_call = from({
|
|
63
65
|
method: 'eth_call',
|
|
@@ -67,7 +69,7 @@ export const eth_call = from({
|
|
|
67
69
|
export const eth_chainId = from({
|
|
68
70
|
method: 'eth_chainId',
|
|
69
71
|
params: NoParams,
|
|
70
|
-
returns:
|
|
72
|
+
returns: z_Number.Number,
|
|
71
73
|
});
|
|
72
74
|
export const eth_coinbase = from({
|
|
73
75
|
method: 'eth_coinbase',
|
|
@@ -77,7 +79,7 @@ export const eth_coinbase = from({
|
|
|
77
79
|
export const eth_estimateGas = from({
|
|
78
80
|
method: 'eth_estimateGas',
|
|
79
81
|
params: Call,
|
|
80
|
-
returns:
|
|
82
|
+
returns: z_Uint.Uint,
|
|
81
83
|
});
|
|
82
84
|
export const eth_feeHistory = from({
|
|
83
85
|
method: 'eth_feeHistory',
|
|
@@ -91,12 +93,12 @@ export const eth_feeHistory = from({
|
|
|
91
93
|
export const eth_gasPrice = from({
|
|
92
94
|
method: 'eth_gasPrice',
|
|
93
95
|
params: NoParams,
|
|
94
|
-
returns:
|
|
96
|
+
returns: z_Uint.Uint,
|
|
95
97
|
});
|
|
96
98
|
export const eth_getBalance = from({
|
|
97
99
|
method: 'eth_getBalance',
|
|
98
100
|
params: z.tuple([z_Address.Address, BlockNumberOrTagOrIdentifier]),
|
|
99
|
-
returns:
|
|
101
|
+
returns: z_Uint.Uint,
|
|
100
102
|
});
|
|
101
103
|
export const eth_getBlockByHash = from({
|
|
102
104
|
method: 'eth_getBlockByHash',
|
|
@@ -111,12 +113,12 @@ export const eth_getBlockByNumber = from({
|
|
|
111
113
|
export const eth_getBlockTransactionCountByHash = from({
|
|
112
114
|
method: 'eth_getBlockTransactionCountByHash',
|
|
113
115
|
params: z.tuple([z_Hex.Hex]),
|
|
114
|
-
returns:
|
|
116
|
+
returns: z_Number.Number,
|
|
115
117
|
});
|
|
116
118
|
export const eth_getBlockTransactionCountByNumber = from({
|
|
117
119
|
method: 'eth_getBlockTransactionCountByNumber',
|
|
118
120
|
params: z.tuple([BlockNumberOrTag]),
|
|
119
|
-
returns:
|
|
121
|
+
returns: z_Number.Number,
|
|
120
122
|
});
|
|
121
123
|
export const eth_getCode = from({
|
|
122
124
|
method: 'eth_getCode',
|
|
@@ -170,7 +172,7 @@ export const eth_getTransactionByHash = from({
|
|
|
170
172
|
export const eth_getTransactionCount = from({
|
|
171
173
|
method: 'eth_getTransactionCount',
|
|
172
174
|
params: z.tuple([z_Address.Address, BlockNumberOrTagOrIdentifier]),
|
|
173
|
-
returns:
|
|
175
|
+
returns: z_Number.Number,
|
|
174
176
|
});
|
|
175
177
|
export const eth_getTransactionReceipt = from({
|
|
176
178
|
method: 'eth_getTransactionReceipt',
|
|
@@ -180,17 +182,17 @@ export const eth_getTransactionReceipt = from({
|
|
|
180
182
|
export const eth_getUncleCountByBlockHash = from({
|
|
181
183
|
method: 'eth_getUncleCountByBlockHash',
|
|
182
184
|
params: z.tuple([z_Hex.Hex]),
|
|
183
|
-
returns:
|
|
185
|
+
returns: z_Number.Number,
|
|
184
186
|
});
|
|
185
187
|
export const eth_getUncleCountByBlockNumber = from({
|
|
186
188
|
method: 'eth_getUncleCountByBlockNumber',
|
|
187
189
|
params: z.tuple([BlockNumberOrTag]),
|
|
188
|
-
returns:
|
|
190
|
+
returns: z_Number.Number,
|
|
189
191
|
});
|
|
190
192
|
export const eth_maxPriorityFeePerGas = from({
|
|
191
193
|
method: 'eth_maxPriorityFeePerGas',
|
|
192
194
|
params: NoParams,
|
|
193
|
-
returns:
|
|
195
|
+
returns: z_Uint.Uint,
|
|
194
196
|
});
|
|
195
197
|
export const eth_newBlockFilter = from({
|
|
196
198
|
method: 'eth_newBlockFilter',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Eth.js","sourceRoot":"","sources":["../../../../src/zod/internal/rpcSchemas/Eth.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAA;AACrD,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AAExC,uCAAuC;AACvC,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;AAE/D,0DAA0D;AAC1D,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC;IAC3C,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,UAAU;CACnB,CAAC,CAAA;AAEF,wCAAwC;AACxC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACpB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,uBAAuB;CAChC,CAAC,CAAA;AAEF,8CAA8C;AAC9C,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;AAE/E,mEAAmE;AACnE,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;IACnB,CAAC,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC,CAAC,KAAK,CAAC;QACN,oBAAoB,CAAC,kBAAkB;QACvC,4BAA4B;KAC7B,CAAC;IACF,CAAC,CAAC,KAAK,CAAC;QACN,oBAAoB,CAAC,kBAAkB;QACvC,4BAA4B;QAC5B,gBAAgB,CAAC,cAAc;KAChC,CAAC;CACH,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;CACpC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Eth.js","sourceRoot":"","sources":["../../../../src/zod/internal/rpcSchemas/Eth.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAA;AACrD,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AAExC,uCAAuC;AACvC,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;AAE/D,0DAA0D;AAC1D,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC;IAC3C,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,UAAU;CACnB,CAAC,CAAA;AAEF,wCAAwC;AACxC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACpB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,uBAAuB;CAChC,CAAC,CAAA;AAEF,8CAA8C;AAC9C,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;AAE/E,mEAAmE;AACnE,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;IACnB,CAAC,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC,CAAC,KAAK,CAAC;QACN,oBAAoB,CAAC,kBAAkB;QACvC,4BAA4B;KAC7B,CAAC;IACF,CAAC,CAAC,KAAK,CAAC;QACN,oBAAoB,CAAC,kBAAkB;QACvC,4BAA4B;QAC5B,gBAAgB,CAAC,cAAc;KAChC,CAAC;CACH,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;CACpC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC,IAAI;CACrB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC,IAAI;CACrB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,KAAK,CAAC,GAAG;CACnB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ,CAAC,MAAM;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS,CAAC,OAAO;CAC3B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,MAAM,CAAC,IAAI;CACrB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;QACd,KAAK,CAAC,GAAG;QACT,gBAAgB;QAChB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;KAC9C,CAAC;IACF,OAAO,EAAE,KAAK,CAAC,UAAU;CAC1B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC,IAAI;CACrB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;IAClE,OAAO,EAAE,MAAM,CAAC,IAAI;CACrB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;IACrC,MAAM,EAAE,oBAAoB;IAC5B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;CAC3B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;IACvC,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;CAC3B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,IAAI,CAAC;IACrD,MAAM,EAAE,oCAAoC;IAC5C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,EAAE,QAAQ,CAAC,MAAM;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,CAAC;IACvD,MAAM,EAAE,sCAAsC;IAC9C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACnC,OAAO,EAAE,QAAQ,CAAC,MAAM;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;IAClE,OAAO,EAAE,KAAK,CAAC,GAAG;CACnB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;IACvC,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3D,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;CAC5B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;CAC5B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;QACd,SAAS,CAAC,OAAO;QACjB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;QAClB,4BAA4B;KAC7B,CAAC;IACF,OAAO,EAAE,cAAc,CAAC,YAAY;CACrC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;IAC7E,OAAO,EAAE,KAAK,CAAC,GAAG;CACnB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,qCAAqC,GAAG,IAAI,CAAC;IACxD,MAAM,EAAE,uCAAuC;IAC/C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;CACjC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,CAAC;IAC1D,MAAM,EAAE,yCAAyC;IACjD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;CACjC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;IAC3C,MAAM,EAAE,0BAA0B;IAClC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;CACjC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;IAC1C,MAAM,EAAE,yBAAyB;IACjC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;IAClE,OAAO,EAAE,QAAQ,CAAC,MAAM;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;IAC5C,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;CAC7D,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;IAC/C,MAAM,EAAE,8BAA8B;IACtC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,EAAE,QAAQ,CAAC,MAAM;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAC;IACjD,MAAM,EAAE,gCAAgC;IACxC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACnC,OAAO,EAAE,QAAQ,CAAC,MAAM;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;IAC3C,MAAM,EAAE,0BAA0B;IAClC,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC,IAAI;CACrB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;IACrC,MAAM,EAAE,oBAAoB;IAC5B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,KAAK,CAAC,GAAG;CACnB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,EAAE,KAAK,CAAC,GAAG;CACnB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,CAAC;IAClD,MAAM,EAAE,iCAAiC;IACzC,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,KAAK,CAAC,GAAG;CACnB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;CACpC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;IACzC,MAAM,EAAE,wBAAwB;IAChC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,EAAE,KAAK,CAAC,GAAG;CACnB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;IAC7C,MAAM,EAAE,4BAA4B;IACpC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,OAAO,EAAE,oBAAoB,CAAC,kBAAkB;CACjD,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC1D,OAAO,EAAE,KAAK,CAAC,GAAG;CACnB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;QACd,CAAC,CAAC,MAAM,CAAC;YACP,eAAe,EAAE,CAAC,CAAC,KAAK,CACtB,CAAC,CAAC,MAAM,CAAC;gBACP,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC;gBAC3D,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;gBACnE,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC;aAC5D,CAAC,CACH;YACD,sBAAsB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAC/C,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACvC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACpC,CAAC;QACF,4BAA4B;KAC7B,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,YAAY,CACZ,KAAK,EACL,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,QAAQ,CACf,CAAC,CAAC,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;YACP,KAAK,EAAE,CAAC,CAAC,QAAQ,CACf,CAAC,CAAC,MAAM,CAAC;gBACP,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;gBAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;aACpB,CAAC,CACH;YACD,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,OAAO,EAAE,KAAK,CAAC,GAAG;YAClB,UAAU,EAAE,KAAK,CAAC,GAAG;YACrB,MAAM,EAAE,KAAK,CAAC,GAAG;SAClB,CAAC,CACH,CACF;KACF,CAAC,CACH,CACF;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC1D,OAAO,EAAE,KAAK,CAAC,GAAG;CACnB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;IACvC,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,OAAO,EAAE,KAAK,CAAC,GAAG;CACnB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CAAA"}
|
package/package.json
CHANGED
package/src/core/RpcSchema.ts
CHANGED
|
@@ -286,8 +286,10 @@ export type FromViem<schema extends readonly ViemSchemaItem[]> = {
|
|
|
286
286
|
* Converts a record of Zod `params`/`returns` schemas (keyed by method name) to
|
|
287
287
|
* an Ox {@link ox#RpcSchema.Generic} (union of `{ Request, ReturnType }`).
|
|
288
288
|
*
|
|
289
|
-
* Each method's name comes from its key
|
|
290
|
-
*
|
|
289
|
+
* Each method's name comes from its key. Both `params` and `ReturnType` are
|
|
290
|
+
* derived from the Zod schema's input (wire) type, since raw JSON-RPC clients
|
|
291
|
+
* send and receive wire values. Decode wire results to their native
|
|
292
|
+
* representation explicitly via {@link ox#zod/RpcSchema.decodeReturns}.
|
|
291
293
|
*
|
|
292
294
|
* @example
|
|
293
295
|
* ```ts twoslash
|
|
@@ -304,7 +306,7 @@ export type FromZod<namespace extends FromZod.Namespace> = {
|
|
|
304
306
|
method: method
|
|
305
307
|
params: z.input<namespace[method]['params']>
|
|
306
308
|
}
|
|
307
|
-
ReturnType: z.
|
|
309
|
+
ReturnType: z.input<namespace[method]['returns']>
|
|
308
310
|
}>
|
|
309
311
|
}[keyof namespace & string]
|
|
310
312
|
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** @internal */
|
|
2
|
-
export const version = '1.0.0-beta.
|
|
2
|
+
export const version = '1.0.0-beta.2'
|
package/src/zod/RpcSchema.ts
CHANGED
|
@@ -16,7 +16,8 @@ export type { Item } from './internal/rpcSchemas/from.js'
|
|
|
16
16
|
* - A record of `{ params, returns }` keyed by method name, returning a
|
|
17
17
|
* normalized `RpcSchema.Namespace` (each method's name is taken from its key
|
|
18
18
|
* and its `request` schema is derived). The result is usable with the
|
|
19
|
-
* `RpcSchema.
|
|
19
|
+
* `RpcSchema.decode*`/`RpcSchema.encode*` methods and as a schema for
|
|
20
|
+
* `Provider`/`RpcTransport`.
|
|
20
21
|
*
|
|
21
22
|
* @example
|
|
22
23
|
* ### Single Method
|
|
@@ -27,7 +28,7 @@ export type { Item } from './internal/rpcSchemas/from.js'
|
|
|
27
28
|
* const eth_blockNumber = z.RpcSchema.from({
|
|
28
29
|
* method: 'eth_blockNumber',
|
|
29
30
|
* params: z.optional(z.tuple([])),
|
|
30
|
-
* returns: z.Hex.Hex
|
|
31
|
+
* returns: z.Hex.Hex
|
|
31
32
|
* })
|
|
32
33
|
* ```
|
|
33
34
|
*
|
|
@@ -41,11 +42,15 @@ export type { Item } from './internal/rpcSchemas/from.js'
|
|
|
41
42
|
* ...z.RpcSchema.Eth,
|
|
42
43
|
* abe_foo: {
|
|
43
44
|
* params: z.tuple([z.number()]),
|
|
44
|
-
* returns: z.string()
|
|
45
|
-
* }
|
|
45
|
+
* returns: z.string()
|
|
46
|
+
* }
|
|
46
47
|
* })
|
|
47
48
|
*
|
|
48
|
-
* const params = z.RpcSchema.
|
|
49
|
+
* const params = z.RpcSchema.decodeParams(
|
|
50
|
+
* schema,
|
|
51
|
+
* 'abe_foo',
|
|
52
|
+
* [123]
|
|
53
|
+
* )
|
|
49
54
|
* ```
|
|
50
55
|
*/
|
|
51
56
|
export function from<
|
|
@@ -147,13 +152,15 @@ export function parseItem<
|
|
|
147
152
|
}
|
|
148
153
|
|
|
149
154
|
/**
|
|
150
|
-
*
|
|
155
|
+
* Decodes (wire → native) the `params` for a method on a namespace. Use on the
|
|
156
|
+
* receiving side (e.g. a server) to coerce incoming wire params into their
|
|
157
|
+
* native representation.
|
|
151
158
|
*
|
|
152
159
|
* @example
|
|
153
160
|
* ```ts twoslash
|
|
154
161
|
* import { z } from 'ox/zod'
|
|
155
162
|
*
|
|
156
|
-
* const params = z.RpcSchema.
|
|
163
|
+
* const params = z.RpcSchema.decodeParams(
|
|
157
164
|
* z.RpcSchema.Eth,
|
|
158
165
|
* 'eth_getBlockByNumber',
|
|
159
166
|
* ['0x1', true]
|
|
@@ -162,7 +169,7 @@ export function parseItem<
|
|
|
162
169
|
*
|
|
163
170
|
* @throws `RpcSchema.MethodNotFoundError` if the method does not exist.
|
|
164
171
|
*/
|
|
165
|
-
export function
|
|
172
|
+
export function decodeParams<
|
|
166
173
|
const namespace extends Namespace,
|
|
167
174
|
method extends MethodName<namespace>,
|
|
168
175
|
>(
|
|
@@ -174,13 +181,44 @@ export function parseParams<
|
|
|
174
181
|
}
|
|
175
182
|
|
|
176
183
|
/**
|
|
177
|
-
*
|
|
184
|
+
* Encodes (native → wire) the `params` for a method on a namespace. Use on the
|
|
185
|
+
* sending side (e.g. a client) to serialize native params into the wire shape
|
|
186
|
+
* a JSON-RPC endpoint expects.
|
|
178
187
|
*
|
|
179
188
|
* @example
|
|
180
189
|
* ```ts twoslash
|
|
181
190
|
* import { z } from 'ox/zod'
|
|
182
191
|
*
|
|
183
|
-
* const
|
|
192
|
+
* const params = z.RpcSchema.encodeParams(
|
|
193
|
+
* z.RpcSchema.Eth,
|
|
194
|
+
* 'eth_getBlockByNumber',
|
|
195
|
+
* [1n, true]
|
|
196
|
+
* )
|
|
197
|
+
* ```
|
|
198
|
+
*
|
|
199
|
+
* @throws `RpcSchema.MethodNotFoundError` if the method does not exist.
|
|
200
|
+
*/
|
|
201
|
+
export function encodeParams<
|
|
202
|
+
const namespace extends Namespace,
|
|
203
|
+
method extends MethodName<namespace>,
|
|
204
|
+
>(
|
|
205
|
+
namespace: namespace,
|
|
206
|
+
method: method,
|
|
207
|
+
params: z.output<namespace[method]['params']>,
|
|
208
|
+
): z.input<namespace[method]['params']> {
|
|
209
|
+
return z.encode(parseItem(namespace, method).params, params as never) as never
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Decodes (wire → native) the `returns` value for a method on a namespace. Use
|
|
214
|
+
* on the receiving side (e.g. a client) to coerce a wire result into its native
|
|
215
|
+
* representation.
|
|
216
|
+
*
|
|
217
|
+
* @example
|
|
218
|
+
* ```ts twoslash
|
|
219
|
+
* import { z } from 'ox/zod'
|
|
220
|
+
*
|
|
221
|
+
* const result = z.RpcSchema.decodeReturns(
|
|
184
222
|
* z.RpcSchema.Eth,
|
|
185
223
|
* 'eth_blockNumber',
|
|
186
224
|
* '0x1b4'
|
|
@@ -189,7 +227,7 @@ export function parseParams<
|
|
|
189
227
|
*
|
|
190
228
|
* @throws `RpcSchema.MethodNotFoundError` if the method does not exist.
|
|
191
229
|
*/
|
|
192
|
-
export function
|
|
230
|
+
export function decodeReturns<
|
|
193
231
|
const namespace extends Namespace,
|
|
194
232
|
method extends MethodName<namespace>,
|
|
195
233
|
>(
|
|
@@ -204,20 +242,52 @@ export function parseReturns<
|
|
|
204
242
|
}
|
|
205
243
|
|
|
206
244
|
/**
|
|
207
|
-
*
|
|
208
|
-
* a
|
|
245
|
+
* Encodes (native → wire) the `returns` value for a method on a namespace. Use
|
|
246
|
+
* on the sending side (e.g. a server) to serialize a native result into the
|
|
247
|
+
* wire shape.
|
|
209
248
|
*
|
|
210
249
|
* @example
|
|
211
250
|
* ```ts twoslash
|
|
212
251
|
* import { z } from 'ox/zod'
|
|
213
252
|
*
|
|
214
|
-
* const
|
|
253
|
+
* const result = z.RpcSchema.encodeReturns(
|
|
254
|
+
* z.RpcSchema.Eth,
|
|
255
|
+
* 'eth_blockNumber',
|
|
256
|
+
* 436n
|
|
257
|
+
* )
|
|
258
|
+
* ```
|
|
259
|
+
*
|
|
260
|
+
* @throws `RpcSchema.MethodNotFoundError` if the method does not exist.
|
|
261
|
+
*/
|
|
262
|
+
export function encodeReturns<
|
|
263
|
+
const namespace extends Namespace,
|
|
264
|
+
method extends MethodName<namespace>,
|
|
265
|
+
>(
|
|
266
|
+
namespace: namespace,
|
|
267
|
+
method: method,
|
|
268
|
+
returns: z.output<namespace[method]['returns']>,
|
|
269
|
+
): z.input<namespace[method]['returns']> {
|
|
270
|
+
return z.encode(
|
|
271
|
+
parseItem(namespace, method).returns,
|
|
272
|
+
returns as never,
|
|
273
|
+
) as never
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Decodes (wire → native) a full JSON-RPC request (`{ method, params }`)
|
|
278
|
+
* against a namespace, dispatching on `method`.
|
|
279
|
+
*
|
|
280
|
+
* @example
|
|
281
|
+
* ```ts twoslash
|
|
282
|
+
* import { z } from 'ox/zod'
|
|
283
|
+
*
|
|
284
|
+
* const request = z.RpcSchema.decodeRequest(z.RpcSchema.Eth, {
|
|
215
285
|
* method: 'eth_getBlockByNumber',
|
|
216
286
|
* params: ['0x1', true]
|
|
217
287
|
* })
|
|
218
288
|
* ```
|
|
219
289
|
*/
|
|
220
|
-
export function
|
|
290
|
+
export function decodeRequest<const namespace extends Namespace>(
|
|
221
291
|
namespace: namespace,
|
|
222
292
|
request: RequestInput<namespace>,
|
|
223
293
|
): RequestOutput<namespace> {
|
|
@@ -225,7 +295,28 @@ export function parseRequest<const namespace extends Namespace>(
|
|
|
225
295
|
}
|
|
226
296
|
|
|
227
297
|
/**
|
|
228
|
-
*
|
|
298
|
+
* Encodes (native → wire) a full JSON-RPC request (`{ method, params }`)
|
|
299
|
+
* against a namespace, dispatching on `method`.
|
|
300
|
+
*
|
|
301
|
+
* @example
|
|
302
|
+
* ```ts twoslash
|
|
303
|
+
* import { z } from 'ox/zod'
|
|
304
|
+
*
|
|
305
|
+
* const request = z.RpcSchema.encodeRequest(z.RpcSchema.Eth, {
|
|
306
|
+
* method: 'eth_getBlockByNumber',
|
|
307
|
+
* params: [1n, true]
|
|
308
|
+
* })
|
|
309
|
+
* ```
|
|
310
|
+
*/
|
|
311
|
+
export function encodeRequest<const namespace extends Namespace>(
|
|
312
|
+
namespace: namespace,
|
|
313
|
+
request: RequestOutput<namespace>,
|
|
314
|
+
): RequestInput<namespace> {
|
|
315
|
+
return z.encode(requestSchema(namespace), request as never) as never
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* Alias for `RpcSchema.decodeRequest`.
|
|
229
320
|
*
|
|
230
321
|
* @example
|
|
231
322
|
* ```ts twoslash
|
|
@@ -240,7 +331,7 @@ export function parseRequest<const namespace extends Namespace>(
|
|
|
240
331
|
* })
|
|
241
332
|
* ```
|
|
242
333
|
*/
|
|
243
|
-
export const parse =
|
|
334
|
+
export const parse = decodeRequest
|
|
244
335
|
|
|
245
336
|
/** Wire (input) request envelope for a namespace. */
|
|
246
337
|
export type RequestInput<namespace extends Namespace> = {
|
|
@@ -7,12 +7,23 @@ import * as z from 'zod/mini'
|
|
|
7
7
|
import * as z_RpcSchema from '../RpcSchema.js'
|
|
8
8
|
|
|
9
9
|
test('method items mirror wire (input) and domain (output) shapes', () => {
|
|
10
|
-
// Scalar return types
|
|
10
|
+
// Scalar quantity return types are wire hex on input, native on output.
|
|
11
11
|
expectTypeOf<
|
|
12
12
|
z.input<typeof z_RpcSchema.Eth.eth_blockNumber.returns>
|
|
13
13
|
>().toEqualTypeOf<core_Hex.Hex>()
|
|
14
14
|
expectTypeOf<
|
|
15
15
|
z.output<typeof z_RpcSchema.Eth.eth_blockNumber.returns>
|
|
16
|
+
>().toEqualTypeOf<bigint>()
|
|
17
|
+
expectTypeOf<
|
|
18
|
+
z.output<typeof z_RpcSchema.Eth.eth_chainId.returns>
|
|
19
|
+
>().toEqualTypeOf<number>()
|
|
20
|
+
|
|
21
|
+
// Data/bytecode return types stay as wire hex.
|
|
22
|
+
expectTypeOf<
|
|
23
|
+
z.output<typeof z_RpcSchema.Eth.eth_call.returns>
|
|
24
|
+
>().toEqualTypeOf<core_Hex.Hex>()
|
|
25
|
+
expectTypeOf<
|
|
26
|
+
z.output<typeof z_RpcSchema.Eth.eth_getCode.returns>
|
|
16
27
|
>().toEqualTypeOf<core_Hex.Hex>()
|
|
17
28
|
|
|
18
29
|
// Address arrays.
|
|
@@ -29,10 +40,10 @@ test('method items mirror wire (input) and domain (output) shapes', () => {
|
|
|
29
40
|
>().toEqualTypeOf<core_Fee.FeeHistory>()
|
|
30
41
|
})
|
|
31
42
|
|
|
32
|
-
test('
|
|
43
|
+
test('decode helpers infer params/returns by method', () => {
|
|
33
44
|
// Params: block number is wire hex on input, bigint on output.
|
|
34
45
|
expectTypeOf(
|
|
35
|
-
z_RpcSchema.
|
|
46
|
+
z_RpcSchema.decodeParams(z_RpcSchema.Eth, 'eth_getBlockByNumber', [
|
|
36
47
|
'0x1',
|
|
37
48
|
true,
|
|
38
49
|
]),
|
|
@@ -40,8 +51,8 @@ test('parse helpers infer params/returns by method', () => {
|
|
|
40
51
|
|
|
41
52
|
// Returns: decoded to domain values.
|
|
42
53
|
expectTypeOf(
|
|
43
|
-
z_RpcSchema.
|
|
44
|
-
).toEqualTypeOf<
|
|
54
|
+
z_RpcSchema.decodeReturns(z_RpcSchema.Eth, 'eth_blockNumber', '0x1b4'),
|
|
55
|
+
).toEqualTypeOf<bigint>()
|
|
45
56
|
|
|
46
57
|
// Item lookup preserves the literal method name.
|
|
47
58
|
expectTypeOf(
|
|
@@ -49,7 +60,14 @@ test('parse helpers infer params/returns by method', () => {
|
|
|
49
60
|
).toEqualTypeOf<'eth_blockNumber'>()
|
|
50
61
|
})
|
|
51
62
|
|
|
52
|
-
test('
|
|
63
|
+
test('encode helpers infer params/returns by method', () => {
|
|
64
|
+
// Returns: native bigint on input, wire hex on output.
|
|
65
|
+
expectTypeOf(
|
|
66
|
+
z_RpcSchema.encodeReturns(z_RpcSchema.Eth, 'eth_blockNumber', 436n),
|
|
67
|
+
).toEqualTypeOf<core_Hex.Hex>()
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
test('from: namespace returns a decodable namespace', () => {
|
|
53
71
|
const schema = z_RpcSchema.from({
|
|
54
72
|
abe_foo: {
|
|
55
73
|
params: z.tuple([z.number()]),
|
|
@@ -60,12 +78,12 @@ test('from: namespace returns a parseable namespace', () => {
|
|
|
60
78
|
// Method name taken from the key.
|
|
61
79
|
expectTypeOf(schema.abe_foo.method).toEqualTypeOf<'abe_foo'>()
|
|
62
80
|
|
|
63
|
-
// Usable with
|
|
64
|
-
expectTypeOf(z_RpcSchema.
|
|
81
|
+
// Usable with decode* methods.
|
|
82
|
+
expectTypeOf(z_RpcSchema.decodeParams(schema, 'abe_foo', [1])).toEqualTypeOf<
|
|
65
83
|
[number]
|
|
66
84
|
>()
|
|
67
85
|
expectTypeOf(
|
|
68
|
-
z_RpcSchema.
|
|
86
|
+
z_RpcSchema.decodeReturns(schema, 'abe_foo', 'hello'),
|
|
69
87
|
).toEqualTypeOf<string>()
|
|
70
88
|
})
|
|
71
89
|
|