@aztec/stdlib 0.82.0 → 0.82.1-alpha-testnet.1

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.
Files changed (76) hide show
  1. package/dest/avm/avm.d.ts +24 -48
  2. package/dest/avm/avm.d.ts.map +1 -1
  3. package/dest/avm/avm_circuit_public_inputs.d.ts +18 -36
  4. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  5. package/dest/avm/avm_proving_request.d.ts +27 -54
  6. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  7. package/dest/contract/contract_class.d.ts.map +1 -1
  8. package/dest/contract/contract_class.js +3 -21
  9. package/dest/contract/interfaces/contract_class.d.ts +1 -143
  10. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  11. package/dest/contract/interfaces/contract_class.js +0 -5
  12. package/dest/contract/interfaces/contract_data_source.d.ts +3 -3
  13. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  14. package/dest/hash/hash.d.ts +8 -1
  15. package/dest/hash/hash.d.ts.map +1 -1
  16. package/dest/hash/hash.js +12 -1
  17. package/dest/interfaces/archiver.d.ts.map +1 -1
  18. package/dest/interfaces/archiver.js +1 -1
  19. package/dest/interfaces/prover-client.js +1 -1
  20. package/dest/interfaces/proving-job.d.ts +27 -54
  21. package/dest/interfaces/proving-job.d.ts.map +1 -1
  22. package/dest/kernel/public_call_request.d.ts +14 -19
  23. package/dest/kernel/public_call_request.d.ts.map +1 -1
  24. package/dest/kernel/public_call_request.js +19 -20
  25. package/dest/stats/stats.d.ts +1 -1
  26. package/dest/stats/stats.d.ts.map +1 -1
  27. package/dest/tests/factories.d.ts +2 -2
  28. package/dest/tests/factories.d.ts.map +1 -1
  29. package/dest/tests/factories.js +3 -13
  30. package/dest/tests/mocks.d.ts +3 -4
  31. package/dest/tests/mocks.d.ts.map +1 -1
  32. package/dest/tests/mocks.js +13 -48
  33. package/dest/tx/call_context.d.ts +1 -1
  34. package/dest/tx/hashed_values.d.ts +16 -4
  35. package/dest/tx/hashed_values.d.ts.map +1 -1
  36. package/dest/tx/hashed_values.js +26 -9
  37. package/dest/tx/index.d.ts +1 -1
  38. package/dest/tx/index.d.ts.map +1 -1
  39. package/dest/tx/index.js +1 -1
  40. package/dest/tx/private_execution_result.d.ts +6 -26
  41. package/dest/tx/private_execution_result.d.ts.map +1 -1
  42. package/dest/tx/private_execution_result.js +13 -70
  43. package/dest/tx/proven_tx.d.ts.map +1 -1
  44. package/dest/tx/proven_tx.js +2 -4
  45. package/dest/tx/public_call_request_with_calldata.d.ts +41 -0
  46. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -0
  47. package/dest/tx/public_call_request_with_calldata.js +57 -0
  48. package/dest/tx/simulated_tx.d.ts.map +1 -1
  49. package/dest/tx/simulated_tx.js +2 -4
  50. package/dest/tx/tx.d.ts +16 -20
  51. package/dest/tx/tx.d.ts.map +1 -1
  52. package/dest/tx/tx.js +56 -42
  53. package/dest/tx/tx_execution_request.js +1 -1
  54. package/package.json +6 -6
  55. package/src/contract/contract_class.ts +7 -26
  56. package/src/contract/interfaces/contract_class.ts +2 -18
  57. package/src/contract/interfaces/contract_data_source.ts +3 -3
  58. package/src/hash/hash.ts +15 -1
  59. package/src/interfaces/archiver.ts +1 -4
  60. package/src/interfaces/prover-client.ts +1 -1
  61. package/src/kernel/public_call_request.ts +22 -27
  62. package/src/stats/stats.ts +1 -1
  63. package/src/tests/factories.ts +3 -24
  64. package/src/tests/mocks.ts +28 -80
  65. package/src/tx/hashed_values.ts +29 -9
  66. package/src/tx/index.ts +1 -1
  67. package/src/tx/private_execution_result.ts +9 -81
  68. package/src/tx/proven_tx.ts +2 -10
  69. package/src/tx/public_call_request_with_calldata.ts +72 -0
  70. package/src/tx/simulated_tx.ts +1 -6
  71. package/src/tx/tx.ts +57 -70
  72. package/src/tx/tx_execution_request.ts +1 -1
  73. package/dest/tx/public_execution_request.d.ts +0 -45
  74. package/dest/tx/public_execution_request.d.ts.map +0 -1
  75. package/dest/tx/public_execution_request.js +0 -72
  76. package/src/tx/public_execution_request.ts +0 -97
@@ -1,7 +1,7 @@
1
1
  import { Fr } from '@aztec/foundation/fields';
2
2
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
3
  import { z } from 'zod';
4
- import { computeVarArgsHash } from '../hash/index.js';
4
+ import { computeCalldataHash, computeVarArgsHash } from '../hash/index.js';
5
5
  import { schemas } from '../schemas/schemas.js';
