Skip to content
Closed
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
},
"dependencies": {
"@chainsafe/persistent-merkle-tree": "^1.2.1",
"@chainsafe/ssz": "^1.2.2",
"@chainsafe/ssz": "^1.3.0",
"@lodestar/config": "^1.36.0",
"@lodestar/params": "^1.36.0",
"@lodestar/types": "^1.36.0",
Expand Down
8 changes: 4 additions & 4 deletions packages/api/src/beacon/routes/validator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -707,12 +707,12 @@ export function getDefinitions(config: ChainForkConfig): RouteDefinitions<Endpoi
(data as BlockContents).block as BeaconBlock<ForkPreDeneb> // <- tranformation
);
},
deserialize(data, {executionPayloadBlinded, version}) {
deserialize(data, opts, {executionPayloadBlinded, version}) {
return executionPayloadBlinded
? getPostBellatrixForkTypes(version).BlindedBeaconBlock.deserialize(data)
? getPostBellatrixForkTypes(version).BlindedBeaconBlock.deserialize(data, opts)
: isForkPostDeneb(version)
? sszTypesFor(version).BlockContents.deserialize(data)
: {block: ssz[version].BeaconBlock.deserialize(data)}; // <- tranformation
? sszTypesFor(version).BlockContents.deserialize(data, opts)
: {block: ssz[version].BeaconBlock.deserialize(data, opts)}; // <- tranformation
},
},
meta: {
Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/utils/client/response.ts
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ export class ApiResponse<E extends Endpoint> extends Response {
break;
}
case WireFormat.ssz:
this._value = this.definition.resp.data.deserialize(rawBody.value, meta);
this._value = this.definition.resp.data.deserialize(rawBody.value, undefined, meta);
break;
}
}
Expand Down
6 changes: 4 additions & 2 deletions packages/api/src/utils/codecs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,8 @@ export function WithMeta<T, M extends {version: ForkName}>(getType: (m: M) => Ty
toJson: (data, meta: M) => getType(meta).toJson(data),
fromJson: (data, meta: M) => getType(meta).fromJson(data),
serialize: (data, meta: M) => getType(meta).serialize(data),
deserialize: (data, meta: M) => getType(meta).deserialize(data),
deserialize: (data, opts: {reuseBytes?: boolean | undefined} | undefined, meta: M) =>
getType(meta).deserialize(data, opts),
};
}

Expand All @@ -94,7 +95,8 @@ export function WithVersion<T, M extends {version: ForkName}>(
toJson: (data, meta: M) => getType(meta.version).toJson(data),
fromJson: (data, meta: M) => getType(meta.version).fromJson(data),
serialize: (data, meta: M) => getType(meta.version).serialize(data),
deserialize: (data, meta: M) => getType(meta.version).deserialize(data),
deserialize: (data, opts: {reuseBytes?: boolean | undefined} | undefined, meta: M) =>
getType(meta.version).deserialize(data, opts),
};
}

