@aztec/aztec.js 0.1.0-alpha21 → 0.1.0-alpha22
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/.tsbuildinfo +1 -1
- package/dest/account_impl/account_collection.d.ts.map +1 -1
- package/dest/account_impl/account_collection.js +5 -4
- package/dest/auth/ecdsa.d.ts.map +1 -1
- package/dest/auth/ecdsa.js +1 -1
- package/dest/auth/schnorr.d.ts +1 -1
- package/dest/auth/schnorr.d.ts.map +1 -1
- package/dest/aztec_rpc_client/aztec_rpc_client.d.ts +1 -23
- package/dest/aztec_rpc_client/aztec_rpc_client.d.ts.map +1 -1
- package/dest/aztec_rpc_client/aztec_rpc_client.js +3 -9
- package/dest/aztec_rpc_client/wallet.d.ts +1 -0
- package/dest/aztec_rpc_client/wallet.d.ts.map +1 -1
- package/dest/aztec_rpc_client/wallet.js +4 -1
- package/dest/utils/account.d.ts +10 -2
- package/dest/utils/account.d.ts.map +1 -1
- package/dest/utils/account.js +26 -10
- package/dest/utils/index.d.ts +1 -0
- package/dest/utils/index.d.ts.map +1 -1
- package/dest/utils/index.js +2 -1
- package/dest/utils/l1_contracts.d.ts +24 -0
- package/dest/utils/l1_contracts.d.ts.map +1 -0
- package/dest/utils/l1_contracts.js +8 -0
- package/dest/utils/pub_key.d.ts +0 -9
- package/dest/utils/pub_key.d.ts.map +1 -1
- package/dest/utils/pub_key.js +1 -14
- package/package.json +6 -6
- package/src/account_impl/account_collection.ts +4 -4
- package/src/auth/ecdsa.ts +2 -2
- package/src/auth/schnorr.ts +1 -1
- package/src/aztec_rpc_client/aztec_rpc_client.ts +2 -41
- package/src/aztec_rpc_client/wallet.ts +3 -0
- package/src/utils/account.ts +40 -9
- package/src/utils/index.ts +1 -0
- package/src/utils/l1_contracts.ts +40 -0
- package/src/utils/pub_key.ts +0 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account_collection.d.ts","sourceRoot":"","sources":["../../src/account_impl/account_collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,qBAAqB;IAC7D,OAAO,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"account_collection.d.ts","sourceRoot":"","sources":["../../src/account_impl/account_collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,qBAAqB;IAC7D,OAAO,CAAC,QAAQ,CAAiD;IAEjE;;;;OAIG;IACI,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,qBAAqB;IAItE,UAAU,IAAI,YAAY;IAK1B;;;;;OAKG;IACI,4BAA4B,CACjC,UAAU,EAAE,gBAAgB,EAAE,EAC9B,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,kBAAkB,CAAC;CAO/B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AztecAddress } from '@aztec/circuits.js';
|
|
1
2
|
/**
|
|
2
3
|
* A concrete account implementation that manages multiple accounts.
|
|
3
4
|
*/
|
|
@@ -11,12 +12,12 @@ export class AccountCollection {
|
|
|
11
12
|
* @param impl - The account implementation to be registered.
|
|
12
13
|
*/
|
|
13
14
|
registerAccount(addr, impl) {
|
|
14
|
-
this.accounts.set(addr, impl);
|
|
15
|
+
this.accounts.set(addr.toString(), impl);
|
|
15
16
|
}
|
|
16
17
|
getAddress() {
|
|
17
18
|
if (!this.accounts)
|
|
18
19
|
throw new Error(`No accounts registered`);
|
|
19
|
-
return this.accounts.keys().next().value;
|
|
20
|
+
return AztecAddress.fromString(this.accounts.keys().next().value);
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
22
23
|
* Uses a registered account implementation to generate an authenticated request
|
|
@@ -27,10 +28,10 @@ export class AccountCollection {
|
|
|
27
28
|
createAuthenticatedTxRequest(executions, txContext) {
|
|
28
29
|
// TODO: Check all executions have the same origin
|
|
29
30
|
const sender = executions[0].from;
|
|
30
|
-
const impl = this.accounts.get(sender);
|
|
31
|
+
const impl = this.accounts.get(sender.toString());
|
|
31
32
|
if (!impl)
|
|
32
33
|
throw new Error(`No account implementation registered for ${sender}`);
|
|
33
34
|
return impl.createAuthenticatedTxRequest(executions, txContext);
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF9jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjY291bnRfaW1wbC9hY2NvdW50X2NvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBYSxNQUFNLG9CQUFvQixDQUFDO0FBSTdEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQUNVLGFBQVEsR0FBdUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQWdDbkUsQ0FBQztJQTlCQzs7OztPQUlHO0lBQ0ksZUFBZSxDQUFDLElBQWtCLEVBQUUsSUFBMkI7UUFDcEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQzlELE9BQU8sWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQWUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLDRCQUE0QixDQUNqQyxVQUE4QixFQUM5QixTQUFvQjtRQUVwQixrREFBa0Q7UUFDbEQsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNsQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDakYsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FDRiJ9
|
package/dest/auth/ecdsa.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../src/auth/ecdsa.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../src/auth/ecdsa.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE;;GAEG;AACH,qBAAa,iBAAiB;IAChB,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IACnC,cAAc,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;CAK9G"}
|
package/dest/auth/ecdsa.js
CHANGED
|
@@ -14,4 +14,4 @@ export class EcdsaAuthProvider {
|
|
|
14
14
|
return Promise.resolve(EcdsaSignature.fromBigInts(sig.r, sig.s, sig.recovery));
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXV0aC9lY2RzYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBTWpFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUFvQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7SUFDdkMsY0FBYyxDQUFDLE9BQTBCLEVBQUUsV0FBbUIsRUFBRSxRQUFzQjtRQUNwRixNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsSUFBSSxHQUFHLENBQUMsUUFBUSxLQUFLLFNBQVM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFDbkYsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7Q0FDRiJ9
|
package/dest/auth/schnorr.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { AuthPayload, AztecAddress, EntrypointPayload } from '@aztec/aztec.js';
|
|
3
2
|
import { Schnorr } from '@aztec/circuits.js/barretenberg';
|
|
3
|
+
import { AuthPayload, AztecAddress, EntrypointPayload } from '@aztec/aztec.js';
|
|
4
4
|
/**
|
|
5
5
|
* Implementation of a schnorr signature provider
|
|
6
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schnorr.d.ts","sourceRoot":"","sources":["../../src/auth/schnorr.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"schnorr.d.ts","sourceRoot":"","sources":["../../src/auth/schnorr.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE/E;;GAEG;AACH,qBAAa,mBAAmB;IAClB,OAAO,CAAC,MAAM;IAAW,OAAO,CAAC,UAAU;gBAAnC,MAAM,EAAE,OAAO,EAAU,UAAU,EAAE,MAAM;IAC/D,cAAc,CAAC,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;CAIhH"}
|
|
@@ -1,25 +1,3 @@
|
|
|
1
|
-
import { AztecRPC
|
|
2
|
-
/**
|
|
3
|
-
* A dictionary of the Aztec-deployed L1 contracts.
|
|
4
|
-
*/
|
|
5
|
-
export type L1ContractAddresses = {
|
|
6
|
-
/**
|
|
7
|
-
* Address fo the main Aztec rollup contract.
|
|
8
|
-
*/
|
|
9
|
-
rollup: EthAddress;
|
|
10
|
-
/**
|
|
11
|
-
* Address of the contract that emits events on public contract deployment.
|
|
12
|
-
*/
|
|
13
|
-
contractDeploymentEmitter: EthAddress;
|
|
14
|
-
/**
|
|
15
|
-
* Address of the L1/L2 messaging inbox contract.
|
|
16
|
-
*/
|
|
17
|
-
inbox: EthAddress;
|
|
18
|
-
/**
|
|
19
|
-
* Registry Address.
|
|
20
|
-
*/
|
|
21
|
-
registry: EthAddress;
|
|
22
|
-
};
|
|
1
|
+
import { AztecRPC } from '@aztec/aztec-rpc';
|
|
23
2
|
export declare const createAztecRpcClient: (url: string) => AztecRPC;
|
|
24
|
-
export declare const getL1ContractAddresses: (url: string) => Promise<L1ContractAddresses>;
|
|
25
3
|
//# sourceMappingURL=aztec_rpc_client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aztec_rpc_client.d.ts","sourceRoot":"","sources":["../../src/aztec_rpc_client/aztec_rpc_client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,QAAQ,
|
|
1
|
+
{"version":3,"file":"aztec_rpc_client.d.ts","sourceRoot":"","sources":["../../src/aztec_rpc_client/aztec_rpc_client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,QAAQ,EAA6B,MAAM,kBAAkB,CAAC;AAIrF,eAAO,MAAM,oBAAoB,QAAS,MAAM,KAAG,QAehD,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AztecAddress, EthAddress, Fr, Point, Tx
|
|
1
|
+
import { AztecAddress, EthAddress, Fr, Point, Tx } from '@aztec/aztec-rpc';
|
|
2
2
|
import { createJsonRpcClient } from '@aztec/foundation/json-rpc';
|
|
3
|
-
import { ContractData, ContractDeploymentTx, ContractPublicData, TxExecutionRequest } from '@aztec/types';
|
|
3
|
+
import { ContractData, ContractDeploymentTx, ContractPublicData, TxExecutionRequest, TxHash } from '@aztec/types';
|
|
4
4
|
export const createAztecRpcClient = (url) => createJsonRpcClient(url, {
|
|
5
5
|
AztecAddress,
|
|
6
6
|
TxExecutionRequest,
|
|
@@ -11,10 +11,4 @@ export const createAztecRpcClient = (url) => createJsonRpcClient(url, {
|
|
|
11
11
|
Point,
|
|
12
12
|
Fr,
|
|
13
13
|
}, { Tx, ContractDeploymentTx }, false);
|
|
14
|
-
|
|
15
|
-
const reqUrl = new URL(`${url}/api/l1-contract-addresses`);
|
|
16
|
-
const response = (await (await fetch(reqUrl.toString())).json());
|
|
17
|
-
const result = Object.fromEntries(Object.entries(response).map(([key, value]) => [key, EthAddress.fromString(value)]));
|
|
18
|
-
return result;
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWNfcnBjX2NsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9henRlY19ycGNfY2xpZW50L2F6dGVjX3JwY19jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBWSxVQUFVLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQWdDMUcsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxHQUFXLEVBQVksRUFBRSxDQUM1RCxtQkFBbUIsQ0FDakIsR0FBRyxFQUNIO0lBQ0UsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixVQUFVO0lBQ1YsS0FBSztJQUNMLEVBQUU7Q0FDSCxFQUNELEVBQUUsRUFBRSxFQUFFLG9CQUFvQixFQUFFLEVBQzVCLEtBQUssQ0FDTixDQUFDO0FBRUosTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsS0FBSyxFQUFFLEdBQVcsRUFBZ0MsRUFBRTtJQUN4RixNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEdBQUcsNEJBQTRCLENBQUMsQ0FBQztJQUMzRCxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUF1QyxDQUFDO0lBQ3ZHLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNwRixDQUFDO0lBQ0YsT0FBTyxNQUE2QixDQUFDO0FBQ3ZDLENBQUMsQ0FBQyJ9
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWNfcnBjX2NsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9henRlY19ycGNfY2xpZW50L2F6dGVjX3JwY19jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBWSxVQUFVLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVsSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEdBQVcsRUFBWSxFQUFFLENBQzVELG1CQUFtQixDQUNqQixHQUFHLEVBQ0g7SUFDRSxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLFVBQVU7SUFDVixLQUFLO0lBQ0wsRUFBRTtDQUNILEVBQ0QsRUFBRSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsRUFDNUIsS0FBSyxDQUNOLENBQUMifQ==
|
|
@@ -19,6 +19,7 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
19
19
|
addAccount(privKey: Buffer, address: AztecAddress, partialContractAddress: Fr, abi?: ContractAbi | undefined): Promise<AztecAddress>;
|
|
20
20
|
getAccounts(): Promise<AztecAddress[]>;
|
|
21
21
|
getAccountPublicKey(address: AztecAddress): Promise<Point>;
|
|
22
|
+
getAccountAddress(publicKey: Point): Promise<AztecAddress>;
|
|
22
23
|
addContracts(contracts: DeployedContract[]): Promise<void>;
|
|
23
24
|
isContractDeployed(contract: AztecAddress): Promise<boolean>;
|
|
24
25
|
simulateTx(txRequest: TxExecutionRequest, optionalFromAddress?: AztecAddress | undefined): Promise<Tx>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/aztec_rpc_client/wallet.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACrH,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,qBAAqB,GAAG,QAAQ,CAAC;AAEtD;;GAEG;AACH,8BAAsB,UAAW,YAAW,MAAM;IACpC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ;gBAAb,GAAG,EAAE,QAAQ;IAC5C,QAAQ,CAAC,UAAU,IAAI,YAAY;IACnC,QAAQ,CAAC,4BAA4B,CACnC,UAAU,EAAE,gBAAgB,EAAE,EAC9B,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAC9B,UAAU,CACR,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,EACrB,sBAAsB,EAAE,EAAE,EAC1B,GAAG,CAAC,EAAE,WAAW,GAAG,SAAS,GAC5B,OAAO,CAAC,YAAY,CAAC;IAGxB,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAGtC,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;IAG1D,YAAY,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAG1D,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAG5D,UAAU,CAAC,SAAS,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;IAGtG,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAG/B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAGhD,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAGnE,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAG1G,eAAe,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAGvF,eAAe,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAGjF,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAGxE,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAG9B,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;CAGjC;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAChB,SAAS,CAAC,WAAW,EAAE,qBAAqB;gBAA3D,GAAG,EAAE,QAAQ,EAAY,WAAW,EAAE,qBAAqB;IAGvE,UAAU,IAAI,YAAY;IAG1B,4BAA4B,CAAC,UAAU,EAAE,gBAAgB,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAGhH"}
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/aztec_rpc_client/wallet.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACrH,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,qBAAqB,GAAG,QAAQ,CAAC;AAEtD;;GAEG;AACH,8BAAsB,UAAW,YAAW,MAAM;IACpC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ;gBAAb,GAAG,EAAE,QAAQ;IAC5C,QAAQ,CAAC,UAAU,IAAI,YAAY;IACnC,QAAQ,CAAC,4BAA4B,CACnC,UAAU,EAAE,gBAAgB,EAAE,EAC9B,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAC9B,UAAU,CACR,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,EACrB,sBAAsB,EAAE,EAAE,EAC1B,GAAG,CAAC,EAAE,WAAW,GAAG,SAAS,GAC5B,OAAO,CAAC,YAAY,CAAC;IAGxB,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAGtC,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;IAG1D,iBAAiB,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC;IAG1D,YAAY,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAG1D,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAG5D,UAAU,CAAC,SAAS,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;IAGtG,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAG/B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAGhD,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAGnE,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAG1G,eAAe,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAGvF,eAAe,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAGjF,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAGxE,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAG9B,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;CAGjC;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAChB,SAAS,CAAC,WAAW,EAAE,qBAAqB;gBAA3D,GAAG,EAAE,QAAQ,EAAY,WAAW,EAAE,qBAAqB;IAGvE,UAAU,IAAI,YAAY;IAG1B,4BAA4B,CAAC,UAAU,EAAE,gBAAgB,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAGhH"}
|
|
@@ -14,6 +14,9 @@ export class BaseWallet {
|
|
|
14
14
|
getAccountPublicKey(address) {
|
|
15
15
|
return this.rpc.getAccountPublicKey(address);
|
|
16
16
|
}
|
|
17
|
+
getAccountAddress(publicKey) {
|
|
18
|
+
return this.rpc.getAccountAddress(publicKey);
|
|
19
|
+
}
|
|
17
20
|
addContracts(contracts) {
|
|
18
21
|
return this.rpc.addContracts(contracts);
|
|
19
22
|
}
|
|
@@ -66,4 +69,4 @@ export class AccountWallet extends BaseWallet {
|
|
|
66
69
|
return this.accountImpl.createAuthenticatedTxRequest(executions, txContext);
|
|
67
70
|
}
|
|
68
71
|
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F6dGVjX3JwY19jbGllbnQvd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixVQUFVO0lBQzlCLFlBQStCLEdBQWE7UUFBYixRQUFHLEdBQUgsR0FBRyxDQUFVO0lBQUcsQ0FBQztJQU1oRCxVQUFVLENBQ1IsT0FBZSxFQUNmLE9BQXFCLEVBQ3JCLHNCQUEwQixFQUMxQixHQUE2QjtRQUU3QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUNELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUNELG1CQUFtQixDQUFDLE9BQXFCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsaUJBQWlCLENBQUMsU0FBZ0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxZQUFZLENBQUMsU0FBNkI7UUFDeEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsUUFBc0I7UUFDdkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxVQUFVLENBQUMsU0FBNkIsRUFBRSxtQkFBOEM7UUFDdEYsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsTUFBTSxDQUFDLEVBQU07UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxZQUFZLENBQUMsTUFBYztRQUN6QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxZQUFZLENBQUMsUUFBc0IsRUFBRSxXQUFlO1FBQ2xELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxNQUFNLENBQUMsWUFBb0IsRUFBRSxJQUFXLEVBQUUsRUFBZ0IsRUFBRSxJQUErQjtRQUN6RixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxlQUFlLENBQUMsZUFBNkI7UUFDM0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsZUFBZSxDQUFDLGVBQTZCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUNELGtCQUFrQixDQUFDLElBQVksRUFBRSxJQUFZO1FBQzNDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUNELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYyxTQUFRLFVBQVU7SUFDM0MsWUFBWSxHQUFhLEVBQVksV0FBa0M7UUFDckUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRHdCLGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtJQUV2RSxDQUFDO0lBQ0QsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsNEJBQTRCLENBQUMsVUFBOEIsRUFBRSxTQUFvQjtRQUMvRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsNEJBQTRCLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7Q0FDRiJ9
|
package/dest/utils/account.d.ts
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import { AztecRPC } from '@aztec/aztec-rpc';
|
|
3
|
-
import {
|
|
3
|
+
import { Fr } from '@aztec/circuits.js';
|
|
4
|
+
import { AccountWallet, Wallet } from '../aztec_rpc_client/wallet.js';
|
|
4
5
|
/**
|
|
5
6
|
* Creates an Aztec Account.
|
|
6
7
|
* @returns The account's address & public key.
|
|
7
8
|
*/
|
|
8
|
-
export declare function createAccounts(aztecRpcClient: AztecRPC, privateKey?: Buffer, numberOfAccounts?: number, logger?: import("@aztec/foundation/log").DebugLogger): Promise<Wallet>;
|
|
9
|
+
export declare function createAccounts(aztecRpcClient: AztecRPC, privateKey?: Buffer, salt?: Fr, numberOfAccounts?: number, logger?: import("@aztec/foundation/log").DebugLogger): Promise<Wallet>;
|
|
10
|
+
/**
|
|
11
|
+
* Gets the Aztec accounts that are stored in an Aztec RPC instance.
|
|
12
|
+
* @param aztecRpcClient - An instance of the Aztec RPC interface.
|
|
13
|
+
* @param numberOfAccounts - The number of accounts to fetch.
|
|
14
|
+
* @returns An AccountWallet implementation that includes all the accounts found.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getAccountWallet(aztecRpcClient: AztecRPC, privateKey: Buffer, salt: Fr): Promise<AccountWallet>;
|
|
9
17
|
//# sourceMappingURL=account.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/utils/account.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAuC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/utils/account.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAuC,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAgB,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAItD,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAUtE;;;GAGG;AACH,wBAAsB,cAAc,CAClC,cAAc,EAAE,QAAQ,EACxB,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,KAAc,EAClB,gBAAgB,SAAI,EACpB,MAAM,8CAA+C,GACpD,OAAO,CAAC,MAAM,CAAC,CAqCjB;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,0BAmB5F"}
|
package/dest/utils/account.js
CHANGED
|
@@ -2,37 +2,53 @@ import { TxStatus, getContractDeploymentInfo } from '@aztec/aztec-rpc';
|
|
|
2
2
|
import { CircuitsWasm, Fr } from '@aztec/circuits.js';
|
|
3
3
|
import { randomBytes } from '@aztec/foundation/crypto';
|
|
4
4
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
5
|
-
import {
|
|
5
|
+
import { SchnorrAccountContractAbi } from '@aztec/noir-contracts/examples';
|
|
6
6
|
import { AccountWallet } from '../aztec_rpc_client/wallet.js';
|
|
7
|
-
import { AccountCollection, AccountContract, ContractDeployer,
|
|
7
|
+
import { AccountCollection, AccountContract, ContractDeployer, SchnorrAuthProvider, generatePublicKey, } from '../index.js';
|
|
8
|
+
import { Schnorr } from '@aztec/circuits.js/barretenberg';
|
|
8
9
|
/**
|
|
9
10
|
* Creates an Aztec Account.
|
|
10
11
|
* @returns The account's address & public key.
|
|
11
12
|
*/
|
|
12
|
-
export async function createAccounts(aztecRpcClient, privateKey, numberOfAccounts = 1, logger = createDebugLogger('aztec:aztec.js:accounts')) {
|
|
13
|
+
export async function createAccounts(aztecRpcClient, privateKey, salt = Fr.random(), numberOfAccounts = 1, logger = createDebugLogger('aztec:aztec.js:accounts')) {
|
|
14
|
+
const accountAbi = SchnorrAccountContractAbi;
|
|
13
15
|
const accountImpls = new AccountCollection();
|
|
14
|
-
const results = [];
|
|
15
16
|
const wasm = await CircuitsWasm.get();
|
|
16
17
|
for (let i = 0; i < numberOfAccounts; ++i) {
|
|
17
18
|
// TODO(#662): Let the aztec rpc server generate the keypair rather than hardcoding the private key
|
|
18
19
|
const privKey = i == 0 && privateKey ? privateKey : randomBytes(32);
|
|
19
|
-
const accountAbi = EcdsaAccountContractAbi;
|
|
20
20
|
const publicKey = await generatePublicKey(privKey);
|
|
21
|
-
const salt = Fr.random();
|
|
22
21
|
const deploymentInfo = await getContractDeploymentInfo(accountAbi, [], salt, publicKey);
|
|
23
22
|
await aztecRpcClient.addAccount(privKey, deploymentInfo.address, deploymentInfo.partialAddress, accountAbi);
|
|
24
23
|
const contractDeployer = new ContractDeployer(accountAbi, aztecRpcClient, publicKey);
|
|
25
24
|
const tx = contractDeployer.deploy().send({ contractAddressSalt: salt });
|
|
26
|
-
await tx.isMined(0, 0.
|
|
25
|
+
await tx.isMined(0, 0.5);
|
|
27
26
|
const receipt = await tx.getReceipt();
|
|
28
27
|
if (receipt.status !== TxStatus.MINED) {
|
|
29
28
|
throw new Error(`Deployment tx not mined (status is ${receipt.status})`);
|
|
30
29
|
}
|
|
31
30
|
const address = receipt.contractAddress;
|
|
31
|
+
if (!address.equals(deploymentInfo.address)) {
|
|
32
|
+
throw new Error(`Deployment address does not match for account contract (expected ${deploymentInfo.address.toString()} got ${address.toString()})`);
|
|
33
|
+
}
|
|
32
34
|
logger(`Created account ${address.toString()} with public key ${publicKey.toString()}`);
|
|
33
|
-
accountImpls.registerAccount(address, new AccountContract(address, publicKey, new
|
|
34
|
-
results.push([address, publicKey]);
|
|
35
|
+
accountImpls.registerAccount(address, new AccountContract(address, publicKey, new SchnorrAuthProvider(await Schnorr.new(), privKey), deploymentInfo.partialAddress, accountAbi, wasm));
|
|
35
36
|
}
|
|
36
37
|
return new AccountWallet(aztecRpcClient, accountImpls);
|
|
37
38
|
}
|
|
38
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Gets the Aztec accounts that are stored in an Aztec RPC instance.
|
|
41
|
+
* @param aztecRpcClient - An instance of the Aztec RPC interface.
|
|
42
|
+
* @param numberOfAccounts - The number of accounts to fetch.
|
|
43
|
+
* @returns An AccountWallet implementation that includes all the accounts found.
|
|
44
|
+
*/
|
|
45
|
+
export async function getAccountWallet(aztecRpcClient, privateKey, salt) {
|
|
46
|
+
const wasm = await CircuitsWasm.get();
|
|
47
|
+
const accountCollection = new AccountCollection();
|
|
48
|
+
const publicKey = await generatePublicKey(privateKey);
|
|
49
|
+
const address = await aztecRpcClient.getAccountAddress(publicKey);
|
|
50
|
+
const deploymentInfo = await getContractDeploymentInfo(SchnorrAccountContractAbi, [], salt, publicKey);
|
|
51
|
+
accountCollection.registerAccount(address, new AccountContract(address, publicKey, new SchnorrAuthProvider(await Schnorr.new(), privateKey), deploymentInfo.partialAddress, SchnorrAccountContractAbi, wasm));
|
|
52
|
+
return new AccountWallet(aztecRpcClient, accountCollection);
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hY2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxRQUFRLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixpQkFBaUIsR0FDbEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTFEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUNsQyxjQUF3QixFQUN4QixVQUFtQixFQUNuQixJQUFJLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUNsQixnQkFBZ0IsR0FBRyxDQUFDLEVBQ3BCLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyx5QkFBeUIsQ0FBQztJQUVyRCxNQUFNLFVBQVUsR0FBRyx5QkFBeUIsQ0FBQztJQUM3QyxNQUFNLFlBQVksR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7SUFDN0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDdEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxFQUFFO1FB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
|
package/dest/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
|
package/dest/utils/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './secrets.js';
|
|
2
2
|
export * from './account.js';
|
|
3
3
|
export * from './pub_key.js';
|
|
4
|
-
|
|
4
|
+
export * from './l1_contracts.js';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQyJ9
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { EthAddress } from '@aztec/circuits.js';
|
|
2
|
+
/**
|
|
3
|
+
* A dictionary of the Aztec-deployed L1 contracts.
|
|
4
|
+
*/
|
|
5
|
+
export type L1ContractAddresses = {
|
|
6
|
+
/**
|
|
7
|
+
* Address fo the main Aztec rollup contract.
|
|
8
|
+
*/
|
|
9
|
+
rollup: EthAddress;
|
|
10
|
+
/**
|
|
11
|
+
* Address of the contract that emits events on public contract deployment.
|
|
12
|
+
*/
|
|
13
|
+
contractDeploymentEmitter: EthAddress;
|
|
14
|
+
/**
|
|
15
|
+
* Address of the L1/L2 messaging inbox contract.
|
|
16
|
+
*/
|
|
17
|
+
inbox: EthAddress;
|
|
18
|
+
/**
|
|
19
|
+
* Registry Address.
|
|
20
|
+
*/
|
|
21
|
+
registry: EthAddress;
|
|
22
|
+
};
|
|
23
|
+
export declare const getL1ContractAddresses: (url: string) => Promise<L1ContractAddresses>;
|
|
24
|
+
//# sourceMappingURL=l1_contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"l1_contracts.d.ts","sourceRoot":"","sources":["../../src/utils/l1_contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC;IACnB;;OAEG;IACH,yBAAyB,EAAE,UAAU,CAAC;IACtC;;OAEG;IACH,KAAK,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,UAAU,CAAC;CACtB,CAAC;AASF,eAAO,MAAM,sBAAsB,QAAe,MAAM,KAAG,QAAQ,mBAAmB,CAOrF,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { EthAddress } from '@aztec/circuits.js';
|
|
2
|
+
export const getL1ContractAddresses = async (url) => {
|
|
3
|
+
const reqUrl = new URL(`${url}/api/l1-contract-addresses`);
|
|
4
|
+
const response = (await (await fetch(reqUrl.toString())).json());
|
|
5
|
+
const result = Object.fromEntries(Object.entries(response).map(([key, value]) => [key, EthAddress.fromString(value)]));
|
|
6
|
+
return result;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfY29udHJhY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2wxX2NvbnRyYWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFnQ2hELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEtBQUssRUFBRSxHQUFXLEVBQWdDLEVBQUU7SUFDeEYsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxHQUFHLDRCQUE0QixDQUFDLENBQUM7SUFDM0QsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBdUMsQ0FBQztJQUN2RyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUMvQixNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDcEYsQ0FBQztJQUNGLE9BQU8sTUFBNkIsQ0FBQztBQUN2QyxDQUFDLENBQUMifQ==
|
package/dest/utils/pub_key.d.ts
CHANGED
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import { Point } from '../index.js';
|
|
3
|
-
/**
|
|
4
|
-
* Converts a Point type to a public key represented by BigInt coordinates
|
|
5
|
-
* @param point - The Point to convert.
|
|
6
|
-
* @returns An object with x & y coordinates represented as bigints.
|
|
7
|
-
*/
|
|
8
|
-
export declare function pointToPublicKey(point: Point): {
|
|
9
|
-
x: bigint;
|
|
10
|
-
y: bigint;
|
|
11
|
-
};
|
|
12
3
|
/**
|
|
13
4
|
* Method for generating a public grumpkin key from a private key.
|
|
14
5
|
* @param privateKey - The private key.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pub_key.d.ts","sourceRoot":"","sources":["../../src/utils/pub_key.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;;;;GAIG;AACH,
|
|
1
|
+
{"version":3,"file":"pub_key.d.ts","sourceRoot":"","sources":["../../src/utils/pub_key.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAG1E"}
|
package/dest/utils/pub_key.js
CHANGED
|
@@ -1,18 +1,5 @@
|
|
|
1
1
|
import { Grumpkin } from '@aztec/circuits.js/barretenberg';
|
|
2
2
|
import { Point } from '../index.js';
|
|
3
|
-
/**
|
|
4
|
-
* Converts a Point type to a public key represented by BigInt coordinates
|
|
5
|
-
* @param point - The Point to convert.
|
|
6
|
-
* @returns An object with x & y coordinates represented as bigints.
|
|
7
|
-
*/
|
|
8
|
-
export function pointToPublicKey(point) {
|
|
9
|
-
const x = point.x.toBigInt();
|
|
10
|
-
const y = point.y.toBigInt();
|
|
11
|
-
return {
|
|
12
|
-
x,
|
|
13
|
-
y,
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
3
|
/**
|
|
17
4
|
* Method for generating a public grumpkin key from a private key.
|
|
18
5
|
* @param privateKey - The private key.
|
|
@@ -22,4 +9,4 @@ export async function generatePublicKey(privateKey) {
|
|
|
22
9
|
const grumpkin = await Grumpkin.new();
|
|
23
10
|
return Point.fromBuffer(grumpkin.mul(grumpkin.generator(), privateKey));
|
|
24
11
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHViX2tleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9wdWJfa2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBDOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGlCQUFpQixDQUFDLFVBQWtCO0lBQ3hELE1BQU0sUUFBUSxHQUFHLE1BQU0sUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3RDLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQzFFLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/aztec.js",
|
|
3
|
-
"version": "0.1.0-
|
|
3
|
+
"version": "0.1.0-alpha22",
|
|
4
4
|
"exports": "./dest/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@aztec/aztec-rpc": "0.1.0-
|
|
8
|
-
"@aztec/circuits.js": "0.1.0-
|
|
9
|
-
"@aztec/foundation": "0.1.0-
|
|
10
|
-
"@aztec/key-store": "0.1.0-
|
|
11
|
-
"@aztec/noir-contracts": "0.1.0-
|
|
7
|
+
"@aztec/aztec-rpc": "0.1.0-alpha22",
|
|
8
|
+
"@aztec/circuits.js": "0.1.0-alpha22",
|
|
9
|
+
"@aztec/foundation": "0.1.0-alpha22",
|
|
10
|
+
"@aztec/key-store": "0.1.0-alpha22",
|
|
11
|
+
"@aztec/noir-contracts": "0.1.0-alpha22",
|
|
12
12
|
"tslib": "^2.4.0"
|
|
13
13
|
}
|
|
14
14
|
}
|
|
@@ -6,7 +6,7 @@ import { AccountImplementation } from './index.js';
|
|
|
6
6
|
* A concrete account implementation that manages multiple accounts.
|
|
7
7
|
*/
|
|
8
8
|
export class AccountCollection implements AccountImplementation {
|
|
9
|
-
private accounts: Map<
|
|
9
|
+
private accounts: Map<string, AccountImplementation> = new Map();
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Registers an account implementation against an aztec address
|
|
@@ -14,12 +14,12 @@ export class AccountCollection implements AccountImplementation {
|
|
|
14
14
|
* @param impl - The account implementation to be registered.
|
|
15
15
|
*/
|
|
16
16
|
public registerAccount(addr: AztecAddress, impl: AccountImplementation) {
|
|
17
|
-
this.accounts.set(addr, impl);
|
|
17
|
+
this.accounts.set(addr.toString(), impl);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
getAddress(): AztecAddress {
|
|
21
21
|
if (!this.accounts) throw new Error(`No accounts registered`);
|
|
22
|
-
return this.accounts.keys().next().value as
|
|
22
|
+
return AztecAddress.fromString(this.accounts.keys().next().value as string);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
/**
|
|
@@ -34,7 +34,7 @@ export class AccountCollection implements AccountImplementation {
|
|
|
34
34
|
): Promise<TxExecutionRequest> {
|
|
35
35
|
// TODO: Check all executions have the same origin
|
|
36
36
|
const sender = executions[0].from;
|
|
37
|
-
const impl = this.accounts.get(sender);
|
|
37
|
+
const impl = this.accounts.get(sender.toString());
|
|
38
38
|
if (!impl) throw new Error(`No account implementation registered for ${sender}`);
|
|
39
39
|
return impl.createAuthenticatedTxRequest(executions, txContext);
|
|
40
40
|
}
|
package/src/auth/ecdsa.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { secp256k1 } from '@noble/curves/secp256k1';
|
|
2
|
+
import { EcdsaSignature } from '@aztec/circuits.js/barretenberg';
|
|
3
|
+
|
|
2
4
|
import { AztecAddress } from '../index.js';
|
|
3
5
|
import { AuthPayload } from './index.js';
|
|
4
|
-
|
|
5
6
|
import { EntrypointPayload } from '../account_impl/account_contract.js';
|
|
6
|
-
import { EcdsaSignature } from '@aztec/circuits.js/barretenberg';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* An ecdsa implementation of auth provider.
|
package/src/auth/schnorr.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AuthPayload, AztecAddress, EntrypointPayload } from '@aztec/aztec.js';
|
|
2
1
|
import { Schnorr } from '@aztec/circuits.js/barretenberg';
|
|
2
|
+
import { AuthPayload, AztecAddress, EntrypointPayload } from '@aztec/aztec.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Implementation of a schnorr signature provider
|
|
@@ -1,36 +1,6 @@
|
|
|
1
|
-
import { AztecAddress, AztecRPC, EthAddress, Fr, Point, Tx
|
|
1
|
+
import { AztecAddress, AztecRPC, EthAddress, Fr, Point, Tx } from '@aztec/aztec-rpc';
|
|
2
2
|
import { createJsonRpcClient } from '@aztec/foundation/json-rpc';
|
|
3
|
-
import { ContractData, ContractDeploymentTx, ContractPublicData, TxExecutionRequest } from '@aztec/types';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* A dictionary of the Aztec-deployed L1 contracts.
|
|
7
|
-
*/
|
|
8
|
-
export type L1ContractAddresses = {
|
|
9
|
-
/**
|
|
10
|
-
* Address fo the main Aztec rollup contract.
|
|
11
|
-
*/
|
|
12
|
-
rollup: EthAddress;
|
|
13
|
-
/**
|
|
14
|
-
* Address of the contract that emits events on public contract deployment.
|
|
15
|
-
*/
|
|
16
|
-
contractDeploymentEmitter: EthAddress;
|
|
17
|
-
/**
|
|
18
|
-
* Address of the L1/L2 messaging inbox contract.
|
|
19
|
-
*/
|
|
20
|
-
inbox: EthAddress;
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Registry Address.
|
|
24
|
-
*/
|
|
25
|
-
registry: EthAddress;
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* string dictionary of aztec contract addresses that we receive over http.
|
|
30
|
-
*/
|
|
31
|
-
type L1ContractAddressesResp = {
|
|
32
|
-
[K in keyof L1ContractAddresses]: string;
|
|
33
|
-
};
|
|
3
|
+
import { ContractData, ContractDeploymentTx, ContractPublicData, TxExecutionRequest, TxHash } from '@aztec/types';
|
|
34
4
|
|
|
35
5
|
export const createAztecRpcClient = (url: string): AztecRPC =>
|
|
36
6
|
createJsonRpcClient<AztecRPC>(
|
|
@@ -48,12 +18,3 @@ export const createAztecRpcClient = (url: string): AztecRPC =>
|
|
|
48
18
|
{ Tx, ContractDeploymentTx },
|
|
49
19
|
false,
|
|
50
20
|
);
|
|
51
|
-
|
|
52
|
-
export const getL1ContractAddresses = async (url: string): Promise<L1ContractAddresses> => {
|
|
53
|
-
const reqUrl = new URL(`${url}/api/l1-contract-addresses`);
|
|
54
|
-
const response = (await (await fetch(reqUrl.toString())).json()) as unknown as L1ContractAddressesResp;
|
|
55
|
-
const result = Object.fromEntries(
|
|
56
|
-
Object.entries(response).map(([key, value]) => [key, EthAddress.fromString(value)]),
|
|
57
|
-
);
|
|
58
|
-
return result as L1ContractAddresses;
|
|
59
|
-
};
|
|
@@ -33,6 +33,9 @@ export abstract class BaseWallet implements Wallet {
|
|
|
33
33
|
getAccountPublicKey(address: AztecAddress): Promise<Point> {
|
|
34
34
|
return this.rpc.getAccountPublicKey(address);
|
|
35
35
|
}
|
|
36
|
+
getAccountAddress(publicKey: Point): Promise<AztecAddress> {
|
|
37
|
+
return this.rpc.getAccountAddress(publicKey);
|
|
38
|
+
}
|
|
36
39
|
addContracts(contracts: DeployedContract[]): Promise<void> {
|
|
37
40
|
return this.rpc.addContracts(contracts);
|
|
38
41
|
}
|