6
6
  import { Vector } from '../types/index.js';
7
7
  /**
@@ -17,20 +17,29 @@ import { Vector } from '../types/index.js';
17
17
  this.values = values;
18
18
  this.hash = hash;
19
19
  }
20
+ getSize() {
21
+ return this.values.length + 1 /* hash */ ;
22
+ }
20
23
  static get schema() {
21
- return z.array(schemas.Fr).transform(HashedValues.fromValues);
24
+ return z.object({
25
+ values: z.array(schemas.Fr),
26
+ hash: schemas.Fr
27
+ }).transform(HashedValues.from);
28
+ }
29
+ static from(fields) {
30
+ return new HashedValues(...HashedValues.getFields(fields));
22
31
  }
23
- toJSON() {
24
- return this.values;
32
+ static getFields(fields) {
33
+ return [
34
+ fields.values,
35
+ fields.hash
36
+ ];
25
37
  }
26
38
  static random() {
27
- return HashedValues.fromValues([
39
+ return new HashedValues([
28
40
  Fr.random(),
29
41
  Fr.random()
30
- ]);
31
- }
32
- static async fromValues(values) {
33
- return new HashedValues(values, await computeVarArgsHash(values));
42
+ ], Fr.random());
34
43
  }
35
44
  toBuffer() {
36
45
  return serializeToBuffer(new Vector(this.values), this.hash);
@@ -39,4 +48,12 @@ import { Vector } from '../types/index.js';
39
48
  const reader = BufferReader.asReader(buffer);
40
49
  return new HashedValues(reader.readVector(Fr), Fr.fromBuffer(reader));
41
50
  }
51
+ // Computes the hash of input arguments or return values for private functions, or for authwit creation.
52
+ static async fromArgs(args) {
53
+ return new HashedValues(args, await computeVarArgsHash(args));
54
+ }
55
+ // Computes the hash of calldata for public functions.
56
+ static async fromCalldata(calldata) {
57
+ return new HashedValues(calldata, await computeCalldataHash(calldata));
58
+ }
42
59
  }
@@ -11,7 +11,7 @@ export * from './tx_constant_data.js';
11
11
  export * from './tx_context.js';
12
12
  export * from './tx_request.js';
13
13
  export * from './private_execution_result.js';
14
- export * from './public_execution_request.js';
14
+ export * from './public_call_request_with_calldata.js';
15
15
  export * from './tx_hash.js';
16
16
  export * from './tx_receipt.js';
17
17
  export * from './tx.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tx/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tx/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC"}
package/dest/tx/index.js CHANGED
@@ -11,7 +11,7 @@ export * from './tx_constant_data.js';
11
11
  export * from './tx_context.js';
12
12
  export * from './tx_request.js';
13
13
  export * from './private_execution_result.js';
14
- export * from './public_execution_request.js';
14
+ export * from './public_call_request_with_calldata.js';
15
15
  export * from './tx_hash.js';
16
16
  export * from './tx_receipt.js';
17
17
  export * from './tx.js';
@@ -9,7 +9,7 @@ import type { IsEmpty } from '../kernel/utils/interfaces.js';
9
9
  import { ContractClassLog } from '../logs/contract_class_log.js';
10
10
  import { Note } from '../note/note.js';
11
11
  import { type ZodFor } from '../schemas/index.js';
12
- import { PublicExecutionRequest } from './public_execution_request.js';
12
+ import { HashedValues } from './hashed_values.js';
13
13
  /**
14
14
  * The contents of a new note.
15
15
  */
@@ -79,22 +79,17 @@ export declare class CountedContractClassLog implements IsEmpty {
79
79
  }): CountedContractClassLog;
80
80
  isEmpty(): boolean;
81
81
  }
82
- export declare class CountedPublicExecutionRequest {
83
- request: PublicExecutionRequest;
84
- counter: number;
85
- constructor(request: PublicExecutionRequest, counter: number);
86
- static get schema(): ZodFor<CountedPublicExecutionRequest>;
87
- static from(fields: FieldsOf<CountedPublicExecutionRequest>): CountedPublicExecutionRequest;
88
- isEmpty(): boolean;
89
- static random(): Promise<CountedPublicExecutionRequest>;
90
- }
91
82
  export declare class PrivateExecutionResult {
92
83
  entrypoint: PrivateCallExecutionResult;
93
84
  /** The first non revertible nullifier, or zero if there was none. */
94
85
  firstNullifier: Fr;
86
+ /** An array of calldata for the enqueued public function calls and the teardown function call. */
87
+ publicFunctionCalldata: HashedValues[];
95
88
  constructor(entrypoint: PrivateCallExecutionResult,
96
89
  /** The first non revertible nullifier, or zero if there was none. */
97
- firstNullifier: Fr);
90
+ firstNullifier: Fr,
91
+ /** An array of calldata for the enqueued public function calls and the teardown function call. */
92
+ publicFunctionCalldata: HashedValues[]);
98
93
  static get schema(): ZodFor<PrivateExecutionResult>;
