@aztec/foundation 0.16.3 → 0.16.5
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/function_selector.js +2 -2
- package/dest/aztec-address/index.js +2 -2
- package/dest/json-rpc/server/index.d.ts +1 -1
- package/dest/json-rpc/server/index.d.ts.map +1 -1
- package/dest/json-rpc/server/index.js +2 -2
- package/dest/json-rpc/server/json_rpc_server.d.ts +7 -0
- package/dest/json-rpc/server/json_rpc_server.d.ts.map +1 -1
- package/dest/json-rpc/server/json_rpc_server.js +13 -1
- package/package.json +2 -2
- package/src/abi/abi.ts +0 -310
- package/src/abi/abi_coder.ts +0 -25
- package/src/abi/decoder.ts +0 -161
- package/src/abi/encoder.ts +0 -120
- package/src/abi/function_selector.ts +0 -135
- package/src/abi/index.ts +0 -6
- package/src/abi/utils.ts +0 -28
- package/src/async-map/index.ts +0 -18
- package/src/aztec-address/index.ts +0 -30
- package/src/bigint-buffer/index.ts +0 -74
- package/src/collection/array.ts +0 -54
- package/src/collection/index.ts +0 -1
- package/src/committable/committable.ts +0 -46
- package/src/committable/index.ts +0 -1
- package/src/crypto/index.ts +0 -16
- package/src/crypto/keccak/index.ts +0 -33
- package/src/crypto/pedersen/index.ts +0 -1
- package/src/crypto/pedersen/pedersen.elliptic.ts +0 -584
- package/src/crypto/pedersen/pedersen.noble.ts +0 -573
- package/src/crypto/pedersen/pedersen.wasm.ts +0 -42
- package/src/crypto/random/index.ts +0 -42
- package/src/crypto/sha256/index.ts +0 -3
- package/src/errors/index.ts +0 -6
- package/src/eth-address/index.ts +0 -244
- package/src/fields/coordinate.ts +0 -104
- package/src/fields/fields.ts +0 -261
- package/src/fields/index.ts +0 -3
- package/src/fields/point.ts +0 -140
- package/src/fifo/bounded_serial_queue.ts +0 -100
- package/src/fifo/index.ts +0 -4
- package/src/fifo/memory_fifo.ts +0 -114
- package/src/fifo/semaphore.ts +0 -33
- package/src/fifo/serial_queue.ts +0 -78
- package/src/index.ts +0 -29
- package/src/json-rpc/README.md +0 -55
- package/src/json-rpc/class_converter.ts +0 -209
- package/src/json-rpc/client/index.ts +0 -1
- package/src/json-rpc/client/json_rpc_client.ts +0 -136
- package/src/json-rpc/convert.ts +0 -163
- package/src/json-rpc/fixtures/class_a.ts +0 -15
- package/src/json-rpc/fixtures/class_b.ts +0 -15
- package/src/json-rpc/fixtures/test_state.ts +0 -59
- package/src/json-rpc/index.ts +0 -8
- package/src/json-rpc/js_utils.ts +0 -20
- package/src/json-rpc/server/index.ts +0 -2
- package/src/json-rpc/server/json_proxy.ts +0 -43
- package/src/json-rpc/server/json_rpc_server.ts +0 -190
- package/src/log/console.ts +0 -39
- package/src/log/debug.ts +0 -83
- package/src/log/index.ts +0 -5
- package/src/log/log_fn.ts +0 -5
- package/src/log/log_history.ts +0 -44
- package/src/log/logger.ts +0 -137
- package/src/mutex/index.ts +0 -83
- package/src/mutex/mutex_database.ts +0 -12
- package/src/noir/index.ts +0 -1
- package/src/noir/noir_package_config.ts +0 -54
- package/src/retry/index.ts +0 -99
- package/src/running-promise/index.ts +0 -60
- package/src/serialize/buffer_reader.ts +0 -250
- package/src/serialize/free_funcs.ts +0 -279
- package/src/serialize/index.ts +0 -3
- package/src/serialize/types.ts +0 -40
- package/src/sleep/index.ts +0 -71
- package/src/testing/index.ts +0 -1
- package/src/testing/test_data.ts +0 -36
- package/src/timer/elapsed.ts +0 -23
- package/src/timer/index.ts +0 -3
- package/src/timer/timeout.ts +0 -64
- package/src/timer/timer.ts +0 -48
- package/src/transport/browser/index.ts +0 -4
- package/src/transport/browser/message_port_socket.ts +0 -48
- package/src/transport/browser/shared_worker_connector.ts +0 -21
- package/src/transport/browser/shared_worker_listener.ts +0 -53
- package/src/transport/browser/worker_connector.ts +0 -30
- package/src/transport/browser/worker_listener.ts +0 -54
- package/src/transport/dispatch/create_dispatch_fn.ts +0 -35
- package/src/transport/dispatch/create_dispatch_proxy.ts +0 -141
- package/src/transport/dispatch/messages.ts +0 -58
- package/src/transport/index.ts +0 -11
- package/src/transport/interface/connector.ts +0 -9
- package/src/transport/interface/listener.ts +0 -16
- package/src/transport/interface/socket.ts +0 -15
- package/src/transport/interface/transferable.ts +0 -125
- package/src/transport/node/index.ts +0 -2
- package/src/transport/node/node_connector.ts +0 -30
- package/src/transport/node/node_connector_socket.ts +0 -52
- package/src/transport/node/node_listener.ts +0 -34
- package/src/transport/node/node_listener_socket.ts +0 -48
- package/src/transport/transport_client.ts +0 -131
- package/src/transport/transport_server.ts +0 -108
- package/src/trees/index.ts +0 -48
- package/src/types/index.ts +0 -7
- package/src/url/index.ts +0 -73
- package/src/wasm/README.md +0 -6
- package/src/wasm/empty_wasi_sdk.ts +0 -166
- package/src/wasm/fixtures/gcd.wasm +0 -0
- package/src/wasm/fixtures/gcd.wat +0 -27
- package/src/wasm/index.ts +0 -1
- package/src/wasm/wasm_module.ts +0 -260
- package/src/worker/browser/index.ts +0 -2
- package/src/worker/browser/start_web_module.ts +0 -23
- package/src/worker/browser/web_data_store.ts +0 -38
- package/src/worker/browser/web_worker.ts +0 -24
- package/src/worker/data_store.ts +0 -19
- package/src/worker/index.ts +0 -2
- package/src/worker/node/index.ts +0 -2
- package/src/worker/node/node_data_store.ts +0 -27
- package/src/worker/node/node_worker.ts +0 -22
- package/src/worker/node/start_node_module.ts +0 -29
- package/src/worker/wasm_worker.ts +0 -7
- package/src/worker/worker_pool.ts +0 -73
|
@@ -105,7 +105,7 @@ export class FunctionSelector {
|
|
|
105
105
|
static fromString(selector) {
|
|
106
106
|
const buf = Buffer.from(selector.replace(/^0x/i, ''), 'hex');
|
|
107
107
|
if (buf.length !== FunctionSelector.SIZE) {
|
|
108
|
-
throw new Error(`Invalid length ${buf.length}.`);
|
|
108
|
+
throw new Error(`Invalid FunctionSelector length ${buf.length}.`);
|
|
109
109
|
}
|
|
110
110
|
return FunctionSelector.fromBuffer(buf);
|
|
111
111
|
}
|
|
@@ -121,4 +121,4 @@ export class FunctionSelector {
|
|
|
121
121
|
* The size of the function selector in bytes.
|
|
122
122
|
*/
|
|
123
123
|
FunctionSelector.SIZE = 4;
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25fc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2Z1bmN0aW9uX3NlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTNEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQU0zQixZQUFZLGdEQUFnRCxDQUFRLEtBQWE7UUFBYixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQy9FLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDaEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsZ0JBQWdCLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQztTQUNsRjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsSUFBSTtRQUN6QyxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFD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
|
|
@@ -9,7 +9,7 @@ import { Fr } from '../fields/index.js';
|
|
|
9
9
|
export class AztecAddress extends Fr {
|
|
10
10
|
constructor(buffer) {
|
|
11
11
|
if (buffer.length !== 32) {
|
|
12
|
-
throw new Error(`Invalid length ${buffer.length}.`);
|
|
12
|
+
throw new Error(`Invalid AztecAddress length ${buffer.length}.`);
|
|
13
13
|
}
|
|
14
14
|
super(buffer);
|
|
15
15
|
}
|
|
@@ -24,4 +24,4 @@ export class AztecAddress extends Fr {
|
|
|
24
24
|
return new AztecAddress(buffer);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp0ZWMtYWRkcmVzcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEM7Ozs7OztHQU1HO0FBQ0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxFQUFFO0lBQ2xDLFlBQVksTUFBYztRQUN4QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQ2xFO1FBQ0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQU07UUFDckIsT0FBTyxJQUFJLFlBQVksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFhO1FBQzdCLE9BQU8sWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQVc7UUFDM0IsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { JsonRpcServer } from './json_rpc_server.js';
|
|
1
|
+
export { JsonRpcServer, createStatusRouter } from './json_rpc_server.js';
|
|
2
2
|
export { JsonProxy } from './json_proxy.js';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvanNvbi1ycGMvc2VydmVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUMifQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import Koa from 'koa';
|
|
2
|
+
import Router from 'koa-router';
|
|
2
3
|
import { JsonClassConverterInput, StringClassConverterInput } from '../class_converter.js';
|
|
3
4
|
import { JsonProxy } from './json_proxy.js';
|
|
4
5
|
/**
|
|
@@ -31,4 +32,10 @@ export declare class JsonRpcServer {
|
|
|
31
32
|
*/
|
|
32
33
|
start(port: number, prefix?: string): void;
|
|
33
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Creates a router for handling a plain status request that will return 200 status when running.
|
|
37
|
+
* @param apiPrefix - The prefix to use for all api requests
|
|
38
|
+
* @returns - The router for handling status requests.
|
|
39
|
+
*/
|
|
40
|
+
export declare function createStatusRouter(apiPrefix?: string): Router<any, {}>;
|
|
34
41
|
//# sourceMappingURL=json_rpc_server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json_rpc_server.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/server/json_rpc_server.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"json_rpc_server.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/server/json_rpc_server.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,KAAK,CAAC;AAGtB,OAAO,MAAM,MAAM,YAAY,CAAC;AAGhC,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAE3F,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;GAGG;AACH,qBAAa,aAAa;IAGtB,OAAO,CAAC,OAAO;IAGf,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,GAAG;IAPb,KAAK,EAAE,SAAS,CAAC;gBAEP,OAAO,EAAE,MAAM,EACvB,cAAc,EAAE,yBAAyB,EACzC,cAAc,EAAE,uBAAuB,EAC/B,SAAS,EAAE,OAAO,EAClB,iBAAiB,GAAE,MAAM,EAAO,EAChC,GAAG,4CAAwD;IAKrE;;;;OAIG;IACI,MAAM,CAAC,MAAM,SAAK;IAkDzB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IA2FjB;;;;OAIG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,SAAK;CAIvC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,SAAK,mBAMhD"}
|
|
@@ -175,4 +175,16 @@ export class JsonRpcServer {
|
|
|
175
175
|
httpServer.listen(port);
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
|
-
|
|
178
|
+
/**
|
|
179
|
+
* Creates a router for handling a plain status request that will return 200 status when running.
|
|
180
|
+
* @param apiPrefix - The prefix to use for all api requests
|
|
181
|
+
* @returns - The router for handling status requests.
|
|
182
|
+
*/
|
|
183
|
+
export function createStatusRouter(apiPrefix = '') {
|
|
184
|
+
const router = new Router({ prefix: `${apiPrefix}` });
|
|
185
|
+
router.get('/status', (ctx) => {
|
|
186
|
+
ctx.status = 200;
|
|
187
|
+
});
|
|
188
|
+
return router;
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbl9ycGNfc2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2pzb24tcnBjL3NlcnZlci9qc29uX3JwY19zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxVQUFVLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxRQUFRLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sTUFBTSxNQUFNLFlBQVksQ0FBQztBQUVoQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDOzs7R0FHRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBRXhCLFlBQ1UsT0FBZSxFQUN2QixjQUF5QyxFQUN6QyxjQUF1QyxFQUMvQixTQUFrQixFQUNsQixvQkFBOEIsRUFBRSxFQUNoQyxNQUFNLGlCQUFpQixDQUFDLGtDQUFrQyxDQUFDO1FBTDNELFlBQU8sR0FBUCxPQUFPLENBQVE7UUFHZixjQUFTLEdBQVQsU0FBUyxDQUFTO1FBQ2xCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBZTtRQUNoQyxRQUFHLEdBQUgsR0FBRyxDQUF3RDtRQUVuRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsTUFBTSxHQUFHLEVBQUU7UUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxN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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/foundation",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.5",
|
|
4
4
|
"packageManager": "yarn@3.4.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dest/index.js",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"rootDir": "./src"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@aztec/bb.js": "0.16.
|
|
62
|
+
"@aztec/bb.js": "0.16.5",
|
|
63
63
|
"@koa/cors": "^4.0.0",
|
|
64
64
|
"@noble/curves": "^1.2.0",
|
|
65
65
|
"bn.js": "^5.2.1",
|
package/src/abi/abi.ts
DELETED
|
@@ -1,310 +0,0 @@
|
|
|
1
|
-
import { inflate } from 'pako';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* A named type.
|
|
5
|
-
*/
|
|
6
|
-
export interface ABIVariable {
|
|
7
|
-
/**
|
|
8
|
-
* The name of the variable.
|
|
9
|
-
*/
|
|
10
|
-
name: string;
|
|
11
|
-
/**
|
|
12
|
-
* The type of the variable.
|
|
13
|
-
*/
|
|
14
|
-
type: ABIType;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Indicates whether a parameter is public or secret/private.
|
|
19
|
-
*/
|
|
20
|
-
export enum ABIParameterVisibility {
|
|
21
|
-
PUBLIC = 'public',
|
|
22
|
-
SECRET = 'secret',
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* A function parameter.
|
|
27
|
-
*/
|
|
28
|
-
export interface ABIParameter extends ABIVariable {
|
|
29
|
-
/**
|
|
30
|
-
* Indicates whether a parameter is public or secret/private.
|
|
31
|
-
*/
|
|
32
|
-
visibility: ABIParameterVisibility;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* A basic type.
|
|
37
|
-
*/
|
|
38
|
-
export interface BasicType<T extends string> {
|
|
39
|
-
/**
|
|
40
|
-
* The kind of the type.
|
|
41
|
-
*/
|
|
42
|
-
kind: T;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* A variable type.
|
|
47
|
-
*/
|
|
48
|
-
export type ABIType = BasicType<'field'> | BasicType<'boolean'> | IntegerType | ArrayType | StringType | StructType;
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* An integer type.
|
|
52
|
-
*/
|
|
53
|
-
export interface IntegerType extends BasicType<'integer'> {
|
|
54
|
-
/**
|
|
55
|
-
* The sign of the integer.
|
|
56
|
-
*/
|
|
57
|
-
sign: string;
|
|
58
|
-
/**
|
|
59
|
-
* The width of the integer in bits.
|
|
60
|
-
*/
|
|
61
|
-
width: number;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* An array type.
|
|
66
|
-
*/
|
|
67
|
-
export interface ArrayType extends BasicType<'array'> {
|
|
68
|
-
/**
|
|
69
|
-
* The length of the array.
|
|
70
|
-
*/
|
|
71
|
-
length: number;
|
|
72
|
-
/**
|
|
73
|
-
* The type of the array elements.
|
|
74
|
-
*/
|
|
75
|
-
type: ABIType;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* A string type.
|
|
80
|
-
*/
|
|
81
|
-
export interface StringType extends BasicType<'string'> {
|
|
82
|
-
/**
|
|
83
|
-
* The length of the string.
|
|
84
|
-
*/
|
|
85
|
-
length: number;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* A struct type.
|
|
90
|
-
*/
|
|
91
|
-
export interface StructType extends BasicType<'struct'> {
|
|
92
|
-
/**
|
|
93
|
-
* The fields of the struct.
|
|
94
|
-
*/
|
|
95
|
-
fields: ABIVariable[];
|
|
96
|
-
/**
|
|
97
|
-
* Fully qualified name of the struct.
|
|
98
|
-
*/
|
|
99
|
-
path: string;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* A contract event.
|
|
104
|
-
*/
|
|
105
|
-
export interface EventAbi {
|
|
106
|
-
/**
|
|
107
|
-
* The event name.
|
|
108
|
-
*/
|
|
109
|
-
name: string;
|
|
110
|
-
/**
|
|
111
|
-
* Fully qualified name of the event.
|
|
112
|
-
*/
|
|
113
|
-
path: string;
|
|
114
|
-
/**
|
|
115
|
-
* The fields of the event.
|
|
116
|
-
*/
|
|
117
|
-
fields: ABIVariable[];
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Aztec.nr function types.
|
|
122
|
-
*/
|
|
123
|
-
export enum FunctionType {
|
|
124
|
-
SECRET = 'secret',
|
|
125
|
-
OPEN = 'open',
|
|
126
|
-
UNCONSTRAINED = 'unconstrained',
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* The abi entry of a function.
|
|
131
|
-
*/
|
|
132
|
-
export interface FunctionAbi {
|
|
133
|
-
/**
|
|
134
|
-
* The name of the function.
|
|
135
|
-
*/
|
|
136
|
-
name: string;
|
|
137
|
-
/**
|
|
138
|
-
* Whether the function is secret.
|
|
139
|
-
*/
|
|
140
|
-
functionType: FunctionType;
|
|
141
|
-
/**
|
|
142
|
-
* Whether the function is internal.
|
|
143
|
-
*/
|
|
144
|
-
isInternal: boolean;
|
|
145
|
-
/**
|
|
146
|
-
* Function parameters.
|
|
147
|
-
*/
|
|
148
|
-
parameters: ABIParameter[];
|
|
149
|
-
/**
|
|
150
|
-
* The types of the return values.
|
|
151
|
-
*/
|
|
152
|
-
returnTypes: ABIType[];
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* The artifact entry of a function.
|
|
157
|
-
*/
|
|
158
|
-
export interface FunctionArtifact extends FunctionAbi {
|
|
159
|
-
/**
|
|
160
|
-
* The ACIR bytecode of the function.
|
|
161
|
-
*/
|
|
162
|
-
bytecode: string;
|
|
163
|
-
/**
|
|
164
|
-
* The verification key of the function.
|
|
165
|
-
*/
|
|
166
|
-
verificationKey?: string;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* A file ID. It's assigned during compilation.
|
|
171
|
-
*/
|
|
172
|
-
export type FileId = number;
|
|
173
|
-
|
|
174
|
-
/**
|
|
175
|
-
* A pointer to a specific section of the source code.
|
|
176
|
-
*/
|
|
177
|
-
export interface SourceCodeLocation {
|
|
178
|
-
/**
|
|
179
|
-
* The section of the source code.
|
|
180
|
-
*/
|
|
181
|
-
span: {
|
|
182
|
-
/**
|
|
183
|
-
* The byte where the section starts.
|
|
184
|
-
*/
|
|
185
|
-
start: number;
|
|
186
|
-
/**
|
|
187
|
-
* The byte where the section ends.
|
|
188
|
-
*/
|
|
189
|
-
end: number;
|
|
190
|
-
};
|
|
191
|
-
/**
|
|
192
|
-
* The source code file pointed to.
|
|
193
|
-
*/
|
|
194
|
-
file: FileId;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
/**
|
|
198
|
-
* The location of an opcode in the bytecode.
|
|
199
|
-
* It's a string of the form `{acirIndex}` or `{acirIndex}:{brilligIndex}`.
|
|
200
|
-
*/
|
|
201
|
-
export type OpcodeLocation = string;
|
|
202
|
-
|
|
203
|
-
/**
|
|
204
|
-
* The debug information for a given function.
|
|
205
|
-
*/
|
|
206
|
-
export interface DebugInfo {
|
|
207
|
-
/**
|
|
208
|
-
* A map of the opcode location to the source code location.
|
|
209
|
-
*/
|
|
210
|
-
locations: Record<OpcodeLocation, SourceCodeLocation[]>;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
/**
|
|
214
|
-
* Maps a file ID to its metadata for debugging purposes.
|
|
215
|
-
*/
|
|
216
|
-
export type DebugFileMap = Record<
|
|
217
|
-
FileId,
|
|
218
|
-
{
|
|
219
|
-
/**
|
|
220
|
-
* The source code of the file.
|
|
221
|
-
*/
|
|
222
|
-
source: string;
|
|
223
|
-
/**
|
|
224
|
-
* The path of the file.
|
|
225
|
-
*/
|
|
226
|
-
path: string;
|
|
227
|
-
}
|
|
228
|
-
>;
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* The debug metadata of an ABI.
|
|
232
|
-
*/
|
|
233
|
-
export interface DebugMetadata {
|
|
234
|
-
/**
|
|
235
|
-
* The DebugInfo object, deflated as JSON, compressed using gzip and serialized with base64.
|
|
236
|
-
*/
|
|
237
|
-
debugSymbols: string[];
|
|
238
|
-
/**
|
|
239
|
-
* The map of file ID to the source code and path of the file.
|
|
240
|
-
*/
|
|
241
|
-
fileMap: DebugFileMap;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
/**
|
|
245
|
-
* Defines artifact of a contract.
|
|
246
|
-
*/
|
|
247
|
-
export interface ContractArtifact {
|
|
248
|
-
/**
|
|
249
|
-
* The name of the contract.
|
|
250
|
-
*/
|
|
251
|
-
name: string;
|
|
252
|
-
|
|
253
|
-
/**
|
|
254
|
-
* The version of compiler used to create this artifact
|
|
255
|
-
*/
|
|
256
|
-
aztecNrVersion?: string;
|
|
257
|
-
|
|
258
|
-
/**
|
|
259
|
-
* The functions of the contract.
|
|
260
|
-
*/
|
|
261
|
-
functions: FunctionArtifact[];
|
|
262
|
-
/**
|
|
263
|
-
* The events of the contract.
|
|
264
|
-
*/
|
|
265
|
-
events: EventAbi[];
|
|
266
|
-
|
|
267
|
-
/**
|
|
268
|
-
* The debug metadata of the contract.
|
|
269
|
-
* It's used to include the relevant source code section when a constraint is not met during simulation.
|
|
270
|
-
*/
|
|
271
|
-
debug?: DebugMetadata;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
/**
|
|
275
|
-
* Debug metadata for a function.
|
|
276
|
-
*/
|
|
277
|
-
export interface FunctionDebugMetadata {
|
|
278
|
-
/**
|
|
279
|
-
* Maps opcodes to source code pointers
|
|
280
|
-
*/
|
|
281
|
-
debugSymbols: DebugInfo;
|
|
282
|
-
/**
|
|
283
|
-
* Maps the file IDs to the file contents to resolve pointers
|
|
284
|
-
*/
|
|
285
|
-
files: DebugFileMap;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
/**
|
|
289
|
-
* Gets the debug metadata of a given function from the contract artifact
|
|
290
|
-
* @param artifact - The contract build artifact
|
|
291
|
-
* @param functionName - The name of the function
|
|
292
|
-
* @returns The debug metadata of the function
|
|
293
|
-
*/
|
|
294
|
-
export function getFunctionDebugMetadata(
|
|
295
|
-
artifact: ContractArtifact,
|
|
296
|
-
functionName: string,
|
|
297
|
-
): FunctionDebugMetadata | undefined {
|
|
298
|
-
const functionIndex = artifact.functions.findIndex(f => f.name === functionName);
|
|
299
|
-
if (artifact.debug && functionIndex !== -1) {
|
|
300
|
-
const debugSymbols = JSON.parse(
|
|
301
|
-
inflate(Buffer.from(artifact.debug.debugSymbols[functionIndex], 'base64'), { to: 'string' }),
|
|
302
|
-
);
|
|
303
|
-
const files = artifact.debug.fileMap;
|
|
304
|
-
return {
|
|
305
|
-
debugSymbols,
|
|
306
|
-
files,
|
|
307
|
-
};
|
|
308
|
-
}
|
|
309
|
-
return undefined;
|
|
310
|
-
}
|
package/src/abi/abi_coder.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ABIType } from '@aztec/foundation/abi';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Get the size of an ABI type in field elements.
|
|
5
|
-
* @param type - The ABI type.
|
|
6
|
-
* @returns The size of the type in field elements.
|
|
7
|
-
*/
|
|
8
|
-
export function sizeOfType(type: ABIType): number {
|
|
9
|
-
switch (type.kind) {
|
|
10
|
-
case 'field':
|
|
11
|
-
case 'boolean':
|
|
12
|
-
case 'integer':
|
|
13
|
-
return 1;
|
|
14
|
-
case 'string':
|
|
15
|
-
return type.length;
|
|
16
|
-
case 'array':
|
|
17
|
-
return type.length * sizeOfType(type.type);
|
|
18
|
-
case 'struct':
|
|
19
|
-
return type.fields.reduce((sum, field) => sum + sizeOfType(field.type), 0);
|
|
20
|
-
default: {
|
|
21
|
-
const exhaustiveCheck: never = type;
|
|
22
|
-
throw new Error(`Unhandled abi type: ${exhaustiveCheck}`);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
package/src/abi/decoder.ts
DELETED
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import { ABIParameter, ABIType, ABIVariable, FunctionArtifact } from '@aztec/foundation/abi';
|
|
2
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* The type of our decoded ABI.
|
|
6
|
-
*/
|
|
7
|
-
export type DecodedReturn = bigint | boolean | DecodedReturn[] | { [key: string]: DecodedReturn };
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Decodes return values from a function call.
|
|
11
|
-
* Missing support for integer and string.
|
|
12
|
-
*/
|
|
13
|
-
class ReturnValuesDecoder {
|
|
14
|
-
constructor(private artifact: FunctionArtifact, private flattened: Fr[]) {}
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Decodes a single return value from field to the given type.
|
|
18
|
-
* @param abiType - The type of the return value.
|
|
19
|
-
* @returns The decoded return value.
|
|
20
|
-
*/
|
|
21
|
-
private decodeReturn(abiType: ABIType): DecodedReturn {
|
|
22
|
-
switch (abiType.kind) {
|
|
23
|
-
case 'field':
|
|
24
|
-
return this.getNextField().toBigInt();
|
|
25
|
-
case 'integer':
|
|
26
|
-
if (abiType.sign === 'signed') {
|
|
27
|
-
throw new Error('Unsupported type: signed integer');
|
|
28
|
-
}
|
|
29
|
-
return this.getNextField().toBigInt();
|
|
30
|
-
case 'boolean':
|
|
31
|
-
return !this.getNextField().isZero();
|
|
32
|
-
case 'array': {
|
|
33
|
-
const array = [];
|
|
34
|
-
for (let i = 0; i < abiType.length; i += 1) {
|
|
35
|
-
array.push(this.decodeReturn(abiType.type));
|
|
36
|
-
}
|
|
37
|
-
return array;
|
|
38
|
-
}
|
|
39
|
-
case 'struct': {
|
|
40
|
-
const struct: { [key: string]: DecodedReturn } = {};
|
|
41
|
-
for (const field of abiType.fields) {
|
|
42
|
-
struct[field.name] = this.decodeReturn(field.type);
|
|
43
|
-
}
|
|
44
|
-
return struct;
|
|
45
|
-
}
|
|
46
|
-
default:
|
|
47
|
-
throw new Error(`Unsupported type: ${abiType.kind}`);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Gets the next field in the flattened return values.
|
|
53
|
-
* @returns The next field in the flattened return values.
|
|
54
|
-
*/
|
|
55
|
-
private getNextField(): Fr {
|
|
56
|
-
const field = this.flattened.shift();
|
|
57
|
-
if (!field) {
|
|
58
|
-
throw new Error('Not enough return values');
|
|
59
|
-
}
|
|
60
|
-
return field;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Decodes all the return values for the given function ABI.
|
|
65
|
-
* Aztec.nr support only single return value
|
|
66
|
-
* The return value can however be simple types, structs or arrays
|
|
67
|
-
* @returns The decoded return values.
|
|
68
|
-
*/
|
|
69
|
-
public decode(): DecodedReturn {
|
|
70
|
-
if (this.artifact.returnTypes.length > 1) {
|
|
71
|
-
throw new Error('Multiple return values not supported');
|
|
72
|
-
}
|
|
73
|
-
if (this.artifact.returnTypes.length === 0) {
|
|
74
|
-
return [];
|
|
75
|
-
}
|
|
76
|
-
return this.decodeReturn(this.artifact.returnTypes[0]);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Decodes return values from a function call.
|
|
82
|
-
* @param abi - The ABI entry of the function.
|
|
83
|
-
* @param returnValues - The decoded return values.
|
|
84
|
-
* @returns
|
|
85
|
-
*/
|
|
86
|
-
export function decodeReturnValues(abi: FunctionArtifact, returnValues: Fr[]) {
|
|
87
|
-
return new ReturnValuesDecoder(abi, returnValues.slice()).decode();
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Decodes the signature of a function from the name and parameters.
|
|
92
|
-
*/
|
|
93
|
-
export class FunctionSignatureDecoder {
|
|
94
|
-
private separator: string;
|
|
95
|
-
constructor(private name: string, private parameters: ABIParameter[], private includeNames = false) {
|
|
96
|
-
this.separator = includeNames ? ', ' : ',';
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Decodes a single function parameter type for the function signature.
|
|
101
|
-
* @param param - The parameter type to decode.
|
|
102
|
-
* @returns A string representing the parameter type.
|
|
103
|
-
*/
|
|
104
|
-
private getParameterType(param: ABIType): string {
|
|
105
|
-
switch (param.kind) {
|
|
106
|
-
case 'field':
|
|
107
|
-
return 'Field';
|
|
108
|
-
case 'integer':
|
|
109
|
-
if (param.sign === 'signed') {
|
|
110
|
-
throw new Error('Unsupported type: signed integer');
|
|
111
|
-
}
|
|
112
|
-
return `u${param.width}`;
|
|
113
|
-
case 'boolean':
|
|
114
|
-
return 'bool';
|
|
115
|
-
case 'array':
|
|
116
|
-
return `[${this.getParameterType(param.type)};${param.length}]`;
|
|
117
|
-
case 'struct':
|
|
118
|
-
return `(${param.fields.map(field => `${this.decodeParameter(field)}`).join(this.separator)})`;
|
|
119
|
-
default:
|
|
120
|
-
throw new Error(`Unsupported type: ${param.kind}`);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* Decodes a single function parameter for the function signature.
|
|
126
|
-
* @param param - The parameter to decode.
|
|
127
|
-
* @returns A string representing the parameter type and optionally its name.
|
|
128
|
-
*/
|
|
129
|
-
private decodeParameter(param: ABIVariable): string {
|
|
130
|
-
const type = this.getParameterType(param.type);
|
|
131
|
-
return this.includeNames ? `${param.name}: ${type}` : type;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Decodes all the parameters and build the function signature
|
|
136
|
-
* @returns The function signature.
|
|
137
|
-
*/
|
|
138
|
-
public decode(): string {
|
|
139
|
-
return `${this.name}(${this.parameters.map(param => this.decodeParameter(param)).join(this.separator)})`;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Decodes a function signature from the name and parameters.
|
|
145
|
-
* @param name - The name of the function.
|
|
146
|
-
* @param parameters - The parameters of the function.
|
|
147
|
-
* @returns - The function signature.
|
|
148
|
-
*/
|
|
149
|
-
export function decodeFunctionSignature(name: string, parameters: ABIParameter[]) {
|
|
150
|
-
return new FunctionSignatureDecoder(name, parameters).decode();
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* Decodes a function signature from the name and parameters including parameter names.
|
|
155
|
-
* @param name - The name of the function.
|
|
156
|
-
* @param parameters - The parameters of the function.
|
|
157
|
-
* @returns - The user-friendly function signature.
|
|
158
|
-
*/
|
|
159
|
-
export function decodeFunctionSignatureWithParameterNames(name: string, parameters: ABIParameter[]) {
|
|
160
|
-
return new FunctionSignatureDecoder(name, parameters, true).decode();
|
|
161
|
-
}
|