@aztec/foundation 0.55.0 → 0.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/dest/abi/decoder.d.ts +6 -6
  2. package/dest/abi/decoder.d.ts.map +1 -1
  3. package/dest/abi/decoder.js +23 -24
  4. package/dest/abi/event_selector.d.ts.map +1 -1
  5. package/dest/abi/event_selector.js +6 -3
  6. package/dest/abi/function_selector.d.ts.map +1 -1
  7. package/dest/abi/function_selector.js +6 -3
  8. package/dest/buffer/buffer32.d.ts +9 -0
  9. package/dest/buffer/buffer32.d.ts.map +1 -1
  10. package/dest/buffer/buffer32.js +18 -1
  11. package/dest/config/env_var.d.ts +1 -1
  12. package/dest/config/env_var.d.ts.map +1 -1
  13. package/dest/crypto/index.d.ts +1 -0
  14. package/dest/crypto/index.d.ts.map +1 -1
  15. package/dest/crypto/index.js +2 -1
  16. package/dest/crypto/poseidon/index.d.ts +2 -0
  17. package/dest/crypto/poseidon/index.d.ts.map +1 -1
  18. package/dest/crypto/poseidon/index.js +14 -1
  19. package/dest/crypto/secp256k1-signer/index.d.ts +3 -0
  20. package/dest/crypto/secp256k1-signer/index.d.ts.map +1 -0
  21. package/dest/crypto/secp256k1-signer/index.js +3 -0
  22. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +24 -0
  23. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -0
  24. package/dest/crypto/secp256k1-signer/secp256k1_signer.js +31 -0
  25. package/dest/crypto/secp256k1-signer/utils.d.ts +39 -0
  26. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -0
  27. package/dest/crypto/secp256k1-signer/utils.js +89 -0
  28. package/dest/crypto/sha256/index.d.ts +15 -3
  29. package/dest/crypto/sha256/index.d.ts.map +1 -1
  30. package/dest/crypto/sha256/index.js +110 -5
  31. package/dest/eth-signature/eth_signature.d.ts +54 -0
  32. package/dest/eth-signature/eth_signature.d.ts.map +1 -0
  33. package/dest/eth-signature/eth_signature.js +69 -0
  34. package/dest/eth-signature/index.d.ts +2 -0
  35. package/dest/eth-signature/index.d.ts.map +1 -0
  36. package/dest/eth-signature/index.js +2 -0
  37. package/dest/fields/point.d.ts.map +1 -1
  38. package/dest/fields/point.js +3 -2
  39. package/dest/index.d.ts +1 -0
  40. package/dest/index.d.ts.map +1 -1
  41. package/dest/index.js +2 -1
  42. package/dest/json-rpc/server/json_rpc_server.d.ts +9 -0
  43. package/dest/json-rpc/server/json_rpc_server.d.ts.map +1 -1
  44. package/dest/json-rpc/server/json_rpc_server.js +25 -3
  45. package/dest/serialize/buffer_reader.d.ts +9 -0
  46. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  47. package/dest/serialize/buffer_reader.js +18 -1
  48. package/dest/serialize/serialize.js +2 -2
  49. package/dest/serialize/types.d.ts +1 -1
  50. package/dest/serialize/types.d.ts.map +1 -1
  51. package/dest/serialize/types.js +1 -1
  52. package/dest/testing/index.d.ts +1 -0
  53. package/dest/testing/index.d.ts.map +1 -1
  54. package/dest/testing/index.js +2 -1
  55. package/dest/testing/port_allocator.d.ts +10 -0
  56. package/dest/testing/port_allocator.d.ts.map +1 -0
  57. package/dest/testing/port_allocator.js +32 -0
  58. package/dest/trees/index.d.ts +1 -0
  59. package/dest/trees/index.d.ts.map +1 -1
  60. package/dest/trees/index.js +2 -2
  61. package/dest/trees/unbalanced_merkle_root.d.ts +12 -0
  62. package/dest/trees/unbalanced_merkle_root.d.ts.map +1 -0
  63. package/dest/trees/unbalanced_merkle_root.js +52 -0
  64. package/package.json +5 -3
  65. package/src/abi/decoder.ts +24 -25
  66. package/src/abi/event_selector.ts +5 -2
  67. package/src/abi/function_selector.ts +5 -2
  68. package/src/buffer/buffer32.ts +18 -0
  69. package/src/config/env_var.ts +13 -2
  70. package/src/crypto/index.ts +1 -0
  71. package/src/crypto/poseidon/index.ts +22 -0
  72. package/src/crypto/secp256k1-signer/index.ts +2 -0
  73. package/src/crypto/secp256k1-signer/secp256k1_signer.ts +38 -0
  74. package/src/crypto/secp256k1-signer/utils.ts +99 -0
  75. package/src/crypto/sha256/index.ts +137 -4
  76. package/src/eth-signature/eth_signature.ts +90 -0
  77. package/src/eth-signature/index.ts +1 -0
  78. package/src/fields/point.ts +2 -1
  79. package/src/index.ts +1 -0
  80. package/src/json-rpc/server/json_rpc_server.ts +34 -3
  81. package/src/serialize/buffer_reader.ts +20 -0
  82. package/src/serialize/serialize.ts +1 -1
  83. package/src/serialize/types.ts +1 -1
  84. package/src/testing/index.ts +1 -0
  85. package/src/testing/port_allocator.ts +31 -0
  86. package/src/trees/index.ts +2 -0
  87. package/src/trees/unbalanced_merkle_root.ts +52 -0
@@ -4,16 +4,16 @@ import { type ABIParameter, type AbiType } from './abi.js';
4
4
  /**
5
5
  * The type of our decoded ABI.
6
6
  */