99
94
  static from(fields: FieldsOf<PrivateExecutionResult>): PrivateExecutionResult;
100
95
  static random(nested?: number): Promise<PrivateExecutionResult>;
@@ -125,10 +120,6 @@ export declare class PrivateCallExecutionResult {
125
120
  returnValues: Fr[];
126
121
  /** The nested executions. */
127
122
  nestedExecutions: PrivateCallExecutionResult[];
128
- /** Enqueued public function execution requests to be picked up by the sequencer. */
129
- enqueuedPublicFunctionCalls: CountedPublicExecutionRequest[];
130
- /** Public function execution requested for teardown */
131
- publicTeardownFunctionCall: PublicExecutionRequest;
132
123
  /**
133
124
  * Contract class logs emitted during execution of this function call.
134
125
  * Note: These are preimages to `contractClassLogsHashes`.
@@ -153,10 +144,6 @@ export declare class PrivateCallExecutionResult {
153
144
  returnValues: Fr[],
154
145
  /** The nested executions. */
155
146
  nestedExecutions: PrivateCallExecutionResult[],
156
- /** Enqueued public function execution requests to be picked up by the sequencer. */
157
- enqueuedPublicFunctionCalls: CountedPublicExecutionRequest[],
158
- /** Public function execution requested for teardown */
159
- publicTeardownFunctionCall: PublicExecutionRequest,
160
147
  /**
161
148
  * Contract class logs emitted during execution of this function call.
162
149
  * Note: These are preimages to `contractClassLogsHashes`.
@@ -174,13 +161,6 @@ export declare function collectNoteHashNullifierCounterMap(execResult: PrivateEx
174
161
  * @returns All contract class logs.
175
162
  */
176
163
  export declare function collectSortedContractClassLogs(execResult: PrivateExecutionResult): ContractClassLog[];
177
- /**
178
- * Collect all enqueued public function calls across all nested executions.
179
- * @param execResult - The topmost execution result.
180
- * @returns All enqueued public function calls.
181
- */
182
- export declare function collectEnqueuedPublicFunctionCalls(execResult: PrivateExecutionResult): PublicExecutionRequest[];
183
- export declare function collectPublicTeardownFunctionCall(execResult: PrivateExecutionResult): PublicExecutionRequest;
184
164
  export declare function getFinalMinRevertibleSideEffectCounter(execResult: PrivateExecutionResult): number;
185
165
  export declare function collectNested<T>(executionStack: PrivateCallExecutionResult[], extractExecutionItems: (execution: PrivateCallExecutionResult) => T[]): T[];
186
166
  //# sourceMappingURL=private_execution_result.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"private_execution_result.d.ts","sourceRoot":"","sources":["../../src/tx/private_execution_result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"private_execution_result.d.ts","sourceRoot":"","sources":["../../src/tx/private_execution_result.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { sortByCounter } from '../kernel/utils/order_and_comparison.js';
8
8
  import { ContractClassLog } from '../logs/contract_class_log.js';
9
9
  import { Note } from '../note/note.js';
10
10
  import { mapSchema, schemas } from '../schemas/index.js';
11
- import { PublicExecutionRequest } from './public_execution_request.js';
11
+ import { HashedValues } from './hashed_values.js';
12
12
  /**
13
13
  * The contents of a new note.
14
14
  */ export class NoteAndSlot {
@@ -54,47 +54,30 @@ export class CountedContractClassLog {
54
54
  return this.log.isEmpty() && !this.counter;
55
55
  }
56
56
  }
57
- export class CountedPublicExecutionRequest {
58
- request;
59
- counter;
60
- constructor(request, counter){
61
- this.request = request;
62
- this.counter = counter;
63
- }
64
- static get schema() {
65
- return z.object({
66
- request: PublicExecutionRequest.schema,
67
- counter: schemas.Integer
68
- }).transform(CountedPublicExecutionRequest.from);
69
- }
70
- static from(fields) {
71
- return new CountedPublicExecutionRequest(fields.request, fields.counter);
72
- }
73
- isEmpty() {
74
- return this.request.isEmpty() && !this.counter;
75
- }
76
- static async random() {
77
- return new CountedPublicExecutionRequest(await PublicExecutionRequest.random(), 0);
78
- }
79
- }
80
57
  export class PrivateExecutionResult {
81
58
  entrypoint;
82
59
  firstNullifier;
83
- constructor(entrypoint, /** The first non revertible nullifier, or zero if there was none. */ firstNullifier){
60
+ publicFunctionCalldata;
61
+ constructor(entrypoint, /** The first non revertible nullifier, or zero if there was none. */ firstNullifier, /** An array of calldata for the enqueued public function calls and the teardown function call. */ publicFunctionCalldata){
84
62
  this.entrypoint = entrypoint;
85
63
  this.firstNullifier = firstNullifier;
64
+ this.publicFunctionCalldata = publicFunctionCalldata;
86
65
  }
87
66
  static get schema() {
88
67
  return z.object({
89
68
  entrypoint: PrivateCallExecutionResult.schema,
90
- firstNullifier: schemas.Fr
69
+ firstNullifier: schemas.Fr,
70
+ publicFunctionCalldata: z.array(HashedValues.schema)
91
71
  }).transform(PrivateExecutionResult.from);
92
72
  }
93
73
  static from(fields) {
94
- return new PrivateExecutionResult(fields.entrypoint, fields.firstNullifier);
74
+ return new PrivateExecutionResult(fields.entrypoint, fields.firstNullifier, fields.publicFunctionCalldata);
95
75
  }
96
76
  static async random(nested = 1) {
97
- return new PrivateExecutionResult(await PrivateCallExecutionResult.random(nested), Fr.random());
77
+ return new PrivateExecutionResult(await PrivateCallExecutionResult.random(nested), Fr.random(), [
78
+ HashedValues.random(),
79
+ HashedValues.random()
80
+ ]);
98
81
  }
99
82
  /**
100
83
  * The block number that this execution was simulated with.
@@ -114,12 +97,10 @@ export class PrivateExecutionResult {
114
97
  noteHashNullifierCounterMap;
115
98
  returnValues;
116
99
  nestedExecutions;
117
- enqueuedPublicFunctionCalls;
118
- publicTeardownFunctionCall;
119
100
  contractClassLogs;
120
101
  constructor(// Needed for prover
121
102
  /** The ACIR bytecode. */ acir, /** The verification key. */ vk, /** The partial witness. */ partialWitness, // Needed for the verifier (kernel)
122
- /** The call stack item. */ publicInputs, /** Mapping of note hash to its index in the note hash tree. Used for building hints for note hash read requests. */ noteHashLeafIndexMap, /** The notes created in the executed function. */ newNotes, /** Mapping of note hash counter to the counter of its nullifier. */ noteHashNullifierCounterMap, /** The raw return values of the executed function. */ returnValues, /** The nested executions. */ nestedExecutions, /** Enqueued public function execution requests to be picked up by the sequencer. */ enqueuedPublicFunctionCalls, /** Public function execution requested for teardown */ publicTeardownFunctionCall, /**
103
+ /** The call stack item. */ publicInputs, /** Mapping of note hash to its index in the note hash tree. Used for building hints for note hash read requests. */ noteHashLeafIndexMap, /** The notes created in the executed function. */ newNotes, /** Mapping of note hash counter to the counter of its nullifier. */ noteHashNullifierCounterMap, /** The raw return values of the executed function. */ returnValues, /** The nested executions. */ nestedExecutions, /**
123
104
  * Contract class logs emitted during execution of this function call.
124
105
  * Note: These are preimages to `contractClassLogsHashes`.
125
106
  */ contractClassLogs){
@@ -132,8 +113,6 @@ export class PrivateExecutionResult {
132
113
  this.noteHashNullifierCounterMap = noteHashNullifierCounterMap;
133
114
  this.returnValues = returnValues;
134
115
  this.nestedExecutions = nestedExecutions;
135
- this.enqueuedPublicFunctionCalls = enqueuedPublicFunctionCalls;
136
- this.publicTeardownFunctionCall = publicTeardownFunctionCall;
137
116
  this.contractClassLogs = contractClassLogs;
138
117
  }
139
118
  static get schema() {
@@ -147,13 +126,11 @@ export class PrivateExecutionResult {
147
126
  noteHashNullifierCounterMap: mapSchema(z.coerce.number(), z.number()),
148
127
  returnValues: z.array(schemas.Fr),
149
128
  nestedExecutions: z.array(z.lazy(()=>PrivateCallExecutionResult.schema)),
150
- enqueuedPublicFunctionCalls: z.array(CountedPublicExecutionRequest.schema),
151
- publicTeardownFunctionCall: PublicExecutionRequest.schema,
152
129
  contractClassLogs: z.array(CountedContractClassLog.schema)
153
130
  }).transform(PrivateCallExecutionResult.from);
154
131
  }
155
132
  static from(fields) {
156
- return new PrivateCallExecutionResult(fields.acir, fields.vk, fields.partialWitness, fields.publicInputs, fields.noteHashLeafIndexMap, fields.newNotes, fields.noteHashNullifierCounterMap, fields.returnValues, fields.nestedExecutions, fields.enqueuedPublicFunctionCalls, fields.publicTeardownFunctionCall, fields.contractClassLogs);
133
+ return new PrivateCallExecutionResult(fields.acir, fields.vk, fields.partialWitness, fields.publicInputs, fields.noteHashLeafIndexMap, fields.newNotes, fields.noteHashNullifierCounterMap, fields.returnValues, fields.nestedExecutions, fields.contractClassLogs);
157
134
  }
158
135
  static async random(nested = 1) {
159
136
  return new PrivateCallExecutionResult(randomBytes(4), randomBytes(4), new Map([
@@ -176,8 +153,6 @@ export class PrivateExecutionResult {
176
153
  ]), [
177
154
  Fr.random()
178
155
  ], await timesParallel(nested, ()=>PrivateCallExecutionResult.random(0)), [
179
- await CountedPublicExecutionRequest.random()
180
- ], await PublicExecutionRequest.random(), [
181
156
  new CountedContractClassLog(await ContractClassLog.random(), randomInt(10))
182
157
  ]);
183
158
  }
@@ -219,38 +194,6 @@ export function collectNoteHashNullifierCounterMap(execResult) {
219
194
  const sortedLogs = sortByCounter(allLogs);
220
195
  return sortedLogs.map((l)=>l.log);
221
196
  }
222
- function collectEnqueuedCountedPublicExecutionRequests(execResult) {
223
- return [
224
- ...execResult.enqueuedPublicFunctionCalls,
225
- ...execResult.nestedExecutions.flatMap(collectEnqueuedCountedPublicExecutionRequests)
226
- ];
227
- }
228
- /**
229
- * Collect all enqueued public function calls across all nested executions.
230
- * @param execResult - The topmost execution result.
231
- * @returns All enqueued public function calls.
232
- */ export function collectEnqueuedPublicFunctionCalls(execResult) {
233
- const countedRequests = collectEnqueuedCountedPublicExecutionRequests(execResult.entrypoint);
234
- // without the reverse sort, the logs will be in a queue like fashion which is wrong
235
- // as the kernel processes it like a stack, popping items off and pushing them to output
236
- return sortByCounter(countedRequests, false).map((r)=>r.request);
237
- }
238
- export function collectPublicTeardownFunctionCall(execResult) {
239
- const collectPublicTeardownFunctionCallRecursive = (callResult)=>{
240
- return [
241
- callResult.publicTeardownFunctionCall,
242
- ...callResult.nestedExecutions.flatMap(collectPublicTeardownFunctionCallRecursive)
243
- ].filter((call)=>!call.isEmpty());
244
- };
245
- const teardownCalls = collectPublicTeardownFunctionCallRecursive(execResult.entrypoint);
246
- if (teardownCalls.length === 1) {
247
- return teardownCalls[0];
248
- }
249
- if (teardownCalls.length > 1) {
250
- throw new Error('Multiple public teardown calls detected');
251
- }
252
- return PublicExecutionRequest.empty();
253
- }
254
197
  export function getFinalMinRevertibleSideEffectCounter(execResult) {
255
198
  const collectFinalMinRevertibleSideEffectCounterRecursive = (callResult)=>{
256
199
  return callResult.nestedExecutions.reduce((counter, exec)=>{
@@ -1 +1 @@
1
- {"version":3,"file":"proven_tx.d.ts","sourceRoot":"","sources":["../../src/tx/proven_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oCAAoC,EAAE,MAAM,wDAAwD,CAAC;AAC9G,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,sBAAsB,EAIvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,qBAAa,eAAe;IAEjB,sBAAsB,EAAE,sBAAsB;IAC9C,YAAY,EAAE,oCAAoC;IAClD,cAAc,EAAE,cAAc;gBAF9B,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,oCAAoC,EAClD,cAAc,EAAE,cAAc;IAGvC,IAAI,IAAI,EAAE;IAeV,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;OAQhB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC;WAIhC,MAAM;CAOpB"}
1
+ {"version":3,"file":"proven_tx.d.ts","sourceRoot":"","sources":["../../src/tx/proven_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oCAAoC,EAAE,MAAM,wDAAwD,CAAC;AAC9G,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAkC,MAAM,+BAA+B,CAAC;AACvG,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,qBAAa,eAAe;IAEjB,sBAAsB,EAAE,sBAAsB;IAC9C,YAAY,EAAE,oCAAoC;IAClD,cAAc,EAAE,cAAc;gBAF9B,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,oCAAoC,EAClD,cAAc,EAAE,cAAc;IAGvC,IAAI,IAAI,EAAE;IAYV,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;OAQhB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC;WAIhC,MAAM;CAOpB"}
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
3
3
  import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
4
- import { PrivateExecutionResult, collectEnqueuedPublicFunctionCalls, collectPublicTeardownFunctionCall, collectSortedContractClassLogs } from './private_execution_result.js';
4
+ import { PrivateExecutionResult, collectSortedContractClassLogs } from './private_execution_result.js';
5
5
  import { Tx } from './tx.js';
6
6
  export class TxProvingResult {
7
7
  privateExecutionResult;
@@ -14,9 +14,7 @@ export class TxProvingResult {
14
14
  }
15
15
  toTx() {
16
16
  const contractClassLogs = collectSortedContractClassLogs(this.privateExecutionResult);
17
- const enqueuedPublicFunctions = collectEnqueuedPublicFunctionCalls(this.privateExecutionResult);
18
- const teardownPublicFunction = collectPublicTeardownFunctionCall(this.privateExecutionResult);
19
- const tx = new Tx(this.publicInputs, this.clientIvcProof, contractClassLogs, enqueuedPublicFunctions, teardownPublicFunction);
17
+ const tx = new Tx(this.publicInputs, this.clientIvcProof, contractClassLogs, this.privateExecutionResult.publicFunctionCalldata);
20
18
  return tx;
21
19
  }
22
20
  static get schema() {
@@ -0,0 +1,41 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
+ /// <reference types="node" resolution-mode="require"/>
4
+ import { Fr } from '@aztec/foundation/fields';
5
+ import { BufferReader } from '@aztec/foundation/serialize';
6
+ import { inspect } from 'util';
7
+ import { FunctionSelector } from '../abi/function_selector.js';
8
+ import { PublicCallRequest } from '../kernel/public_call_request.js';
9
+ import { type ZodFor } from '../schemas/index.js';
10
+ /**
11
+ * The call request of a public function, including the calldata.
12
+ */
13
+ export declare class PublicCallRequestWithCalldata {
14
+ /**
15
+ * Request of the public call.
16
+ */
17
+ request: PublicCallRequest;
18
+ /**
19
+ * Function selector and arguments of the public call.
20
+ */
21
+ calldata: Fr[];
22
+ constructor(
23
+ /**
24
+ * Request of the public call.
25
+ */
26
+ request: PublicCallRequest,
27
+ /**
28
+ * Function selector and arguments of the public call.
29
+ */
30
+ calldata: Fr[]);
31
+ get functionSelector(): FunctionSelector;
32
+ get args(): Fr[];
33
+ static get schema(): ZodFor<PublicCallRequestWithCalldata>;
34
+ static from(fields: Pick<PublicCallRequestWithCalldata, 'request' | 'calldata'>): PublicCallRequestWithCalldata;
35
+ toBuffer(): Buffer;
36
+ static fromBuffer(buffer: Buffer | BufferReader): PublicCallRequestWithCalldata;
37
+ static empty(): PublicCallRequestWithCalldata;
38
+ isEmpty(): boolean;
39
+ [inspect.custom](): string;
40
+ }
41
+ //# sourceMappingURL=public_call_request_with_calldata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public_call_request_with_calldata.d.ts","sourceRoot":"","sources":["../../src/tx/public_call_request_with_calldata.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,qBAAqB,CAAC;AAG3D;;GAEG;AACH,qBAAa,6BAA6B;IAEtC;;OAEG;IACI,OAAO,EAAE,iBAAiB;IACjC;;OAEG;IACI,QAAQ,EAAE,EAAE,EAAE;;IAPrB;;OAEG;IACI,OAAO,EAAE,iBAAiB;IACjC;;OAEG;IACI,QAAQ,EAAE,EAAE,EAAE;IAIvB,IAAI,gBAAgB,IAAI,gBAAgB,CAEvC;IAED,IAAI,IAAI,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,6BAA6B,CAAC,CAOzD;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,6BAA6B,EAAE,SAAS,GAAG,UAAU,CAAC,GAAG,6BAA6B;IAI/G,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAK/C,MAAM,CAAC,KAAK;IAIZ,OAAO,IAAI,OAAO;IAIlB,CAAC,OAAO,CAAC,MAAM,CAAC;CAMjB"}
@@ -0,0 +1,57 @@
1
+ import { Fr } from '@aztec/foundation/fields';
2
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
+ import { inspect } from 'util';
4
+ import { z } from 'zod';
5
+ import { FunctionSelector } from '../abi/function_selector.js';
6
+ import { PublicCallRequest } from '../kernel/public_call_request.js';
7
+ import { schemas } from '../schemas/index.js';
8
+ import { Vector } from '../types/index.js';
9
+ /**
10
+ * The call request of a public function, including the calldata.
11
+ */ export class PublicCallRequestWithCalldata {
12
+ request;
13
+ calldata;
14
+ constructor(/**
15
+ * Request of the public call.
16
+ */ request, /**
17
+ * Function selector and arguments of the public call.
18
+ */ calldata){
19
+ this.request = request;
20
+ this.calldata = calldata;
21
+ }
22
+ // Public functions get routed through the dispatch function, whose first argument is the target function selector.
23
+ get functionSelector() {
24
+ return FunctionSelector.fromField(this.calldata[0]);
25
+ }
26
+ get args() {
27
+ return this.calldata.slice(1);
28
+ }
29
+ static get schema() {
30
+ return z.object({
31
+ request: PublicCallRequest.schema,
32
+ calldata: z.array(schemas.Fr)
33
+ }).transform(PublicCallRequestWithCalldata.from);
34
+ }
35
+ static from(fields) {
36
+ return new PublicCallRequestWithCalldata(fields.request, fields.calldata);
37
+ }
38
+ toBuffer() {
39
+ return serializeToBuffer(this.request, new Vector(this.calldata));
40
+ }
41
+ static fromBuffer(buffer) {
42
+ const reader = BufferReader.asReader(buffer);
43
+ return new PublicCallRequestWithCalldata(PublicCallRequest.fromBuffer(reader), reader.readVector(Fr));
44
+ }
45
+ static empty() {
46
+ return new PublicCallRequestWithCalldata(PublicCallRequest.empty(), []);
47
+ }
48
+ isEmpty() {
49
+ return this.request.isEmpty() && this.calldata.length === 0;
50
+ }
51
+ [inspect.custom]() {
52
+ return `PublicCallRequestWithCalldata {
53
+ request: ${inspect(this.request)}
54
+ calldata: ${this.calldata}
55
+ }`;
56
+ }
57
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"simulated_tx.d.ts","sourceRoot":"","sources":["../../src/tx/simulated_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAKxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oCAAoC,EAAE,MAAM,wDAAwD,CAAC;AAE9G,OAAO,EAEL,sBAAsB,EAIvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAClG,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,qBAAa,uBAAuB;IAEzB,sBAAsB,EAAE,sBAAsB;IAC9C,YAAY,EAAE,oCAAoC;gBADlD,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,oCAAoC;IAG3D,sBAAsB;IAItB,aAAa,IAAI,EAAE;CAcpB;AAED,qBAAa,kBAAkB;IAEpB,sBAAsB,EAAE,sBAAsB;IAC9C,YAAY,EAAE,oCAAoC;IAClD,YAAY,CAAC;gBAFb,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,oCAAoC,EAClD,YAAY,CAAC,oCAAwB;IAG9C,IAAI,OAAO,IAAI,OAAO,CASrB;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAQ9C;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAIjE,MAAM,CAAC,0CAA0C,CAC/C,uBAAuB,EAAE,uBAAuB,EAChD,YAAY,CAAC,EAAE,sBAAsB;WAS1B,MAAM;IAQnB,sBAAsB;IAItB,aAAa,IAAI,EAAE;IAInB,qBAAqB;CAGtB;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,sBAAsB,GAAG,yBAAyB,CAWhH"}
1
+ {"version":3,"file":"simulated_tx.d.ts","sourceRoot":"","sources":["../../src/tx/simulated_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAKxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oCAAoC,EAAE,MAAM,wDAAwD,CAAC;AAE9G,OAAO,EAEL,sBAAsB,EAEvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAClG,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,qBAAa,uBAAuB;IAEzB,sBAAsB,EAAE,sBAAsB;IAC9C,YAAY,EAAE,oCAAoC;gBADlD,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,oCAAoC;IAG3D,sBAAsB;IAItB,aAAa,IAAI,EAAE;CAWpB;AAED,qBAAa,kBAAkB;IAEpB,sBAAsB,EAAE,sBAAsB;IAC9C,YAAY,EAAE,oCAAoC;IAClD,YAAY,CAAC;gBAFb,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,oCAAoC,EAClD,YAAY,CAAC,oCAAwB;IAG9C,IAAI,OAAO,IAAI,OAAO,CASrB;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAQ9C;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAIjE,MAAM,CAAC,0CAA0C,CAC/C,uBAAuB,EAAE,uBAAuB,EAChD,YAAY,CAAC,EAAE,sBAAsB;WAS1B,MAAM;IAQnB,sBAAsB;IAItB,aAAa,IAAI,EAAE;IAInB,qBAAqB;CAGtB;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,sBAAsB,GAAG,yBAAyB,CAWhH"}
@@ -2,7 +2,7 @@ import { z } from 'zod';
2
2
  import { Gas } from '../gas/gas.js';
3
3
  import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
4
4
  import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
5
- import { PrivateExecutionResult, collectEnqueuedPublicFunctionCalls, collectPublicTeardownFunctionCall, collectSortedContractClassLogs } from './private_execution_result.js';
5
+ import { PrivateExecutionResult, collectSortedContractClassLogs } from './private_execution_result.js';
6
6
  import { NestedProcessReturnValues, PublicSimulationOutput } from './public_simulation_output.js';
7
7
  import { Tx } from './tx.js';
8
8
  export class PrivateSimulationResult {
@@ -17,9 +17,7 @@ export class PrivateSimulationResult {
17
17
  }
18
18
  toSimulatedTx() {
19
19
  const contractClassLogs = collectSortedContractClassLogs(this.privateExecutionResult);
20
- const enqueuedPublicFunctions = collectEnqueuedPublicFunctionCalls(this.privateExecutionResult);
21
- const teardownPublicFunction = collectPublicTeardownFunctionCall(this.privateExecutionResult);
22
- const tx = new Tx(this.publicInputs, ClientIvcProof.empty(), contractClassLogs, enqueuedPublicFunctions, teardownPublicFunction);
20
+ const tx = new Tx(this.publicInputs, ClientIvcProof.empty(), contractClassLogs, this.privateExecutionResult.publicFunctionCalldata);
23
21
  return tx;
24
22
  }
25
23
  }
package/dest/tx/tx.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  /// <reference types="node" resolution-mode="require"/>
3
3
  import { Buffer32 } from '@aztec/foundation/buffer';
4
+ import { Fr } from '@aztec/foundation/fields';
4
5
  import type { ZodFor } from '@aztec/foundation/schemas';
5
6
  import { BufferReader } from '@aztec/foundation/serialize';
6
7
  import type { FieldsOf } from '@aztec/foundation/types';
@@ -13,12 +14,14 @@ import { ContractClassLog } from '../logs/contract_class_log.js';
13
14
  import { Gossipable } from '../p2p/gossipable.js';
14
15
  import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
15
16
  import type { TxStats } from '../stats/stats.js';
16
- import { PublicExecutionRequest } from './public_execution_request.js';
17
+ import { HashedValues } from './hashed_values.js';
18
+ import { PublicCallRequestWithCalldata } from './public_call_request_with_calldata.js';
17
19
  import { TxHash } from './tx_hash.js';
18
20
  /**
19
21
  * The interface of an L2 transaction.
20
22
  */
21
23
  export declare class Tx extends Gossipable {
24
+ #private;
22
25
  /**
23
26
  * Output of the private kernel circuit for this tx.
24
27
  */
@@ -26,7 +29,6 @@ export declare class Tx extends Gossipable {
26
29
  /**
27
30
  * Proof from the private kernel circuit.
28
31
  * TODO(#7368): This client IVC object currently contains various VKs that will eventually be more like static data.
29
- *
30
32
  */
31
33
  readonly clientIvcProof: ClientIvcProof;
32
34
  /**
@@ -34,15 +36,12 @@ export declare class Tx extends Gossipable {
34
36
  */
35
37
  contractClassLogs: ContractClassLog[];
36
38
  /**
37
- * Enqueued public functions from the private circuit to be run by the sequencer.
38
- */
39
- readonly enqueuedPublicFunctionCalls: PublicExecutionRequest[];
40
- /**
41
- * Public function call to be run by the sequencer as part of teardown.
39
+ * An array of calldata for the enqueued public function calls and the teardown function call.
42
40
  */
43
- readonly publicTeardownFunctionCall: PublicExecutionRequest;
41
+ publicFunctionCalldata: HashedValues[];
44
42
  static p2pTopic: string;
45
43
  private txHash;
44
+ private calldataMap;
46
45
  constructor(
47
46
  /**
48
47
  * Output of the private kernel circuit for this tx.
@@ -51,7 +50,6 @@ export declare class Tx extends Gossipable {
51
50
  /**
52
51
  * Proof from the private kernel circuit.
53
52
  * TODO(#7368): This client IVC object currently contains various VKs that will eventually be more like static data.
54
- *
55
53
  */
56
54
  clientIvcProof: ClientIvcProof,
57
55
  /**
@@ -59,19 +57,17 @@ export declare class Tx extends Gossipable {
59
57
  */
60
58
  contractClassLogs: ContractClassLog[],
61
59
  /**
62
- * Enqueued public functions from the private circuit to be run by the sequencer.
63
- */
64
- enqueuedPublicFunctionCalls: PublicExecutionRequest[],
65
- /**
66
- * Public function call to be run by the sequencer as part of teardown.
60
+ * An array of calldata for the enqueued public function calls and the teardown function call.
67
61
  */
68
- publicTeardownFunctionCall: PublicExecutionRequest);
62
+ publicFunctionCalldata: HashedValues[]);
69
63
  p2pMessageIdentifier(): Promise<Buffer32>;
70
64
  hasPublicCalls(): boolean;
71
- getNonRevertiblePublicExecutionRequests(): PublicExecutionRequest[];
72
- getRevertiblePublicExecutionRequests(): PublicExecutionRequest[];
73
- getPublicTeardownExecutionRequest(): PublicExecutionRequest | undefined;
74
- getTotalPublicArgsCount(): number;
65
+ numberOfPublicCalls(): number;
66
+ getNonRevertiblePublicCallRequestsWithCalldata(): PublicCallRequestWithCalldata[];
67
+ getRevertiblePublicCallRequestsWithCalldata(): PublicCallRequestWithCalldata[];
68
+ getTeardownPublicCallRequestWithCalldata(): PublicCallRequestWithCalldata | undefined;
69
+ getPublicCallRequestsWithCalldata(): PublicCallRequestWithCalldata[];
70
+ getTotalPublicCalldataCount(): number;
75
71
  getGasSettings(): GasSettings;
76
72
  /**
77
73
  * Deserializes the Tx object from a Buffer.
@@ -79,7 +75,6 @@ export declare class Tx extends Gossipable {
79
75
  * @returns An instance of Tx.
80
76
  */
81
77
  static fromBuffer(buffer: Buffer | BufferReader): Tx;
82
- static newWithTxData(data: PrivateKernelTailCircuitPublicInputs, publicTeardownExecutionRequest?: PublicExecutionRequest): Tx;
83
78
  /**
84
79
  * Serializes the Tx object into a Buffer.
85
80
  * @returns Buffer representation of the Tx object.
@@ -118,6 +113,7 @@ export declare class Tx extends Gossipable {
118
113
  * @param hash - The hash to set.
119
114
  */
120
115
  setTxHash(hash: TxHash): void;
116
+ getCalldataMap(): Map<string, Fr[]>;
121
117
  /** Returns stats about this tx. */
122
118
  getStats(): Promise<TxStats>;
123
119
  getSize(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../src/tx/tx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../src/tx/tx.ts"],"names":[],"mappings":"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"}