@aztec/foundation 0.7.0 → 0.7.2
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/Dockerfile +15 -0
- package/package.json +1 -1
- package/src/abi/abi.ts +1 -1
- package/src/abi/decoder.ts +1 -1
- package/.tsbuildinfo +0 -1
- package/dest/abi/abi.d.ts +0 -232
- package/dest/abi/abi.d.ts.map +0 -1
- package/dest/abi/abi.js +0 -37
- package/dest/abi/abi_coder.d.ts +0 -8
- package/dest/abi/abi_coder.d.ts.map +0 -1
- package/dest/abi/abi_coder.js +0 -24
- package/dest/abi/decoder.d.ts +0 -57
- package/dest/abi/decoder.d.ts.map +0 -1
- package/dest/abi/decoder.js +0 -149
- package/dest/abi/decoder.test.d.ts +0 -2
- package/dest/abi/decoder.test.d.ts.map +0 -1
- package/dest/abi/decoder.test.js +0 -70
- package/dest/abi/encoder.d.ts +0 -10
- package/dest/abi/encoder.d.ts.map +0 -1
- package/dest/abi/encoder.js +0 -89
- package/dest/abi/encoder.test.d.ts +0 -2
- package/dest/abi/encoder.test.d.ts.map +0 -1
- package/dest/abi/encoder.test.js +0 -74
- package/dest/abi/function_selector.d.ts +0 -73
- package/dest/abi/function_selector.d.ts.map +0 -1
- package/dest/abi/function_selector.js +0 -104
- package/dest/abi/index.d.ts +0 -6
- package/dest/abi/index.d.ts.map +0 -1
- package/dest/abi/index.js +0 -6
- package/dest/async-map/async_map.test.d.ts +0 -2
- package/dest/async-map/async_map.test.d.ts.map +0 -1
- package/dest/async-map/async_map.test.js +0 -9
- package/dest/async-map/index.d.ts +0 -13
- package/dest/async-map/index.d.ts.map +0 -1
- package/dest/async-map/index.js +0 -19
- package/dest/aztec-address/index.d.ts +0 -114
- package/dest/aztec-address/index.d.ts.map +0 -1
- package/dest/aztec-address/index.js +0 -148
- package/dest/bigint-buffer/bigint-buffer.test.d.ts +0 -2
- package/dest/bigint-buffer/bigint-buffer.test.d.ts.map +0 -1
- package/dest/bigint-buffer/bigint-buffer.test.js +0 -18
- package/dest/bigint-buffer/index.d.ts +0 -35
- package/dest/bigint-buffer/index.d.ts.map +0 -1
- package/dest/bigint-buffer/index.js +0 -68
- package/dest/collection/array.d.ts +0 -30
- package/dest/collection/array.d.ts.map +0 -1
- package/dest/collection/array.js +0 -47
- package/dest/collection/index.d.ts +0 -2
- package/dest/collection/index.d.ts.map +0 -1
- package/dest/collection/index.js +0 -2
- package/dest/committable/committable.d.ts +0 -28
- package/dest/committable/committable.d.ts.map +0 -1
- package/dest/committable/committable.js +0 -41
- package/dest/committable/committable.test.d.ts +0 -2
- package/dest/committable/committable.test.d.ts.map +0 -1
- package/dest/committable/committable.test.js +0 -26
- package/dest/committable/index.d.ts +0 -2
- package/dest/committable/index.d.ts.map +0 -1
- package/dest/committable/index.js +0 -2
- package/dest/crypto/index.d.ts +0 -4
- package/dest/crypto/index.d.ts.map +0 -1
- package/dest/crypto/index.js +0 -4
- package/dest/crypto/keccak/index.d.ts +0 -20
- package/dest/crypto/keccak/index.d.ts.map +0 -1
- package/dest/crypto/keccak/index.js +0 -31
- package/dest/crypto/random/index.d.ts +0 -3
- package/dest/crypto/random/index.d.ts.map +0 -1
- package/dest/crypto/random/index.js +0 -36
- package/dest/crypto/random/index.test.d.ts +0 -2
- package/dest/crypto/random/index.test.d.ts.map +0 -1
- package/dest/crypto/random/index.test.js +0 -13
- package/dest/crypto/sha256/index.d.ts +0 -11
- package/dest/crypto/sha256/index.d.ts.map +0 -1
- package/dest/crypto/sha256/index.js +0 -14
- package/dest/crypto/sha256/index.test.d.ts +0 -2
- package/dest/crypto/sha256/index.test.d.ts.map +0 -1
- package/dest/crypto/sha256/index.test.js +0 -11
- package/dest/errors/index.d.ts +0 -8
- package/dest/errors/index.d.ts.map +0 -1
- package/dest/errors/index.js +0 -8
- package/dest/eth-address/eth_address.test.d.ts +0 -2
- package/dest/eth-address/eth_address.test.d.ts.map +0 -1
- package/dest/eth-address/eth_address.test.js +0 -95
- package/dest/eth-address/index.d.ts +0 -144
- package/dest/eth-address/index.d.ts.map +0 -1
- package/dest/eth-address/index.js +0 -228
- package/dest/fields/coordinate.d.ts +0 -67
- package/dest/fields/coordinate.d.ts.map +0 -1
- package/dest/fields/coordinate.js +0 -95
- package/dest/fields/coordinate.test.d.ts +0 -2
- package/dest/fields/coordinate.test.d.ts.map +0 -1
- package/dest/fields/coordinate.test.js +0 -22
- package/dest/fields/fields.d.ts +0 -177
- package/dest/fields/fields.d.ts.map +0 -1
- package/dest/fields/fields.js +0 -219
- 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/dest/fields/grumpkin_scalar.test.d.ts +0 -2
- package/dest/fields/grumpkin_scalar.test.d.ts.map +0 -1
- package/dest/fields/grumpkin_scalar.test.js +0 -45
- package/dest/fields/index.d.ts +0 -5
- package/dest/fields/index.d.ts.map +0 -1
- package/dest/fields/index.js +0 -5
- package/dest/fields/point.d.ts +0 -105
- package/dest/fields/point.d.ts.map +0 -1
- package/dest/fields/point.js +0 -125
- package/dest/fifo/bounded_serial_queue.d.ts +0 -56
- package/dest/fifo/bounded_serial_queue.d.ts.map +0 -1
- package/dest/fifo/bounded_serial_queue.js +0 -94
- package/dest/fifo/index.d.ts +0 -5
- package/dest/fifo/index.d.ts.map +0 -1
- package/dest/fifo/index.js +0 -5
- package/dest/fifo/memory_fifo.d.ts +0 -55
- package/dest/fifo/memory_fifo.d.ts.map +0 -1
- package/dest/fifo/memory_fifo.js +0 -109
- package/dest/fifo/semaphore.d.ts +0 -23
- package/dest/fifo/semaphore.d.ts.map +0 -1
- package/dest/fifo/semaphore.js +0 -30
- package/dest/fifo/serial_queue.d.ts +0 -48
- package/dest/fifo/serial_queue.d.ts.map +0 -1
- package/dest/fifo/serial_queue.js +0 -74
- package/dest/json-rpc/class_converter.d.ts +0 -144
- package/dest/json-rpc/class_converter.d.ts.map +0 -1
- package/dest/json-rpc/class_converter.js +0 -100
- package/dest/json-rpc/client/index.d.ts +0 -2
- package/dest/json-rpc/client/index.d.ts.map +0 -1
- package/dest/json-rpc/client/index.js +0 -2
- package/dest/json-rpc/client/json_rpc_client.d.ts +0 -29
- package/dest/json-rpc/client/json_rpc_client.d.ts.map +0 -1
- package/dest/json-rpc/client/json_rpc_client.js +0 -104
- package/dest/json-rpc/client/json_rpc_client.test.d.ts +0 -2
- package/dest/json-rpc/client/json_rpc_client.test.d.ts.map +0 -1
- package/dest/json-rpc/client/json_rpc_client.test.js +0 -20
- package/dest/json-rpc/convert.d.ts +0 -28
- package/dest/json-rpc/convert.d.ts.map +0 -1
- package/dest/json-rpc/convert.js +0 -139
- package/dest/json-rpc/convert.test.d.ts +0 -2
- package/dest/json-rpc/convert.test.d.ts.map +0 -1
- package/dest/json-rpc/convert.test.js +0 -68
- package/dest/json-rpc/fixtures/class_a.d.ts +0 -11
- package/dest/json-rpc/fixtures/class_a.d.ts.map +0 -1
- package/dest/json-rpc/fixtures/class_a.js +0 -17
- package/dest/json-rpc/fixtures/class_b.d.ts +0 -11
- package/dest/json-rpc/fixtures/class_b.d.ts.map +0 -1
- package/dest/json-rpc/fixtures/class_b.js +0 -17
- package/dest/json-rpc/fixtures/test_state.d.ts +0 -47
- package/dest/json-rpc/fixtures/test_state.d.ts.map +0 -1
- package/dest/json-rpc/fixtures/test_state.js +0 -62
- package/dest/json-rpc/index.d.ts +0 -3
- package/dest/json-rpc/index.d.ts.map +0 -1
- package/dest/json-rpc/index.js +0 -3
- package/dest/json-rpc/js_utils.d.ts +0 -13
- package/dest/json-rpc/js_utils.d.ts.map +0 -1
- package/dest/json-rpc/js_utils.js +0 -18
- package/dest/json-rpc/server/index.d.ts +0 -3
- package/dest/json-rpc/server/index.d.ts.map +0 -1
- package/dest/json-rpc/server/index.js +0 -3
- package/dest/json-rpc/server/json_proxy.d.ts +0 -18
- package/dest/json-rpc/server/json_proxy.d.ts.map +0 -1
- package/dest/json-rpc/server/json_proxy.js +0 -36
- package/dest/json-rpc/server/json_rpc_server.d.ts +0 -34
- package/dest/json-rpc/server/json_rpc_server.d.ts.map +0 -1
- package/dest/json-rpc/server/json_rpc_server.js +0 -133
- package/dest/json-rpc/server/json_rpc_server.test.d.ts +0 -2
- package/dest/json-rpc/server/json_rpc_server.test.d.ts.map +0 -1
- package/dest/json-rpc/server/json_rpc_server.test.js +0 -22
- package/dest/log/console.d.ts +0 -11
- package/dest/log/console.d.ts.map +0 -1
- package/dest/log/console.js +0 -38
- package/dest/log/debug.d.ts +0 -43
- package/dest/log/debug.d.ts.map +0 -1
- package/dest/log/debug.js +0 -75
- package/dest/log/index.d.ts +0 -9
- package/dest/log/index.d.ts.map +0 -1
- package/dest/log/index.js +0 -5
- package/dest/log/log_history.d.ts +0 -31
- package/dest/log/log_history.d.ts.map +0 -1
- package/dest/log/log_history.js +0 -42
- package/dest/log/log_history.test.d.ts +0 -2
- package/dest/log/log_history.test.d.ts.map +0 -1
- package/dest/log/log_history.test.js +0 -78
- package/dest/log/logger.d.ts +0 -34
- package/dest/log/logger.d.ts.map +0 -1
- package/dest/log/logger.js +0 -78
- package/dest/mutex/index.d.ts +0 -53
- package/dest/mutex/index.d.ts.map +0 -1
- package/dest/mutex/index.js +0 -74
- package/dest/mutex/mutex.test.d.ts +0 -9
- package/dest/mutex/mutex.test.d.ts.map +0 -1
- package/dest/mutex/mutex.test.js +0 -58
- package/dest/mutex/mutex_database.d.ts +0 -10
- package/dest/mutex/mutex_database.d.ts.map +0 -1
- package/dest/mutex/mutex_database.js +0 -2
- package/dest/retry/index.d.ts +0 -44
- package/dest/retry/index.d.ts.map +0 -1
- package/dest/retry/index.js +0 -89
- package/dest/running-promise/index.d.ts +0 -35
- package/dest/running-promise/index.d.ts.map +0 -1
- package/dest/running-promise/index.js +0 -59
- package/dest/serialize/buffer_reader.d.ts +0 -188
- package/dest/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/serialize/buffer_reader.js +0 -229
- package/dest/serialize/buffer_reader.test.d.ts +0 -2
- package/dest/serialize/buffer_reader.test.d.ts.map +0 -1
- package/dest/serialize/buffer_reader.test.js +0 -156
- package/dest/serialize/deserializer.d.ts +0 -134
- package/dest/serialize/deserializer.d.ts.map +0 -1
- package/dest/serialize/deserializer.js +0 -145
- package/dest/serialize/free_funcs.d.ts +0 -203
- package/dest/serialize/free_funcs.d.ts.map +0 -1
- package/dest/serialize/free_funcs.js +0 -250
- package/dest/serialize/index.d.ts +0 -6
- package/dest/serialize/index.d.ts.map +0 -1
- package/dest/serialize/index.js +0 -6
- package/dest/serialize/serialize.test.d.ts +0 -2
- package/dest/serialize/serialize.test.d.ts.map +0 -1
- package/dest/serialize/serialize.test.js +0 -68
- package/dest/serialize/serializer.d.ts +0 -89
- package/dest/serialize/serializer.d.ts.map +0 -1
- package/dest/serialize/serializer.js +0 -111
- package/dest/serialize/types.d.ts +0 -33
- package/dest/serialize/types.d.ts.map +0 -1
- package/dest/serialize/types.js +0 -22
- package/dest/sleep/index.d.ts +0 -52
- package/dest/sleep/index.d.ts.map +0 -1
- package/dest/sleep/index.js +0 -70
- package/dest/timer/index.d.ts +0 -3
- package/dest/timer/index.d.ts.map +0 -1
- package/dest/timer/index.js +0 -3
- package/dest/timer/timeout.d.ts +0 -41
- package/dest/timer/timeout.d.ts.map +0 -1
- package/dest/timer/timeout.js +0 -62
- package/dest/timer/timer.d.ts +0 -33
- package/dest/timer/timer.d.ts.map +0 -1
- package/dest/timer/timer.js +0 -38
- package/dest/transport/browser/index.d.ts +0 -5
- package/dest/transport/browser/index.d.ts.map +0 -1
- package/dest/transport/browser/index.js +0 -5
- package/dest/transport/browser/message_port_socket.d.ts +0 -37
- package/dest/transport/browser/message_port_socket.d.ts.map +0 -1
- package/dest/transport/browser/message_port_socket.js +0 -46
- package/dest/transport/browser/shared_worker_connector.d.ts +0 -19
- package/dest/transport/browser/shared_worker_connector.d.ts.map +0 -1
- package/dest/transport/browser/shared_worker_connector.js +0 -21
- package/dest/transport/browser/shared_worker_listener.d.ts +0 -38
- package/dest/transport/browser/shared_worker_listener.d.ts.map +0 -1
- package/dest/transport/browser/shared_worker_listener.js +0 -37
- package/dest/transport/browser/worker_connector.d.ts +0 -26
- package/dest/transport/browser/worker_connector.d.ts.map +0 -1
- package/dest/transport/browser/worker_connector.js +0 -30
- package/dest/transport/browser/worker_listener.d.ts +0 -39
- package/dest/transport/browser/worker_listener.d.ts.map +0 -1
- package/dest/transport/browser/worker_listener.js +0 -39
- package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
- package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
- package/dest/transport/dispatch/create_dispatch_fn.js +0 -18
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts +0 -102
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +0 -1
- package/dest/transport/dispatch/create_dispatch_proxy.js +0 -56
- package/dest/transport/dispatch/messages.d.ts +0 -52
- package/dest/transport/dispatch/messages.d.ts.map +0 -1
- package/dest/transport/dispatch/messages.js +0 -12
- package/dest/transport/index.d.ts +0 -12
- package/dest/transport/index.d.ts.map +0 -1
- package/dest/transport/index.js +0 -12
- package/dest/transport/interface/connector.d.ts +0 -8
- package/dest/transport/interface/connector.d.ts.map +0 -1
- package/dest/transport/interface/connector.js +0 -2
- package/dest/transport/interface/listener.d.ts +0 -13
- package/dest/transport/interface/listener.d.ts.map +0 -1
- package/dest/transport/interface/listener.js +0 -2
- package/dest/transport/interface/socket.d.ts +0 -13
- package/dest/transport/interface/socket.d.ts.map +0 -1
- package/dest/transport/interface/socket.js +0 -2
- package/dest/transport/interface/transferable.d.ts +0 -68
- package/dest/transport/interface/transferable.d.ts.map +0 -1
- package/dest/transport/interface/transferable.js +0 -63
- package/dest/transport/node/index.d.ts +0 -3
- package/dest/transport/node/index.d.ts.map +0 -1
- package/dest/transport/node/index.js +0 -3
- package/dest/transport/node/node_connector.d.ts +0 -28
- package/dest/transport/node/node_connector.d.ts.map +0 -1
- package/dest/transport/node/node_connector.js +0 -28
- package/dest/transport/node/node_connector_socket.d.ts +0 -42
- package/dest/transport/node/node_connector_socket.d.ts.map +0 -1
- package/dest/transport/node/node_connector_socket.js +0 -48
- package/dest/transport/node/node_listener.d.ts +0 -26
- package/dest/transport/node/node_listener.d.ts.map +0 -1
- package/dest/transport/node/node_listener.js +0 -30
- package/dest/transport/node/node_listener_socket.d.ts +0 -37
- package/dest/transport/node/node_listener_socket.d.ts.map +0 -1
- package/dest/transport/node/node_listener_socket.js +0 -44
- package/dest/transport/transport_client.d.ts +0 -61
- package/dest/transport/transport_client.d.ts.map +0 -1
- package/dest/transport/transport_client.js +0 -94
- package/dest/transport/transport_server.d.ts +0 -56
- package/dest/transport/transport_server.d.ts.map +0 -1
- package/dest/transport/transport_server.js +0 -101
- package/dest/types/index.d.ts +0 -7
- package/dest/types/index.d.ts.map +0 -1
- package/dest/types/index.js +0 -2
- package/dest/url/index.d.ts +0 -9
- package/dest/url/index.d.ts.map +0 -1
- package/dest/url/index.js +0 -66
- package/dest/wasm/empty_wasi_sdk.d.ts +0 -130
- package/dest/wasm/empty_wasi_sdk.d.ts.map +0 -1
- package/dest/wasm/empty_wasi_sdk.js +0 -166
- package/dest/wasm/index.d.ts +0 -2
- package/dest/wasm/index.d.ts.map +0 -1
- package/dest/wasm/index.js +0 -2
- package/dest/wasm/wasm_module.d.ts +0 -135
- package/dest/wasm/wasm_module.d.ts.map +0 -1
- package/dest/wasm/wasm_module.js +0 -205
- package/dest/wasm/wasm_module.test.d.ts +0 -2
- package/dest/wasm/wasm_module.test.d.ts.map +0 -1
- package/dest/wasm/wasm_module.test.js +0 -24
- package/dest/worker/browser/index.d.ts +0 -3
- package/dest/worker/browser/index.d.ts.map +0 -1
- package/dest/worker/browser/index.js +0 -3
- package/dest/worker/browser/start_web_module.d.ts +0 -7
- package/dest/worker/browser/start_web_module.d.ts.map +0 -1
- package/dest/worker/browser/start_web_module.js +0 -22
- package/dest/worker/browser/web_data_store.d.ts +0 -23
- package/dest/worker/browser/web_data_store.d.ts.map +0 -1
- package/dest/worker/browser/web_data_store.js +0 -32
- package/dest/worker/browser/web_worker.d.ts +0 -10
- package/dest/worker/browser/web_worker.d.ts.map +0 -1
- package/dest/worker/browser/web_worker.js +0 -23
- package/dest/worker/data_store.d.ts +0 -20
- package/dest/worker/data_store.d.ts.map +0 -1
- package/dest/worker/data_store.js +0 -2
- package/dest/worker/index.d.ts +0 -3
- package/dest/worker/index.d.ts.map +0 -1
- package/dest/worker/index.js +0 -2
- package/dest/worker/node/index.d.ts +0 -3
- package/dest/worker/node/index.d.ts.map +0 -1
- package/dest/worker/node/index.js +0 -3
- package/dest/worker/node/node_data_store.d.ts +0 -12
- package/dest/worker/node/node_data_store.d.ts.map +0 -1
- package/dest/worker/node/node_data_store.js +0 -21
- package/dest/worker/node/node_worker.d.ts +0 -6
- package/dest/worker/node/node_worker.d.ts.map +0 -1
- package/dest/worker/node/node_worker.js +0 -20
- package/dest/worker/node/start_node_module.d.ts +0 -7
- package/dest/worker/node/start_node_module.d.ts.map +0 -1
- package/dest/worker/node/start_node_module.js +0 -26
- package/dest/worker/wasm_worker.d.ts +0 -9
- package/dest/worker/wasm_worker.d.ts.map +0 -1
- package/dest/worker/wasm_worker.js +0 -2
- package/dest/worker/worker_pool.d.ts +0 -40
- package/dest/worker/worker_pool.d.ts.map +0 -1
- package/dest/worker/worker_pool.js +0 -62
package/dest/abi/decoder.d.ts
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { ABIParameter, FunctionAbi } from '@aztec/foundation/abi';
|
|
2
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
3
|
-
/**
|
|
4
|
-
* The type of our decoded ABI.
|
|
5
|
-
*/
|
|
6
|
-
export type DecodedReturn = bigint | boolean | DecodedReturn[] | {
|
|
7
|
-
[key: string]: DecodedReturn;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Decodes return values from a function call.
|
|
11
|
-
* @param abi - The ABI entry of the function.
|
|
12
|
-
* @param returnValues - The decoded return values.
|
|
13
|
-
* @returns
|
|
14
|
-
*/
|
|
15
|
-
export declare function decodeReturnValues(abi: FunctionAbi, returnValues: Fr[]): DecodedReturn;
|
|
16
|
-
/**
|
|
17
|
-
* Decodes the signature of a function from the name and parameters.
|
|
18
|
-
*/
|
|
19
|
-
export declare class FunctionSignatureDecoder {
|
|
20
|
-
private name;
|
|
21
|
-
private parameters;
|
|
22
|
-
private includeNames;
|
|
23
|
-
private separator;
|
|
24
|
-
constructor(name: string, parameters: ABIParameter[], includeNames?: boolean);
|
|
25
|
-
/**
|
|
26
|
-
* Decodes a single function parameter type for the function signature.
|
|
27
|
-
* @param param - The parameter type to decode.
|
|
28
|
-
* @returns A string representing the parameter type.
|
|
29
|
-
*/
|
|
30
|
-
private getParameterType;
|
|
31
|
-
/**
|
|
32
|
-
* Decodes a single function parameter for the function signature.
|
|
33
|
-
* @param param - The parameter to decode.
|
|
34
|
-
* @returns A string representing the parameter type and optionally its name.
|
|
35
|
-
*/
|
|
36
|
-
private decodeParameter;
|
|
37
|
-
/**
|
|
38
|
-
* Decodes all the parameters and build the function signature
|
|
39
|
-
* @returns The function signature.
|
|
40
|
-
*/
|
|
41
|
-
decode(): string;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Decodes a function signature from the name and parameters.
|
|
45
|
-
* @param name - The name of the function.
|
|
46
|
-
* @param parameters - The parameters of the function.
|
|
47
|
-
* @returns - The function signature.
|
|
48
|
-
*/
|
|
49
|
-
export declare function decodeFunctionSignature(name: string, parameters: ABIParameter[]): string;
|
|
50
|
-
/**
|
|
51
|
-
* Decodes a function signature from the name and parameters including parameter names.
|
|
52
|
-
* @param name - The name of the function.
|
|
53
|
-
* @param parameters - The parameters of the function.
|
|
54
|
-
* @returns - The user-friendly function signature.
|
|
55
|
-
*/
|
|
56
|
-
export declare function decodeFunctionSignatureWithParameterNames(name: string, parameters: ABIParameter[]): string;
|
|
57
|
-
//# sourceMappingURL=decoder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/abi/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,CAAC;AAyElG;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE,iBAEtE;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;IAoBxB;;;;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"}
|
package/dest/abi/decoder.js
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Decodes return values from a function call.
|
|
3
|
-
* Missing support for integer and string.
|
|
4
|
-
*/
|
|
5
|
-
class ReturnValuesDecoder {
|
|
6
|
-
constructor(abi, flattened) {
|
|
7
|
-
this.abi = abi;
|
|
8
|
-
this.flattened = flattened;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Decodes a single return value from field to the given type.
|
|
12
|
-
* @param abiType - The type of the return value.
|
|
13
|
-
* @returns The decoded return value.
|
|
14
|
-
*/
|
|
15
|
-
decodeReturn(abiType) {
|
|
16
|
-
switch (abiType.kind) {
|
|
17
|
-
case 'field':
|
|
18
|
-
return this.getNextField().value;
|
|
19
|
-
case 'integer':
|
|
20
|
-
if (abiType.sign === 'signed') {
|
|
21
|
-
throw new Error('Unsupported type: signed integer');
|
|
22
|
-
}
|
|
23
|
-
return this.getNextField().value;
|
|
24
|
-
case 'boolean':
|
|
25
|
-
return !this.getNextField().isZero();
|
|
26
|
-
case 'array': {
|
|
27
|
-
const array = [];
|
|
28
|
-
for (let i = 0; i < abiType.length; i += 1) {
|
|
29
|
-
array.push(this.decodeReturn(abiType.type));
|
|
30
|
-
}
|
|
31
|
-
return array;
|
|
32
|
-
}
|
|
33
|
-
case 'struct': {
|
|
34
|
-
const struct = {};
|
|
35
|
-
for (const field of abiType.fields) {
|
|
36
|
-
struct[field.name] = this.decodeReturn(field.type);
|
|
37
|
-
}
|
|
38
|
-
return struct;
|
|
39
|
-
}
|
|
40
|
-
default:
|
|
41
|
-
throw new Error(`Unsupported type: ${abiType.kind}`);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Gets the next field in the flattened return values.
|
|
46
|
-
* @returns The next field in the flattened return values.
|
|
47
|
-
*/
|
|
48
|
-
getNextField() {
|
|
49
|
-
const field = this.flattened.shift();
|
|
50
|
-
if (!field) {
|
|
51
|
-
throw new Error('Not enough return values');
|
|
52
|
-
}
|
|
53
|
-
return field;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Decodes all the return values for the given function ABI.
|
|
57
|
-
* Noir support only single return value
|
|
58
|
-
* The return value can however be simple types, structs or arrays
|
|
59
|
-
* @returns The decoded return values.
|
|
60
|
-
*/
|
|
61
|
-
decode() {
|
|
62
|
-
if (this.abi.returnTypes.length > 1) {
|
|
63
|
-
throw new Error('Multiple return values not supported');
|
|
64
|
-
}
|
|
65
|
-
if (this.abi.returnTypes.length === 0) {
|
|
66
|
-
return [];
|
|
67
|
-
}
|
|
68
|
-
return this.decodeReturn(this.abi.returnTypes[0]);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Decodes return values from a function call.
|
|
73
|
-
* @param abi - The ABI entry of the function.
|
|
74
|
-
* @param returnValues - The decoded return values.
|
|
75
|
-
* @returns
|
|
76
|
-
*/
|
|
77
|
-
export function decodeReturnValues(abi, returnValues) {
|
|
78
|
-
return new ReturnValuesDecoder(abi, returnValues.slice()).decode();
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Decodes the signature of a function from the name and parameters.
|
|
82
|
-
*/
|
|
83
|
-
export class FunctionSignatureDecoder {
|
|
84
|
-
constructor(name, parameters, includeNames = false) {
|
|
85
|
-
this.name = name;
|
|
86
|
-
this.parameters = parameters;
|
|
87
|
-
this.includeNames = includeNames;
|
|
88
|
-
this.separator = includeNames ? ', ' : ',';
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Decodes a single function parameter type for the function signature.
|
|
92
|
-
* @param param - The parameter type to decode.
|
|
93
|
-
* @returns A string representing the parameter type.
|
|
94
|
-
*/
|
|
95
|
-
getParameterType(param) {
|
|
96
|
-
switch (param.kind) {
|
|
97
|
-
case 'field':
|
|
98
|
-
return 'Field';
|
|
99
|
-
case 'integer':
|
|
100
|
-
if (param.sign === 'signed') {
|
|
101
|
-
throw new Error('Unsupported type: signed integer');
|
|
102
|
-
}
|
|
103
|
-
return `u${param.width}`;
|
|
104
|
-
case 'boolean':
|
|
105
|
-
return 'bool';
|
|
106
|
-
case 'array':
|
|
107
|
-
return `[${this.getParameterType(param.type)};${param.length}]`;
|
|
108
|
-
case 'struct':
|
|
109
|
-
return `(${param.fields.map(field => `${this.decodeParameter(field)}`).join(this.separator)})`;
|
|
110
|
-
default:
|
|
111
|
-
throw new Error(`Unsupported type: ${param.kind}`);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Decodes a single function parameter for the function signature.
|
|
116
|
-
* @param param - The parameter to decode.
|
|
117
|
-
* @returns A string representing the parameter type and optionally its name.
|
|
118
|
-
*/
|
|
119
|
-
decodeParameter(param) {
|
|
120
|
-
const type = this.getParameterType(param.type);
|
|
121
|
-
return this.includeNames ? `${param.name}: ${type}` : type;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Decodes all the parameters and build the function signature
|
|
125
|
-
* @returns The function signature.
|
|
126
|
-
*/
|
|
127
|
-
decode() {
|
|
128
|
-
return `${this.name}(${this.parameters.map(param => this.decodeParameter(param)).join(this.separator)})`;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Decodes a function signature from the name and parameters.
|
|
133
|
-
* @param name - The name of the function.
|
|
134
|
-
* @param parameters - The parameters of the function.
|
|
135
|
-
* @returns - The function signature.
|
|
136
|
-
*/
|
|
137
|
-
export function decodeFunctionSignature(name, parameters) {
|
|
138
|
-
return new FunctionSignatureDecoder(name, parameters).decode();
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Decodes a function signature from the name and parameters including parameter names.
|
|
142
|
-
* @param name - The name of the function.
|
|
143
|
-
* @param parameters - The parameters of the function.
|
|
144
|
-
* @returns - The user-friendly function signature.
|
|
145
|
-
*/
|
|
146
|
-
export function decodeFunctionSignatureWithParameterNames(name, parameters) {
|
|
147
|
-
return new FunctionSignatureDecoder(name, parameters, true).decode();
|
|
148
|
-
}
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hYmkvZGVjb2Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQTs7O0dBR0c7QUFDSCxNQUFNLG1CQUFtQjtJQUN2QixZQUFvQixHQUFnQixFQUFVLFNBQWU7UUFBekMsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQU07SUFBRyxDQUFDO0lBRWpFOzs7O09BSUc7SUFDSyxZQUFZLENBQUMsT0FBZ0I7UUFDbkMsUUFBUSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ3BCLEtBQUssT0FBTztnQkFDVixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDbkMsS0FBSyxTQUFTO2dCQUNaLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7b0JBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztpQkFDckQ7Z0JBQ0QsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ25DLEtBQUssU0FBUztnQkFDWixPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3ZDLEtBQUssT0FBTyxDQUFDLENBQUM7Z0JBQ1osTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNqQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7aUJBQzdDO2dCQUNELE9BQU8sS0FBSyxDQUFDO2FBQ2Q7WUFDRCxLQUFLLFFBQVEsQ0FBQyxDQUFDO2dCQUNiLE1BQU0sTUFBTSxHQUFxQyxFQUFFLENBQUM7Z0JBQ3BE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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.test.d.ts","sourceRoot":"","sources":["../../src/abi/decoder.test.ts"],"names":[],"mappings":""}
|
package/dest/abi/decoder.test.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { decodeFunctionSignature, decodeFunctionSignatureWithParameterNames } from './decoder.js';
|
|
2
|
-
describe('abi/decoder', () => {
|
|
3
|
-
// Copied from yarn-project/noir-contracts/src/contracts/test_contract/target/Test.json
|
|
4
|
-
const abi = {
|
|
5
|
-
name: 'testCodeGen',
|
|
6
|
-
parameters: [
|
|
7
|
-
{ name: 'aField', type: { kind: 'field' }, visibility: 'private' },
|
|
8
|
-
{ name: 'aBool', type: { kind: 'boolean' }, visibility: 'private' },
|
|
9
|
-
{ name: 'aNumber', type: { kind: 'integer', sign: 'unsigned', width: 32 }, visibility: 'private' },
|
|
10
|
-
{ name: 'anArray', type: { kind: 'array', length: 2, type: { kind: 'field' } }, visibility: 'private' },
|
|
11
|
-
{
|
|
12
|
-
name: 'aStruct',
|
|
13
|
-
type: {
|
|
14
|
-
kind: 'struct',
|
|
15
|
-
path: 'Test::DummyNote',
|
|
16
|
-
fields: [
|
|
17
|
-
{ name: 'amount', type: { kind: 'field' } },
|
|
18
|
-
{ name: 'secretHash', type: { kind: 'field' } },
|
|
19
|
-
],
|
|
20
|
-
},
|
|
21
|
-
visibility: 'private',
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
name: 'aDeepStruct',
|
|
25
|
-
type: {
|
|
26
|
-
kind: 'struct',
|
|
27
|
-
path: 'Test::DeepStruct',
|
|
28
|
-
fields: [
|
|
29
|
-
{ name: 'aField', type: { kind: 'field' } },
|
|
30
|
-
{ name: 'aBool', type: { kind: 'boolean' } },
|
|
31
|
-
{
|
|
32
|
-
name: 'aNote',
|
|
33
|
-
type: {
|
|
34
|
-
kind: 'struct',
|
|
35
|
-
path: 'Test::DummyNote',
|
|
36
|
-
fields: [
|
|
37
|
-
{ name: 'amount', type: { kind: 'field' } },
|
|
38
|
-
{ name: 'secretHash', type: { kind: 'field' } },
|
|
39
|
-
],
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
name: 'manyNotes',
|
|
44
|
-
type: {
|
|
45
|
-
kind: 'array',
|
|
46
|
-
length: 3,
|
|
47
|
-
type: {
|
|
48
|
-
kind: 'struct',
|
|
49
|
-
path: 'Test::DummyNote',
|
|
50
|
-
fields: [
|
|
51
|
-
{ name: 'amount', type: { kind: 'field' } },
|
|
52
|
-
{ name: 'secretHash', type: { kind: 'field' } },
|
|
53
|
-
],
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
],
|
|
58
|
-
},
|
|
59
|
-
visibility: 'private',
|
|
60
|
-
},
|
|
61
|
-
],
|
|
62
|
-
};
|
|
63
|
-
it('decodes function signature', () => {
|
|
64
|
-
expect(decodeFunctionSignature(abi.name, abi.parameters)).toMatchInlineSnapshot(`"testCodeGen(Field,bool,u32,[Field;2],(Field,Field),(Field,bool,(Field,Field),[(Field,Field);3]))"`);
|
|
65
|
-
});
|
|
66
|
-
it('decodes function signature with parameter names', () => {
|
|
67
|
-
expect(decodeFunctionSignatureWithParameterNames(abi.name, abi.parameters)).toMatchInlineSnapshot(`"testCodeGen(aField: Field, aBool: bool, aNumber: u32, anArray: [Field;2], aStruct: (amount: Field, secretHash: Field), aDeepStruct: (aField: Field, aBool: bool, aNote: (amount: Field, secretHash: Field), manyNotes: [(amount: Field, secretHash: Field);3]))"`);
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9kZWNvZGVyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHlDQUF5QyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWxHLFFBQVEsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO0lBQzNCLHVGQUF1RjtJQUN2RixNQUFNLEdBQUcsR0FBRztRQUNWLElBQUksRUFBRSxhQUFhO1FBQ25CLFVBQVUsRUFBRTtZQUNWLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRTtZQUNsRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUU7WUFDbkUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRTtZQUNsRyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUU7WUFDdkc7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFO29CQUNKLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLE1BQU0sRUFBRTt3QkFDTixFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFO3dCQUMzQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFO3FCQUNoRDtpQkFDRjtnQkFDRCxVQUFVLEVBQUUsU0FBUzthQUN0QjtZQUNEO2dCQUNFLElBQUksRUFBRSxhQUFhO2dCQUNuQixJQUFJLEVBQUU7b0JBQ0osSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLGtCQUFrQjtvQkFDeEIsTUFBTSxFQUFFO3dCQUNOLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7d0JBQzNDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUU7d0JBQzVDOzRCQUNFLElBQUksRUFBRSxPQUFPOzRCQUNiLElBQUksRUFBRTtnQ0FDSixJQUFJLEVBQUUsUUFBUTtnQ0FDZCxJQUFJLEVBQUUsaUJBQWlCO2dDQUN2QixNQUFNLEVBQUU7b0NBQ04sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtvQ0FDM0MsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtpQ0FDaEQ7NkJBQ0Y7eUJBQ0Y7d0JBQ0Q7NEJBQ0UsSUFBSSxFQUFFLFdBQVc7NEJBQ2pCLElBQUksRUFBRTtnQ0FDSixJQUFJLEVBQUUsT0FBTztnQ0FDYixNQUFNLEVBQUUsQ0FBQztnQ0FDVCxJQUFJLEVBQUU7b0NBQ0osSUFBSSxFQUFFLFFBQVE7b0NBQ2QsSUFBSSxFQUFFLGlCQUFpQjtvQ0FDdkIsTUFBTSxFQUFFO3dDQUNOLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7d0NBQzNDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7cUNBQ2hEO2lDQUNGOzZCQUNGO3lCQUNGO3FCQUNGO2lCQUNGO2dCQUNELFVBQVUsRUFBRSxTQUFTO2FBQ3RCO1NBQ0Y7S0FDcUQsQ0FBQztJQUV6RCxFQUFFLENBQUMsNEJBQTRCLEVBQUUsR0FBRyxFQUFFO1FBQ3BDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUM3RSxvR0FBb0csQ0FDckcsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGlEQUFpRCxFQUFFLEdBQUcsRUFBRTtRQUN6RCxNQUFNLENBQUMseUNBQXlDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FDL0YsbVFBQW1RLENBQ3BRLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=
|
package/dest/abi/encoder.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { FunctionAbi } from '@aztec/foundation/abi';
|
|
2
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
3
|
-
/**
|
|
4
|
-
* Encodes all the arguments for a function call.
|
|
5
|
-
* @param abi - The function ABI entry.
|
|
6
|
-
* @param args - The arguments to encode.
|
|
7
|
-
* @returns The encoded arguments.
|
|
8
|
-
*/
|
|
9
|
-
export declare function encodeArguments(abi: FunctionAbi, args: any[]): Fr[];
|
|
10
|
-
//# sourceMappingURL=encoder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/abi/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AA2E9C;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,QAE5D"}
|
package/dest/abi/encoder.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
2
|
-
/**
|
|
3
|
-
* Encodes arguments for a function call.
|
|
4
|
-
* Missing support for integer and string.
|
|
5
|
-
*/
|
|
6
|
-
class ArgumentEncoder {
|
|
7
|
-
constructor(abi, args) {
|
|
8
|
-
this.abi = abi;
|
|
9
|
-
this.args = args;
|
|
10
|
-
this.flattened = [];
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Encodes a single argument from the given type to field.
|
|
14
|
-
* @param abiType - The abi type of the argument.
|
|
15
|
-
* @param arg - The value to encode.
|
|
16
|
-
* @param name - Name.
|
|
17
|
-
*/
|
|
18
|
-
encodeArgument(abiType, arg, name) {
|
|
19
|
-
if (arg === undefined || arg == null) {
|
|
20
|
-
throw new Error(`Undefined argument ${name ?? 'unnamed'} of type ${abiType.kind}`);
|
|
21
|
-
}
|
|
22
|
-
switch (abiType.kind) {
|
|
23
|
-
case 'field':
|
|
24
|
-
if (typeof arg === 'number') {
|
|
25
|
-
this.flattened.push(new Fr(BigInt(arg)));
|
|
26
|
-
}
|
|
27
|
-
else if (typeof arg === 'bigint') {
|
|
28
|
-
this.flattened.push(new Fr(arg));
|
|
29
|
-
}
|
|
30
|
-
else if (typeof arg === 'object') {
|
|
31
|
-
if (Buffer.isBuffer(arg)) {
|
|
32
|
-
this.flattened.push(Fr.fromBuffer(arg));
|
|
33
|
-
}
|
|
34
|
-
else if (typeof arg.toField === 'function') {
|
|
35
|
-
this.flattened.push(arg.toField());
|
|
36
|
-
}
|
|
37
|
-
else if (arg instanceof Fr) {
|
|
38
|
-
this.flattened.push(arg);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
throw new Error(`Argument for ${name} cannot be serialised to a field`);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
throw new Error(`Invalid argument "${arg}" of type ${abiType.kind}`);
|
|
46
|
-
}
|
|
47
|
-
break;
|
|
48
|
-
case 'boolean':
|
|
49
|
-
this.flattened.push(new Fr(arg ? 1n : 0n));
|
|
50
|
-
break;
|
|
51
|
-
case 'array':
|
|
52
|
-
for (let i = 0; i < abiType.length; i += 1) {
|
|
53
|
-
this.encodeArgument(abiType.type, arg[i], `${name}[${i}]`);
|
|
54
|
-
}
|
|
55
|
-
break;
|
|
56
|
-
case 'struct':
|
|
57
|
-
for (const field of abiType.fields) {
|
|
58
|
-
this.encodeArgument(field.type, arg[field.name], `${name}.${field.name}`);
|
|
59
|
-
}
|
|
60
|
-
break;
|
|
61
|
-
case 'integer':
|
|
62
|
-
this.flattened.push(new Fr(arg));
|
|
63
|
-
break;
|
|
64
|
-
default:
|
|
65
|
-
throw new Error(`Unsupported type: ${abiType.kind}`);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Encodes all the arguments for the given function ABI.
|
|
70
|
-
* @returns The encoded arguments.
|
|
71
|
-
*/
|
|
72
|
-
encode() {
|
|
73
|
-
for (let i = 0; i < this.abi.parameters.length; i += 1) {
|
|
74
|
-
const parameterAbi = this.abi.parameters[i];
|
|
75
|
-
this.encodeArgument(parameterAbi.type, this.args[i], parameterAbi.name);
|
|
76
|
-
}
|
|
77
|
-
return this.flattened;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Encodes all the arguments for a function call.
|
|
82
|
-
* @param abi - The function ABI entry.
|
|
83
|
-
* @param args - The arguments to encode.
|
|
84
|
-
* @returns The encoded arguments.
|
|
85
|
-
*/
|
|
86
|
-
export function encodeArguments(abi, args) {
|
|
87
|
-
return new ArgumentEncoder(abi, args).encode();
|
|
88
|
-
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hYmkvZW5jb2Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUM7OztHQUdHO0FBQ0gsTUFBTSxlQUFlO0lBR25CLFlBQW9CLEdBQWdCLEVBQVUsSUFBVztRQUFyQyxRQUFHLEdBQUgsR0FBRyxDQUFhO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBTztRQUZqRCxjQUFTLEdBQVMsRUFBRSxDQUFDO0lBRStCLENBQUM7SUFFN0Q7Ozs7O09BS0c7SUFDSyxjQUFjLENBQUMsT0FBZ0IsRUFBRSxHQUFRLEVBQUUsSUFBYTtRQUM5RCxJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxJQUFJLElBQUksRUFBRTtZQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixJQUFJLElBQUksU0FBUyxZQUFZLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3BGO1FBQ0QsUUFBUSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ3BCLEtBQUssT0FBTztnQkFDVixJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtvQkFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDMUM7cUJBQU0sSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7b0JBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ2xDO3FCQUFNLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO29CQUNsQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7d0JBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxD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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.test.d.ts","sourceRoot":"","sources":["../../src/abi/encoder.test.ts"],"names":[],"mappings":""}
|
package/dest/abi/encoder.test.js
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { ABIParameterVisibility, FunctionType } from './abi.js';
|
|
2
|
-
import { encodeArguments } from './encoder.js';
|
|
3
|
-
describe('abi/encoder', () => {
|
|
4
|
-
it('throws when passing string argument as field', () => {
|
|
5
|
-
const testFunctionAbi = {
|
|
6
|
-
name: 'constructor',
|
|
7
|
-
functionType: FunctionType.SECRET,
|
|
8
|
-
isInternal: false,
|
|
9
|
-
parameters: [
|
|
10
|
-
{
|
|
11
|
-
name: 'owner',
|
|
12
|
-
type: {
|
|
13
|
-
kind: 'field',
|
|
14
|
-
},
|
|
15
|
-
visibility: ABIParameterVisibility.SECRET,
|
|
16
|
-
},
|
|
17
|
-
],
|
|
18
|
-
returnTypes: [],
|
|
19
|
-
bytecode: '',
|
|
20
|
-
verificationKey: '',
|
|
21
|
-
};
|
|
22
|
-
const args = ['garbage'];
|
|
23
|
-
expect(() => encodeArguments(testFunctionAbi, args)).toThrowError('Invalid argument "garbage" of type field');
|
|
24
|
-
});
|
|
25
|
-
it('throws when passing string argument as integer', () => {
|
|
26
|
-
const testFunctionAbi = {
|
|
27
|
-
name: 'constructor',
|
|
28
|
-
functionType: FunctionType.SECRET,
|
|
29
|
-
isInternal: false,
|
|
30
|
-
parameters: [
|
|
31
|
-
{
|
|
32
|
-
name: 'isOwner',
|
|
33
|
-
type: {
|
|
34
|
-
sign: 'value',
|
|
35
|
-
width: 5,
|
|
36
|
-
kind: 'integer',
|
|
37
|
-
},
|
|
38
|
-
visibility: ABIParameterVisibility.SECRET,
|
|
39
|
-
},
|
|
40
|
-
],
|
|
41
|
-
returnTypes: [],
|
|
42
|
-
bytecode: '',
|
|
43
|
-
verificationKey: '',
|
|
44
|
-
};
|
|
45
|
-
const args = ['garbage'];
|
|
46
|
-
expect(() => encodeArguments(testFunctionAbi, args)).toThrowError('Cannot convert garbage to a BigInt');
|
|
47
|
-
});
|
|
48
|
-
it('throws when passing object argument as field', () => {
|
|
49
|
-
const testFunctionAbi = {
|
|
50
|
-
name: 'constructor',
|
|
51
|
-
functionType: FunctionType.SECRET,
|
|
52
|
-
isInternal: false,
|
|
53
|
-
parameters: [
|
|
54
|
-
{
|
|
55
|
-
name: 'owner',
|
|
56
|
-
type: {
|
|
57
|
-
kind: 'field',
|
|
58
|
-
},
|
|
59
|
-
visibility: ABIParameterVisibility.SECRET,
|
|
60
|
-
},
|
|
61
|
-
],
|
|
62
|
-
returnTypes: [],
|
|
63
|
-
bytecode: '',
|
|
64
|
-
verificationKey: '',
|
|
65
|
-
};
|
|
66
|
-
const args = [
|
|
67
|
-
{
|
|
68
|
-
value: 'garbage',
|
|
69
|
-
},
|
|
70
|
-
];
|
|
71
|
-
expect(() => encodeArguments(testFunctionAbi, args)).toThrowError('Argument for owner cannot be serialised to a field');
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9lbmNvZGVyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFlLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLFFBQVEsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO0lBQzNCLEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxHQUFHLEVBQUU7UUFDdEQsTUFBTSxlQUFlLEdBQWdCO1lBQ25DLElBQUksRUFBRSxhQUFhO1lBQ25CLFlBQVksRUFBRSxZQUFZLENBQUMsTUFBTTtZQUNqQyxVQUFVLEVBQUUsS0FBSztZQUNqQixVQUFVLEVBQUU7Z0JBQ1Y7b0JBQ0UsSUFBSSxFQUFFLE9BQU87b0JBQ2IsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxPQUFPO3FCQUNkO29CQUNELFVBQVUsRUFBRSxzQkFBc0IsQ0FBQyxNQUFNO2lCQUMxQzthQUNGO1lBQ0QsV0FBVyxFQUFFLEVBQUU7WUFDZixRQUFRLEVBQUUsRUFBRTtZQUNaLGVBQWUsRUFBRSxFQUFFO1NBQ3BCLENBQUM7UUFDRixNQUFNLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXpCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFDaEgsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsZ0RBQWdELEVBQUUsR0FBRyxFQUFFO1FBQ3hELE1BQU0sZUFBZSxHQUFnQjtZQUNuQyxJQUFJLEVBQUUsYUFBYTtZQUNuQixZQUFZLEVBQUUsWUFBWSxDQUFDLE1BQU07WUFDakMsVUFBVSxFQUFFLEtBQUs7WUFDakIsVUFBVSxFQUFFO2dCQUNWO29CQUNFLElBQUksRUFBRSxTQUFTO29CQUNmLElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUUsT0FBTzt3QkFDYixLQUFLLEVBQUUsQ0FBQzt3QkFDUixJQUFJLEVBQUUsU0FBUztxQkFDaEI7b0JBQ0QsVUFBVSxFQUFFLHNCQUFzQixDQUFDLE1BQU07aUJBQzFDO2FBQ0Y7WUFDRCxXQUFXLEVBQUUsRUFBRTtZQUNmLFFBQVEsRUFBRSxFQUFFO1lBQ1osZUFBZSxFQUFFLEVBQUU7U0FDcEIsQ0FBQztRQUNGLE1BQU0sSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsb0NBQW9DLENBQUMsQ0FBQztJQUMxRyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxHQUFHLEVBQUU7UUFDdEQsTUFBTSxlQUFlLEdBQWdCO1lBQ25DLElBQUksRUFBRSxhQUFhO1lBQ25CLFlBQVksRUFBRSxZQUFZLENBQUMsTUFBTTtZQUNqQyxVQUFVLEVBQUUsS0FBSztZQUNqQixVQUFVLEVBQUU7Z0JBQ1Y7b0JBQ0UsSUFBSSxFQUFFLE9BQU87b0JBQ2IsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxPQUFPO3FCQUNkO29CQUNELFVBQVUsRUFBRSxzQkFBc0IsQ0FBQyxNQUFNO2lCQUMxQzthQUNGO1lBQ0QsV0FBVyxFQUFFLEVBQUU7WUFDZixRQUFRLEVBQUUsRUFBRTtZQUNaLGVBQWUsRUFBRSxFQUFFO1NBQ3BCLENBQUM7UUFDRixNQUFNLElBQUksR0FBRztZQUNYO2dCQUNFLEtBQUssRUFBRSxTQUFTO2FBQ2pCO1NBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUMvRCxvREFBb0QsQ0FDckQsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMifQ==
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { ABIParameter } from '@aztec/foundation/abi';
|
|
3
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
-
import { BufferReader } from '@aztec/foundation/serialize';
|
|
5
|
-
/**
|
|
6
|
-
* A function selector is the first 4 bytes of the hash of a function signature.
|
|
7
|
-
*/
|
|
8
|
-
export declare class FunctionSelector {
|
|
9
|
-
value: number;
|
|
10
|
-
/**
|
|
11
|
-
* The size of the function selector in bytes.
|
|
12
|
-
*/
|
|
13
|
-
static SIZE: number;
|
|
14
|
-
constructor(/** number representing the function selector */ value: number);
|
|
15
|
-
/**
|
|
16
|
-
* Checks if the function selector is empty (all bytes are 0).
|
|
17
|
-
* @returns True if the function selector is empty (all bytes are 0).
|
|
18
|
-
*/
|
|
19
|
-
isEmpty(): boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Serialize as a buffer.
|
|
22
|
-
* @returns The buffer.
|
|
23
|
-
*/
|
|
24
|
-
toBuffer(): Buffer;
|
|
25
|
-
/**
|
|
26
|
-
* Serialize as a hex string.
|
|
27
|
-
* @returns The string.
|
|
28
|
-
*/
|
|
29
|
-
toString(): string;
|
|
30
|
-
/**
|
|
31
|
-
* Checks if this function selector is equal to another.
|
|
32
|
-
* @param other - The other function selector.
|
|
33
|
-
* @returns True if the function selectors are equal.
|
|
34
|
-
*/
|
|
35
|
-
equals(other: FunctionSelector): boolean;
|
|
36
|
-
/**
|
|
37
|
-
* Deserializes from a buffer or reader, corresponding to a write in cpp.
|
|
38
|
-
* @param buffer - Buffer or BufferReader to read from.
|
|
39
|
-
* @returns The FunctionSelector.
|
|
40
|
-
*/
|
|
41
|
-
static fromBuffer(buffer: Buffer | BufferReader): FunctionSelector;
|
|
42
|
-
/**
|
|
43
|
-
* Returns a new field with the same contents as this EthAddress.
|
|
44
|
-
*
|
|
45
|
-
* @returns An Fr instance.
|
|
46
|
-
*/
|
|
47
|
-
toField(): Fr;
|
|
48
|
-
/**
|
|
49
|
-
* Converts a field to function selector.
|
|
50
|
-
* @param fr - The field to convert.
|
|
51
|
-
* @returns The function selector.
|
|
52
|
-
*/
|
|
53
|
-
static fromField(fr: Fr): FunctionSelector;
|
|
54
|
-
/**
|
|
55
|
-
* Creates a function selector from a signature.
|
|
56
|
-
* @param signature - Signature of the function to generate the selector for (e.g. "transfer(field,field)").
|
|
57
|
-
* @returns Function selector.
|
|
58
|
-
*/
|
|
59
|
-
static fromSignature(signature: string): FunctionSelector;
|
|
60
|
-
/**
|
|
61
|
-
* Creates a function selector for a given function name and parameters.
|
|
62
|
-
* @param name - The name of the function.
|
|
63
|
-
* @param parameters - An array of ABIParameter objects, each containing the type information of a function parameter.
|
|
64
|
-
* @returns A Buffer containing the 4-byte function selector.
|
|
65
|
-
*/
|
|
66
|
-
static fromNameAndParameters(name: string, parameters: ABIParameter[]): FunctionSelector;
|
|
67
|
-
/**
|
|
68
|
-
* Creates an empty function selector.
|
|
69
|
-
* @returns An empty function selector.
|
|
70
|
-
*/
|
|
71
|
-
static empty(): FunctionSelector;
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=function_selector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;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;;;OAGG;IACH,MAAM,CAAC,KAAK,IAAI,gBAAgB;CAGjC"}
|