Skip to content

Commit 99667a9

Browse files
committed
⬆️ Update erpc types with new admin + score multiplier
1 parent 68a3792 commit 99667a9

File tree

3 files changed

+80
-64
lines changed

3 files changed

+80
-64
lines changed

.changeset/long-years-own.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@konfeature/erpc-config-generator": patch
3+
---
4+
5+
Update erpc types for erpc `v0.0.27`

example/simple.yaml

Lines changed: 46 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -38,24 +38,16 @@ projects:
3838
ignoreMethods: &var2 []
3939
allowMethods: &var3 []
4040
autoIgnoreUnsupportedMethods: true
41-
id: free-polygon.rpc.blxrbdn.com-137-0x30cd11e7
42-
endpoint: https://polygon.rpc.blxrbdn.com
43-
type: evm
44-
- rateLimitBudget: ""
45-
vendorName: Free RPC
46-
ignoreMethods: *var2
47-
allowMethods: *var3
48-
autoIgnoreUnsupportedMethods: true
49-
id: free-polygon.blockpi.network-137-0x422b80d2
50-
endpoint: https://polygon.blockpi.network/v1/rpc/public
41+
id: free-polygon-rpc.com-137-0x7e82633b
42+
endpoint: https://polygon-rpc.com
5143
type: evm
5244
- rateLimitBudget: ""
5345
vendorName: Free RPC
5446
ignoreMethods: *var2
5547
allowMethods: *var3
5648
autoIgnoreUnsupportedMethods: true
57-
id: free-polygon-mainnet.rpcfast.com-137-0x49c7335a
58-
endpoint: https://polygon-mainnet.rpcfast.com?api_key=xbhWBI1Wkguk8SNMu1bvvLurPGLXmgwYeC4S6g2H7WdwFigZSmPWVZRxrskEQwIf
49+
id: free-rpc-mainnet.matic.quiknode.pro-137-0x842d867a
50+
endpoint: https://rpc-mainnet.matic.quiknode.pro
5951
type: evm
6052
- rateLimitBudget: ""
6153
vendorName: Free RPC
@@ -70,48 +62,40 @@ projects:
7062
ignoreMethods: *var2
7163
allowMethods: *var3
7264
autoIgnoreUnsupportedMethods: true
73-
id: free-polygon-rpc.com-137-0x7e82633b
74-
endpoint: https://polygon-rpc.com
75-
type: evm
76-
- rateLimitBudget: ""
77-
vendorName: Free RPC
78-
ignoreMethods: *var2
79-
allowMethods: *var3
80-
autoIgnoreUnsupportedMethods: true
81-
id: free-rpc.ankr.com-137-0x4ffa1946
82-
endpoint: https://rpc.ankr.com/polygon
65+
id: free-polygon.llamarpc.com-137-0x686624c0
66+
endpoint: https://polygon.llamarpc.com
8367
type: evm
8468
- rateLimitBudget: ""
8569
vendorName: Free RPC
8670
ignoreMethods: *var2
8771
allowMethods: *var3
8872
autoIgnoreUnsupportedMethods: true
89-
id: free-rpc-mainnet.matic.quiknode.pro-137-0x842d867a
90-
endpoint: https://rpc-mainnet.matic.quiknode.pro
73+
id: free-polygon.blockpi.network-137-0x422b80d2
74+
endpoint: https://polygon.blockpi.network/v1/rpc/public
9175
type: evm
9276
- rateLimitBudget: ""
9377
vendorName: Free RPC
9478
ignoreMethods: *var2
9579
allowMethods: *var3
9680
autoIgnoreUnsupportedMethods: true
97-
id: free-polygon.llamarpc.com-137-0x686624c0
98-
endpoint: https://polygon.llamarpc.com
81+
id: free-gateway.tenderly.co-137-0x6961563b
82+
endpoint: https://gateway.tenderly.co/public/polygon
9983
type: evm
10084
- rateLimitBudget: ""
10185
vendorName: Free RPC
10286
ignoreMethods: *var2
10387
allowMethods: *var3
10488
autoIgnoreUnsupportedMethods: true
105-
id: free-polygon.meowrpc.com-137-0xd918e198
106-
endpoint: https://polygon.meowrpc.com
89+
id: free-endpoints.omniatech.io-137-0xd1672fd6
90+
endpoint: https://endpoints.omniatech.io/v1/matic/mainnet/public
10791
type: evm
10892
- rateLimitBudget: ""
10993
vendorName: Free RPC
11094
ignoreMethods: *var2
11195
allowMethods: *var3
11296
autoIgnoreUnsupportedMethods: true
113-
id: free-polygon-pokt.nodies.app-137-0x657d48d8
114-
endpoint: https://polygon-pokt.nodies.app
97+
id: free-polygon.drpc.org-137-0x3156f382
98+
endpoint: https://polygon.drpc.org
11599
type: evm
116100
- rateLimitBudget: ""
117101
vendorName: Free RPC
@@ -126,8 +110,8 @@ projects:
126110
ignoreMethods: &var4 []
127111
allowMethods: &var5 []
128112
autoIgnoreUnsupportedMethods: true
129-
id: free-arbitrum.meowrpc.com-42161-0x8c868595
130-
endpoint: https://arbitrum.meowrpc.com
113+
id: free-rpc.ankr.com-42161-0xbe788eec
114+
endpoint: https://rpc.ankr.com/arbitrum
131115
type: evm
132116
- rateLimitBudget: ""
133117
vendorName: Free RPC
@@ -142,56 +126,56 @@ projects:
142126
ignoreMethods: *var4
143127
allowMethods: *var5
144128
autoIgnoreUnsupportedMethods: true
145-
id: free-arbitrum.drpc.org-42161-0x25ce3cf7
146-
endpoint: https://arbitrum.drpc.org
129+
id: free-arbitrum.meowrpc.com-42161-0x8c868595
130+
endpoint: https://arbitrum.meowrpc.com
147131
type: evm
148132
- rateLimitBudget: ""
149133
vendorName: Free RPC
150134
ignoreMethods: *var4
151135
allowMethods: *var5
152136
autoIgnoreUnsupportedMethods: true
153-
id: free-arbitrum.blockpi.network-42161-0xa4acaaa2
154-
endpoint: https://arbitrum.blockpi.network/v1/rpc/public
137+
id: free-arb1.arbitrum.io-42161-0x8fc12b98
138+
endpoint: https://arb1.arbitrum.io/rpc
155139
type: evm
156140
- rateLimitBudget: ""
157141
vendorName: Free RPC
158142
ignoreMethods: *var4
159143
allowMethods: *var5
160144
autoIgnoreUnsupportedMethods: true
161-
id: free-rpc.ankr.com-42161-0xbe788eec
162-
endpoint: https://rpc.ankr.com/arbitrum
145+
id: free-arbitrum.blockpi.network-42161-0xa4acaaa2
146+
endpoint: https://arbitrum.blockpi.network/v1/rpc/public
163147
type: evm
164148
- rateLimitBudget: ""
165149
vendorName: Free RPC
166150
ignoreMethods: *var4
167151
allowMethods: *var5
168152
autoIgnoreUnsupportedMethods: true
169-
id: free-arbitrum.llamarpc.com-42161-0x06988168
170-
endpoint: https://arbitrum.llamarpc.com
153+
id: free-arbitrum.drpc.org-42161-0x25ce3cf7
154+
endpoint: https://arbitrum.drpc.org
171155
type: evm
172156
- rateLimitBudget: ""
173157
vendorName: Free RPC
174158
ignoreMethods: *var4
175159
allowMethods: *var5
176160
autoIgnoreUnsupportedMethods: true
177-
id: free-arb1.arbitrum.io-42161-0x8fc12b98
178-
endpoint: https://arb1.arbitrum.io/rpc
161+
id: free-1rpc.io-42161-0x801c8b34
162+
endpoint: https://1rpc.io/arb
179163
type: evm
180164
- rateLimitBudget: ""
181165
vendorName: Free RPC
182166
ignoreMethods: *var4
183167
allowMethods: *var5
184168
autoIgnoreUnsupportedMethods: true
185-
id: free-1rpc.io-42161-0x801c8b34
186-
endpoint: https://1rpc.io/arb
169+
id: free-endpoints.omniatech.io-42161-0xa1689459
170+
endpoint: https://endpoints.omniatech.io/v1/arbitrum/one/public
187171
type: evm
188172
- rateLimitBudget: ""
189173
vendorName: Free RPC
190174
ignoreMethods: *var4
191175
allowMethods: *var5
192176
autoIgnoreUnsupportedMethods: true
193-
id: free-rpc.tornadoeth.cash-42161-0x1c739970
194-
endpoint: https://rpc.tornadoeth.cash/arbitrum
177+
id: free-arbitrum.llamarpc.com-42161-0x06988168
178+
endpoint: https://arbitrum.llamarpc.com
195179
type: evm
196180
- rateLimitBudget: ""
197181
vendorName: Free RPC
@@ -206,48 +190,48 @@ projects:
206190
ignoreMethods: *var6
207191
allowMethods: *var7
208192
autoIgnoreUnsupportedMethods: true
209-
id: free-op-pokt.nodies.app-10-0x4bfacfc4
210-
endpoint: https://op-pokt.nodies.app
193+
id: free-mainnet.optimism.io-10-0xb4ebd524
194+
endpoint: https://mainnet.optimism.io
211195
type: evm
212196
- rateLimitBudget: ""
213197
vendorName: Free RPC
214198
ignoreMethods: *var6
215199
allowMethods: *var7
216200
autoIgnoreUnsupportedMethods: true
217-
id: free-mainnet.optimism.io-10-0xb4ebd524
218-
endpoint: https://mainnet.optimism.io
201+
id: free-op-pokt.nodies.app-10-0x4bfacfc4
202+
endpoint: https://op-pokt.nodies.app
219203
type: evm
220204
- rateLimitBudget: ""
221205
vendorName: Free RPC
222206
ignoreMethods: *var6
223207
allowMethods: *var7
224208
autoIgnoreUnsupportedMethods: true
225-
id: free-optimism.api.onfinality.io-10-0x7c6f6606
226-
endpoint: https://optimism.api.onfinality.io/public
209+
id: free-gateway.tenderly.co-10-0xcaf97347
210+
endpoint: https://gateway.tenderly.co/public/optimism
227211
type: evm
228212
- rateLimitBudget: ""
229213
vendorName: Free RPC
230214
ignoreMethods: *var6
231215
allowMethods: *var7
232216
autoIgnoreUnsupportedMethods: true
233-
id: free-optimism.blockpi.network-10-0x3b0301fd
234-
endpoint: https://optimism.blockpi.network/v1/rpc/public
217+
id: free-optimism.gateway.tenderly.co-10-0xd0f68f72
218+
endpoint: https://optimism.gateway.tenderly.co
235219
type: evm
236220
- rateLimitBudget: ""
237221
vendorName: Free RPC
238222
ignoreMethods: *var6
239223
allowMethods: *var7
240224
autoIgnoreUnsupportedMethods: true
241-
id: free-optimism.drpc.org-10-0xd9ac9d69
242-
endpoint: https://optimism.drpc.org
225+
id: free-optimism.blockpi.network-10-0x3b0301fd
226+
endpoint: https://optimism.blockpi.network/v1/rpc/public
243227
type: evm
244228
- rateLimitBudget: ""
245229
vendorName: Free RPC
246230
ignoreMethods: *var6
247231
allowMethods: *var7
248232
autoIgnoreUnsupportedMethods: true
249-
id: free-gateway.tenderly.co-10-0xcaf97347
250-
endpoint: https://gateway.tenderly.co/public/optimism
233+
id: free-optimism.drpc.org-10-0xd9ac9d69
234+
endpoint: https://optimism.drpc.org
251235
type: evm
252236
- rateLimitBudget: ""
253237
vendorName: Free RPC
@@ -262,14 +246,14 @@ projects:
262246
ignoreMethods: *var6
263247
allowMethods: *var7
264248
autoIgnoreUnsupportedMethods: true
265-
id: free-optimism.gateway.tenderly.co-10-0xd0f68f72
266-
endpoint: https://optimism.gateway.tenderly.co
249+
id: free-endpoints.omniatech.io-10-0x3c5c0dd9
250+
endpoint: https://endpoints.omniatech.io/v1/op/mainnet/public
267251
type: evm
268252
- rateLimitBudget: ""
269253
vendorName: Free RPC
270254
ignoreMethods: *var6
271255
allowMethods: *var7
272256
autoIgnoreUnsupportedMethods: true
273-
id: free-endpoints.omniatech.io-10-0x3c5c0dd9
274-
endpoint: https://endpoints.omniatech.io/v1/op/mainnet/public
257+
id: free-optimism.llamarpc.com-10-0x1f5afe72
258+
endpoint: https://optimism.llamarpc.com
275259
type: evm

