@aztec/stdlib 0.0.1-commit.2b2662070 → 0.0.1-commit.2c0ee1788

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 (178) hide show
  1. package/dest/abi/encoder.d.ts +1 -1
  2. package/dest/abi/encoder.d.ts.map +1 -1
  3. package/dest/abi/encoder.js +32 -6
  4. package/dest/avm/avm.d.ts +300 -300
  5. package/dest/block/attestation_info.d.ts +3 -2
  6. package/dest/block/attestation_info.d.ts.map +1 -1
  7. package/dest/block/attestation_info.js +7 -5
  8. package/dest/block/block_data.d.ts +290 -1
  9. package/dest/block/block_data.d.ts.map +1 -1
  10. package/dest/block/block_data.js +14 -0
  11. package/dest/block/block_parameter.d.ts +30 -3
  12. package/dest/block/block_parameter.d.ts.map +1 -1
  13. package/dest/block/block_parameter.js +36 -2
  14. package/dest/block/l2_block_source.d.ts +39 -4
  15. package/dest/block/l2_block_source.d.ts.map +1 -1
  16. package/dest/block/proposal/attestations_and_signers.d.ts +13 -6
  17. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  18. package/dest/block/proposal/attestations_and_signers.js +26 -18
  19. package/dest/checkpoint/checkpoint_data.d.ts +7 -1
  20. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  21. package/dest/checkpoint/checkpoint_data.js +2 -0
  22. package/dest/config/chain-config.d.ts +2 -2
  23. package/dest/config/chain-config.d.ts.map +1 -1
  24. package/dest/config/chain-config.js +2 -2
  25. package/dest/config/sequencer-config.d.ts +5 -3
  26. package/dest/config/sequencer-config.d.ts.map +1 -1
  27. package/dest/config/sequencer-config.js +13 -6
  28. package/dest/contract/contract_address.d.ts +1 -1
  29. package/dest/contract/contract_address.js +2 -2
  30. package/dest/contract/private_function.d.ts +1 -1
  31. package/dest/contract/private_function.d.ts.map +1 -1
  32. package/dest/contract/private_function.js +2 -4
  33. package/dest/gas/gas_fees.d.ts +5 -1
  34. package/dest/gas/gas_fees.d.ts.map +1 -1
  35. package/dest/ha-signing/config.d.ts +6 -6
  36. package/dest/ha-signing/config.d.ts.map +1 -1
  37. package/dest/ha-signing/config.js +4 -3
  38. package/dest/ha-signing/local_config.d.ts +1 -1
  39. package/dest/ha-signing/local_config.d.ts.map +1 -1
  40. package/dest/ha-signing/local_config.js +2 -2
  41. package/dest/hash/hash.d.ts +16 -1
  42. package/dest/hash/hash.d.ts.map +1 -1
  43. package/dest/hash/hash.js +32 -0
  44. package/dest/interfaces/archiver.d.ts +11 -1
  45. package/dest/interfaces/archiver.d.ts.map +1 -1
  46. package/dest/interfaces/archiver.js +10 -4
  47. package/dest/interfaces/aztec-node-admin.d.ts +19 -4
  48. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  49. package/dest/interfaces/aztec-node-admin.js +2 -1
  50. package/dest/interfaces/aztec-node.d.ts +45 -55
  51. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  52. package/dest/interfaces/aztec-node.js +18 -16
  53. package/dest/interfaces/block_response.d.ts +156 -0
  54. package/dest/interfaces/block_response.d.ts.map +1 -0
  55. package/dest/interfaces/block_response.js +24 -0
  56. package/dest/interfaces/chain_tips.d.ts +304 -0
  57. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  58. package/dest/interfaces/chain_tips.js +11 -0
  59. package/dest/interfaces/checkpoint_parameter.d.ts +27 -0
  60. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  61. package/dest/interfaces/checkpoint_parameter.js +20 -0
  62. package/dest/interfaces/checkpoint_response.d.ts +312 -0
  63. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  64. package/dest/interfaces/checkpoint_response.js +26 -0
  65. package/dest/interfaces/client.d.ts +6 -1
  66. package/dest/interfaces/client.d.ts.map +1 -1
  67. package/dest/interfaces/client.js +5 -0
  68. package/dest/interfaces/configs.d.ts +12 -2
  69. package/dest/interfaces/configs.d.ts.map +1 -1
  70. package/dest/interfaces/configs.js +3 -1
  71. package/dest/interfaces/l1_publish_info.d.ts +43 -0
  72. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  73. package/dest/interfaces/l1_publish_info.js +26 -0
  74. package/dest/interfaces/proving-job.d.ts +166 -166
  75. package/dest/interfaces/server.d.ts +6 -1
  76. package/dest/interfaces/server.d.ts.map +1 -1
  77. package/dest/interfaces/server.js +5 -0
  78. package/dest/interfaces/validator.d.ts +20 -8
  79. package/dest/interfaces/validator.d.ts.map +1 -1
  80. package/dest/interfaces/validator.js +2 -0
  81. package/dest/p2p/block_proposal.d.ts +19 -9
  82. package/dest/p2p/block_proposal.d.ts.map +1 -1
  83. package/dest/p2p/block_proposal.js +42 -32
  84. package/dest/p2p/checkpoint_attestation.d.ts +7 -3
  85. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  86. package/dest/p2p/checkpoint_attestation.js +15 -17
  87. package/dest/p2p/checkpoint_proposal.d.ts +15 -7
  88. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  89. package/dest/p2p/checkpoint_proposal.js +31 -29
  90. package/dest/p2p/consensus_payload.d.ts +18 -7
  91. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  92. package/dest/p2p/consensus_payload.js +31 -19
  93. package/dest/p2p/signature_utils.d.ts +28 -19
  94. package/dest/p2p/signature_utils.d.ts.map +1 -1
  95. package/dest/p2p/signature_utils.js +118 -21
  96. package/dest/p2p/signed_txs.d.ts +15 -13
  97. package/dest/p2p/signed_txs.d.ts.map +1 -1
  98. package/dest/p2p/signed_txs.js +26 -24
  99. package/dest/parity/parity_base_private_inputs.d.ts +7 -3
  100. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  101. package/dest/parity/parity_base_private_inputs.js +7 -5
  102. package/dest/parity/parity_public_inputs.d.ts +7 -3
  103. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  104. package/dest/parity/parity_public_inputs.js +6 -3
  105. package/dest/rollup/block_headers_hash.d.ts +1 -1
  106. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  107. package/dest/rollup/block_headers_hash.js +8 -2
  108. package/dest/tests/factories.d.ts +2 -7
  109. package/dest/tests/factories.d.ts.map +1 -1
  110. package/dest/tests/factories.js +8 -18
  111. package/dest/tests/mocks.d.ts +7 -1
  112. package/dest/tests/mocks.d.ts.map +1 -1
  113. package/dest/tests/mocks.js +28 -14
  114. package/dest/timetable/index.d.ts +1 -1
  115. package/dest/timetable/index.d.ts.map +1 -1
  116. package/dest/timetable/index.js +25 -11
  117. package/dest/trees/nullifier_leaf.d.ts +2 -1
  118. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  119. package/dest/trees/nullifier_leaf.js +3 -0
  120. package/dest/tx/profiling.js +4 -4
  121. package/dest/types/shared.d.ts +1 -10
  122. package/dest/types/shared.d.ts.map +1 -1
  123. package/dest/types/shared.js +0 -9
  124. package/dest/vks/verification_key.d.ts +2 -137
  125. package/dest/vks/verification_key.d.ts.map +1 -1
  126. package/dest/vks/verification_key.js +5 -126
  127. package/dest/world-state/world_state_revision.d.ts +8 -1
  128. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  129. package/dest/world-state/world_state_revision.js +7 -1
  130. package/package.json +8 -8
  131. package/src/abi/encoder.ts +42 -6
  132. package/src/block/attestation_info.ts +11 -11
  133. package/src/block/block_data.ts +17 -0
  134. package/src/block/block_parameter.ts +35 -2
  135. package/src/block/l2_block_source.ts +43 -3
  136. package/src/block/proposal/attestations_and_signers.ts +32 -17
  137. package/src/checkpoint/checkpoint_data.ts +4 -0
  138. package/src/config/chain-config.ts +2 -3
  139. package/src/config/sequencer-config.ts +25 -7
  140. package/src/contract/contract_address.ts +2 -2
  141. package/src/contract/private_function.ts +3 -1
  142. package/src/gas/gas_fees.ts +5 -0
  143. package/src/ha-signing/config.ts +5 -2
  144. package/src/ha-signing/local_config.ts +2 -2
  145. package/src/hash/hash.ts +27 -0
  146. package/src/interfaces/archiver.ts +21 -3
  147. package/src/interfaces/aztec-node-admin.ts +3 -1
  148. package/src/interfaces/aztec-node.ts +105 -95
  149. package/src/interfaces/block_response.ts +79 -0
  150. package/src/interfaces/chain_tips.ts +24 -0
  151. package/src/interfaces/checkpoint_parameter.ts +22 -0
  152. package/src/interfaces/checkpoint_response.ts +84 -0
  153. package/src/interfaces/client.ts +5 -0
  154. package/src/interfaces/configs.ts +8 -1
  155. package/src/interfaces/l1_publish_info.ts +40 -0
  156. package/src/interfaces/server.ts +5 -0
  157. package/src/interfaces/validator.ts +7 -1
  158. package/src/p2p/block_proposal.ts +84 -28
  159. package/src/p2p/checkpoint_attestation.ts +15 -20
  160. package/src/p2p/checkpoint_proposal.ts +69 -37
  161. package/src/p2p/consensus_payload.ts +50 -28
  162. package/src/p2p/signature_utils.ts +110 -25
  163. package/src/p2p/signed_txs.ts +46 -28
  164. package/src/parity/parity_base_private_inputs.ts +10 -4
  165. package/src/parity/parity_public_inputs.ts +9 -2
  166. package/src/rollup/block_headers_hash.ts +11 -2
  167. package/src/tests/factories.ts +14 -20
  168. package/src/tests/mocks.ts +46 -26
  169. package/src/timetable/index.ts +26 -11
  170. package/src/trees/nullifier_leaf.ts +4 -0
  171. package/src/tx/profiling.ts +4 -4
  172. package/src/types/shared.ts +0 -10
  173. package/src/vks/verification_key.ts +5 -184
  174. package/src/world-state/world_state_revision.ts +9 -1
  175. package/dest/abi/mocked_keys.d.ts +0 -2
  176. package/dest/abi/mocked_keys.d.ts.map +0 -1
  177. package/dest/abi/mocked_keys.js +0 -1
  178. package/src/abi/mocked_keys.ts +0 -2
