@lodestar/builder 1.47.0-dev.f3dcc639a0 → 1.47.0-rc.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.
- package/lib/identity.d.ts.map +1 -1
- package/lib/identity.js +28 -19
- package/lib/identity.js.map +1 -1
- package/lib/services/builderSigner.d.ts +1 -1
- package/lib/services/builderSigner.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/identity.ts +28 -19
- package/src/services/builderSigner.ts +1 -1
package/lib/identity.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAA4B,MAAM,EAAC,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,MAAM,EAAC,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAe,MAAM,
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAA4B,MAAM,EAAC,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,MAAM,EAAC,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAe,MAAM,EAA2C,MAAM,iBAAiB,CAAC;AAE/F,eAAO,MAAM,2BAA2B,QAAY,CAAC;AAErD,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAC3B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,YAAY,CAAC,CAgBvB;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,GAC1B,OAAO,CAAC;IAAC,MAAM,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GAAG,IAAI,CAAC,CAe1D"}
|
package/lib/identity.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ApiError, HttpStatusCode } from "@lodestar/api";
|
|
2
2
|
import { PAYLOAD_BUILDER_VERSION } from "@lodestar/params";
|
|
3
|
-
import { ErrorAborted, sleep, toHex } from "@lodestar/utils";
|
|
3
|
+
import { ErrorAborted, TimeoutError, isFetchError, sleep, toHex } from "@lodestar/utils";
|
|
4
4
|
export const WAITING_FOR_BUILDER_POLL_MS = 10 * 1000;
|
|
5
5
|
export async function resolveBuilderIdentity(api, logger, id, signal, clock, config) {
|
|
6
6
|
const builderEntry = await waitForBuilder(api, logger, id, signal, clock, config);
|
|
@@ -18,7 +18,7 @@ export async function resolveBuilderIdentity(api, logger, id, signal, clock, con
|
|
|
18
18
|
}
|
|
19
19
|
export async function getBuilderStatus(api, logger, id) {
|
|
20
20
|
try {
|
|
21
|
-
const builderEntry = await fetchBuilder(api, id);
|
|
21
|
+
const builderEntry = await fetchBuilder(api, logger, id);
|
|
22
22
|
if (builderEntry) {
|
|
23
23
|
return {
|
|
24
24
|
status: builderEntry.status,
|
|
@@ -49,7 +49,7 @@ async function waitForBuilder(api, logger, id, signal, clock, config) {
|
|
|
49
49
|
}
|
|
50
50
|
let builder = null;
|
|
51
51
|
try {
|
|
52
|
-
builder = await fetchBuilder(api, id);
|
|
52
|
+
builder = await fetchBuilder(api, logger, id);
|
|
53
53
|
}
|
|
54
54
|
catch (e) {
|
|
55
55
|
// At the fork boundary getStateBuilders("head") can still 400: it serves the head block's
|
|
@@ -81,24 +81,33 @@ async function waitForBuilder(api, logger, id, signal, clock, config) {
|
|
|
81
81
|
}
|
|
82
82
|
throw new ErrorAborted("waitForBuilder");
|
|
83
83
|
}
|
|
84
|
-
async function fetchBuilder(api, id) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
const builder = builders[0];
|
|
94
|
-
if (typeof id === "number") {
|
|
95
|
-
if (id !== builder.index) {
|
|
96
|
-
throw Error(`Index mismatch: got=${builder.index} expected=${id}`);
|
|
84
|
+
async function fetchBuilder(api, logger, id) {
|
|
85
|
+
try {
|
|
86
|
+
const builderRes = await api.beacon.getStateBuilders({
|
|
87
|
+
stateId: "head",
|
|
88
|
+
builderIds: [id],
|
|
89
|
+
});
|
|
90
|
+
const builders = builderRes.value();
|
|
91
|
+
if (builders.length === 0) {
|
|
92
|
+
return null;
|
|
97
93
|
}
|
|
94
|
+
const builder = builders[0];
|
|
95
|
+
if (typeof id === "number") {
|
|
96
|
+
if (id !== builder.index) {
|
|
97
|
+
throw Error(`Index mismatch: got=${builder.index} expected=${id}`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
else if (id !== toHex(builder.builder.pubkey)) {
|
|
101
|
+
throw Error(`Pubkey mismatch: got=${toHex(builder.builder.pubkey)} expected=${id}`);
|
|
102
|
+
}
|
|
103
|
+
return builder;
|
|
98
104
|
}
|
|
99
|
-
|
|
100
|
-
|
|
105
|
+
catch (e) {
|
|
106
|
+
if (e instanceof TimeoutError || (isFetchError(e) && e.type !== "input")) {
|
|
107
|
+
logger.warn("Failed to fetch builder", { message: e.message });
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
throw e;
|
|
101
111
|
}
|
|
102
|
-
return builder;
|
|
103
112
|
}
|
|
104
113
|
//# sourceMappingURL=identity.js.map
|
package/lib/identity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,QAAQ,EAAE,cAAc,EAAS,MAAM,eAAe,CAAC;AAE1E,OAAO,EAAC,uBAAuB,EAAC,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAC,YAAY,EAAU,KAAK,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builderSigner.d.ts","sourceRoot":"","sources":["../../src/services/builderSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,SAAS,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"builderSigner.d.ts","sourceRoot":"","sources":["../../src/services/builderSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,SAAS,EAAC,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,MAAM,MAAM,OAAO,GAAG;IAAC,SAAS,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAC,CAAC;AAEnE,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAElC,YAAY,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAGjD;IAED,4BAA4B,CAAC,QAAQ,EAAE,KAAK,CAAC,wBAAwB,GAAG,KAAK,CAAC,8BAA8B,CAO3G;IAED,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,mBAAmB,GAAG,KAAK,CAAC,yBAAyB,CAOvF;IAED,YAAY,IAAI,MAAM,CAErB;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lodestar/builder",
|
|
3
|
-
"version": "1.47.0-
|
|
3
|
+
"version": "1.47.0-rc.0",
|
|
4
4
|
"description": "A Typescript implementation of the builder client",
|
|
5
5
|
"author": "ChainSafe Systems",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -46,18 +46,18 @@
|
|
|
46
46
|
"blockchain"
|
|
47
47
|
],
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@chainsafe/
|
|
50
|
-
"@chainsafe/ssz": "^1.6.
|
|
51
|
-
"@lodestar/api": "^1.47.0-
|
|
52
|
-
"@lodestar/config": "^1.47.0-
|
|
53
|
-
"@lodestar/params": "^1.47.0-
|
|
54
|
-
"@lodestar/state-transition": "^1.47.0-
|
|
55
|
-
"@lodestar/types": "^1.47.0-
|
|
56
|
-
"@lodestar/utils": "^1.47.0-
|
|
49
|
+
"@chainsafe/lodestar-z": "catalog:",
|
|
50
|
+
"@chainsafe/ssz": "^1.6.3",
|
|
51
|
+
"@lodestar/api": "^1.47.0-rc.0",
|
|
52
|
+
"@lodestar/config": "^1.47.0-rc.0",
|
|
53
|
+
"@lodestar/params": "^1.47.0-rc.0",
|
|
54
|
+
"@lodestar/state-transition": "^1.47.0-rc.0",
|
|
55
|
+
"@lodestar/types": "^1.47.0-rc.0",
|
|
56
|
+
"@lodestar/utils": "^1.47.0-rc.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@lodestar/logger": "^1.47.0-
|
|
60
|
-
"@lodestar/test-utils": "^1.47.0-
|
|
59
|
+
"@lodestar/logger": "^1.47.0-rc.0",
|
|
60
|
+
"@lodestar/test-utils": "^1.47.0-rc.0"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "f911cc099e402b3f8daf3130e722a09053c8e31f"
|
|
63
63
|
}
|
package/src/identity.ts
CHANGED
|
@@ -3,7 +3,7 @@ import {ChainForkConfig} from "@lodestar/config";
|
|
|
3
3
|
import {PAYLOAD_BUILDER_VERSION} from "@lodestar/params";
|
|
4
4
|
import {IClock} from "@lodestar/state-transition";
|
|
5
5
|
import {BuilderIndex, BuilderStatus} from "@lodestar/types";
|
|
6
|
-
import {ErrorAborted, Logger, sleep, toHex} from "@lodestar/utils";
|
|
6
|
+
import {ErrorAborted, Logger, TimeoutError, isFetchError, sleep, toHex} from "@lodestar/utils";
|
|
7
7
|
|
|
8
8
|
export const WAITING_FOR_BUILDER_POLL_MS = 10 * 1000;
|
|
9
9
|
|
|
@@ -38,7 +38,7 @@ export async function getBuilderStatus(
|
|
|
38
38
|
id: routes.beacon.BuilderId
|
|
39
39
|
): Promise<{status: BuilderStatus; balance: number} | null> {
|
|
40
40
|
try {
|
|
41
|
-
const builderEntry = await fetchBuilder(api, id);
|
|
41
|
+
const builderEntry = await fetchBuilder(api, logger, id);
|
|
42
42
|
if (builderEntry) {
|
|
43
43
|
return {
|
|
44
44
|
status: builderEntry.status,
|
|
@@ -77,7 +77,7 @@ async function waitForBuilder(
|
|
|
77
77
|
|
|
78
78
|
let builder: routes.beacon.BuilderResponse | null = null;
|
|
79
79
|
try {
|
|
80
|
-
builder = await fetchBuilder(api, id);
|
|
80
|
+
builder = await fetchBuilder(api, logger, id);
|
|
81
81
|
} catch (e) {
|
|
82
82
|
// At the fork boundary getStateBuilders("head") can still 400: it serves the head block's
|
|
83
83
|
// post-state, which stays pre-gloas until a gloas-epoch block is head. Keep polling on the transient.
|
|
@@ -111,28 +111,37 @@ async function waitForBuilder(
|
|
|
111
111
|
|
|
112
112
|
async function fetchBuilder(
|
|
113
113
|
api: ApiClient,
|
|
114
|
+
logger: Logger,
|
|
114
115
|
id: routes.beacon.BuilderId
|
|
115
116
|
): Promise<routes.beacon.BuilderResponse | null> {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
117
|
+
try {
|
|
118
|
+
const builderRes = await api.beacon.getStateBuilders({
|
|
119
|
+
stateId: "head",
|
|
120
|
+
builderIds: [id],
|
|
121
|
+
});
|
|
120
122
|
|
|
121
|
-
|
|
123
|
+
const builders = builderRes.value();
|
|
122
124
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
125
|
+
if (builders.length === 0) {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
126
128
|
|
|
127
|
-
|
|
129
|
+
const builder = builders[0];
|
|
128
130
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
131
|
+
if (typeof id === "number") {
|
|
132
|
+
if (id !== builder.index) {
|
|
133
|
+
throw Error(`Index mismatch: got=${builder.index} expected=${id}`);
|
|
134
|
+
}
|
|
135
|
+
} else if (id !== toHex(builder.builder.pubkey)) {
|
|
136
|
+
throw Error(`Pubkey mismatch: got=${toHex(builder.builder.pubkey)} expected=${id}`);
|
|
132
137
|
}
|
|
133
|
-
} else if (id !== toHex(builder.builder.pubkey)) {
|
|
134
|
-
throw Error(`Pubkey mismatch: got=${toHex(builder.builder.pubkey)} expected=${id}`);
|
|
135
|
-
}
|
|
136
138
|
|
|
137
|
-
|
|
139
|
+
return builder;
|
|
140
|
+
} catch (e) {
|
|
141
|
+
if (e instanceof TimeoutError || (isFetchError(e) && e.type !== "input")) {
|
|
142
|
+
logger.warn("Failed to fetch builder", {message: e.message});
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
throw e;
|
|
146
|
+
}
|
|
138
147
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {PublicKey, SecretKey} from "@chainsafe/blst";
|
|
1
|
+
import {PublicKey, SecretKey} from "@chainsafe/lodestar-z/blst";
|
|
2
2
|
import {BeaconConfig} from "@lodestar/config";
|
|
3
3
|
import {getExecutionPayloadBidSigningRoot, getExecutionPayloadEnvelopeSigningRoot} from "@lodestar/state-transition";
|
|
4
4
|
import {gloas} from "@lodestar/types";
|