src/generatedTypes/erpcTypes.ts

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
export interface Config {
1010
logLevel: string;
1111
server?: ServerConfig;
12+
admin?: AdminConfig;
1213
database?: DatabaseConfig;
1314
projects: (ProjectConfig | undefined)[];
1415
rateLimiters?: RateLimiterConfig;
1516
metrics?: MetricsConfig;
16-
admin?: AdminConfig;
1717
}
1818
export interface ServerConfig {
1919
listenV4: boolean;
@@ -25,6 +25,7 @@ export interface ServerConfig {
2525
}
2626
export interface AdminConfig {
2727
auth?: AuthConfig;
28+
cors?: CORSConfig;
2829
}
2930
export interface DatabaseConfig {
3031
evmJsonRpcCache?: ConnectorConfig;
@@ -74,7 +75,6 @@ export interface AwsAuthConfig {
7475
}
7576
export interface ProjectConfig {
7677
id: string;
77-
admin?: AdminConfig;
7878
auth?: AuthConfig;
7979
cors?: CORSConfig;
8080
upstreams: (UpstreamConfig | undefined)[];
@@ -103,6 +103,21 @@ export interface UpstreamConfig {
103103
failsafe?: FailsafeConfig;
104104
rateLimitBudget: string;
105105
rateLimitAutoTune?: RateLimitAutoTuneConfig;
106+
routing?: RoutingConfig;
107+
}
108+
export interface RoutingConfig {
109+
scoreMultipliers: (ScoreMultiplierConfig | undefined)[];
110+
}
111+
export interface ScoreMultiplierConfig {
112+
network: string;
113+
method: string;
114+
overall: number /* float64 */;
115+
errorRate: number /* float64 */;
116+
p90latency: number /* float64 */;
117+
totalRequests: number /* float64 */;
118+
throttledRate: number /* float64 */;
119+
blockHeadLag: number /* float64 */;
120+
finalizationLag: number /* float64 */;
106121
}
107122
export type Alias = UpstreamConfig;
108123
export interface RateLimitAutoTuneConfig {
@@ -250,6 +265,17 @@ export type Network = any;
250265
//////////
251266
// source: upstream.go
252267

268+
export type Scope = string;
269+
/**
270+
* Policies must be created with a "network" in mind,
271+
* assuming there will be many upstreams e.g. Retry might endup using a different upstream
272+
*/
273+
export const ScopeNetwork: Scope = "network";
274+
/**
275+
* Policies must be created with one only "upstream" in mind
276+
* e.g. Retry with be towards the same upstream
277+
*/
278+
export const ScopeUpstream: Scope = "upstream";
253279
export type UpstreamType = string;
254280
export const UpstreamTypeEvm: UpstreamType = "evm";
255281
export const UpstreamTypeEvmAlchemy: UpstreamType = "evm+alchemy";
@@ -259,6 +285,7 @@ export const UpstreamTypeEvmEnvio: UpstreamType = "evm+envio";
259285
export const UpstreamTypeEvmPimlico: UpstreamType = "evm+pimlico";
260286
export const UpstreamTypeEvmThirdweb: UpstreamType = "evm+thirdweb";
261287
export const UpstreamTypeEvmEtherspot: UpstreamType = "evm+etherspot";
288+
export const UpstreamTypeEvmInfura: UpstreamType = "evm+infura";
262289
export type Upstream = any;
263290

264291
//////////

0 commit comments

Comments
 (0)