@aztec/foundation 0.14.2 → 0.15.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.
- package/dest/abi/decoder.js +3 -3
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +3 -3
- package/dest/abi/function_selector.d.ts +2 -1
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +6 -5
- package/dest/aztec-address/index.d.ts +10 -108
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +18 -139
- package/dest/bigint-buffer/index.d.ts.map +1 -1
- package/dest/bigint-buffer/index.js +7 -4
- package/dest/collection/array.d.ts.map +1 -1
- package/dest/collection/array.js +7 -4
- package/dest/crypto/index.d.ts +1 -0
- package/dest/crypto/index.d.ts.map +1 -1
- package/dest/crypto/index.js +2 -1
- package/dest/crypto/pedersen/index.d.ts +1 -9
- package/dest/crypto/pedersen/index.d.ts.map +1 -1
- package/dest/crypto/pedersen/index.js +2 -298
- package/dest/crypto/pedersen/pedersen.elliptic.d.ts +12 -0
- package/dest/crypto/pedersen/pedersen.elliptic.d.ts.map +1 -0
- package/dest/crypto/pedersen/pedersen.elliptic.js +575 -0
- package/dest/crypto/pedersen/pedersen.noble.d.ts +10 -0
- package/dest/crypto/pedersen/pedersen.noble.d.ts.map +1 -0
- package/dest/crypto/pedersen/pedersen.noble.js +560 -0
- package/dest/crypto/pedersen/pedersen.wasm.d.ts +16 -0
- package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -0
- package/dest/crypto/pedersen/pedersen.wasm.js +38 -0
- package/dest/crypto/random/index.d.ts.map +1 -1
- package/dest/crypto/random/index.js +5 -3
- package/dest/crypto/sha256/index.d.ts +0 -8
- package/dest/crypto/sha256/index.d.ts.map +1 -1
- package/dest/crypto/sha256/index.js +1 -12
- package/dest/fields/fields.d.ts +69 -160
- package/dest/fields/fields.d.ts.map +1 -1
- package/dest/fields/fields.js +142 -185
- package/dest/fields/index.d.ts +0 -1
- package/dest/fields/index.d.ts.map +1 -1
- package/dest/fields/index.js +1 -2
- package/dest/fields/point.d.ts.map +1 -1
- package/dest/fields/point.js +5 -4
- package/dest/json-rpc/class_converter.d.ts.map +1 -1
- package/dest/json-rpc/class_converter.js +7 -5
- package/dest/json-rpc/client/json_rpc_client.d.ts.map +1 -1
- package/dest/json-rpc/client/json_rpc_client.js +3 -2
- package/dest/log/console.d.ts +1 -1
- package/dest/log/console.d.ts.map +1 -1
- package/dest/log/debug.d.ts +1 -1
- package/dest/log/debug.d.ts.map +1 -1
- package/dest/log/index.d.ts +1 -4
- package/dest/log/index.d.ts.map +1 -1
- package/dest/log/index.js +2 -1
- package/dest/log/log_fn.d.ts +5 -0
- package/dest/log/log_fn.d.ts.map +1 -0
- package/dest/log/log_fn.js +2 -0
- package/dest/log/logger.d.ts +1 -1
- package/dest/log/logger.d.ts.map +1 -1
- package/dest/log/logger.js +7 -4
- package/dest/serialize/buffer_reader.d.ts +0 -16
- package/dest/serialize/buffer_reader.d.ts.map +1 -1
- package/dest/serialize/buffer_reader.js +1 -21
- package/dest/serialize/free_funcs.d.ts +6 -0
- package/dest/serialize/free_funcs.d.ts.map +1 -1
- package/dest/serialize/free_funcs.js +11 -1
- package/dest/timer/timer.d.ts +4 -0
- package/dest/timer/timer.d.ts.map +1 -1
- package/dest/timer/timer.js +10 -4
- package/dest/transport/interface/transferable.d.ts +1 -1
- package/dest/transport/interface/transferable.d.ts.map +1 -1
- package/dest/transport/interface/transferable.js +5 -3
- package/dest/wasm/empty_wasi_sdk.d.ts +1 -1
- package/dest/wasm/wasm_module.d.ts.map +1 -1
- package/dest/wasm/wasm_module.js +4 -3
- package/package.json +8 -3
- package/src/abi/decoder.ts +2 -2
- package/src/abi/encoder.ts +3 -2
- package/src/abi/function_selector.ts +5 -4
- package/src/aztec-address/index.ts +17 -149
- package/src/bigint-buffer/index.ts +9 -3
- package/src/collection/array.ts +9 -3
- package/src/crypto/index.ts +1 -0
- package/src/crypto/pedersen/index.ts +1 -309
- package/src/crypto/pedersen/pedersen.elliptic.ts +584 -0
- package/src/crypto/pedersen/pedersen.noble.ts +573 -0
- package/src/crypto/pedersen/pedersen.wasm.ts +46 -0
- package/src/crypto/random/index.ts +6 -2
- package/src/crypto/sha256/index.ts +0 -13
- package/src/fields/fields.ts +197 -197
- package/src/fields/index.ts +0 -1
- package/src/fields/point.ts +5 -3
- package/src/json-rpc/class_converter.ts +8 -4
- package/src/json-rpc/client/json_rpc_client.ts +3 -1
- package/src/log/console.ts +1 -1
- package/src/log/debug.ts +1 -1
- package/src/log/index.ts +1 -6
- package/src/log/log_fn.ts +5 -0
- package/src/log/logger.ts +10 -4
- package/src/serialize/buffer_reader.ts +0 -22
- package/src/serialize/free_funcs.ts +11 -0
- package/src/timer/timer.ts +10 -3
- package/src/transport/interface/transferable.ts +7 -3
- package/src/wasm/wasm_module.ts +3 -1
- package/dest/fields/grumpkin_scalar.d.ts +0 -96
- package/dest/fields/grumpkin_scalar.d.ts.map +0 -1
- package/dest/fields/grumpkin_scalar.js +0 -125
- package/src/fields/grumpkin_scalar.ts +0 -138
package/dest/abi/decoder.js
CHANGED
|
@@ -15,12 +15,12 @@ class ReturnValuesDecoder {
|
|
|
15
15
|
decodeReturn(abiType) {
|
|
16
16
|
switch (abiType.kind) {
|
|
17
17
|
case 'field':
|
|
18
|
-
return this.getNextField().
|
|
18
|
+
return this.getNextField().toBigInt();
|
|
19
19
|
case 'integer':
|
|
20
20
|
if (abiType.sign === 'signed') {
|
|
21
21
|
throw new Error('Unsupported type: signed integer');
|
|
22
22
|
}
|
|
23
|
-
return this.getNextField().
|
|
23
|
+
return this.getNextField().toBigInt();
|
|
24
24
|
case 'boolean':
|
|
25
25
|
return !this.getNextField().isZero();
|
|
26
26
|
case 'array': {
|
|
@@ -146,4 +146,4 @@ export function decodeFunctionSignature(name, parameters) {
|
|
|
146
146
|
export function decodeFunctionSignatureWithParameterNames(name, parameters) {
|
|
147
147
|
return new FunctionSignatureDecoder(name, parameters, true).decode();
|
|
148
148
|
}
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hYmkvZGVjb2Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQTs7O0dBR0c7QUFDSCxNQUFNLG1CQUFtQjtJQUN2QixZQUFvQixRQUEwQixFQUFVLFNBQWU7UUFBbkQsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFNO0lBQUcsQ0FBQztJQUUzRTs7OztPQUlHO0lBQ0ssWUFBWSxDQUFDLE9BQWdCO1FBQ25DLFFBQVEsT0FBTyxDQUFDLElBQUksRUFBRTtZQUNwQixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEMsS0FBSyxTQUFTO2dCQUNaLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7b0JBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztpQkFDckQ7Z0JBQ0QsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEMsS0FBSyxTQUFTO2dCQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkMsS0FBSyxPQUFPLENBQUMsQ0FBQztnQkFDWixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQzFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDN0M7Z0JBQ0QsT0FBTyxLQUFLLENBQUM7YUFDZDtZQUNELEtBQUssUUFBUSxDQUFDLENBQUM7Z0JBQ2IsTUFBTSxNQUFNLEdBQXFDLEVBQUUsQ0FBQztnQkFDcEQsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO29CQUNsQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNwRDtnQkFDRCxPQUFPLE1BQU0sQ0FBQzthQUNmO1lBQ0Q7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssWUFBWTtRQUNsQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDN0M7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU07UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzFDLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0Y7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUFxQixFQUFFLFlBQWtCO0lBQzFFLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDckUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQyxZQUFvQixJQUFZLEVBQVUsVUFBMEIsRUFBVSxlQUFlLEtBQUs7UUFBOUUsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQWdCO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDaEcsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssZ0JBQWdCLENBQUMsS0FBYztRQUNyQyxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDbEIsS0FBSyxPQUFPO2dCQUNWLE9BQU8sT0FBTyxDQUFDO1lBQ2pCLEtBQUssU0FBUztnQkFDWixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO29CQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7aUJBQ3JEO2dCQUNELE9BQU8sSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsS0FBSyxTQUFTO2dCQUNaLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLEtBQUssT0FBTztnQkFDVixPQUFPLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDbEUsS0FBSyxRQUFRO2dCQUNYLE9BQU8sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ2pHO2dCQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3REO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxlQUFlLENBQUMsS0FBa0I7UUFDeEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdELENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNO1FBQ1gsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO0lBQzNHLENBQUM7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFDLElBQVksRUFBRSxVQUEwQjtJQUM5RSxPQUFPLElBQUksd0JBQXdCLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ2pFLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSx5Q0FBeUMsQ0FBQyxJQUFZLEVBQUUsVUFBMEI7SUFDaEcsT0FBTyxJQUFJLHdCQUF3QixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDdkUsQ0FBQyJ9
|
package/dest/abi/encoder.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/abi/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,WAAW,EAAmB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/abi/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,WAAW,EAAmB,MAAM,uBAAuB,CAAC;AAE9E,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAoGxC;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,QAE5D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,UAElD"}
|
package/dest/abi/encoder.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isAddressStruct } from '@aztec/foundation/abi';
|
|
2
|
-
import { Fr } from '
|
|
2
|
+
import { Fr } from '../fields/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Encodes arguments for a function call.
|
|
5
5
|
* Missing support for integer and string.
|
|
@@ -47,7 +47,7 @@ class ArgumentEncoder {
|
|
|
47
47
|
this.flattened.push(new Fr(arg));
|
|
48
48
|
}
|
|
49
49
|
else if (typeof arg === 'boolean') {
|
|
50
|
-
this.flattened.push(new Fr(arg ?
|
|
50
|
+
this.flattened.push(new Fr(arg ? 1n : 0n));
|
|
51
51
|
}
|
|
52
52
|
else if (typeof arg === 'object') {
|
|
53
53
|
if (Buffer.isBuffer(arg)) {
|
|
@@ -119,4 +119,4 @@ export function encodeArguments(abi, args) {
|
|
|
119
119
|
export function countArgumentsSize(abi) {
|
|
120
120
|
return abi.parameters.reduce((acc, parameter) => acc + ArgumentEncoder.typeSize(parameter.type), 0);
|
|
121
121
|
}
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hYmkvZW5jb2Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4Qzs7O0dBR0c7QUFDSCxNQUFNLGVBQWU7SUFHbkIsWUFBb0IsR0FBZ0IsRUFBVSxJQUFXO1FBQXJDLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFPO1FBRmpELGNBQVMsR0FBUyxFQUFFLENBQUM7SUFFK0IsQ0FBQztJQUU3RCxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQWdCO1FBQzlCLFFBQVEsT0FBTyxDQUFDLElBQUksRUFBRTtZQUNwQixLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssU0FBUyxDQUFDO1lBQ2YsS0FBSyxTQUFTO2dCQUNaLE9BQU8sQ0FBQyxDQUFDO1lBQ1gsS0FBSyxRQUFRO2dCQUNYLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUN4QixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxPQUFPLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pFLEtBQUssUUFBUTtnQkFDWCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzlGLE9BQU8sQ0FBQyxDQUFDO2dCQUNQLE1BQU0sZUFBZSxHQUFVLE9BQU8sQ0FBQztnQkFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsZUFBZSxFQUFFLENBQUMsQ0FBQzthQUMzRDtTQUNGO0lB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
|
|
@@ -19,9 +19,10 @@ export declare class FunctionSelector {
|
|
|
19
19
|
isEmpty(): boolean;
|
|
20
20
|
/**
|
|
21
21
|
* Serialize as a buffer.
|
|
22
|
+
* @param bufferSize - The buffer size.
|
|
22
23
|
* @returns The buffer.
|
|
23
24
|
*/
|
|
24
|
-
toBuffer(): Buffer;
|
|
25
|
+
toBuffer(bufferSize?: number): Buffer;
|
|
25
26
|
/**
|
|
26
27
|
* Serialize as a hex string.
|
|
27
28
|
* @returns The string.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function_selector.d.ts","sourceRoot":"","sources":["../../src/abi/function_selector.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAA2B,MAAM,uBAAuB,CAAC;AAG9E,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D;;GAEG;AACH,qBAAa,gBAAgB;IAMyC,KAAK,EAAE,MAAM;IALjF;;OAEG;IACH,OAAc,IAAI,SAAK;gBAEX,gDAAgD,CAAQ,KAAK,EAAE,MAAM;IAMjF;;;OAGG;IACI,OAAO,IAAI,OAAO;IAIzB
|
|
1
|
+
{"version":3,"file":"function_selector.d.ts","sourceRoot":"","sources":["../../src/abi/function_selector.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAA2B,MAAM,uBAAuB,CAAC;AAG9E,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D;;GAEG;AACH,qBAAa,gBAAgB;IAMyC,KAAK,EAAE,MAAM;IALjF;;OAEG;IACH,OAAc,IAAI,SAAK;gBAEX,gDAAgD,CAAQ,KAAK,EAAE,MAAM;IAMjF;;;OAGG;IACI,OAAO,IAAI,OAAO;IAIzB;;;;OAIG;IACH,QAAQ,CAAC,UAAU,SAAwB,GAAG,MAAM;IAIpD;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAIxC;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB;IAMlE;;;;OAIG;IACI,OAAO;IAId;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,gBAAgB;IAI1C;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB;IAIzD;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE;IAQrE;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM;IAQlC;;;OAGG;IACH,MAAM,CAAC,KAAK,IAAI,gBAAgB;CAGjC"}
|
|
@@ -22,10 +22,11 @@ export class FunctionSelector {
|
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* Serialize as a buffer.
|
|
25
|
+
* @param bufferSize - The buffer size.
|
|
25
26
|
* @returns The buffer.
|
|
26
27
|
*/
|
|
27
|
-
toBuffer() {
|
|
28
|
-
return toBufferBE(BigInt(this.value),
|
|
28
|
+
toBuffer(bufferSize = FunctionSelector.SIZE) {
|
|
29
|
+
return toBufferBE(BigInt(this.value), bufferSize);
|
|
29
30
|
}
|
|
30
31
|
/**
|
|
31
32
|
* Serialize as a hex string.
|
|
@@ -58,7 +59,7 @@ export class FunctionSelector {
|
|
|
58
59
|
* @returns An Fr instance.
|
|
59
60
|
*/
|
|
60
61
|
toField() {
|
|
61
|
-
return new Fr(this.value);
|
|
62
|
+
return new Fr(BigInt(this.value));
|
|
62
63
|
}
|
|
63
64
|
/**
|
|
64
65
|
* Converts a field to function selector.
|
|
@@ -66,7 +67,7 @@ export class FunctionSelector {
|
|
|
66
67
|
* @returns The function selector.
|
|
67
68
|
*/
|
|
68
69
|
static fromField(fr) {
|
|
69
|
-
return new FunctionSelector(Number(fr.
|
|
70
|
+
return new FunctionSelector(Number(fr.toBigInt()));
|
|
70
71
|
}
|
|
71
72
|
/**
|
|
72
73
|
* Creates a function selector from a signature.
|
|
@@ -116,4 +117,4 @@ export class FunctionSelector {
|
|
|
116
117
|
* The size of the function selector in bytes.
|
|
117
118
|
*/
|
|
118
119
|
FunctionSelector.SIZE = 4;
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25fc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2Z1bmN0aW9uX3NlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTNEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQU0zQixZQUFZLGdEQUFnRCxDQUFRLEtBQWE7UUFBYixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQy9FLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDaEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsZ0JBQWdCLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQztTQUNsRjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsSUFBSTtRQUN6QyxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUE2QjtRQUM3QyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUUsT0FBTyxJQUFJLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksT0FBTztRQUNaLE9BQU8sSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFNO1FBQ3JCLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBaUI7UUFDcEMsT0FBTyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUFDLElBQVksRUFBRSxVQUEwQjtRQUNuRSxNQUFNLFNBQVMsR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDNUQsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNELDZHQUE2RztRQUM3RyxvRUFBb0U7UUFDcEUsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQWdCO1FBQ2hDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0QsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLGdCQUFnQixDQUFDLElBQUksRUFBRTtZQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNsRDtRQUNELE9BQU8sZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsS0FBSztRQUNWLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDOztBQXZIRDs7R0FFRztBQUNXLHFCQUFJLEdBQUcsQ0FBQyxDQUFDIn0=
|
|
@@ -1,114 +1,16 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import { Fr } from '../fields/index.js';
|
|
3
|
-
import { BufferReader } from '../serialize/buffer_reader.js';
|
|
4
3
|
/**
|
|
5
|
-
* AztecAddress represents a 32-byte address in the Aztec Protocol.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* AztecAddress represents a 32-byte address in the Aztec Protocol.
|
|
5
|
+
* It provides methods to create, manipulate, and compare addresses.
|
|
6
|
+
* The maximum value of an address is determined by the field modulus and all instances of AztecAddress.
|
|
7
|
+
* It should have a value less than or equal to this max value.
|
|
8
|
+
* This class also provides helper functions to convert addresses from strings, buffers, and other formats.
|
|
9
9
|
*/
|
|
10
|
-
export declare class AztecAddress {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
static SIZE_IN_BYTES: number;
|
|
16
|
-
static ZERO: AztecAddress;
|
|
17
|
-
static MODULUS: bigint;
|
|
18
|
-
static MAX_VALUE: bigint;
|
|
19
|
-
constructor(
|
|
20
|
-
/**
|
|
21
|
-
* The buffer field.
|
|
22
|
-
*/
|
|
23
|
-
buffer: Buffer);
|
|
24
|
-
/**
|
|
25
|
-
* Generates a random AztecAddress instance, using the Fr field (a finite field) to create a random value
|
|
26
|
-
* within a valid range and then converting it into a Buffer of a fixed size in bytes.
|
|
27
|
-
*
|
|
28
|
-
* @returns A new AztecAddress instance with a random value.
|
|
29
|
-
*/
|
|
30
|
-
static random(): AztecAddress;
|
|
31
|
-
/**
|
|
32
|
-
* Creates an AztecAddress instance from a given buffer or BufferReader.
|
|
33
|
-
* If the input is a Buffer, it wraps it in a BufferReader before processing.
|
|
34
|
-
* Throws an error if the input length is not equal to the expected size.
|
|
35
|
-
*
|
|
36
|
-
* @param buffer - The input buffer or BufferReader containing the address data.
|
|
37
|
-
* @returns - A new AztecAddress instance with the extracted address data.
|
|
38
|
-
*/
|
|
39
|
-
static fromBuffer(buffer: Buffer | BufferReader): AztecAddress;
|
|
40
|
-
/**
|
|
41
|
-
* Create an AztecAddress instance from a hex-encoded string.
|
|
42
|
-
* The input 'address' should be prefixed with '0x' or not, and have exactly 64 hex characters.
|
|
43
|
-
* Throws an error if the input length is invalid or address value is out of range.
|
|
44
|
-
*
|
|
45
|
-
* @param address - The hex-encoded string representing the Aztec address.
|
|
46
|
-
* @returns An AztecAddress instance.
|
|
47
|
-
*/
|
|
48
|
-
static fromString(address: string): AztecAddress;
|
|
49
|
-
/**
|
|
50
|
-
* Creates an AztecAddress from a bigint.
|
|
51
|
-
* The provided value must be within the range of a field.
|
|
52
|
-
* @param address - The bigint representation of the address.
|
|
53
|
-
* @returns An AztecAddress instance.
|
|
54
|
-
*/
|
|
55
|
-
static fromBigInt(address: bigint): AztecAddress;
|
|
56
|
-
/**
|
|
57
|
-
* Converts the AztecAddress instance into a Buffer.
|
|
58
|
-
* This method should be used when encoding the address for storage, transmission or serialization purposes.
|
|
59
|
-
*
|
|
60
|
-
* @returns A Buffer representation of the AztecAddress instance.
|
|
61
|
-
*/
|
|
62
|
-
toBuffer(): Buffer;
|
|
63
|
-
/**
|
|
64
|
-
* Convert the AztecAddress to a hexadecimal string representation, with a "0x" prefix.
|
|
65
|
-
* The resulting string will have a length of 66 characters (including the prefix).
|
|
66
|
-
*
|
|
67
|
-
* @returns A hexadecimal string representation of the AztecAddress.
|
|
68
|
-
*/
|
|
69
|
-
toString(): `0x${string}`;
|
|
70
|
-
/**
|
|
71
|
-
* Returns a shortened string representation of the AztecAddress, displaying only the first 10 characters and last 4 characters.
|
|
72
|
-
* This is useful for human-readable displays where the full address is not necessary.
|
|
73
|
-
*
|
|
74
|
-
* @returns A shortened string representation of the address.
|
|
75
|
-
*/
|
|
76
|
-
toShortString(): string;
|
|
77
|
-
/**
|
|
78
|
-
* Returns this address from a Field element.
|
|
79
|
-
* @param field - The Field element to convert.
|
|
80
|
-
* @returns An Address Object from a Field element with the same value.
|
|
81
|
-
*/
|
|
82
|
-
static fromField(field: Fr): AztecAddress;
|
|
83
|
-
/**
|
|
84
|
-
* Returns this address as a field element.
|
|
85
|
-
* @returns A field element with the same value as the address.
|
|
86
|
-
*/
|
|
87
|
-
toField(): Fr;
|
|
88
|
-
/**
|
|
89
|
-
* Returns this address as a bigint. Useful for creating maps indexed by addresses.
|
|
90
|
-
* @returns A bigint with the same value as the address.
|
|
91
|
-
*/
|
|
92
|
-
toBigInt(): bigint;
|
|
93
|
-
/**
|
|
94
|
-
* Determines if this AztecAddress instance is equal to the given AztecAddress instance.
|
|
95
|
-
* Equality is based on the content of their respective buffers.
|
|
96
|
-
*
|
|
97
|
-
* @param other - The AztecAddress instance to compare against.
|
|
98
|
-
* @returns True if the buffers of both instances are equal, false otherwise.
|
|
99
|
-
*/
|
|
100
|
-
equals(other: AztecAddress): boolean;
|
|
101
|
-
/**
|
|
102
|
-
* Checks if the AztecAddress is zero.
|
|
103
|
-
*
|
|
104
|
-
* @returns Returns true if the AztecAddress is equal to the zero address, otherwise returns false.
|
|
105
|
-
*/
|
|
106
|
-
isZero(): boolean;
|
|
107
|
-
/**
|
|
108
|
-
* Friendly representation for debugging purposes.
|
|
109
|
-
*
|
|
110
|
-
* @returns A hex string representing the address.
|
|
111
|
-
*/
|
|
112
|
-
toFriendlyJSON(): `0x${string}`;
|
|
10
|
+
export declare class AztecAddress extends Fr {
|
|
11
|
+
constructor(buffer: Buffer);
|
|
12
|
+
static fromField(fr: Fr): AztecAddress;
|
|
13
|
+
static fromBigInt(value: bigint): AztecAddress;
|
|
14
|
+
static fromString(buf: string): AztecAddress;
|
|
113
15
|
}
|
|
114
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/aztec-address/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/aztec-address/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,EAAE;gBACtB,MAAM,EAAE,MAAM;IAO1B,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE;IAIvB,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM;IAI/B,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;CAI9B"}
|
|
@@ -1,148 +1,27 @@
|
|
|
1
|
-
import { toBigIntBE, toBufferBE } from '../bigint-buffer/index.js';
|
|
2
1
|
import { Fr } from '../fields/index.js';
|
|
3
|
-
import { BufferReader } from '../serialize/buffer_reader.js';
|
|
4
2
|
/**
|
|
5
|
-
* AztecAddress represents a 32-byte address in the Aztec Protocol.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
3
|
+
* AztecAddress represents a 32-byte address in the Aztec Protocol.
|
|
4
|
+
* It provides methods to create, manipulate, and compare addresses.
|
|
5
|
+
* The maximum value of an address is determined by the field modulus and all instances of AztecAddress.
|
|
6
|
+
* It should have a value less than or equal to this max value.
|
|
7
|
+
* This class also provides helper functions to convert addresses from strings, buffers, and other formats.
|
|
9
8
|
*/
|
|
10
|
-
export class AztecAddress {
|
|
11
|
-
constructor(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*/
|
|
15
|
-
buffer) {
|
|
16
|
-
this.buffer = buffer;
|
|
17
|
-
const value = toBigIntBE(buffer);
|
|
18
|
-
if (value > AztecAddress.MAX_VALUE) {
|
|
19
|
-
throw new Error(`AztecAddress out of range ${value}.`);
|
|
9
|
+
export class AztecAddress extends Fr {
|
|
10
|
+
constructor(buffer) {
|
|
11
|
+
if (buffer.length !== 32) {
|
|
12
|
+
throw new Error(`Invalid length ${buffer.length}.`);
|
|
20
13
|
}
|
|
14
|
+
super(buffer);
|
|
21
15
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
* within a valid range and then converting it into a Buffer of a fixed size in bytes.
|
|
25
|
-
*
|
|
26
|
-
* @returns A new AztecAddress instance with a random value.
|
|
27
|
-
*/
|
|
28
|
-
static random() {
|
|
29
|
-
return new AztecAddress(toBufferBE(Fr.random().value, AztecAddress.SIZE_IN_BYTES));
|
|
16
|
+
static fromField(fr) {
|
|
17
|
+
return new AztecAddress(fr.toBuffer());
|
|
30
18
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
* If the input is a Buffer, it wraps it in a BufferReader before processing.
|
|
34
|
-
* Throws an error if the input length is not equal to the expected size.
|
|
35
|
-
*
|
|
36
|
-
* @param buffer - The input buffer or BufferReader containing the address data.
|
|
37
|
-
* @returns - A new AztecAddress instance with the extracted address data.
|
|
38
|
-
*/
|
|
39
|
-
static fromBuffer(buffer) {
|
|
40
|
-
const reader = BufferReader.asReader(buffer);
|
|
41
|
-
return new this(reader.readBytes(this.SIZE_IN_BYTES));
|
|
19
|
+
static fromBigInt(value) {
|
|
20
|
+
return AztecAddress.fromField(new Fr(value));
|
|
42
21
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
* Throws an error if the input length is invalid or address value is out of range.
|
|
47
|
-
*
|
|
48
|
-
* @param address - The hex-encoded string representing the Aztec address.
|
|
49
|
-
* @returns An AztecAddress instance.
|
|
50
|
-
*/
|
|
51
|
-
static fromString(address) {
|
|
52
|
-
const buf = Buffer.from(address.replace(/^0x/i, ''), 'hex');
|
|
53
|
-
if (buf.length !== AztecAddress.SIZE_IN_BYTES) {
|
|
54
|
-
throw new Error(`Invalid length ${buf.length}.`);
|
|
55
|
-
}
|
|
56
|
-
return new AztecAddress(buf);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Creates an AztecAddress from a bigint.
|
|
60
|
-
* The provided value must be within the range of a field.
|
|
61
|
-
* @param address - The bigint representation of the address.
|
|
62
|
-
* @returns An AztecAddress instance.
|
|
63
|
-
*/
|
|
64
|
-
static fromBigInt(address) {
|
|
65
|
-
return new AztecAddress(toBufferBE(address, AztecAddress.SIZE_IN_BYTES));
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Converts the AztecAddress instance into a Buffer.
|
|
69
|
-
* This method should be used when encoding the address for storage, transmission or serialization purposes.
|
|
70
|
-
*
|
|
71
|
-
* @returns A Buffer representation of the AztecAddress instance.
|
|
72
|
-
*/
|
|
73
|
-
toBuffer() {
|
|
74
|
-
return this.buffer;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Convert the AztecAddress to a hexadecimal string representation, with a "0x" prefix.
|
|
78
|
-
* The resulting string will have a length of 66 characters (including the prefix).
|
|
79
|
-
*
|
|
80
|
-
* @returns A hexadecimal string representation of the AztecAddress.
|
|
81
|
-
*/
|
|
82
|
-
toString() {
|
|
83
|
-
return `0x${this.buffer.toString('hex')}`;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Returns a shortened string representation of the AztecAddress, displaying only the first 10 characters and last 4 characters.
|
|
87
|
-
* This is useful for human-readable displays where the full address is not necessary.
|
|
88
|
-
*
|
|
89
|
-
* @returns A shortened string representation of the address.
|
|
90
|
-
*/
|
|
91
|
-
toShortString() {
|
|
92
|
-
const str = this.toString();
|
|
93
|
-
return `${str.slice(0, 10)}...${str.slice(-4)}`;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Returns this address from a Field element.
|
|
97
|
-
* @param field - The Field element to convert.
|
|
98
|
-
* @returns An Address Object from a Field element with the same value.
|
|
99
|
-
*/
|
|
100
|
-
static fromField(field) {
|
|
101
|
-
return new AztecAddress(toBufferBE(field.value, AztecAddress.SIZE_IN_BYTES));
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Returns this address as a field element.
|
|
105
|
-
* @returns A field element with the same value as the address.
|
|
106
|
-
*/
|
|
107
|
-
toField() {
|
|
108
|
-
return Fr.fromBuffer(this.toBuffer());
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Returns this address as a bigint. Useful for creating maps indexed by addresses.
|
|
112
|
-
* @returns A bigint with the same value as the address.
|
|
113
|
-
*/
|
|
114
|
-
toBigInt() {
|
|
115
|
-
return toBigIntBE(this.buffer);
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Determines if this AztecAddress instance is equal to the given AztecAddress instance.
|
|
119
|
-
* Equality is based on the content of their respective buffers.
|
|
120
|
-
*
|
|
121
|
-
* @param other - The AztecAddress instance to compare against.
|
|
122
|
-
* @returns True if the buffers of both instances are equal, false otherwise.
|
|
123
|
-
*/
|
|
124
|
-
equals(other) {
|
|
125
|
-
return this.buffer.equals(other.buffer);
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Checks if the AztecAddress is zero.
|
|
129
|
-
*
|
|
130
|
-
* @returns Returns true if the AztecAddress is equal to the zero address, otherwise returns false.
|
|
131
|
-
*/
|
|
132
|
-
isZero() {
|
|
133
|
-
return this.equals(AztecAddress.ZERO);
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Friendly representation for debugging purposes.
|
|
137
|
-
*
|
|
138
|
-
* @returns A hex string representing the address.
|
|
139
|
-
*/
|
|
140
|
-
toFriendlyJSON() {
|
|
141
|
-
return this.toString();
|
|
22
|
+
static fromString(buf) {
|
|
23
|
+
const buffer = Buffer.from(buf.replace(/^0x/i, ''), 'hex');
|
|
24
|
+
return new AztecAddress(buffer);
|
|
142
25
|
}
|
|
143
26
|
}
|
|
144
|
-
|
|
145
|
-
AztecAddress.ZERO = new AztecAddress(Buffer.alloc(AztecAddress.SIZE_IN_BYTES));
|
|
146
|
-
AztecAddress.MODULUS = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n;
|
|
147
|
-
AztecAddress.MAX_VALUE = AztecAddress.MODULUS - 1n;
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp0ZWMtYWRkcmVzcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFN0Q7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQU12QjtJQUNFOztPQUVHO0lBQ2EsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFOUIsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLElBQUksS0FBSyxHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUU7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsS0FBSyxHQUFHLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxNQUFNO1FBQ1gsT0FBTyxJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBNkI7UUFDN0MsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQWU7UUFDL0IsTUFBTSxHQUFHLEdBQUcs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
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp0ZWMtYWRkcmVzcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEM7Ozs7OztHQU1HO0FBQ0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxFQUFFO0lBQ2xDLFlBQVksTUFBYztRQUN4QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQU07UUFDckIsT0FBTyxJQUFJLFlBQVksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFhO1FBQzdCLE9BQU8sWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQVc7UUFDM0IsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bigint-buffer/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ9C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM9C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bigint-buffer/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ9C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM9C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ7D;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAU7D;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,KAAK,MAAM,EAAE,CAKjE"}
|
|
@@ -31,8 +31,9 @@ export function toBigIntBE(buf) {
|
|
|
31
31
|
* @returns A little-endian buffer representation of num.
|
|
32
32
|
*/
|
|
33
33
|
export function toBufferLE(num, width) {
|
|
34
|
-
if (num < BigInt(0))
|
|
34
|
+
if (num < BigInt(0)) {
|
|
35
35
|
throw new Error(`Cannot convert negative bigint ${num.toString()} to buffer with toBufferLE.`);
|
|
36
|
+
}
|
|
36
37
|
const hex = num.toString(16);
|
|
37
38
|
const buffer = Buffer.from(hex.padStart(width * 2, '0').slice(0, width * 2), 'hex');
|
|
38
39
|
buffer.reverse();
|
|
@@ -45,12 +46,14 @@ export function toBufferLE(num, width) {
|
|
|
45
46
|
* @returns A big-endian buffer representation of num.
|
|
46
47
|
*/
|
|
47
48
|
export function toBufferBE(num, width) {
|
|
48
|
-
if (num < BigInt(0))
|
|
49
|
+
if (num < BigInt(0)) {
|
|
49
50
|
throw new Error(`Cannot convert negative bigint ${num.toString()} to buffer with toBufferBE.`);
|
|
51
|
+
}
|
|
50
52
|
const hex = num.toString(16);
|
|
51
53
|
const buffer = Buffer.from(hex.padStart(width * 2, '0').slice(0, width * 2), 'hex');
|
|
52
|
-
if (buffer.length > width)
|
|
54
|
+
if (buffer.length > width) {
|
|
53
55
|
throw new Error(`Number ${num.toString(16)} does not fit in ${width}`);
|
|
56
|
+
}
|
|
54
57
|
return buffer;
|
|
55
58
|
}
|
|
56
59
|
/**
|
|
@@ -65,4 +68,4 @@ export function toHex(num, padTo32 = false) {
|
|
|
65
68
|
const paddedStr = str.padStart(padTo32 ? 64 : targetLen, '0');
|
|
66
69
|
return `0x${paddedStr}`;
|
|
67
70
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmlnaW50LWJ1ZmZlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUFXO0lBQ3BDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNwQixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNsQjtJQUNELE9BQU8sTUFBTSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsR0FBVztJQUNwQyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDcEIsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDbEI7SUFDRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUFXLEVBQUUsS0FBYTtJQUNuRCxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsR0FBRyxDQUFDLFFBQVEsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO0tBQ2hHO0lBQ0QsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRixNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUFXLEVBQUUsS0FBYTtJQUNuRCxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsR0FBRyxDQUFDLFFBQVEsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO0tBQ2hHO0lBQ0QsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRixJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsS0FBSyxFQUFFO1FBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUN4RTtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUMsR0FBVyxFQUFFLE9BQU8sR0FBRyxLQUFLO0lBQ2hELE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNyRSxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDOUQsT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO0FBQzFCLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/collection/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/collection/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAM1F;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAM5F;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAOhF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,MAAM,CAEtF"}
|
package/dest/collection/array.js
CHANGED
|
@@ -6,8 +6,9 @@
|
|
|
6
6
|
* @returns A new padded array.
|
|
7
7
|
*/
|
|
8
8
|
export function padArrayEnd(arr, elem, length) {
|
|
9
|
-
if (arr.length > length)
|
|
9
|
+
if (arr.length > length) {
|
|
10
10
|
throw new Error(`Array size exceeds target length`);
|
|
11
|
+
}
|
|
11
12
|
// Since typescript cannot always deduce that something is a tuple, we cast
|
|
12
13
|
return [...arr, ...Array(length - arr.length).fill(elem)];
|
|
13
14
|
}
|
|
@@ -19,8 +20,9 @@ export function padArrayEnd(arr, elem, length) {
|
|
|
19
20
|
* @returns A new padded array.
|
|
20
21
|
*/
|
|
21
22
|
export function padArrayStart(arr, elem, length) {
|
|
22
|
-
if (arr.length > length)
|
|
23
|
+
if (arr.length > length) {
|
|
23
24
|
throw new Error(`Array size exceeds target length`);
|
|
25
|
+
}
|
|
24
26
|
// Since typescript cannot always deduce that something is a tuple, we cast
|
|
25
27
|
return [...Array(length - arr.length).fill(elem), ...arr];
|
|
26
28
|
}
|
|
@@ -31,8 +33,9 @@ export function padArrayStart(arr, elem, length) {
|
|
|
31
33
|
*/
|
|
32
34
|
export function isArrayEmpty(arr, isEmpty) {
|
|
33
35
|
for (const item of arr) {
|
|
34
|
-
if (!isEmpty(item))
|
|
36
|
+
if (!isEmpty(item)) {
|
|
35
37
|
return false;
|
|
38
|
+
}
|
|
36
39
|
}
|
|
37
40
|
return true;
|
|
38
41
|
}
|
|
@@ -44,4 +47,4 @@ export function isArrayEmpty(arr, isEmpty) {
|
|
|
44
47
|
export function arrayNonEmptyLength(arr, isEmpty) {
|
|
45
48
|
return arr.reduce((sum, item) => (isEmpty(item) ? sum : sum + 1), 0);
|
|
46
49
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29sbGVjdGlvbi9hcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFzQixHQUFRLEVBQUUsSUFBTyxFQUFFLE1BQVM7SUFDM0UsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sRUFBRTtRQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7S0FDckQ7SUFDRCwyRUFBMkU7SUFDM0UsT0FBTyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFnQixDQUFDO0FBQzNFLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFzQixHQUFRLEVBQUUsSUFBTyxFQUFFLE1BQVM7SUFDN0UsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sRUFBRTtRQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7S0FDckQ7SUFDRCwyRUFBMkU7SUFDM0UsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFnQixDQUFDO0FBQzNFLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBSSxHQUFRLEVBQUUsT0FBNkI7SUFDckUsS0FBSyxNQUFNLElBQUksSUFBSSxHQUFHLEVBQUU7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsQixPQUFPLEtBQUssQ0FBQztTQUNkO0tBQ0Y7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFJLEdBQVEsRUFBRSxPQUE2QjtJQUM1RSxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdkUsQ0FBQyJ9
|
package/dest/crypto/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
|
package/dest/crypto/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './keccak/index.js';
|
|
2
2
|
export * from './random/index.js';
|
|
3
3
|
export * from './sha256/index.js';
|
|
4
|
-
|
|
4
|
+
export * from './pedersen/index.js';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3J5cHRvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUMifQ==
|
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* Create a pedersen commitment (point) from an array of input fields.
|
|
4
|
-
*/
|
|
5
|
-
export declare function pedersenCommit(input: Buffer[], generatorOffset?: number): Buffer[];
|
|
6
|
-
/**
|
|
7
|
-
* Create a pedersen hash (field) from an array of input fields.
|
|
8
|
-
*/
|
|
9
|
-
export declare function pedersenHashWithHashIndex(input: Buffer[], index?: number): Buffer;
|
|
1
|
+
export * from './pedersen.wasm.js';
|
|
10
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/pedersen/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/pedersen/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
|