@aztec/stdlib 5.0.0-nightly.20260428 → 5.0.0-nightly.20260430
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/dest/avm/avm.d.ts +300 -300
- package/dest/block/attestation_info.d.ts +3 -2
- package/dest/block/attestation_info.d.ts.map +1 -1
- package/dest/block/attestation_info.js +7 -5
- package/dest/block/block_data.d.ts +290 -1
- package/dest/block/block_data.d.ts.map +1 -1
- package/dest/block/block_data.js +14 -0
- package/dest/block/block_parameter.d.ts +30 -3
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +36 -2
- package/dest/block/l2_block_source.d.ts +39 -4
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.d.ts +13 -6
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.js +26 -18
- package/dest/checkpoint/checkpoint_data.d.ts +7 -1
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_data.js +2 -0
- package/dest/config/chain-config.d.ts +2 -2
- package/dest/config/chain-config.d.ts.map +1 -1
- package/dest/config/chain-config.js +2 -2
- package/dest/config/sequencer-config.d.ts +2 -2
- package/dest/config/sequencer-config.d.ts.map +1 -1
- package/dest/config/sequencer-config.js +6 -6
- package/dest/ha-signing/local_config.d.ts +1 -1
- package/dest/ha-signing/local_config.d.ts.map +1 -1
- package/dest/ha-signing/local_config.js +2 -2
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +7 -3
- package/dest/interfaces/aztec-node-admin.d.ts +11 -1
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +2 -1
- package/dest/interfaces/aztec-node.d.ts +45 -55
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +18 -16
- package/dest/interfaces/block_response.d.ts +156 -0
- package/dest/interfaces/block_response.d.ts.map +1 -0
- package/dest/interfaces/block_response.js +24 -0
- package/dest/interfaces/chain_tips.d.ts +304 -0
- package/dest/interfaces/chain_tips.d.ts.map +1 -0
- package/dest/interfaces/chain_tips.js +11 -0
- package/dest/interfaces/checkpoint_parameter.d.ts +27 -0
- package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_parameter.js +20 -0
- package/dest/interfaces/checkpoint_response.d.ts +312 -0
- package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_response.js +26 -0
- package/dest/interfaces/client.d.ts +6 -1
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +5 -0
- package/dest/interfaces/configs.d.ts +7 -2
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +2 -1
- package/dest/interfaces/l1_publish_info.d.ts +43 -0
- package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
- package/dest/interfaces/l1_publish_info.js +26 -0
- package/dest/interfaces/proving-job.d.ts +166 -166
- package/dest/interfaces/server.d.ts +6 -1
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +5 -0
- package/dest/interfaces/validator.d.ts +10 -1
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +1 -0
- package/dest/p2p/block_proposal.d.ts +19 -9
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +42 -32
- package/dest/p2p/checkpoint_attestation.d.ts +7 -3
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +15 -17
- package/dest/p2p/checkpoint_proposal.d.ts +15 -7
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +31 -29
- package/dest/p2p/consensus_payload.d.ts +18 -7
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +31 -19
- package/dest/p2p/signature_utils.d.ts +28 -19
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +118 -21
- package/dest/p2p/signed_txs.d.ts +15 -13
- package/dest/p2p/signed_txs.d.ts.map +1 -1
- package/dest/p2p/signed_txs.js +26 -24
- package/dest/tests/mocks.d.ts +7 -1
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +28 -14
- package/dest/timetable/index.d.ts +1 -1
- package/dest/timetable/index.d.ts.map +1 -1
- package/dest/timetable/index.js +25 -11
- package/dest/tx/profiling.js +4 -4
- package/package.json +8 -8
- package/src/block/attestation_info.ts +11 -11
- package/src/block/block_data.ts +17 -0
- package/src/block/block_parameter.ts +35 -2
- package/src/block/l2_block_source.ts +43 -3
- package/src/block/proposal/attestations_and_signers.ts +32 -17
- package/src/checkpoint/checkpoint_data.ts +4 -0
- package/src/config/chain-config.ts +2 -3
- package/src/config/sequencer-config.ts +10 -6
- package/src/ha-signing/local_config.ts +2 -2
- package/src/interfaces/archiver.ts +13 -3
- package/src/interfaces/aztec-node-admin.ts +3 -1
- package/src/interfaces/aztec-node.ts +105 -95
- package/src/interfaces/block_response.ts +79 -0
- package/src/interfaces/chain_tips.ts +24 -0
- package/src/interfaces/checkpoint_parameter.ts +22 -0
- package/src/interfaces/checkpoint_response.ts +84 -0
- package/src/interfaces/client.ts +5 -0
- package/src/interfaces/configs.ts +5 -1
- package/src/interfaces/l1_publish_info.ts +40 -0
- package/src/interfaces/server.ts +5 -0
- package/src/interfaces/validator.ts +5 -0
- package/src/p2p/block_proposal.ts +84 -28
- package/src/p2p/checkpoint_attestation.ts +15 -20
- package/src/p2p/checkpoint_proposal.ts +69 -37
- package/src/p2p/consensus_payload.ts +50 -28
- package/src/p2p/signature_utils.ts +110 -25
- package/src/p2p/signed_txs.ts +46 -28
- package/src/tests/mocks.ts +46 -26
- package/src/timetable/index.ts +26 -11
- package/src/tx/profiling.ts +4 -4
|
@@ -1,26 +1,123 @@
|
|
|
1
1
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
2
|
import { keccak256 } from '@aztec/foundation/crypto/keccak';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return
|
|
3
|
+
import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
4
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
|
+
import { serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
|
+
import { hashTypedData } from 'viem';
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
export const EMPTY_COORDINATION_SIGNATURE_CONTEXT = {
|
|
9
|
+
chainId: 0,
|
|
10
|
+
rollupAddress: EthAddress.ZERO
|
|
11
|
+
};
|
|
12
|
+
export const coordinationSignatureContextSchema = z.object({
|
|
13
|
+
chainId: z.number(),
|
|
14
|
+
rollupAddress: EthAddress.schema
|
|
15
|
+
});
|
|
16
|
+
export function coordinationSignatureContextEquals(a, b) {
|
|
17
|
+
return a.chainId === b.chainId && a.rollupAddress.equals(b.rollupAddress);
|
|
18
|
+
}
|
|
19
|
+
export function serializeCoordinationSignatureContext(ctx) {
|
|
20
|
+
return serializeToBuffer([
|
|
21
|
+
ctx.chainId,
|
|
22
|
+
ctx.rollupAddress
|
|
23
|
+
]);
|
|
24
|
+
}
|
|
25
|
+
export function readCoordinationSignatureContext(reader) {
|
|
26
|
+
const chainId = reader.readNumber();
|
|
27
|
+
const rollupAddress = reader.readObject(EthAddress);
|
|
28
|
+
return {
|
|
29
|
+
chainId,
|
|
30
|
+
rollupAddress
|
|
31
|
+
};
|
|
18
32
|
}
|
|
19
33
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*/ export function
|
|
24
|
-
|
|
25
|
-
|
|
34
|
+
* Returns true if the signable carries a context matching the node's expected context.
|
|
35
|
+
* Use this at the P2P ingress boundary to reject foreign-chain messages cheaply before
|
|
36
|
+
* performing any signature recovery.
|
|
37
|
+
*/ export function hasValidSignatureContext(signable, expected) {
|
|
38
|
+
return coordinationSignatureContextEquals(signable.signatureContext, expected);
|
|
39
|
+
}
|
|
40
|
+
const COORDINATION_SIGNATURE_NAME = 'Aztec Rollup';
|
|
41
|
+
const COORDINATION_SIGNATURE_VERSION = '1';
|
|
42
|
+
const EIP712_DOMAIN_FIELDS = [
|
|
43
|
+
{
|
|
44
|
+
name: 'name',
|
|
45
|
+
type: 'string'
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'version',
|
|
49
|
+
type: 'string'
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'chainId',
|
|
53
|
+
type: 'uint256'
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: 'verifyingContract',
|
|
57
|
+
type: 'address'
|
|
58
|
+
}
|
|
59
|
+
];
|
|
60
|
+
const COORDINATION_SIGNATURE_TYPES = {
|
|
61
|
+
EIP712Domain: EIP712_DOMAIN_FIELDS,
|
|
62
|
+
BlockProposal: [
|
|
63
|
+
{
|
|
64
|
+
name: 'payloadHash',
|
|
65
|
+
type: 'bytes32'
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
CheckpointProposal: [
|
|
69
|
+
{
|
|
70
|
+
name: 'payloadHash',
|
|
71
|
+
type: 'bytes32'
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
CheckpointAttestation: [
|
|
75
|
+
{
|
|
76
|
+
name: 'payloadHash',
|
|
77
|
+
type: 'bytes32'
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
AttestationsAndSigners: [
|
|
81
|
+
{
|
|
82
|
+
name: 'payloadHash',
|
|
83
|
+
type: 'bytes32'
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
SignedTxs: [
|
|
87
|
+
{
|
|
88
|
+
name: 'payloadHash',
|
|
89
|
+
type: 'bytes32'
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
};
|
|
93
|
+
export function getCoordinationSignatureTypedDataForPayloadHash(payloadHash, type, context) {
|
|
94
|
+
return {
|
|
95
|
+
domain: {
|
|
96
|
+
name: COORDINATION_SIGNATURE_NAME,
|
|
97
|
+
version: COORDINATION_SIGNATURE_VERSION,
|
|
98
|
+
chainId: context.chainId,
|
|
99
|
+
verifyingContract: context.rollupAddress.toString()
|
|
100
|
+
},
|
|
101
|
+
types: COORDINATION_SIGNATURE_TYPES,
|
|
102
|
+
primaryType: type,
|
|
103
|
+
message: {
|
|
104
|
+
payloadHash: payloadHash.toString()
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
export function getCoordinationSignatureTypedData(signable) {
|
|
109
|
+
const payloadHash = getHashedSignaturePayload(signable);
|
|
110
|
+
return getCoordinationSignatureTypedDataForPayloadHash(payloadHash, signable.primaryType, signable.signatureContext);
|
|
111
|
+
}
|
|
112
|
+
export function getHashedSignaturePayloadTypedData(signable) {
|
|
113
|
+
return Buffer32.fromString(hashTypedData(getCoordinationSignatureTypedData(signable)));
|
|
114
|
+
}
|
|
115
|
+
export function recoverCoordinationSigner(signable, signature) {
|
|
116
|
+
const digest = getHashedSignaturePayloadTypedData(signable);
|
|
117
|
+
return tryRecoverAddress(digest, signature, {
|
|
118
|
+
allowYParityAsV: true
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
export function getHashedSignaturePayload(s) {
|
|
122
|
+
return Buffer32.fromBuffer(keccak256(s.getPayloadToSign()));
|
|
26
123
|
}
|
package/dest/p2p/signed_txs.d.ts
CHANGED
|
@@ -1,42 +1,44 @@
|
|
|
1
|
-
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
1
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
2
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
4
3
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
4
|
+
import type { TypedDataDefinition } from 'viem';
|
|
5
5
|
import { Tx } from '../tx/tx.js';
|
|
6
|
-
import {
|
|
6
|
+
import { type CoordinationSignatureContext, type CoordinationSignatureType, type Signable } from './signature_utils.js';
|
|
7
7
|
/**
|
|
8
8
|
* A signed collection of transactions.
|
|
9
9
|
* The signature is over the transaction objects themselves, providing
|
|
10
10
|
* data availability guarantees beyond just the transaction hashes.
|
|
11
11
|
*/
|
|
12
|
-
export declare class SignedTxs {
|
|
12
|
+
export declare class SignedTxs implements Signable {
|
|
13
13
|
/** The transactions */
|
|
14
14
|
readonly txs: Tx[];
|
|
15
15
|
/** The proposer's signature over the transactions */
|
|
16
16
|
readonly signature: Signature;
|
|
17
|
-
|
|
17
|
+
/** The signing domain (chainId + rollupAddress) the signature is bound to */
|
|
18
|
+
readonly signatureContext: CoordinationSignatureContext;
|
|
19
|
+
readonly primaryType: CoordinationSignatureType;
|
|
20
|
+
private cachedSender;
|
|
18
21
|
constructor(
|
|
19
22
|
/** The transactions */
|
|
20
23
|
txs: Tx[],
|
|
21
24
|
/** The proposer's signature over the transactions */
|
|
22
|
-
signature: Signature
|
|
25
|
+
signature: Signature,
|
|
26
|
+
/** The signing domain (chainId + rollupAddress) the signature is bound to */
|
|
27
|
+
signatureContext: CoordinationSignatureContext);
|
|
28
|
+
getPayloadToSign(): Buffer;
|
|
23
29
|
/**
|
|
24
|
-
*
|
|
25
|
-
*/
|
|
26
|
-
getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
|
|
27
|
-
/**
|
|
28
|
-
* Lazily evaluate the sender of the signed txs; result is cached
|
|
30
|
+
* Lazily evaluate the sender of the signed txs; result is cached.
|
|
29
31
|
* @returns The sender address, or undefined if signature recovery fails
|
|
30
32
|
*/
|
|
31
33
|
getSender(): EthAddress | undefined;
|
|
32
34
|
/**
|
|
33
|
-
* Create SignedTxs from a signer function
|
|
35
|
+
* Create SignedTxs from a typed-data signer function
|
|
34
36
|
*/
|
|
35
|
-
static createFromSigner(txs: Tx[],
|
|
37
|
+
static createFromSigner(txs: Tx[], signatureContext: CoordinationSignatureContext, typedDataSigner: (typedData: TypedDataDefinition) => Promise<Signature>): Promise<SignedTxs>;
|
|
36
38
|
toBuffer(): Buffer;
|
|
37
39
|
static fromBuffer(buf: Buffer | BufferReader): SignedTxs;
|
|
38
40
|
getSize(): number;
|
|
39
41
|
static empty(): SignedTxs;
|
|
40
42
|
static random(): SignedTxs;
|
|
41
43
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVkX3R4cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9zaWduZWRfdHhzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2hELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakMsT0FBTyxFQUNMLEtBQUssNEJBQTRCLEVBQ2pDLEtBQUsseUJBQXlCLEVBRTlCLEtBQUssUUFBUSxFQUtkLE1BQU0sc0JBQXNCLENBQUM7QUFFOUI7Ozs7R0FJRztBQUNILHFCQUFhLFNBQVUsWUFBVyxRQUFRO0lBTXRDLHVCQUF1QjthQUNQLEdBQUcsRUFBRSxFQUFFLEVBQUU7SUFDekIscURBQXFEO2FBQ3JDLFNBQVMsRUFBRSxTQUFTO0lBQ3BDLDZFQUE2RTthQUM3RCxnQkFBZ0IsRUFBRSw0QkFBNEI7SUFWaEUsUUFBUSxDQUFDLFdBQVcsRUFBRSx5QkFBeUIsQ0FBZTtJQUU5RCxPQUFPLENBQUMsWUFBWSxDQUE0QztJQUVoRTtJQUNFLHVCQUF1QjtJQUNQLEdBQUcsRUFBRSxFQUFFLEVBQUU7SUFDekIscURBQXFEO0lBQ3JDLFNBQVMsRUFBRSxTQUFTO0lBQ3BDLDZFQUE2RTtJQUM3RCxnQkFBZ0IsRUFBRSw0QkFBNEIsRUFDNUQ7SUFFSixnQkFBZ0IsSUFBSSxNQUFNLENBRXpCO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBS2xDO0lBRUQ7O09BRUc7SUFDSCxPQUFhLGdCQUFnQixDQUMzQixHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQ1QsZ0JBQWdCLEVBQUUsNEJBQTRCLEVBQzlDLGVBQWUsRUFBRSxDQUFDLFNBQVMsRUFBRSxtQkFBbUIsS0FBSyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQ3RFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FLcEI7SUFFRCxRQUFRLElBQUksTUFBTSxDQU9qQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsU0FBUyxDQVV2RDtJQUVELE9BQU8sSUFBSSxNQUFNLENBUWhCO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxTQUFTLENBRXhCO0lBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxTQUFTLENBRXpCO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signed_txs.d.ts","sourceRoot":"","sources":["../../src/p2p/signed_txs.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"signed_txs.d.ts","sourceRoot":"","sources":["../../src/p2p/signed_txs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAGhD,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAE9B,KAAK,QAAQ,EAKd,MAAM,sBAAsB,CAAC;AAE9B;;;;GAIG;AACH,qBAAa,SAAU,YAAW,QAAQ;IAMtC,uBAAuB;aACP,GAAG,EAAE,EAAE,EAAE;IACzB,qDAAqD;aACrC,SAAS,EAAE,SAAS;IACpC,6EAA6E;aAC7D,gBAAgB,EAAE,4BAA4B;IAVhE,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAe;IAE9D,OAAO,CAAC,YAAY,CAA4C;IAEhE;IACE,uBAAuB;IACP,GAAG,EAAE,EAAE,EAAE;IACzB,qDAAqD;IACrC,SAAS,EAAE,SAAS;IACpC,6EAA6E;IAC7D,gBAAgB,EAAE,4BAA4B,EAC5D;IAEJ,gBAAgB,IAAI,MAAM,CAEzB;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS,CAKlC;IAED;;OAEG;IACH,OAAa,gBAAgB,CAC3B,GAAG,EAAE,EAAE,EAAE,EACT,gBAAgB,EAAE,4BAA4B,EAC9C,eAAe,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,OAAO,CAAC,SAAS,CAAC,GACtE,OAAO,CAAC,SAAS,CAAC,CAKpB;IAED,QAAQ,IAAI,MAAM,CAOjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAUvD;IAED,OAAO,IAAI,MAAM,CAQhB;IAED,MAAM,CAAC,KAAK,IAAI,SAAS,CAExB;IAED,MAAM,CAAC,MAAM,IAAI,SAAS,CAEzB;CACF"}
|
package/dest/p2p/signed_txs.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
2
1
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
3
2
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
3
|
import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
|
|
5
4
|
import { Tx } from '../tx/tx.js';
|
|
6
|
-
import {
|
|
5
|
+
import { EMPTY_COORDINATION_SIGNATURE_CONTEXT, getCoordinationSignatureTypedData, readCoordinationSignatureContext, recoverCoordinationSigner, serializeCoordinationSignatureContext } from './signature_utils.js';
|
|
7
6
|
/**
|
|
8
7
|
* A signed collection of transactions.
|
|
9
8
|
* The signature is over the transaction objects themselves, providing
|
|
@@ -11,43 +10,45 @@ import { SignatureDomainSeparator, getHashedSignaturePayload, getHashedSignature
|
|
|
11
10
|
*/ export class SignedTxs {
|
|
12
11
|
txs;
|
|
13
12
|
signature;
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
signatureContext;
|
|
14
|
+
primaryType;
|
|
15
|
+
cachedSender;
|
|
16
|
+
constructor(/** The transactions */ txs, /** The proposer's signature over the transactions */ signature, /** The signing domain (chainId + rollupAddress) the signature is bound to */ signatureContext){
|
|
16
17
|
this.txs = txs;
|
|
17
18
|
this.signature = signature;
|
|
19
|
+
this.signatureContext = signatureContext;
|
|
20
|
+
this.primaryType = 'SignedTxs';
|
|
21
|
+
this.cachedSender = undefined;
|
|
18
22
|
}
|
|
19
|
-
|
|
20
|
-
* Get the payload to sign for this signed txs.
|
|
21
|
-
*/ getPayloadToSign(domainSeparator) {
|
|
23
|
+
getPayloadToSign() {
|
|
22
24
|
return serializeToBuffer([
|
|
23
|
-
domainSeparator,
|
|
24
25
|
this.txs.length,
|
|
25
26
|
this.txs
|
|
26
27
|
]);
|
|
27
28
|
}
|
|
28
29
|
/**
|
|
29
|
-
* Lazily evaluate the sender of the signed txs; result is cached
|
|
30
|
+
* Lazily evaluate the sender of the signed txs; result is cached.
|
|
30
31
|
* @returns The sender address, or undefined if signature recovery fails
|
|
31
32
|
*/ getSender() {
|
|
32
|
-
if (
|
|
33
|
-
|
|
34
|
-
this.sender = tryRecoverAddress(hashed, this.signature);
|
|
33
|
+
if (this.cachedSender === undefined) {
|
|
34
|
+
this.cachedSender = recoverCoordinationSigner(this, this.signature) ?? null;
|
|
35
35
|
}
|
|
36
|
-
return this.
|
|
36
|
+
return this.cachedSender ?? undefined;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
* Create SignedTxs from a signer function
|
|
40
|
-
*/ static async createFromSigner(txs,
|
|
41
|
-
const tempSignedTxs = new SignedTxs(txs, Signature.empty());
|
|
42
|
-
const
|
|
43
|
-
const signature = await
|
|
44
|
-
return new SignedTxs(txs, signature);
|
|
39
|
+
* Create SignedTxs from a typed-data signer function
|
|
40
|
+
*/ static async createFromSigner(txs, signatureContext, typedDataSigner) {
|
|
41
|
+
const tempSignedTxs = new SignedTxs(txs, Signature.empty(), signatureContext);
|
|
42
|
+
const typedData = getCoordinationSignatureTypedData(tempSignedTxs);
|
|
43
|
+
const signature = await typedDataSigner(typedData);
|
|
44
|
+
return new SignedTxs(txs, signature, signatureContext);
|
|
45
45
|
}
|
|
46
46
|
toBuffer() {
|
|
47
47
|
return serializeToBuffer([
|
|
48
48
|
this.txs.length,
|
|
49
49
|
this.txs,
|
|
50
|
-
this.signature
|
|
50
|
+
this.signature,
|
|
51
|
+
serializeCoordinationSignatureContext(this.signatureContext)
|
|
51
52
|
]);
|
|
52
53
|
}
|
|
53
54
|
static fromBuffer(buf) {
|
|
@@ -58,18 +59,19 @@ import { SignatureDomainSeparator, getHashedSignaturePayload, getHashedSignature
|
|
|
58
59
|
}
|
|
59
60
|
const txs = reader.readArray(txCount, Tx);
|
|
60
61
|
const signature = reader.readObject(Signature);
|
|
61
|
-
|
|
62
|
+
const signatureContext = readCoordinationSignatureContext(reader);
|
|
63
|
+
return new SignedTxs(txs, signature, signatureContext);
|
|
62
64
|
}
|
|
63
65
|
getSize() {
|
|
64
|
-
return 4 /* txs.length */ + this.txs.reduce((acc, tx)=>acc + tx.getSize(), 0) + this.signature.getSize();
|
|
66
|
+
return 4 /* txs.length */ + this.txs.reduce((acc, tx)=>acc + tx.getSize(), 0) + this.signature.getSize() + 4 /* chainId */ + 20 /* rollupAddress */ ;
|
|
65
67
|
}
|
|
66
68
|
static empty() {
|
|
67
|
-
return new SignedTxs([], Signature.empty());
|
|
69
|
+
return new SignedTxs([], Signature.empty(), EMPTY_COORDINATION_SIGNATURE_CONTEXT);
|
|
68
70
|
}
|
|
69
71
|
static random() {
|
|
70
72
|
return new SignedTxs([
|
|
71
73
|
Tx.random(),
|
|
72
74
|
Tx.random()
|
|
73
|
-
], Signature.random());
|
|
75
|
+
], Signature.random(), EMPTY_COORDINATION_SIGNATURE_CONTEXT);
|
|
74
76
|
}
|
|
75
77
|
}
|
package/dest/tests/mocks.d.ts
CHANGED
|
@@ -18,12 +18,14 @@ import type { MerkleTreeReadOperations } from '../interfaces/merkle_tree_operati
|
|
|
18
18
|
import { BlockProposal } from '../p2p/block_proposal.js';
|
|
19
19
|
import { CheckpointAttestation } from '../p2p/checkpoint_attestation.js';
|
|
20
20
|
import { CheckpointProposal } from '../p2p/checkpoint_proposal.js';
|
|
21
|
+
import { type CoordinationSignatureContext } from '../p2p/signature_utils.js';
|
|
21
22
|
import { ChonkProof } from '../proofs/chonk_proof.js';
|
|
22
23
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
23
24
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
24
25
|
import { BlockHeader, GlobalVariables, ProtocolContracts, Tx } from '../tx/index.js';
|
|
25
26
|
import { TxSimulationResult } from '../tx/simulated_tx.js';
|
|
26
27
|
import { TxHash } from '../tx/tx_hash.js';
|
|
28
|
+
export declare const TEST_COORDINATION_SIGNATURE_CONTEXT: CoordinationSignatureContext;
|
|
27
29
|
export declare const randomTxHash: () => TxHash;
|
|
28
30
|
export declare const mockTx: (seed?: number, { numberOfNonRevertiblePublicCallRequests, numberOfRevertiblePublicCallRequests, numberOfRevertibleNullifiers, hasPublicTeardownCallRequest, publicCalldataSize, feePayer, chonkProof, gasLimits, maxFeesPerGas, maxPriorityFeesPerGas, gasUsed, chainId, version, vkTreeRoot, protocolContractsHash, anchorBlockHeader, }?: {
|
|
29
31
|
numberOfNonRevertiblePublicCallRequests?: number | undefined;
|
|
@@ -107,6 +109,7 @@ export interface MakeConsensusPayloadOptions {
|
|
|
107
109
|
txHashes?: TxHash[];
|
|
108
110
|
txs?: Tx[];
|
|
109
111
|
feeAssetPriceModifier?: bigint;
|
|
112
|
+
signatureContext?: CoordinationSignatureContext;
|
|
110
113
|
}
|
|
111
114
|
export interface MakeBlockProposalOptions {
|
|
112
115
|
signer?: Secp256k1Signer;
|
|
@@ -116,12 +119,14 @@ export interface MakeBlockProposalOptions {
|
|
|
116
119
|
archiveRoot?: Fr;
|
|
117
120
|
txHashes?: TxHash[];
|
|
118
121
|
txs?: Tx[];
|
|
122
|
+
signatureContext?: CoordinationSignatureContext;
|
|
119
123
|
}
|
|
120
124
|
export interface MakeCheckpointProposalOptions {
|
|
121
125
|
signer?: Secp256k1Signer;
|
|
122
126
|
checkpointHeader?: CheckpointHeader;
|
|
123
127
|
archiveRoot?: Fr;
|
|
124
128
|
feeAssetPriceModifier?: bigint;
|
|
129
|
+
signatureContext?: CoordinationSignatureContext;
|
|
125
130
|
/** Options for the lastBlock - if undefined, no lastBlock is included */
|
|
126
131
|
lastBlock?: {
|
|
127
132
|
blockHeader?: BlockHeader;
|
|
@@ -143,6 +148,7 @@ export type MakeCheckpointAttestationOptions = {
|
|
|
143
148
|
attesterSigner?: Secp256k1Signer;
|
|
144
149
|
proposerSigner?: Secp256k1Signer;
|
|
145
150
|
signer?: Secp256k1Signer;
|
|
151
|
+
signatureContext?: CoordinationSignatureContext;
|
|
146
152
|
};
|
|
147
153
|
/**
|
|
148
154
|
* Create a checkpoint attestation for testing
|
|
@@ -164,4 +170,4 @@ export declare const makeCheckpointAttestationFromBlock: (block: L2Block, attest
|
|
|
164
170
|
export declare function randomPublishedL2Block(l2BlockNumber: number, opts?: {
|
|
165
171
|
signers?: Secp256k1Signer[];
|
|
166
172
|
}): Promise<CheckpointedL2Block>;
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0cy9tb2Nrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFjLE1BQU0saUNBQWlDLENBQUM7QUFJbkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFJNUQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBd0IsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkYsT0FBTyxLQUFLLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLekQsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,qBAAqB,EAAc,MAAM,iCAAiC,CAAC;AAInH,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"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"}
|
package/dest/tests/mocks.js
CHANGED
|
@@ -6,7 +6,9 @@ import { padArrayEnd, times } from '@aztec/foundation/collection';
|
|
|
6
6
|
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
7
7
|
import { Secp256k1Signer } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
8
8
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
9
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
9
10
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
11
|
+
import { hashTypedData } from 'viem';
|
|
10
12
|
import { PublicTxEffect } from '../avm/avm.js';
|
|
11
13
|
import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
|
|
12
14
|
import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
@@ -33,7 +35,7 @@ import { BlockProposal } from '../p2p/block_proposal.js';
|
|
|
33
35
|
import { CheckpointAttestation } from '../p2p/checkpoint_attestation.js';
|
|
34
36
|
import { CheckpointProposal } from '../p2p/checkpoint_proposal.js';
|
|
35
37
|
import { ConsensusPayload } from '../p2p/consensus_payload.js';
|
|
36
|
-
import {
|
|
38
|
+
import { getHashedSignaturePayloadTypedData } from '../p2p/signature_utils.js';
|
|
37
39
|
import { ChonkProof } from '../proofs/chonk_proof.js';
|
|
38
40
|
import { ProvingRequestType } from '../proofs/proving_request_type.js';
|
|
39
41
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
@@ -44,6 +46,13 @@ import { TxSimulationResult } from '../tx/simulated_tx.js';
|
|
|
44
46
|
import { TxEffect } from '../tx/tx_effect.js';
|
|
45
47
|
import { TxHash } from '../tx/tx_hash.js';
|
|
46
48
|
import { makeAvmCircuitInputs, makeAztecAddress, makeBlockHeader, makeCheckpointHeader, makeGas, makeGlobalVariables, makePrivateToPublicAccumulatedData, makePrivateToRollupAccumulatedData, makeProtocolContracts, makePublicCallRequest, makePublicDataWrite } from './factories.js';
|
|
49
|
+
export const TEST_COORDINATION_SIGNATURE_CONTEXT = {
|
|
50
|
+
chainId: 31337,
|
|
51
|
+
rollupAddress: EthAddress.fromNumber(1)
|
|
52
|
+
};
|
|
53
|
+
function signTypedData(signer, typedData) {
|
|
54
|
+
return signer.sign(Buffer32.fromString(hashTypedData(typedData)));
|
|
55
|
+
}
|
|
47
56
|
export const randomTxHash = ()=>TxHash.random();
|
|
48
57
|
export const mockTx = async (seed = 1, { numberOfNonRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertibleNullifiers = 0, hasPublicTeardownCallRequest = false, publicCalldataSize = 2, feePayer, chonkProof = ChonkProof.random(), gasLimits, maxFeesPerGas = new GasFees(10, 10), maxPriorityFeesPerGas, gasUsed = Gas.empty(), chainId = Fr.ZERO, version = Fr.ZERO, vkTreeRoot = Fr.ZERO, protocolContractsHash = Fr.ZERO, anchorBlockHeader = BlockHeader.empty() } = {})=>{
|
|
49
58
|
const totalPublicCallRequests = numberOfNonRevertiblePublicCallRequests + numberOfRevertiblePublicCallRequests + (hasPublicTeardownCallRequest ? 1 : 0);
|
|
@@ -301,15 +310,16 @@ export const randomDeployedContract = async ()=>{
|
|
|
301
310
|
};
|
|
302
311
|
};
|
|
303
312
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
304
|
-
const makeAndSignConsensusPayload = (
|
|
313
|
+
const makeAndSignConsensusPayload = (options)=>{
|
|
305
314
|
const header = options?.header ?? makeCheckpointHeader(1);
|
|
306
315
|
const { signer = Secp256k1Signer.random(), archive = Fr.random(), feeAssetPriceModifier = 0n } = options ?? {};
|
|
307
316
|
const payload = ConsensusPayload.fromFields({
|
|
308
317
|
header,
|
|
309
318
|
archive,
|
|
310
|
-
feeAssetPriceModifier
|
|
319
|
+
feeAssetPriceModifier,
|
|
320
|
+
signatureContext: TEST_COORDINATION_SIGNATURE_CONTEXT
|
|
311
321
|
});
|
|
312
|
-
const hash =
|
|
322
|
+
const hash = getHashedSignaturePayloadTypedData(payload);
|
|
313
323
|
const signature = signer.sign(hash);
|
|
314
324
|
return {
|
|
315
325
|
blockNumber: header.slotNumber,
|
|
@@ -318,7 +328,7 @@ const makeAndSignConsensusPayload = (domainSeparator, options)=>{
|
|
|
318
328
|
};
|
|
319
329
|
};
|
|
320
330
|
export const makeAndSignCommitteeAttestationsAndSigners = (attestationsAndSigners, signer = Secp256k1Signer.random())=>{
|
|
321
|
-
const hash =
|
|
331
|
+
const hash = getHashedSignaturePayloadTypedData(attestationsAndSigners);
|
|
322
332
|
return signer.sign(hash);
|
|
323
333
|
};
|
|
324
334
|
export const makeBlockProposal = (options)=>{
|
|
@@ -336,13 +346,15 @@ export const makeBlockProposal = (options)=>{
|
|
|
336
346
|
].map(()=>TxHash.random());
|
|
337
347
|
const txs = options?.txs;
|
|
338
348
|
const signer = options?.signer ?? Secp256k1Signer.random();
|
|
339
|
-
|
|
349
|
+
const signatureContext = options?.signatureContext ?? TEST_COORDINATION_SIGNATURE_CONTEXT;
|
|
350
|
+
return BlockProposal.createProposalFromSigner(blockHeader, CheckpointNumber(1), indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, signatureContext, (typedData, _context)=>Promise.resolve(signTypedData(signer, typedData)), (typedData, _context)=>Promise.resolve(signTypedData(signer, typedData)));
|
|
340
351
|
};
|
|
341
352
|
export const makeCheckpointProposal = async (options)=>{
|
|
342
353
|
const checkpointHeader = options?.checkpointHeader ?? makeCheckpointHeader(1);
|
|
343
354
|
const archiveRoot = options?.archiveRoot ?? Fr.random();
|
|
344
355
|
const feeAssetPriceModifier = options?.feeAssetPriceModifier ?? 0n;
|
|
345
356
|
const signer = options?.signer ?? Secp256k1Signer.random();
|
|
357
|
+
const signatureContext = options?.signatureContext ?? TEST_COORDINATION_SIGNATURE_CONTEXT;
|
|
346
358
|
// Build a signed block proposal if lastBlock options are provided
|
|
347
359
|
const lastBlockProposal = options?.lastBlock ? await makeBlockProposal({
|
|
348
360
|
blockHeader: options.lastBlock.blockHeader,
|
|
@@ -351,9 +363,10 @@ export const makeCheckpointProposal = async (options)=>{
|
|
|
351
363
|
archiveRoot,
|
|
352
364
|
txHashes: options.lastBlock.txHashes,
|
|
353
365
|
txs: options.lastBlock.txs,
|
|
354
|
-
signer
|
|
366
|
+
signer,
|
|
367
|
+
signatureContext
|
|
355
368
|
}) : undefined;
|
|
356
|
-
return CheckpointProposal.createProposalFromSigner(checkpointHeader, archiveRoot, CheckpointNumber(1), feeAssetPriceModifier, lastBlockProposal, (
|
|
369
|
+
return CheckpointProposal.createProposalFromSigner(checkpointHeader, archiveRoot, CheckpointNumber(1), feeAssetPriceModifier, lastBlockProposal, signatureContext, (typedData)=>Promise.resolve(signTypedData(signer, typedData)));
|
|
357
370
|
};
|
|
358
371
|
/**
|
|
359
372
|
* Create a checkpoint attestation for testing
|
|
@@ -361,26 +374,27 @@ export const makeCheckpointProposal = async (options)=>{
|
|
|
361
374
|
const header = options.header ?? makeCheckpointHeader(1);
|
|
362
375
|
const archive = options.archive ?? Fr.random();
|
|
363
376
|
const feeAssetPriceModifier = options.feeAssetPriceModifier ?? 0n;
|
|
377
|
+
const signatureContext = options.signatureContext ?? TEST_COORDINATION_SIGNATURE_CONTEXT;
|
|
364
378
|
const { signer, attesterSigner = signer, proposerSigner = signer } = options;
|
|
365
|
-
const payload = new ConsensusPayload(header, archive, feeAssetPriceModifier);
|
|
379
|
+
const payload = new ConsensusPayload(header, archive, feeAssetPriceModifier, signatureContext);
|
|
366
380
|
// Sign as attester
|
|
367
|
-
const attestationHash =
|
|
381
|
+
const attestationHash = getHashedSignaturePayloadTypedData(payload);
|
|
368
382
|
const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
|
|
369
383
|
const attestationSignature = attestationSigner.sign(attestationHash);
|
|
370
384
|
// Sign as proposer - use CheckpointProposal's payload format (serializeToBuffer)
|
|
371
385
|
// This is different from ConsensusPayload's format (ABI encoding)
|
|
372
386
|
const proposalSignerToUse = proposerSigner ?? Secp256k1Signer.random();
|
|
373
|
-
const tempProposal = new CheckpointProposal(header, archive, feeAssetPriceModifier, Signature.empty());
|
|
374
|
-
const proposalHash =
|
|
387
|
+
const tempProposal = new CheckpointProposal(header, archive, feeAssetPriceModifier, Signature.empty(), signatureContext);
|
|
388
|
+
const proposalHash = getHashedSignaturePayloadTypedData(tempProposal);
|
|
375
389
|
const proposerSignature = proposalSignerToUse.sign(proposalHash);
|
|
376
390
|
return new CheckpointAttestation(payload, attestationSignature, proposerSignature);
|
|
377
391
|
};
|
|
378
392
|
/**
|
|
379
393
|
* Create a checkpoint attestation from a checkpoint proposal
|
|
380
394
|
*/ export const makeCheckpointAttestationFromProposal = (proposal, attesterSigner)=>{
|
|
381
|
-
const payload = new ConsensusPayload(proposal.checkpointHeader, proposal.archive, proposal.feeAssetPriceModifier);
|
|
395
|
+
const payload = new ConsensusPayload(proposal.checkpointHeader, proposal.archive, proposal.feeAssetPriceModifier, proposal.signatureContext);
|
|
382
396
|
// Sign as attester
|
|
383
|
-
const attestationHash =
|
|
397
|
+
const attestationHash = getHashedSignaturePayloadTypedData(payload);
|
|
384
398
|
const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
|
|
385
399
|
const attestationSignature = attestationSigner.sign(attestationHash);
|
|
386
400
|
// Use the proposal's signature as the proposer signature
|
|
@@ -84,4 +84,4 @@ export declare function calculateMaxBlocksPerSlot(aztecSlotDurationSec: number,
|
|
|
84
84
|
l1PublishingTime?: number;
|
|
85
85
|
pipelining?: boolean;
|
|
86
86
|
}): number;
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90aW1ldGFibGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUVILG1GQUFtRjtBQUNuRixlQUFPLE1BQU0sOEJBQThCLElBQUksQ0FBQztBQUVoRCx1RkFBdUY7QUFDdkYsZUFBTyxNQUFNLHdCQUF3QixJQUFJLENBQUM7QUFFMUMscUZBQXFGO0FBQ3JGLGVBQU8sTUFBTSw0QkFBNEIsSUFBSSxDQUFDO0FBRTlDLHdGQUF3RjtBQUN4RixlQUFPLE1BQU0sMEJBQTBCLEtBQUssQ0FBQztBQUU3Qyw2REFBNkQ7QUFDN0QsZUFBTyxNQUFNLGtCQUFrQixJQUFJLENBQUM7QUFFcEMsTUFBTSxNQUFNLHNCQUFzQixHQUFHO0lBQ25DLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUMxQixvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUM5QixhQUFhLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdkIsc0JBQXNCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDaEMsNEJBQTRCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdEMsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDMUIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDMUIsa0JBQWtCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDNUIsVUFBVSxDQUFDLEVBQUUsT0FBTyxDQUFDO0NBQ3RCLENBQUM7QUFFRixNQUFNLFdBQVcsZ0JBQWdCO0lBQy9CLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDbkMsUUFBUSxDQUFDLGFBQWEsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQzNDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxNQUFNLENBQUM7SUFDeEMsUUFBUSxDQUFDLDRCQUE0QixFQUFFLE1BQU0sQ0FBQztJQUM5QyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0lBQ2xDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7SUFDbEMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQztJQUNwQyxRQUFRLENBQUMsMEJBQTBCLEVBQUUsTUFBTSxDQUFDO0lBQzVDLFFBQVEsQ0FBQyxnQ0FBZ0MsRUFBRSxNQUFNLENBQUM7SUFDbEQsUUFBUSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUNuQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDO0lBQ3RDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUM7SUFDcEMsUUFBUSxDQUFDLDBCQUEwQixFQUFFLE1BQU0sQ0FBQztJQUM1QyxRQUFRLENBQUMsa0NBQWtDLEVBQUUsTUFBTSxDQUFDO0lBQ3BELFFBQVEsQ0FBQyw2QkFBNkIsRUFBRSxNQUFNLENBQUM7SUFDL0MsUUFBUSxDQUFDLDRCQUE0QixFQUFFLE1BQU0sQ0FBQztJQUU5Qyx5QkFBeUIsSUFBSSxNQUFNLENBQUM7Q0FDckM7QUFFRCxNQUFNLFdBQVcseUJBQTBCLFNBQVEsZ0JBQWdCO0lBQ2pFLFFBQVEsQ0FBQyw0QkFBNEIsRUFBRSxNQUFNLENBQUM7SUFDOUMsUUFBUSxDQUFDLCtCQUErQixFQUFFLE1BQU0sQ0FBQztDQUNsRDtBQTZKRDs7Ozs7O0dBTUc7QUFDSCx3QkFBZ0IsMkJBQTJCLENBQUMsSUFBSSxFQUFFLHNCQUFzQixHQUFHLGdCQUFnQixDQVMxRjtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLG9DQUFvQyxDQUNsRCxJQUFJLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixFQUFFLFlBQVksQ0FBQyxHQUMvQyx5QkFBeUIsQ0FPM0I7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFnQix5QkFBeUIsQ0FDdkMsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixnQkFBZ0IsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUNwQyxJQUFJLEdBQUU7SUFDSiw0QkFBNEIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN0QyxzQkFBc0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNoQyxrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUM1QixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUMxQixVQUFVLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDakIsR0FDTCxNQUFNLENBVVIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/timetable/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,mFAAmF;AACnF,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,uFAAuF;AACvF,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,qFAAqF;AACrF,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,wFAAwF;AACxF,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,6DAA6D;AAC7D,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,MAAM,MAAM,sBAAsB,GAAG;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC;IAClD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,kCAAkC,EAAE,MAAM,CAAC;IACpD,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAC/C,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAE9C,yBAAyB,IAAI,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,+BAA+B,EAAE,MAAM,CAAC;CAClD;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/timetable/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,mFAAmF;AACnF,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,uFAAuF;AACvF,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,qFAAqF;AACrF,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,wFAAwF;AACxF,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,6DAA6D;AAC7D,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,MAAM,MAAM,sBAAsB,GAAG;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC;IAClD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,kCAAkC,EAAE,MAAM,CAAC;IACpD,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAC/C,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAE9C,yBAAyB,IAAI,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,+BAA+B,EAAE,MAAM,CAAC;CAClD;AA6JD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,sBAAsB,GAAG,gBAAgB,CAS1F;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,GAC/C,yBAAyB,CAO3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,oBAAoB,EAAE,MAAM,EAC5B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,IAAI,GAAE;IACJ,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACjB,GACL,MAAM,CAUR"}
|