Expand Down
5 changes: 4 additions & 1 deletion packages/api/src/utils/server/handler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,10 @@ export function createFastifyHandler<E extends Endpoint>(
void resp.headers(metaHeaders);
const data =
response?.data instanceof Uint8Array
? definition.resp.data.toJson(definition.resp.data.deserialize(response.data, response.meta), response.meta)
? definition.resp.data.toJson(
definition.resp.data.deserialize(response.data, undefined, response.meta),
response.meta
)
: definition.resp.data.toJson(response?.data, response?.meta);
const metaJson = definition.resp.meta.toJson(response?.meta);
if (definition.resp.transform) {
Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/utils/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ export type ResponseDataCodec<T, M> = {
toJson: (data: T, meta: M) => unknown; // server
fromJson: (data: unknown, meta: M) => T; // client
serialize: (data: T, meta: M) => Uint8Array; // server
deserialize: (data: Uint8Array, meta: M) => T; // client
deserialize: (data: Uint8Array, opts: {reuseBytes?: boolean | undefined} | undefined, meta: M) => T; // client
Comment thread
nflaig marked this conversation as resolved.
Resolved
};

export type ResponseMetadataCodec<T> = {
Expand Down
2 changes: 1 addition & 1 deletion packages/beacon-node/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"@chainsafe/persistent-merkle-tree": "^1.2.1",
"@chainsafe/prometheus-gc-stats": "^1.0.0",
"@chainsafe/pubkey-index-map": "^3.0.0",
"@chainsafe/ssz": "^1.2.2",
"@chainsafe/ssz": "^1.3.0",
"@chainsafe/threads": "^1.11.3",
"@crate-crypto/node-eth-kzg": "0.9.1",
"@ethersproject/abi": "^5.7.0",
Expand Down
6 changes: 3 additions & 3 deletions packages/beacon-node/src/network/gossip/topic.ts
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ export function getGossipSSZType(topic: GossipTopic) {
export function sszDeserialize<T extends GossipTopic>(topic: T, serializedData: Uint8Array): SSZTypeOfGossipTopic<T> {
const sszType = getGossipSSZType(topic);
try {
return sszType.deserialize(serializedData) as SSZTypeOfGossipTopic<T>;
return sszType.deserialize(serializedData, {reuseBytes: true}) as SSZTypeOfGossipTopic<T>;
Comment thread
nflaig marked this conversation as resolved.
Resolved
} catch (_e) {
throw new GossipActionError(GossipAction.REJECT, {code: GossipErrorCode.INVALID_SERIALIZED_BYTES_ERROR_CODE});
}
Expand All @@ -148,9 +148,9 @@ export function sszDeserializeAttestation(fork: ForkName, serializedData: Uint8A
export function sszDeserializeSingleAttestation(fork: ForkName, serializedData: Uint8Array): SingleAttestation {
try {
if (isForkPostElectra(fork)) {
return sszTypesFor(fork).SingleAttestation.deserialize(serializedData);
return sszTypesFor(fork).SingleAttestation.deserialize(serializedData, {reuseBytes: true});
}
return sszTypesFor(fork).Attestation.deserialize(serializedData) as SingleAttestation;
return sszTypesFor(fork).Attestation.deserialize(serializedData, {reuseBytes: true}) as SingleAttestation;
} catch (_e) {
throw new GossipActionError(GossipAction.REJECT, {code: GossipErrorCode.INVALID_SERIALIZED_BYTES_ERROR_CODE});
}
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
"@chainsafe/discv5": "^11.0.4",
"@chainsafe/enr": "^5.0.1",
"@chainsafe/persistent-merkle-tree": "^1.2.1",
"@chainsafe/ssz": "^1.2.2",
"@chainsafe/ssz": "^1.3.0",
"@chainsafe/threads": "^1.11.3",
"@libp2p/crypto": "^5.0.15",
"@libp2p/interface": "^2.7.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/config/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
"blockchain"
],
"dependencies": {
"@chainsafe/ssz": "^1.2.2",
"@chainsafe/ssz": "^1.3.0",
"@lodestar/params": "^1.36.0",
"@lodestar/types": "^1.36.0",
"@lodestar/utils": "^1.36.0"
Expand Down
2 changes: 1 addition & 1 deletion packages/db/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
"check-readme": "typescript-docs-verifier"
},
"dependencies": {
"@chainsafe/ssz": "^1.2.2",
"@chainsafe/ssz": "^1.3.0",
"@lodestar/config": "^1.36.0",
"@lodestar/utils": "^1.36.0",
"classic-level": "^1.4.1",
Expand Down
2 changes: 1 addition & 1 deletion packages/fork-choice/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
"check-readme": "typescript-docs-verifier"
},
"dependencies": {
"@chainsafe/ssz": "^1.2.2",
"@chainsafe/ssz": "^1.3.0",
"@lodestar/config": "^1.36.0",
"@lodestar/params": "^1.36.0",
"@lodestar/state-transition": "^1.36.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/light-client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
"@chainsafe/bls": "8.2.0",
"@chainsafe/blst": "^2.2.0",
"@chainsafe/persistent-merkle-tree": "^1.2.1",
"@chainsafe/ssz": "^1.2.2",
"@chainsafe/ssz": "^1.3.0",
"@lodestar/api": "^1.36.0",
"@lodestar/config": "^1.36.0",
"@lodestar/params": "^1.36.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/state-transition/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
"@chainsafe/persistent-merkle-tree": "^1.2.1",
"@chainsafe/persistent-ts": "^1.0.0",
"@chainsafe/pubkey-index-map": "^3.0.0",
"@chainsafe/ssz": "^1.2.2",
"@chainsafe/ssz": "^1.3.0",
"@chainsafe/swap-or-not-shuffle": "^1.2.1",
"@lodestar/config": "^1.36.0",
"@lodestar/params": "^1.36.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/types/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@
},
"types": "lib/index.d.ts",
"dependencies": {
"@chainsafe/ssz": "^1.2.2",
"@chainsafe/ssz": "^1.3.0",
"@lodestar/params": "^1.36.0",
"ethereum-cryptography": "^2.0.0"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/validator/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
],
"dependencies": {
"@chainsafe/blst": "^2.2.0",
"@chainsafe/ssz": "^1.2.2",
"@chainsafe/ssz": "^1.3.0",
"@lodestar/api": "^1.36.0",
"@lodestar/config": "^1.36.0",
"@lodestar/db": "^1.36.0",
Expand Down
8 changes: 4 additions & 4 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -718,10 +718,10 @@
"@chainsafe/as-sha256" "^0.4.1"
"@chainsafe/persistent-merkle-tree" "^0.6.1"

"@chainsafe/ssz@^1.2.2":
version "1.2.2"
resolved "https://registry.yarnpkg.com/@chainsafe/ssz/-/ssz-1.2.2.tgz#3c41b70bac9e646cb4cce0d49bda176ca87984ad"
integrity sha512-kIA3fJO6h2RsQndsNBlCSQYB4xfdZGMQvNPKPgbiB0mysV6okuxeJU3Nyl16xDCKv3tqej76eGYHcyjMVt7V1w==
"@chainsafe/ssz@^1.3.0":
version "1.3.0"
resolved "https://registry.yarnpkg.com/@chainsafe/ssz/-/ssz-1.3.0.tgz#dd9feebc096f9c726d7f7795e79032b41cbaf3c0"
integrity sha512-+O3WHnud8ZzIVF9/hSC+UazLDPgaa98quKLj/Z1PGnfGuW4JvCfS5Wh9EoZDvqGTI/AZlIbXpn4qC2s4BzQdfA==
dependencies:
"@chainsafe/as-sha256" "1.2.0"
"@chainsafe/persistent-merkle-tree" "1.2.1"
Expand Down
Loading