7
- export type DecodedReturn = bigint | boolean | AztecAddress | DecodedReturn[] | {
8
- [key: string]: DecodedReturn;
7
+ export type AbiDecoded = bigint | boolean | AztecAddress | AbiDecoded[] | {
8
+ [key: string]: AbiDecoded;
9
9
  };
10
10
  /**
11
- * Decodes return values from a function call.
12
- * @param abi - The ABI entry of the function.
13
- * @param returnValues - The decoded return values.
11
+ * Decodes values in a flattened Field array using a provided ABI.
12
+ * @param abi - The ABI to use as reference.
13
+ * @param buffer - The flattened Field array to decode.
14
14
  * @returns
15
15
  */
16
- export declare function decodeReturnValues(returnTypes: AbiType[], returnValues: Fr[]): DecodedReturn;
16
+ export declare function decodeFromAbi(typ: AbiType[], buffer: Fr[]): AbiDecoded;
17
17
  /**
18
18
  * Decodes the signature of a function from the name and parameters.
19
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/abi/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,YAAY,EAAoB,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAG7E;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,CAAC;AA2FjH;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,iBAE5E;AAED;;GAEG;AACH,qBAAa,wBAAwB;IAEvB,OAAO,CAAC,IAAI;IAAU,OAAO,CAAC,UAAU;IAAkB,OAAO,CAAC,YAAY;IAD1F,OAAO,CAAC,SAAS,CAAS;gBACN,IAAI,EAAE,MAAM,EAAU,UAAU,EAAE,YAAY,EAAE,EAAU,YAAY,UAAQ;IAIlG;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAKvB;;;OAGG;IACI,MAAM,IAAI,MAAM;CAGxB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAE/E;AAED;;;;;GAKG;AACH,wBAAgB,yCAAyC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAEjG"}
1
+ {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/abi/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,YAAY,EAAoB,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAG7E;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,CAAC;AA0FxG;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,cAEzD;AAED;;GAEG;AACH,qBAAa,wBAAwB;IAEvB,OAAO,CAAC,IAAI;IAAU,OAAO,CAAC,UAAU;IAAkB,OAAO,CAAC,YAAY;IAD1F,OAAO,CAAC,SAAS,CAAS;gBACN,IAAI,EAAE,MAAM,EAAU,UAAU,EAAE,YAAY,EAAE,EAAU,YAAY,UAAQ;IAIlG;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAKvB;;;OAGG;IACI,MAAM,IAAI,MAAM;CAGxB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAE/E;AAED;;;;;GAKG;AACH,wBAAgB,yCAAyC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAEjG"}
@@ -1,12 +1,12 @@
1
1
  import { AztecAddress } from '../aztec-address/index.js';
2
2
  import { isAztecAddressStruct } from './utils.js';
3
3
  /**
4
- * Decodes return values from a function call.
5
- * Missing support for integer and string.
4
+ * Decodes values using a provided ABI.
5
+ * Missing support for signed integer.
6
6
  */
7
- class ReturnValuesDecoder {
8
- constructor(returnTypes, flattened) {
9
- this.returnTypes = returnTypes;
7
+ class AbiDecoder {
8
+ constructor(types, flattened) {
9
+ this.types = types;
10
10
  this.flattened = flattened;
11
11
  }
12
12
  /**
@@ -14,7 +14,7 @@ class ReturnValuesDecoder {
14
14
  * @param abiType - The type of the return value.
15
15
  * @returns The decoded return value.
16
16
  */
17
- decodeReturn(abiType) {
17
+ decodeNext(abiType) {
18
18
  switch (abiType.kind) {
19
19
  case 'field':
20
20
  return this.getNextField().toBigInt();
@@ -28,7 +28,7 @@ class ReturnValuesDecoder {
28
28
  case 'array': {
29
29
  const array = [];
30
30
  for (let i = 0; i < abiType.length; i += 1) {
31
- array.push(this.decodeReturn(abiType.type));
31
+ array.push(this.decodeNext(abiType.type));
32
32
  }
33
33
  return array;
34
34
  }
@@ -38,7 +38,7 @@ class ReturnValuesDecoder {
38
38
  return new AztecAddress(this.getNextField().toBuffer());
39
39
  }
40
40
  for (const field of abiType.fields) {
41
- struct[field.name] = this.decodeReturn(field.type);
41
+ struct[field.name] = this.decodeNext(field.type);
42
42
  }
43
43
  return struct;
44
44
  }
@@ -52,7 +52,7 @@ class ReturnValuesDecoder {
52
52
  case 'tuple': {
53
53
  const array = [];
54
54
  for (const tupleAbiType of abiType.fields) {
55
- array.push(this.decodeReturn(tupleAbiType));
55
+ array.push(this.decodeNext(tupleAbiType));
56
56
  }
57
57
  return array;
58
58
  }
@@ -61,8 +61,8 @@ class ReturnValuesDecoder {
61
61
  }
62
62
  }
63
63
  /**
64
- * Gets the next field in the flattened return values.
65
- * @returns The next field in the flattened return values.
64
+ * Gets the next field in the flattened buffer.
65
+ * @returns The next field in the flattened buffer.
66
66
  */
67
67
  getNextField() {
68
68
  const field = this.flattened.shift();
@@ -72,29 +72,28 @@ class ReturnValuesDecoder {
72
72
  return field;
73
73
  }
74
74
  /**
75
- * Decodes all the return values for the given function ABI.
76
- * Aztec.nr support only single return value
77
- * The return value can however be simple types, structs or arrays
75
+ * Decodes all the values for the given ABI.
76
+ * The decided value can be simple types, structs or arrays
78
77
  * @returns The decoded return values.
79
78
  */
80
79
  decode() {
81
- if (this.returnTypes.length > 1) {
82
- throw new Error('Multiple return values not supported');
80
+ if (this.types.length > 1) {
81
+ throw new Error('Multiple types not supported');
83
82
  }
84
- if (this.returnTypes.length === 0) {
83
+ if (this.types.length === 0) {
85
84
  return [];
86
85
  }
87
- return this.decodeReturn(this.returnTypes[0]);
86
+ return this.decodeNext(this.types[0]);
88
87
  }
89
88
  }
90
89
  /**
91
- * Decodes return values from a function call.
92
- * @param abi - The ABI entry of the function.
93
- * @param returnValues - The decoded return values.
90
+ * Decodes values in a flattened Field array using a provided ABI.
91
+ * @param abi - The ABI to use as reference.
92
+ * @param buffer - The flattened Field array to decode.
94
93
  * @returns
95
94
  */
96
- export function decodeReturnValues(returnTypes, returnValues) {
97
- return new ReturnValuesDecoder(returnTypes, returnValues.slice()).decode();
95
+ export function decodeFromAbi(typ, buffer) {
96
+ return new AbiDecoder(typ, buffer.slice()).decode();
98
97
  }
99
98
  /**
100
99
  * Decodes the signature of a function from the name and parameters.
@@ -167,4 +166,4 @@ export function decodeFunctionSignature(name, parameters) {
167
166
  export function decodeFunctionSignatureWithParameterNames(name, parameters) {
168
167
  return new FunctionSignatureDecoder(name, parameters, true).decode();
169
168
  }
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hYmkvZGVjb2Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBT2xEOzs7R0FHRztBQUNILE1BQU0sbUJBQW1CO0lBQ3ZCLFlBQW9CLFdBQXNCLEVBQVUsU0FBZTtRQUEvQyxnQkFBVyxHQUFYLFdBQVcsQ0FBVztRQUFVLGNBQVMsR0FBVCxTQUFTLENBQU07SUFBRyxDQUFDO0lBRXZFOzs7O09BSUc7SUFDSyxZQUFZLENBQUMsT0FBZ0I7UUFDbkMsUUFBUSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsS0FBSyxPQUFPO2dCQUNWLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hDLEtBQUssU0FBUztnQkFDWixJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7b0JBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztnQkFDdEQsQ0FBQztnQkFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QyxLQUFLLFNBQVM7Z0JBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN2QyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ2IsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNqQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQzNDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFP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
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hYmkvZGVjb2Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBT2xEOzs7R0FHRztBQUNILE1BQU0sVUFBVTtJQUNkLFlBQW9CLEtBQWdCLEVBQVUsU0FBZTtRQUF6QyxVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBTTtJQUFHLENBQUM7SUFFakU7Ozs7T0FJRztJQUNLLFVBQVUsQ0FBQyxPQUFnQjtRQUNqQyxRQUFRLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEMsS0FBSyxTQUFTO2dCQUNaLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO2dCQUN0RCxDQUFDO2dCQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hDLEtBQUssU0FBUztnQkFDWixPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3ZDLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDYixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDM0MsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"event_selector.d.ts","sourceRoot":"","sources":["../../src/abi/event_selector.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,8BAA8B;AAC9B,MAAM,WAAW,aAAa;IAC5B,aAAa;IACb,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,gFAAgF;AAChF,qBAAa,aAAc,SAAQ,QAAQ;IACzC;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAM/C;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE;IAIvB;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM;IAQtC;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM;IAQlC;;;OAGG;IACH,MAAM,CAAC,KAAK;IAIZ;;;OAGG;IACH,MAAM,CAAC,MAAM;CAGd"}
1
+ {"version":3,"file":"event_selector.d.ts","sourceRoot":"","sources":["../../src/abi/event_selector.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,8BAA8B;AAC9B,MAAM,WAAW,aAAa;IAC5B,aAAa;IACb,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,gFAAgF;AAChF,qBAAa,aAAc,SAAQ,QAAQ;IACzC;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAM/C;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE;IAIvB;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM;IAWtC;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM;IAQlC;;;OAGG;IACH,MAAM,CAAC,KAAK;IAIZ;;;OAGG;IACH,MAAM,CAAC,MAAM;CAGd"}
@@ -1,5 +1,5 @@
1
1
  import { fromHex, toBigIntBE } from '../bigint-buffer/index.js';
2
- import { keccak256, randomBytes } from '../crypto/index.js';
2
+ import { poseidon2HashBytes, randomBytes } from '../crypto/index.js';
3
3
  import { BufferReader } from '../serialize/buffer_reader.js';
4
4
  import { Selector } from './selector.js';
5
5
  /** An event selector is the first 4 bytes of the hash of an event signature. */
@@ -32,7 +32,10 @@ export class EventSelector extends Selector {
32
32
  if (/\s/.test(signature)) {
33
33
  throw new Error('Signature cannot contain whitespace');
34
34
  }
35
- return EventSelector.fromBuffer(keccak256(Buffer.from(signature)).subarray(0, Selector.SIZE));
35
+ const hash = poseidon2HashBytes(Buffer.from(signature));
36
+ // We take the last Selector.SIZE big endian bytes
37
+ const bytes = hash.toBuffer().slice(-Selector.SIZE);
38
+ return EventSelector.fromBuffer(bytes);
36
39
  }
37
40
  /**
38
41
  * Create a Selector instance from a hex-encoded string.
@@ -64,4 +67,4 @@ export class EventSelector extends Selector {
64
67
  return EventSelector.fromBuffer(randomBytes(Selector.SIZE));
65
68
  }
66
69
  }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRfc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2V2ZW50X3NlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVV6QyxnRkFBZ0Y7QUFDaEYsTUFBTSxPQUFPLGFBQWMsU0FBUSxRQUFRO0lBQ3pDOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQTZCO1FBQzdDLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEUsT0FBTyxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBTTtRQUNyQixPQUFPLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFpQjtRQUNwQyx5Q0FBeUM7UUFDekMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFnQjtRQUNoQyxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUIsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixHQUFHLENBQUMsTUFBTSxjQUFjLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ3hGLENBQUM7UUFDRCxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxLQUFLO1FBQ1YsT0FBTyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLE1BQU07UUFDWCxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0FDRiJ9
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRfc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2V2ZW50X3NlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVXpDLGdGQUFnRjtBQUNoRixNQUFNLE9BQU8sYUFBYyxTQUFRLFFBQVE7SUFDekM7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBNkI7UUFDN0MsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRSxPQUFPLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFNO1FBQ3JCLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQWlCO1FBQ3BDLHlDQUF5QztRQUN6QyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN4RCxrREFBa0Q7UUFDbEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQWdCO1FBQ2hDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxNQUFNLGNBQWMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDeEYsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEtBQUs7UUFDVixPQUFPLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsTUFBTTtRQUNYLE9BQU8sYUFBYSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"function_selector.d.ts","sourceRoot":"","sources":["../../src/abi/function_selector.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,iCAAiC;AACjC,MAAM,WAAW,gBAAgB;IAC/B,aAAa;IACb,SAAS,EAAE,kBAAkB,CAAC;CAC/B;AAED,oFAAoF;AACpF,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C;;;OAGG;IACM,MAAM,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,YAAY,EAAE,CAAA;KAAE,GAAG,OAAO;IACjE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,OAAO;IAC/D,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAcjD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAM/C;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE;IAIvB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAK5C;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM;IAQtC;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM;IAQlC;;;OAGG;IACH,MAAM,CAAC,KAAK;IAIZ;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,YAAY,EAAE,CAAA;KAAE,GAAG,gBAAgB;IAClG,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,gBAAgB;IAcxF;;OAEG;IACH,MAAM,CAAC,MAAM;IAIb,MAAM;;;;CAMP"}
1
+ {"version":3,"file":"function_selector.d.ts","sourceRoot":"","sources":["../../src/abi/function_selector.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,iCAAiC;AACjC,MAAM,WAAW,gBAAgB;IAC/B,aAAa;IACb,SAAS,EAAE,kBAAkB,CAAC;CAC/B;AAED,oFAAoF;AACpF,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C;;;OAGG;IACM,MAAM,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,YAAY,EAAE,CAAA;KAAE,GAAG,OAAO;IACjE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,OAAO;IAC/D,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAcjD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAM/C;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE;IAIvB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAK5C;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM;IAWtC;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM;IAQlC;;;OAGG;IACH,MAAM,CAAC,KAAK;IAIZ;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,YAAY,EAAE,CAAA;KAAE,GAAG,gBAAgB;IAClG,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,gBAAgB;IAcxF;;OAEG;IACH,MAAM,CAAC,MAAM;IAIb,MAAM;;;;CAMP"}
@@ -1,5 +1,5 @@
1
1
  import { fromHex, toBigIntBE } from '../bigint-buffer/index.js';
2
- import { keccak256, randomBytes } from '../crypto/index.js';
2
+ import { poseidon2HashBytes, randomBytes } from '../crypto/index.js';
3
3
  import { BufferReader } from '../serialize/buffer_reader.js';
4
4
  import { FieldReader } from '../serialize/field_reader.js';
5
5
  import { TypeRegistry } from '../serialize/type_registry.js';
@@ -50,7 +50,10 @@ export class FunctionSelector extends Selector {
50
50
  if (/\s/.test(signature)) {
51
51
  throw new Error('Signature cannot contain whitespace');
52
52
  }
53
- return FunctionSelector.fromBuffer(keccak256(Buffer.from(signature)).subarray(0, Selector.SIZE));
53
+ const hash = poseidon2HashBytes(Buffer.from(signature));
54
+ // We take the last Selector.SIZE big endian bytes
55
+ const bytes = hash.toBuffer().slice(-Selector.SIZE);
56
+ return FunctionSelector.fromBuffer(bytes);
54
57
  }
55
58
  /**
56
59
  * Create a Selector instance from a hex-encoded string.
@@ -97,4 +100,4 @@ export class FunctionSelector extends Selector {
97
100
  }
98
101
  // For deserializing JSON.
99
102
  TypeRegistry.register('FunctionSelector', FunctionSelector);
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25fc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2Z1bmN0aW9uX3NlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVV6QyxvRkFBb0Y7QUFDcEYsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFFBQVE7SUFRbkMsTUFBTSxDQUNiLEtBQStFLEVBQy9FLFdBQTRCO1FBRTVCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxXQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLENBQUM7YUFBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxNQUFNLElBQUksS0FBSyxFQUFFLENBQUM7WUFDeEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDM0YsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLEtBQUssQ0FB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
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25fc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2Z1bmN0aW9uX3NlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVXpDLG9GQUFvRjtBQUNwRixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsUUFBUTtJQVFuQyxNQUFNLENBQ2IsS0FBK0UsRUFDL0UsV0FBNEI7UUFFNUIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLFdBQVksQ0FBQyxDQUFDLENBQUM7UUFDbEYsQ0FBQzthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN4RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUMzRixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxD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
@@ -74,6 +74,15 @@ export declare class Buffer32 {
74
74
  * @param str - The TX hash in string format.
75
75
  * @returns A new Buffer32 object.
76
76
  */
77
+ static fromStringUnchecked(str: string): Buffer32;
78
+ /**
79
+ * Converts a string into a Buffer32 object.
80
+ * NOTE: this method includes checks for the 0x prefix and the length of the string.
81
+ * if you dont need this checks, use fromStringUnchecked instead.
82
+ *
83
+ * @param str - The TX hash in string format.
84
+ * @returns A new Buffer32 object.
85
+ */
77
86
  static fromString(str: string): Buffer32;
78
87
  /**
79
88
  * Converts a number into a Buffer32 object.
@@ -1 +1 @@
1
- {"version":3,"file":"buffer32.d.ts","sourceRoot":"","sources":["../../src/buffer/buffer32.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAsC,MAAM,6BAA6B,CAAC;AAE/F;;GAEG;AACH,qBAAa,QAAQ;IAYjB;;OAEG;IACI,MAAM,EAAE,MAAM;IAdvB;;OAEG;IACH,OAAc,IAAI,SAAM;IAExB;;OAEG;IACH,OAAc,IAAI,WAA6C;;IAG7D;;OAEG;IACI,MAAM,EAAE,MAAM;IAOvB;;;OAGG;IACI,QAAQ;IAIf;;;;OAIG;WACW,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAKtD;;;;OAIG;IACI,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAItC;;;OAGG;IACI,MAAM,IAAI,OAAO;IAIxB;;;OAGG;IACI,QAAQ;IAIR,UAAU,IAAI,KAAK,MAAM,EAAE;IAIlC;;;OAGG;IACI,QAAQ;IAGf;;;;OAIG;WACW,UAAU,CAAC,IAAI,EAAE,MAAM;WAGvB,SAAS,CAAC,IAAI,EAAE,EAAE;IAIhC;;;;;OAKG;WACW,YAAY,CAAC,MAAM,EAAE,MAAM;IAQzC;;;;OAIG;WACW,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAI/C;;;;OAIG;WACW,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAI/C;;;OAGG;WACW,MAAM,IAAI,QAAQ;CAGjC"}
1
+ {"version":3,"file":"buffer32.d.ts","sourceRoot":"","sources":["../../src/buffer/buffer32.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAsC,MAAM,6BAA6B,CAAC;AAE/F;;GAEG;AACH,qBAAa,QAAQ;IAYjB;;OAEG;IACI,MAAM,EAAE,MAAM;IAdvB;;OAEG;IACH,OAAc,IAAI,SAAM;IAExB;;OAEG;IACH,OAAc,IAAI,WAA6C;;IAG7D;;OAEG;IACI,MAAM,EAAE,MAAM;IAOvB;;;OAGG;IACI,QAAQ;IAIf;;;;OAIG;WACW,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAKtD;;;;OAIG;IACI,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAItC;;;OAGG;IACI,MAAM,IAAI,OAAO;IAIxB;;;OAGG;IACI,QAAQ;IAIR,UAAU,IAAI,KAAK,MAAM,EAAE;IAIlC;;;OAGG;IACI,QAAQ;IAGf;;;;OAIG;WACW,UAAU,CAAC,IAAI,EAAE,MAAM;WAGvB,SAAS,CAAC,IAAI,EAAE,EAAE;IAIhC;;;;;OAKG;WACW,YAAY,CAAC,MAAM,EAAE,MAAM;IAQzC;;;;OAIG;WACW,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAIxD;;;;;;;OAOG;WACW,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAU/C;;;;OAIG;WACW,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAI/C;;;OAGG;WACW,MAAM,IAAI,QAAQ;CAGjC"}
@@ -91,7 +91,24 @@ export class Buffer32 {
91
91
  * @param str - The TX hash in string format.
92
92
  * @returns A new Buffer32 object.
93
93
  */
94
+ static fromStringUnchecked(str) {
95
+ return new Buffer32(Buffer.from(str, 'hex'));
96
+ }
97
+ /**
98
+ * Converts a string into a Buffer32 object.
99
+ * NOTE: this method includes checks for the 0x prefix and the length of the string.
100
+ * if you dont need this checks, use fromStringUnchecked instead.
101
+ *
102
+ * @param str - The TX hash in string format.
103
+ * @returns A new Buffer32 object.
104
+ */
94
105
  static fromString(str) {
106
+ if (str.startsWith('0x')) {
107
+ str = str.slice(2);
108
+ }
109
+ if (str.length !== 64) {
110
+ throw new Error(`Expected string to be 64 characters long, but was ${str.length}`);
111
+ }
95
112
  return new Buffer32(Buffer.from(str, 'hex'));
96
113
  }
97
114
  /**
@@ -118,4 +135,4 @@ Buffer32.SIZE = 32;
118
135
  * Buffer32 with value zero.
119
136
  */
120
137
  Buffer32.ZERO = new Buffer32(Buffer.alloc(Buffer32.SIZE));
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyMzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVmZmVyL2J1ZmZlcjMyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9GOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFFBQVE7SUFXbkI7SUFDRTs7T0FFRztJQUNJLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRXJCLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsUUFBUSxDQUFDLElBQUksWUFBWSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUM5RixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQTZCO1FBQ3BELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsT0FBTyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLElBQWM7UUFDMUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVE7UUFDYixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDL0QsQ0FBQztJQUNEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLElBQVk7UUFDbkMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDTSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQVE7UUFDOUIsT0FBTyxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQWM7UUFDdkMsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQVc7UUFDbEMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFXO1FBQ2xDLE9BQU8sSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLE1BQU07UUFDbEIsT0FBTyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7O0FBN0hEOztHQUVHO0FBQ1csYUFBSSxHQUFHLEVBQUUsQ0FBQztBQUV4Qjs7R0FFRztBQUNXLGFBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDIn0=
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyMzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVmZmVyL2J1ZmZlcjMyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9GOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFFBQVE7SUFXbkI7SUFDRTs7T0FFRztJQUNJLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRXJCLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsUUFBUSxDQUFDLElBQUksWUFBWSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUM5RixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQTZCO1FBQ3BELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsT0FBTyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLElBQWM7UUFDMUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxL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
@@ -1,2 +1,2 @@
1
- export type EnvVar = 'AZTEC_PORT' | 'ASSUME_PROVEN_UNTIL_BLOCK_NUMBER' | 'TEST_ACCOUNTS' | 'ENABLE_GAS' | 'API_PREFIX' | 'ETHEREUM_HOST' | 'L1_CHAIN_ID' | 'MNEMONIC' | 'ROLLUP_CONTRACT_ADDRESS' | 'REGISTRY_CONTRACT_ADDRESS' | 'INBOX_CONTRACT_ADDRESS' | 'OUTBOX_CONTRACT_ADDRESS' | 'FEE_JUICE_CONTRACT_ADDRESS' | 'FEE_JUICE_PORTAL_CONTRACT_ADDRESS' | 'ARCHIVER_URL' | 'DEPLOY_AZTEC_CONTRACTS' | 'DEPLOY_AZTEC_CONTRACTS_SALT' | 'L1_PRIVATE_KEY' | 'L2_QUEUE_SIZE' | 'WS_BLOCK_CHECK_INTERVAL_MS' | 'P2P_ENABLED' | 'P2P_BLOCK_CHECK_INTERVAL_MS' | 'P2P_PEER_CHECK_INTERVAL_MS' | 'P2P_L2_QUEUE_SIZE' | 'TCP_LISTEN_ADDR' | 'UDP_LISTEN_ADDR' | 'P2P_TCP_ANNOUNCE_ADDR' | 'P2P_UDP_ANNOUNCE_ADDR' | 'PEER_ID_PRIVATE_KEY' | 'BOOTSTRAP_NODES' | 'P2P_TX_PROTOCOL' | 'P2P_MIN_PEERS' | 'P2P_MAX_PEERS' | 'DATA_DIRECTORY' | 'TX_GOSSIP_VERSION' | 'P2P_QUERY_FOR_IP' | 'P2P_TX_POOL_KEEP_PROVEN_FOR' | 'P2P_REQRESP_OVERALL_REQUEST_TIMEOUT_MS' | 'P2P_REQRESP_INDIVIDUAL_REQUEST_TIMEOUT_MS' | 'TELEMETRY' | 'OTEL_SERVICE_NAME' | 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT' | 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT' | 'NETWORK_NAME' | 'NETWORK' | 'API_KEY' | 'AZTEC_NODE_URL' | 'ARCHIVER_POLLING_INTERVAL_MS' | 'ARCHIVER_VIEM_POLLING_INTERVAL_MS' | 'ARCHIVER_MAX_LOGS' | 'ARCHIVER_L1_START_BLOCK' | 'SEQ_TX_POLLING_INTERVAL_MS' | 'SEQ_MAX_TX_PER_BLOCK' | 'SEQ_MIN_TX_PER_BLOCK' | 'SEQ_MIN_SECONDS_BETWEEN_BLOCKS' | 'SEQ_MAX_SECONDS_BETWEEN_BLOCKS' | 'COINBASE' | 'FEE_RECIPIENT' | 'ACVM_WORKING_DIRECTORY' | 'ACVM_BINARY_PATH' | 'SEQ_ALLOWED_SETUP_FN' | 'SEQ_ALLOWED_TEARDOWN_FN' | 'SEQ_MAX_BLOCK_SIZE_IN_BYTES' | 'ENFORCE_FEES' | 'SEQ_PUBLISHER_PRIVATE_KEY' | 'SEQ_REQUIRED_CONFIRMATIONS' | 'SEQ_PUBLISH_RETRY_INTERVAL_MS' | 'VERSION' | 'SEQ_DISABLED' | 'PROVER_DISABLED' | 'PROVER_REAL_PROOFS' | 'PROVER_AGENT_ENABLED' | 'PROVER_AGENT_POLL_INTERVAL_MS' | 'PROVER_AGENT_CONCURRENCY' | 'PROVER_JOB_TIMEOUT_MS' | 'PROVER_JOB_POLL_INTERVAL_MS' | 'PROVER_ID' | 'WS_L2_BLOCK_QUEUE_SIZE' | 'WS_PROVEN_BLOCKS_ONLY' | 'PROVER_PUBLISH_RETRY_INTERVAL_MS' | 'PROVER_PUBLISHER_PRIVATE_KEY' | 'PROVER_REQUIRED_CONFIRMATIONS' | 'PROVER_TEST_DELAY_MS' | 'TX_PROVIDER_NODE_URL' | 'TXE_PORT' | 'LOG_JSON' | 'BOT_PXE_URL' | 'BOT_PRIVATE_KEY' | 'BOT_RECIPIENT_ENCRYPTION_SECRET' | 'BOT_TOKEN_SALT' | 'BOT_TX_INTERVAL_SECONDS' | 'BOT_PRIVATE_TRANSFERS_PER_TX' | 'BOT_PUBLIC_TRANSFERS_PER_TX' | 'BOT_FEE_PAYMENT_METHOD' | 'BOT_NO_START' | 'BOT_TX_MINED_WAIT_SECONDS' | 'BOT_NO_WAIT_FOR_TRANSFERS' | 'BOT_MAX_PENDING_TXS' | 'BOT_SKIP_PUBLIC_SIMULATION' | 'BOT_L2_GAS_LIMIT' | 'BOT_DA_GAS_LIMIT' | 'PXE_BLOCK_POLLING_INTERVAL_MS' | 'PXE_L2_STARTING_BLOCK' | 'PXE_DATA_DIRECTORY' | 'BB_BINARY_PATH' | 'BB_WORKING_DIRECTORY' | 'BB_SKIP_CLEANUP' | 'PXE_PROVER_ENABLED' | 'BOT_FOLLOW_CHAIN' | 'BOT_FLUSH_SETUP_TRANSACTIONS' | 'VALIDATOR_PRIVATE_KEY' | 'VALIDATOR_DISABLED' | 'VALIDATOR_ATTESTATIONS_WAIT_TIMEOUT_MS' | 'VALIDATOR_ATTESTATIONS_POOLING_INTERVAL_MS' | 'PROVER_NODE_DISABLE_AUTOMATIC_PROVING' | 'PROVER_NODE_MAX_PENDING_JOBS' | 'PROOF_VERIFIER_POLL_INTERVAL_MS' | 'PROOF_VERIFIER_L1_START_BLOCK' | 'LOG_LEVEL' | 'DEBUG';
1
+ export type EnvVar = 'AZTEC_PORT' | 'ASSUME_PROVEN_THROUGH_BLOCK_NUMBER' | 'TEST_ACCOUNTS' | 'ENABLE_GAS' | 'API_PREFIX' | 'ETHEREUM_HOST' | 'L1_CHAIN_ID' | 'MNEMONIC' | 'ROLLUP_CONTRACT_ADDRESS' | 'REGISTRY_CONTRACT_ADDRESS' | 'INBOX_CONTRACT_ADDRESS' | 'OUTBOX_CONTRACT_ADDRESS' | 'FEE_JUICE_CONTRACT_ADDRESS' | 'FEE_JUICE_PORTAL_CONTRACT_ADDRESS' | 'ARCHIVER_URL' | 'DEPLOY_AZTEC_CONTRACTS' | 'DEPLOY_AZTEC_CONTRACTS_SALT' | 'L1_PRIVATE_KEY' | 'L2_QUEUE_SIZE' | 'WS_BLOCK_CHECK_INTERVAL_MS' | 'P2P_ENABLED' | 'P2P_BLOCK_CHECK_INTERVAL_MS' | 'P2P_PEER_CHECK_INTERVAL_MS' | 'P2P_L2_QUEUE_SIZE' | 'TCP_LISTEN_ADDR' | 'UDP_LISTEN_ADDR' | 'P2P_TCP_ANNOUNCE_ADDR' | 'P2P_UDP_ANNOUNCE_ADDR' | 'PEER_ID_PRIVATE_KEY' | 'BOOTSTRAP_NODES' | 'P2P_TX_PROTOCOL' | 'P2P_MIN_PEERS' | 'P2P_MAX_PEERS' | 'DATA_DIRECTORY' | 'TX_GOSSIP_VERSION' | 'P2P_QUERY_FOR_IP' | 'P2P_TX_POOL_KEEP_PROVEN_FOR' | 'P2P_GOSSIPSUB_INTERVAL_MS' | 'P2P_GOSSIPSUB_D' | 'P2P_GOSSIPSUB_DLO' | 'P2P_GOSSIPSUB_DHI' | 'P2P_GOSSIPSUB_MCACHE_LENGTH' | 'P2P_GOSSIPSUB_MCACHE_GOSSIP' | 'P2P_SEVERE_PEER_PENALTY_BLOCK_LENGTH' | 'P2P_REQRESP_OVERALL_REQUEST_TIMEOUT_MS' | 'P2P_REQRESP_INDIVIDUAL_REQUEST_TIMEOUT_MS' | 'P2P_GOSSIPSUB_TX_TOPIC_WEIGHT' | 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_WEIGHT' | 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_DECAY' | 'P2P_PEER_PENALTY_VALUES' | 'TELEMETRY' | 'OTEL_SERVICE_NAME' | 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT' | 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT' | 'NETWORK_NAME' | 'NETWORK' | 'API_KEY' | 'AZTEC_NODE_URL' | 'ARCHIVER_POLLING_INTERVAL_MS' | 'ARCHIVER_VIEM_POLLING_INTERVAL_MS' | 'ARCHIVER_MAX_LOGS' | 'SEQ_TX_POLLING_INTERVAL_MS' | 'SEQ_MAX_TX_PER_BLOCK' | 'SEQ_MIN_TX_PER_BLOCK' | 'SEQ_MIN_SECONDS_BETWEEN_BLOCKS' | 'SEQ_MAX_SECONDS_BETWEEN_BLOCKS' | 'COINBASE' | 'FEE_RECIPIENT' | 'ACVM_WORKING_DIRECTORY' | 'ACVM_BINARY_PATH' | 'SEQ_ALLOWED_SETUP_FN' | 'SEQ_ALLOWED_TEARDOWN_FN' | 'SEQ_MAX_BLOCK_SIZE_IN_BYTES' | 'ENFORCE_FEES' | 'SEQ_PUBLISHER_PRIVATE_KEY' | 'SEQ_REQUIRED_CONFIRMATIONS' | 'SEQ_PUBLISH_RETRY_INTERVAL_MS' | 'VERSION' | 'SEQ_DISABLED' | 'PROVER_DISABLED' | 'PROVER_REAL_PROOFS' | 'PROVER_AGENT_ENABLED' | 'PROVER_AGENT_POLL_INTERVAL_MS' | 'PROVER_AGENT_CONCURRENCY' | 'PROVER_JOB_TIMEOUT_MS' | 'PROVER_JOB_POLL_INTERVAL_MS' | 'PROVER_ID' | 'WS_L2_BLOCK_QUEUE_SIZE' | 'WS_PROVEN_BLOCKS_ONLY' | 'PROVER_PUBLISH_RETRY_INTERVAL_MS' | 'PROVER_PUBLISHER_PRIVATE_KEY' | 'PROVER_REQUIRED_CONFIRMATIONS' | 'PROVER_TEST_DELAY_MS' | 'TX_PROVIDER_NODE_URL' | 'TXE_PORT' | 'LOG_JSON' | 'BOT_PXE_URL' | 'BOT_PRIVATE_KEY' | 'BOT_RECIPIENT_ENCRYPTION_SECRET' | 'BOT_TOKEN_SALT' | 'BOT_TX_INTERVAL_SECONDS' | 'BOT_PRIVATE_TRANSFERS_PER_TX' | 'BOT_PUBLIC_TRANSFERS_PER_TX' | 'BOT_FEE_PAYMENT_METHOD' | 'BOT_NO_START' | 'BOT_TX_MINED_WAIT_SECONDS' | 'BOT_NO_WAIT_FOR_TRANSFERS' | 'BOT_MAX_PENDING_TXS' | 'BOT_SKIP_PUBLIC_SIMULATION' | 'BOT_L2_GAS_LIMIT' | 'BOT_DA_GAS_LIMIT' | 'PXE_BLOCK_POLLING_INTERVAL_MS' | 'PXE_L2_STARTING_BLOCK' | 'PXE_DATA_DIRECTORY' | 'BB_BINARY_PATH' | 'BB_WORKING_DIRECTORY' | 'BB_SKIP_CLEANUP' | 'PXE_PROVER_ENABLED' | 'BOT_FOLLOW_CHAIN' | 'BOT_FLUSH_SETUP_TRANSACTIONS' | 'BOT_TOKEN_CONTRACT' | 'VALIDATOR_PRIVATE_KEY' | 'VALIDATOR_DISABLED' | 'VALIDATOR_ATTESTATIONS_WAIT_TIMEOUT_MS' | 'VALIDATOR_ATTESTATIONS_POOLING_INTERVAL_MS' | 'PROVER_NODE_DISABLE_AUTOMATIC_PROVING' | 'PROVER_NODE_MAX_PENDING_JOBS' | 'PROOF_VERIFIER_POLL_INTERVAL_MS' | 'PROOF_VERIFIER_L1_START_BLOCK' | 'LOG_LEVEL' | 'DEBUG';
2
2
  //# sourceMappingURL=env_var.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"env_var.d.ts","sourceRoot":"","sources":["../../src/config/env_var.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GACd,YAAY,GACZ,kCAAkC,GAClC,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,eAAe,GACf,aAAa,GACb,UAAU,GACV,yBAAyB,GACzB,2BAA2B,GAC3B,wBAAwB,GACxB,yBAAyB,GACzB,4BAA4B,GAC5B,mCAAmC,GACnC,cAAc,GACd,wBAAwB,GACxB,6BAA6B,GAC7B,gBAAgB,GAChB,eAAe,GACf,4BAA4B,GAC5B,aAAa,GACb,6BAA6B,GAC7B,4BAA4B,GAC5B,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,uBAAuB,GACvB,uBAAuB,GACvB,qBAAqB,GACrB,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,6BAA6B,GAC7B,wCAAwC,GACxC,2CAA2C,GAC3C,WAAW,GACX,mBAAmB,GACnB,qCAAqC,GACrC,oCAAoC,GACpC,cAAc,GACd,SAAS,GACT,SAAS,GACT,gBAAgB,GAChB,8BAA8B,GAC9B,mCAAmC,GACnC,mBAAmB,GACnB,yBAAyB,GACzB,4BAA4B,GAC5B,sBAAsB,GACtB,sBAAsB,GACtB,gCAAgC,GAChC,gCAAgC,GAChC,UAAU,GACV,eAAe,GACf,wBAAwB,GACxB,kBAAkB,GAClB,sBAAsB,GACtB,yBAAyB,GACzB,6BAA6B,GAC7B,cAAc,GACd,2BAA2B,GAC3B,4BAA4B,GAC5B,+BAA+B,GAC/B,SAAS,GACT,cAAc,GACd,iBAAiB,GACjB,oBAAoB,GACpB,sBAAsB,GACtB,+BAA+B,GAC/B,0BAA0B,GAC1B,uBAAuB,GACvB,6BAA6B,GAC7B,WAAW,GACX,wBAAwB,GACxB,uBAAuB,GACvB,kCAAkC,GAClC,8BAA8B,GAC9B,+BAA+B,GAC/B,sBAAsB,GACtB,sBAAsB,GACtB,UAAU,GACV,UAAU,GACV,aAAa,GACb,iBAAiB,GACjB,iCAAiC,GACjC,gBAAgB,GAChB,yBAAyB,GACzB,8BAA8B,GAC9B,6BAA6B,GAC7B,wBAAwB,GACxB,cAAc,GACd,2BAA2B,GAC3B,2BAA2B,GAC3B,qBAAqB,GACrB,4BAA4B,GAC5B,kBAAkB,GAClB,kBAAkB,GAClB,+BAA+B,GAC/B,uBAAuB,GACvB,oBAAoB,GACpB,gBAAgB,GAChB,sBAAsB,GACtB,iBAAiB,GACjB,oBAAoB,GACpB,kBAAkB,GAClB,8BAA8B,GAC9B,uBAAuB,GACvB,oBAAoB,GACpB,wCAAwC,GACxC,4CAA4C,GAC5C,uCAAuC,GACvC,8BAA8B,GAC9B,iCAAiC,GACjC,+BAA+B,GAC/B,WAAW,GACX,OAAO,CAAC"}
1
+ {"version":3,"file":"env_var.d.ts","sourceRoot":"","sources":["../../src/config/env_var.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GACd,YAAY,GACZ,oCAAoC,GACpC,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,eAAe,GACf,aAAa,GACb,UAAU,GACV,yBAAyB,GACzB,2BAA2B,GAC3B,wBAAwB,GACxB,yBAAyB,GACzB,4BAA4B,GAC5B,mCAAmC,GACnC,cAAc,GACd,wBAAwB,GACxB,6BAA6B,GAC7B,gBAAgB,GAChB,eAAe,GACf,4BAA4B,GAC5B,aAAa,GACb,6BAA6B,GAC7B,4BAA4B,GAC5B,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,uBAAuB,GACvB,uBAAuB,GACvB,qBAAqB,GACrB,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,6BAA6B,GAC7B,2BAA2B,GAC3B,iBAAiB,GACjB,mBAAmB,GACnB,mBAAmB,GACnB,6BAA6B,GAC7B,6BAA6B,GAC7B,sCAAsC,GACtC,wCAAwC,GACxC,2CAA2C,GAC3C,+BAA+B,GAC/B,oDAAoD,GACpD,mDAAmD,GACnD,yBAAyB,GACzB,WAAW,GACX,mBAAmB,GACnB,qCAAqC,GACrC,oCAAoC,GACpC,cAAc,GACd,SAAS,GACT,SAAS,GACT,gBAAgB,GAChB,8BAA8B,GAC9B,mCAAmC,GACnC,mBAAmB,GACnB,4BAA4B,GAC5B,sBAAsB,GACtB,sBAAsB,GACtB,gCAAgC,GAChC,gCAAgC,GAChC,UAAU,GACV,eAAe,GACf,wBAAwB,GACxB,kBAAkB,GAClB,sBAAsB,GACtB,yBAAyB,GACzB,6BAA6B,GAC7B,cAAc,GACd,2BAA2B,GAC3B,4BAA4B,GAC5B,+BAA+B,GAC/B,SAAS,GACT,cAAc,GACd,iBAAiB,GACjB,oBAAoB,GACpB,sBAAsB,GACtB,+BAA+B,GAC/B,0BAA0B,GAC1B,uBAAuB,GACvB,6BAA6B,GAC7B,WAAW,GACX,wBAAwB,GACxB,uBAAuB,GACvB,kCAAkC,GAClC,8BAA8B,GAC9B,+BAA+B,GAC/B,sBAAsB,GACtB,sBAAsB,GACtB,UAAU,GACV,UAAU,GACV,aAAa,GACb,iBAAiB,GACjB,iCAAiC,GACjC,gBAAgB,GAChB,yBAAyB,GACzB,8BAA8B,GAC9B,6BAA6B,GAC7B,wBAAwB,GACxB,cAAc,GACd,2BAA2B,GAC3B,2BAA2B,GAC3B,qBAAqB,GACrB,4BAA4B,GAC5B,kBAAkB,GAClB,kBAAkB,GAClB,+BAA+B,GAC/B,uBAAuB,GACvB,oBAAoB,GACpB,gBAAgB,GAChB,sBAAsB,GACtB,iBAAiB,GACjB,oBAAoB,GACpB,kBAAkB,GAClB,8BAA8B,GAC9B,oBAAoB,GACpB,uBAAuB,GACvB,oBAAoB,GACpB,wCAAwC,GACxC,4CAA4C,GAC5C,uCAAuC,GACvC,8BAA8B,GAC9B,iCAAiC,GACjC,+BAA+B,GAC/B,WAAW,GACX,OAAO,CAAC"}
@@ -4,6 +4,7 @@ export * from './sha256/index.js';
4
4
  export * from './sha512/index.js';
5
5
  export * from './pedersen/index.js';
6
6
  export * from './poseidon/index.js';
7
+ export * from './secp256k1-signer/index.js';
7
8
  /**
8
9
  * Init the bb singleton. This constructs (if not already) the barretenberg sync api within bb.js itself.
9
10
  * It takes about 100-200ms to initialize. It may not seem like much, but when in conjunction with many other things
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":"AAEA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AAEpC;;;;;GAKG;AACH,wBAAsB,IAAI,kBAEzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":"AAEA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAE5C;;;;;GAKG;AACH,wBAAsB,IAAI,kBAEzB"}
@@ -5,6 +5,7 @@ export * from './sha256/index.js';
5
5
  export * from './sha512/index.js';
6
6
  export * from './pedersen/index.js';
7
7
  export * from './poseidon/index.js';
8
+ export * from './secp256k1-signer/index.js';
8
9
  /**
9
10
  * Init the bb singleton. This constructs (if not already) the barretenberg sync api within bb.js itself.
10
11
  * It takes about 100-200ms to initialize. It may not seem like much, but when in conjunction with many other things
@@ -14,4 +15,4 @@ export * from './poseidon/index.js';
14
15
  export async function init() {
15
16
  await BarretenbergSync.initSingleton();
16
17
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3J5cHRvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVoRCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQzs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsSUFBSTtJQUN4QixNQUFNLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDO0FBQ3pDLENBQUMifQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3J5cHRvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVoRCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxJQUFJO0lBQ3hCLE1BQU0sZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7QUFDekMsQ0FBQyJ9
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" resolution-mode="require"/>
1
2
  import { Fr } from '../../fields/fields.js';
2
3
  import { type Fieldable } from '../../serialize/serialize.js';
3
4
  /**
@@ -19,4 +20,5 @@ export declare function poseidon2HashWithSeparator(input: Fieldable[], separator
19
20
  * @returns the output state, size 4.
20
21
  */
21
22
  export declare function poseidon2Permutation(input: Fieldable[]): Fr[];
23
+ export declare function poseidon2HashBytes(input: Buffer): Fr;
22
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAEjF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAWpD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,CAYpF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAU7D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAEjF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAWpD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,CAYpF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAU7D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAoBpD"}
@@ -39,4 +39,17 @@ export function poseidon2Permutation(input) {
39
39
  // assert(res.length === 4, 'Output state must be of size 4');
40
40
  return res.map(o => Fr.fromBuffer(Buffer.from(o.toBuffer())));
41
41
  }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3Bvc2VpZG9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLElBQUksY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1QyxPQUFPLEVBQWtCLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFakY7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBa0I7SUFDOUMsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUNsQixNQUFNLENBQUMsSUFBSSxDQUNULGdCQUFnQixDQUFDLFlBQVksRUFBRTtTQUM1QixhQUFhLENBQ1osV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQ3ZEO1NBQ0EsUUFBUSxFQUFFLENBQ2QsQ0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUFDLEtBQWtCLEVBQUUsU0FBaUI7SUFDOUUsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FDbEIsTUFBTSxDQUFDLElBQUksQ0FDVCxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUU7U0FDNUIsYUFBYSxDQUNaLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUN2RDtTQUNBLFFBQVEsRUFBRSxDQUNkLENBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQWtCO0lBQ3JELE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLDJFQUEyRTtJQUMzRSwrREFBK0Q7SUFDL0QsTUFBTSxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQzlELFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUN2RCxDQUFDO0lBQ0YsMkVBQTJFO0lBQzNFLDhEQUE4RDtJQUM5RCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hFLENBQUMifQ==
42
+ export function poseidon2HashBytes(input) {
43
+ const inputFields = [];
44
+ for (let i = 0; i < input.length; i += 31) {
45
+ const fieldBytes = Buffer.alloc(32, 0);
46
+ input.slice(i, i + 31).copy(fieldBytes);
47
+ // Noir builds the bytes as little-endian, so we need to reverse them.
48
+ fieldBytes.reverse();
49
+ inputFields.push(Fr.fromBuffer(fieldBytes));
50
+ }
51
+ return Fr.fromBuffer(Buffer.from(BarretenbergSync.getSingleton()
52
+ .poseidon2Hash(inputFields.map(i => new FrBarretenberg(i.toBuffer())))
53
+ .toBuffer()));
54
+ }
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3Bvc2VpZG9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLElBQUksY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1QyxPQUFPLEVBQWtCLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFakY7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBa0I7SUFDOUMsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUNsQixNQUFNLENBQUMsSUFBSSxDQUNULGdCQUFnQixDQUFDLFlBQVksRUFBRTtTQUM1QixhQUFhLENBQ1osV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQ3ZEO1NBQ0EsUUFBUSxFQUFFLENBQ2QsQ0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUFDLEtBQWtCLEVBQUUsU0FBaUI7SUFDOUUsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FDbEIsTUFBTSxDQUFDLElBQUksQ0FDVCxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUU7U0FDNUIsYUFBYSxDQUNaLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUN2RDtTQUNBLFFBQVEsRUFBRSxDQUNkLENBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQWtCO0lBQ3JELE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLDJFQUEyRTtJQUMzRSwrREFBK0Q7SUFDL0QsTUFBTSxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQzlELFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUN2RCxDQUFDO0lBQ0YsMkVBQTJFO0lBQzNFLDhEQUE4RDtJQUM5RCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBYTtJQUM5QyxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDdkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQzFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEMsc0VBQXNFO1FBQ3RFLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyQixXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUNsQixNQUFNLENBQUMsSUFBSSxDQUNULGdCQUFnQixDQUFDLFlBQVksRUFBRTtTQUM1QixhQUFhLENBQ1osV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQ3ZEO1NBQ0EsUUFBUSxFQUFFLENBQ2QsQ0FDRixDQUFDO0FBQ0osQ0FBQyJ9
@@ -0,0 +1,3 @@
1
+ export * from './secp256k1_signer.js';
2
+ export * from './utils.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/secp256k1-signer/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './secp256k1_signer.js';
2
+ export * from './utils.js';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3NlY3AyNTZrMS1zaWduZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLFlBQVksQ0FBQyJ9
@@ -0,0 +1,24 @@
1
+ import { Buffer32 } from '@aztec/foundation/buffer';
2
+ import { type EthAddress } from '@aztec/foundation/eth-address';
3
+ import { type Signature } from '@aztec/foundation/eth-signature';
4
+ /**
5
+ * Secp256k1Signer
6
+ *
7
+ * A class for signing messages using a secp256k1 private key.
8
+ * - This is a slim drop in replacement for an Ethereum signer, so it can be used in the same way.
9
+ * - See `utils.ts` for functions that enable recovering addresses and public keys from signatures.
10
+ */
11
+ export declare class Secp256k1Signer {
12
+ private privateKey;
13
+ readonly address: EthAddress;
14
+ constructor(privateKey: Buffer32);
15
+ sign(message: Buffer32): Signature;
16
+ /**
17
+ * Sign a message using the same method as eth_sign
18
+ * @param message - The message to sign.
19
+ * @returns The signature.
20
+ */
21
+ signMessage(message: Buffer32): Signature;
22
+ static random(): Secp256k1Signer;
23
+ }
24
+ //# sourceMappingURL=secp256k1_signer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secp256k1_signer.d.ts","sourceRoot":"","sources":["../../../src/crypto/secp256k1-signer/secp256k1_signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAIjE;;;;;;GAMG;AACH,qBAAa,eAAe;IAGd,OAAO,CAAC,UAAU;IAF9B,SAAgB,OAAO,EAAE,UAAU,CAAC;gBAEhB,UAAU,EAAE,QAAQ;IAIxC,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS;IAIlC;;;;OAIG;IACH,WAAW,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS;IAKzC,MAAM,CAAC,MAAM,IAAI,eAAe;CAGjC"}
@@ -0,0 +1,31 @@
1
+ import { Buffer32 } from '@aztec/foundation/buffer';
2
+ import { addressFromPrivateKey, makeEthSignDigest, signMessage } from './utils.js';
3
+ /**
4
+ * Secp256k1Signer
5
+ *
6
+ * A class for signing messages using a secp256k1 private key.
7
+ * - This is a slim drop in replacement for an Ethereum signer, so it can be used in the same way.
8
+ * - See `utils.ts` for functions that enable recovering addresses and public keys from signatures.
9
+ */
10
+ export class Secp256k1Signer {
11
+ constructor(privateKey) {
12
+ this.privateKey = privateKey;
13
+ this.address = addressFromPrivateKey(privateKey.buffer);
14
+ }
15
+ sign(message) {
16
+ return signMessage(message, this.privateKey.buffer);
17
+ }
18
+ /**
19
+ * Sign a message using the same method as eth_sign
20
+ * @param message - The message to sign.
21
+ * @returns The signature.
22
+ */
23
+ signMessage(message) {
24
+ const digest = makeEthSignDigest(message);
25
+ return this.sign(digest);
26
+ }
27
+ static random() {
28
+ return new Secp256k1Signer(Buffer32.random());
29
+ }
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcDI1NmsxX3NpZ25lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2VjcDI1NmsxLXNpZ25lci9zZWNwMjU2azFfc2lnbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUlwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRW5GOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBRzFCLFlBQW9CLFVBQW9CO1FBQXBCLGVBQVUsR0FBVixVQUFVLENBQVU7UUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFpQjtRQUNwQixPQUFPLFdBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxPQUFpQjtRQUMzQixNQUFNLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNO1FBQ1gsT0FBTyxJQUFJLGVBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBQ0YifQ==
@@ -0,0 +1,39 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import { Buffer32 } from '../../buffer/buffer32.js';
3
+ import { EthAddress } from '../../eth-address/index.js';
4
+ import { Signature } from '../../eth-signature/eth_signature.js';
5
+ export declare function makeEthSignDigest(message: Buffer32): Buffer32;
6
+ /**
7
+ * Converts a private key to a public key.
8
+ * @param privateKey - The private key to convert.
9
+ * @returns The public key.
10
+ */
11
+ export declare function publicKeyFromPrivateKey(privateKey: Buffer): Buffer;
12
+ /**
13
+ * Converts a private key to an address.
14
+ * @param privateKey - The private key to convert.
15
+ * @returns The address.
16
+ */
17
+ export declare function addressFromPrivateKey(privateKey: Buffer): EthAddress;
18
+ /**
19
+ * Recovers an address from a hash and a signature.
20
+ * @param hash - The hash to recover the address from.
21
+ * @param signature - The signature to recover the address from.
22
+ * @returns The address.
23
+ */
24
+ export declare function recoverAddress(hash: Buffer32, signature: Signature): EthAddress;
25
+ /**
26
+ * Signs a message using ecdsa over the secp256k1 curve.
27
+ * @param message - The message to sign.
28
+ * @param privateKey - The private key to sign the message with.
29
+ * @returns The signature.
30
+ */
31
+ export declare function signMessage(message: Buffer32, privateKey: Buffer): Signature;
32
+ /**
33
+ * Recovers a public key from a hash and a signature.
34
+ * @param hash - The hash to recover the public key from.
35
+ * @param signature - The signature to recover the public key from.
36
+ * @returns The public key.
37
+ */
38
+ export declare function recoverPublicKey(hash: Buffer32, signature: Signature): Buffer;
39
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/crypto/secp256k1-signer/utils.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAMjE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAG7D;AAYD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAGpE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,GAAG,UAAU,CAG/E;AAqBD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAGhE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CAO7E"}