@@ -13,4 +13,4 @@ export declare function encodeArguments(abi: FunctionAbi, args: any[]): Fr[];
13
13
  * @returns The size of the arguments.
14
14
  */
15
15
  export declare function countArgumentsSize(abi: FunctionAbi): number;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9lbmNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBVyxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUE2UXJEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLGVBQWUsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsUUFFNUQ7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxXQUFXLFVBRWxEIn0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9lbmNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBVyxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFpVHJEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLGVBQWUsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsUUFFNUQ7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxXQUFXLFVBRWxEIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/abi/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAW,WAAW,EAAE,MAAM,UAAU,CAAC;AA6QrD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,QAE5D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,UAElD"}
1
+ {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/abi/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAW,WAAW,EAAE,MAAM,UAAU,CAAC;AAiTrD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,QAE5D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,UAElD"}
@@ -91,13 +91,24 @@ import { isAddressStruct, isBoundedVecStruct, isFunctionSelectorStruct, isOption
91
91
  this.flattened.push(new Fr(arg ? 1n : 0n));
92
92
  break;
93
93
  case 'array':
94
+ if (!Array.isArray(arg)) {
95
+ throw new Error(`Expected array for '${name ?? 'unnamed'}' but received ${typeof arg}`);
96
+ }
97
+ if (arg.length !== abiType.length) {
98
+ throw new Error(`Expected array of length ${abiType.length} for '${name ?? 'unnamed'}' but received length ${arg.length}`);
99
+ }
94
100
  for(let i = 0; i < abiType.length; i += 1){
95
101
  this.encodeArgument(abiType.type, arg[i], `${name}[${i}]`);
96
102
  }
97
103
  break;
98
104
  case 'string':
105
+ if (typeof arg !== 'string') {
106
+ throw new Error(`Expected string for '${name ?? 'unnamed'}' but received ${typeof arg}`);
107
+ }
108
+ if (arg.length > abiType.length) {
109
+ throw new Error(`Expected string of max length ${abiType.length} for '${name ?? 'unnamed'}' but received length ${arg.length}`);
110
+ }
99
111
  for(let i = 0; i < abiType.length; i += 1){
100
- // If the string is shorter than the defined length, pad it with 0s.
101
112
  const toInsert = i < arg.length ? BigInt(arg.charCodeAt(i)) : 0n;
102
113
  this.flattened.push(new Fr(toInsert));
103
114
  }
@@ -152,12 +163,24 @@ import { isAddressStruct, isBoundedVecStruct, isFunctionSelectorStruct, isOption
152
163
  case 'integer':
153
164
  {
154
165
  const value = BigInt(arg);
155
- if (abiType.sign === 'signed' && value < 0n) {
156
- // Convert negative values to two's complement representation
157
- const twosComplement = value + (1n << BigInt(abiType.width));
158
- this.flattened.push(new Fr(twosComplement));
159
- } else {
166
+ if (abiType.sign === 'unsigned') {
167
+ const maxValue = (1n << BigInt(abiType.width)) - 1n;
168
+ if (value < 0n || value > maxValue) {
169
+ throw new Error(`Value ${value} does not fit in u${abiType.width} for '${name ?? 'unnamed'}' (valid range: 0 to ${maxValue})`);
170
+ }
160
171
  this.flattened.push(new Fr(value));
172
+ } else {
173
+ const minValue = -(1n << BigInt(abiType.width - 1));
174
+ const maxValue = (1n << BigInt(abiType.width - 1)) - 1n;
175
+ if (value < minValue || value > maxValue) {
176
+ throw new Error(`Value ${value} does not fit in i${abiType.width} for '${name ?? 'unnamed'}' (valid range: ${minValue} to ${maxValue})`);
177
+ }
178
+ if (value < 0n) {
179
+ const twosComplement = value + (1n << BigInt(abiType.width));
180
+ this.flattened.push(new Fr(twosComplement));
181
+ } else {
182
+ this.flattened.push(new Fr(value));
183
+ }
161
184
  }
162
185
  break;
163
186
  }
@@ -169,6 +192,9 @@ import { isAddressStruct, isBoundedVecStruct, isFunctionSelectorStruct, isOption
169
192
  * Encodes all the arguments for the given function ABI.
170
193
  * @returns The encoded arguments.
171
194
  */ encode() {
195
+ if (this.args.length !== this.abi.parameters.length) {
196
+ throw new Error(`Function '${this.abi.name}' expects ${this.abi.parameters.length} argument(s) but received ${this.args.length}`);
197
+ }
172
198
  for(let i = 0; i < this.abi.parameters.length; i += 1){
173
199
  const parameterAbi = this.abi.parameters[i];
174
200
  this.encodeArgument(parameterAbi.type, this.args[i], parameterAbi.name);