@aztec/aztec.js 0.1.0-alpha21 → 0.1.0-alpha23
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/README.md +1 -1
- package/dest/account_impl/account_collection.d.ts.map +1 -1
- package/dest/account_impl/account_collection.js +5 -4
- package/dest/account_impl/account_contract.d.ts +3 -4
- package/dest/account_impl/account_contract.d.ts.map +1 -1
- package/dest/account_impl/account_contract.js +3 -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/auth/schnorr.js +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 +3 -3
- package/dest/aztec_rpc_client/wallet.d.ts.map +1 -1
- package/dest/aztec_rpc_client/wallet.js +4 -1
- package/dest/contract/contract.d.ts +1 -1
- package/dest/contract/contract.d.ts.map +1 -1
- package/dest/contract/contract.js +2 -2
- package/dest/contract/contract.test.js +4 -4
- package/dest/contract/contract_function_interaction.d.ts +2 -3
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +3 -5
- package/dest/contract/sent_tx.d.ts +1 -1
- package/dest/contract/sent_tx.d.ts.map +1 -1
- package/dest/contract/sent_tx.js +2 -2
- package/dest/contract_deployer/contract_deployer.d.ts +2 -1
- package/dest/contract_deployer/contract_deployer.d.ts.map +1 -1
- package/dest/contract_deployer/contract_deployer.js +2 -2
- package/dest/contract_deployer/contract_deployer.test.js +4 -4
- package/dest/contract_deployer/deploy_method.d.ts +2 -3
- package/dest/contract_deployer/deploy_method.d.ts.map +1 -1
- package/dest/contract_deployer/deploy_method.js +2 -3
- package/dest/index.d.ts +2 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +3 -2
- package/dest/utils/account.d.ts +11 -3
- package/dest/utils/account.d.ts.map +1 -1
- package/dest/utils/account.js +28 -12
- 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 +5 -6
- package/src/account_impl/account_collection.ts +4 -4
- package/src/account_impl/account_contract.ts +5 -7
- package/src/auth/ecdsa.ts +2 -2
- package/src/auth/schnorr.ts +2 -1
- package/src/aztec_rpc_client/aztec_rpc_client.ts +10 -41
- package/src/aztec_rpc_client/wallet.ts +18 -3
- package/src/contract/contract.test.ts +4 -4
- package/src/contract/contract.ts +2 -2
- package/src/contract/contract_function_interaction.ts +5 -6
- package/src/contract/sent_tx.ts +1 -1
- package/src/contract_deployer/contract_deployer.test.ts +5 -5
- package/src/contract_deployer/contract_deployer.ts +3 -2
- package/src/contract_deployer/deploy_method.ts +9 -4
- package/src/index.ts +4 -1
- package/src/utils/account.ts +42 -10
- package/src/utils/index.ts +1 -0
- package/src/utils/l1_contracts.ts +40 -0
- package/src/utils/pub_key.ts +1 -14
- package/tsconfig.json +2 -5
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { getContractDeploymentInfo } from '@aztec/
|
|
2
|
-
import { CircuitsWasm, ContractDeploymentData, TxContext } from '@aztec/circuits.js';
|
|
1
|
+
import { CircuitsWasm, ContractDeploymentData, TxContext, getContractDeploymentInfo, } from '@aztec/circuits.js';
|
|
3
2
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
@@ -111,4 +110,4 @@ export class DeployMethod extends ContractFunctionInteraction {
|
|
|
111
110
|
return new Contract(this.completeContractAddress, this.abi, withWallet);
|
|
112
111
|
}
|
|
113
112
|
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9kZXBsb3llci9kZXBsb3lfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxZQUFZLEVBQ1osc0JBQXNCLEVBRXRCLFNBQVMsRUFDVCx5QkFBeUIsR0FDMUIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQThCLGVBQWUsRUFBaUIsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUcsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQUUsMkJBQTJCLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFpQmhHOztHQUVHO0FBQ0gsTUFBTSxjQUFlLFNBQVEsVUFBVTtJQUNyQyxVQUFVO1FBQ1IsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFDRCxLQUFLLENBQUMsNEJBQTRCLENBQ2hDLFVBQThCLEVBQzlCLFNBQW9CO1FBRXBCLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxtRUFBbUUsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDMUc7UUFDRCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsVUFBVSxDQUFDO1FBQy9CLE1BQU0sSUFBSSxHQUFHLE1BQU0sWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sZUFBZSxHQUFHLE1BQU0sZUFBZSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFF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
|
package/dest/index.d.ts
CHANGED
|
@@ -4,5 +4,6 @@ export * from './utils/index.js';
|
|
|
4
4
|
export * from './aztec_rpc_client/index.js';
|
|
5
5
|
export * from './auth/index.js';
|
|
6
6
|
export * from './account_impl/index.js';
|
|
7
|
-
export
|
|
7
|
+
export { AztecAddress, EthAddress, Point, Fr } from '@aztec/circuits.js';
|
|
8
|
+
export { AztecRPC } from '@aztec/types';
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dest/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AAKxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
|
package/dest/index.js
CHANGED
|
@@ -5,5 +5,6 @@ export * from './aztec_rpc_client/index.js';
|
|
|
5
5
|
export * from './auth/index.js';
|
|
6
6
|
export * from './account_impl/index.js';
|
|
7
7
|
// TODO - only export necessary stuffs
|
|
8
|
-
export * from '@aztec/aztec-rpc';
|
|
9
|
-
|
|
8
|
+
// export * from '@aztec/aztec-rpc';
|
|
9
|
+
export { AztecAddress, EthAddress, Point, Fr } from '@aztec/circuits.js';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsc0NBQXNDO0FBQ3RDLG9DQUFvQztBQUVwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUMifQ==
|
package/dest/utils/account.d.ts
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { Fr } from '@aztec/circuits.js';
|
|
3
|
+
import { AztecRPC } from '@aztec/types';
|
|
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,
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/utils/account.ts"],"names":[],"mappings":";AAAA,OAAO,EAAgB,EAAE,EAA6B,MAAM,oBAAoB,CAAC;AAGjF,OAAO,EAAE,QAAQ,EAAY,MAAM,cAAc,CAAC;AAIlD,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAStE;;;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
|
@@ -1,38 +1,54 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CircuitsWasm, Fr } from '@aztec/circuits.js';
|
|
1
|
+
import { CircuitsWasm, Fr, getContractDeploymentInfo } from '@aztec/circuits.js';
|
|
3
2
|
import { randomBytes } from '@aztec/foundation/crypto';
|
|
4
3
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
5
|
-
import {
|
|
4
|
+
import { TxStatus } from '@aztec/types';
|
|
5
|
+
import { SchnorrAccountContractAbi } from '@aztec/noir-contracts/examples';
|
|
6
|
+
import { Schnorr } from '@aztec/circuits.js/barretenberg';
|
|
6
7
|
import { AccountWallet } from '../aztec_rpc_client/wallet.js';
|
|
7
|
-
import { AccountCollection, AccountContract, ContractDeployer,
|
|
8
|
+
import { AccountCollection, AccountContract, ContractDeployer, SchnorrAuthProvider, generatePublicKey, } from '../index.js';
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hY2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBWSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTFELE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGlCQUFpQixHQUNsQixNQUFNLGFBQWEsQ0FBQztBQUVyQjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FDbEMsY0FBd0IsRUFDeEIsVUFBbUIsRUFDbkIsSUFBSSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFDbEIsZ0JBQWdCLEdBQUcsQ0FBQyxFQUNwQixNQUFNLEdBQUcsaUJBQWlCLENBQUMseUJBQXlCLENBQUM7SUFFckQsTUFBTSxVQUFVLEdBQUcseUJBQXlCLENBQUM7SUFDN0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO0lBQzdDLE1BQU0sSUFBSSxHQUFHLE1BQU0sWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3RDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsRUFBRTtRQUN6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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":";
|
|
1
|
+
{"version":3,"file":"pub_key.d.ts","sourceRoot":"","sources":["../../src/utils/pub_key.ts"],"names":[],"mappings":";AAEA,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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHViX2tleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9wdWJfa2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUzRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBDOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGlCQUFpQixDQUFDLFVBQWtCO0lBQ3hELE1BQU0sUUFBUSxHQUFHLE1BQU0sUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3RDLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQzFFLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/aztec.js",
|
|
3
|
-
"version": "0.1.0-
|
|
3
|
+
"version": "0.1.0-alpha23",
|
|
4
4
|
"exports": "./dest/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@aztec/
|
|
8
|
-
"@aztec/
|
|
9
|
-
"@aztec/
|
|
10
|
-
"@aztec/
|
|
11
|
-
"@aztec/noir-contracts": "0.1.0-alpha21",
|
|
7
|
+
"@aztec/circuits.js": "0.1.0-alpha23",
|
|
8
|
+
"@aztec/foundation": "0.1.0-alpha23",
|
|
9
|
+
"@aztec/noir-contracts": "0.1.0-alpha23",
|
|
10
|
+
"@aztec/types": "0.1.0-alpha23",
|
|
12
11
|
"tslib": "^2.4.0"
|
|
13
12
|
}
|
|
14
13
|
}
|
|
@@ -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
|
}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { AztecAddress, CircuitsWasm, Fr, FunctionData, TxContext } from '@aztec/circuits.js';
|
|
1
|
+
import partition from 'lodash.partition';
|
|
2
|
+
import { AztecAddress, CircuitsWasm, Fr, FunctionData, PartialContractAddress, TxContext } from '@aztec/circuits.js';
|
|
3
3
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
4
4
|
import { sha256 } from '@aztec/foundation/crypto';
|
|
5
|
-
import { PublicKey } from '@aztec/
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
import { generateFunctionSelector } from '../index.js';
|
|
5
|
+
import { ExecutionRequest, PackedArguments, PublicKey, TxExecutionRequest } from '@aztec/types';
|
|
6
|
+
import { ContractAbi, encodeArguments, generateFunctionSelector } from '@aztec/foundation/abi';
|
|
7
|
+
|
|
9
8
|
import { AccountImplementation } from './index.js';
|
|
10
|
-
import { ContractAbi } from '@aztec/foundation/abi';
|
|
11
9
|
import { EcdsaAuthProvider, SchnorrAuthProvider } from '../auth/index.js';
|
|
12
10
|
|
|
13
11
|
/**
|
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,6 +1,7 @@
|
|
|
1
|
-
import { AuthPayload, AztecAddress, EntrypointPayload } from '@aztec/aztec.js';
|
|
2
1
|
import { Schnorr } from '@aztec/circuits.js/barretenberg';
|
|
3
2
|
|
|
3
|
+
import { AuthPayload, AztecAddress, EntrypointPayload } from '../index.js';
|
|
4
|
+
|
|
4
5
|
/**
|
|
5
6
|
* Implementation of a schnorr signature provider
|
|
6
7
|
*/
|
|
@@ -1,36 +1,14 @@
|
|
|
1
|
-
import { AztecAddress,
|
|
1
|
+
import { AztecAddress, EthAddress, Fr, Point } from '@aztec/circuits.js';
|
|
2
2
|
import { createJsonRpcClient } from '@aztec/foundation/json-rpc';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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 {
|
|
4
|
+
AztecRPC,
|
|
5
|
+
ContractData,
|
|
6
|
+
ContractDeploymentTx,
|
|
7
|
+
ContractPublicData,
|
|
8
|
+
TxExecutionRequest,
|
|
9
|
+
TxHash,
|
|
10
|
+
Tx,
|
|
11
|
+
} from '@aztec/types';
|
|
34
12
|
|
|
35
13
|
export const createAztecRpcClient = (url: string): AztecRPC =>
|
|
36
14
|
createJsonRpcClient<AztecRPC>(
|
|
@@ -48,12 +26,3 @@ export const createAztecRpcClient = (url: string): AztecRPC =>
|
|
|
48
26
|
{ Tx, ContractDeploymentTx },
|
|
49
27
|
false,
|
|
50
28
|
);
|
|
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
|
-
};
|
|
@@ -1,7 +1,19 @@
|
|
|
1
|
-
import { AztecAddress,
|
|
2
|
-
import { TxContext } from '@aztec/circuits.js';
|
|
1
|
+
import { AztecAddress, Fr, Point, TxContext } from '@aztec/circuits.js';
|
|
3
2
|
import { ContractAbi } from '@aztec/foundation/abi';
|
|
4
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
AztecRPC,
|
|
5
|
+
ContractData,
|
|
6
|
+
ContractPublicData,
|
|
7
|
+
DeployedContract,
|
|
8
|
+
ExecutionRequest,
|
|
9
|
+
L2BlockL2Logs,
|
|
10
|
+
NodeInfo,
|
|
11
|
+
Tx,
|
|
12
|
+
TxExecutionRequest,
|
|
13
|
+
TxHash,
|
|
14
|
+
TxReceipt,
|
|
15
|
+
} from '@aztec/types';
|
|
16
|
+
|
|
5
17
|
import { AccountImplementation } from '../account_impl/index.js';
|
|
6
18
|
|
|
7
19
|
/**
|
|
@@ -33,6 +45,9 @@ export abstract class BaseWallet implements Wallet {
|
|
|
33
45
|
getAccountPublicKey(address: AztecAddress): Promise<Point> {
|
|
34
46
|
return this.rpc.getAccountPublicKey(address);
|
|
35
47
|
}
|
|
48
|
+
getAccountAddress(publicKey: Point): Promise<AztecAddress> {
|
|
49
|
+
return this.rpc.getAccountAddress(publicKey);
|
|
50
|
+
}
|
|
36
51
|
addContracts(contracts: DeployedContract[]): Promise<void> {
|
|
37
52
|
return this.rpc.addContracts(contracts);
|
|
38
53
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { AztecAddress, DeployedContract, EthAddress, NodeInfo, Tx, TxHash, TxReceipt } from '@aztec/aztec-rpc';
|
|
2
1
|
import { MockProxy, mock } from 'jest-mock-extended';
|
|
3
|
-
|
|
2
|
+
import { DeployedContract, NodeInfo, Tx, TxHash, TxReceipt } from '@aztec/types';
|
|
4
3
|
import { ABIParameterVisibility, ContractAbi, FunctionType } from '@aztec/foundation/abi';
|
|
5
4
|
import { randomBytes } from '@aztec/foundation/crypto';
|
|
6
5
|
import { TxExecutionRequest } from '@aztec/types';
|
|
7
6
|
import { Wallet } from '../aztec_rpc_client/wallet.js';
|
|
8
7
|
import { Contract } from './contract.js';
|
|
8
|
+
import { AztecAddress, EthAddress } from '@aztec/circuits.js';
|
|
9
9
|
|
|
10
10
|
describe('Contract Class', () => {
|
|
11
11
|
let wallet: MockProxy<Wallet>;
|
|
@@ -102,7 +102,7 @@ describe('Contract Class', () => {
|
|
|
102
102
|
const param0 = 12;
|
|
103
103
|
const param1 = 345n;
|
|
104
104
|
const sentTx = fooContract.methods.bar(param0, param1).send({
|
|
105
|
-
|
|
105
|
+
origin: account,
|
|
106
106
|
});
|
|
107
107
|
const txHash = await sentTx.getTxHash();
|
|
108
108
|
const receipt = await sentTx.getReceipt();
|
|
@@ -128,7 +128,7 @@ describe('Contract Class', () => {
|
|
|
128
128
|
const fooContract = new Contract(contractAddress, defaultAbi, wallet);
|
|
129
129
|
expect(() =>
|
|
130
130
|
fooContract.methods.qux().send({
|
|
131
|
-
|
|
131
|
+
origin: account,
|
|
132
132
|
}),
|
|
133
133
|
).toThrow();
|
|
134
134
|
});
|
package/src/contract/contract.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ContractAbi, FunctionAbi } from '@aztec/foundation/abi';
|
|
1
|
+
import { ContractAbi, FunctionAbi, generateFunctionSelector } from '@aztec/foundation/abi';
|
|
3
2
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
4
|
import { Wallet } from '../aztec_rpc_client/wallet.js';
|
|
6
5
|
import { ContractFunctionInteraction } from './contract_function_interaction.js';
|
|
6
|
+
import { DeployedContract } from '@aztec/types';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Type representing a contract method that returns a ContractFunctionInteraction instance
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { encodeArguments } from '@aztec/acir-simulator';
|
|
2
|
-
import { generateFunctionSelector, Tx } from '@aztec/aztec-rpc';
|
|
3
1
|
import { AztecAddress, Fr, FunctionData, TxContext } from '@aztec/circuits.js';
|
|
4
|
-
import { FunctionAbi, FunctionType } from '@aztec/foundation/abi';
|
|
5
|
-
import { ExecutionRequest, TxExecutionRequest } from '@aztec/types';
|
|
2
|
+
import { FunctionAbi, FunctionType, encodeArguments, generateFunctionSelector } from '@aztec/foundation/abi';
|
|
3
|
+
import { ExecutionRequest, Tx, TxExecutionRequest } from '@aztec/types';
|
|
4
|
+
|
|
6
5
|
import { Wallet } from '../aztec_rpc_client/wallet.js';
|
|
7
6
|
import { SentTx } from './sent_tx.js';
|
|
8
7
|
|
|
@@ -14,7 +13,7 @@ export interface SendMethodOptions {
|
|
|
14
13
|
/**
|
|
15
14
|
* Sender's address initiating the transaction.
|
|
16
15
|
*/
|
|
17
|
-
|
|
16
|
+
origin?: AztecAddress;
|
|
18
17
|
/**
|
|
19
18
|
* The nonce representing the order of transactions sent by the address.
|
|
20
19
|
*/
|
|
@@ -61,7 +60,7 @@ export class ContractFunctionInteraction {
|
|
|
61
60
|
throw new Error("Can't call `create` on an unconstrained function.");
|
|
62
61
|
}
|
|
63
62
|
if (!this.txRequest) {
|
|
64
|
-
const executionRequest = this.getExecutionRequest(this.contractAddress, options.
|
|
63
|
+
const executionRequest = this.getExecutionRequest(this.contractAddress, options.origin);
|
|
65
64
|
const nodeInfo = await this.wallet.getNodeInfo();
|
|
66
65
|
const txContext = TxContext.empty(new Fr(nodeInfo.chainId), new Fr(nodeInfo.version));
|
|
67
66
|
const txRequest = await this.wallet.createAuthenticatedTxRequest([executionRequest], txContext);
|
package/src/contract/sent_tx.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AztecRPC, TxReceipt, TxHash, TxStatus } from '@aztec/aztec-rpc';
|
|
2
1
|
import { retryUntil } from '@aztec/foundation/retry';
|
|
2
|
+
import { AztecRPC, TxHash, TxReceipt, TxStatus } from '@aztec/types';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* The SentTx class represents a sent transaction through the AztecRPCClient, providing methods to fetch
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { AztecRPC, Tx, TxHash, TxReceipt } from '@aztec/aztec-rpc';
|
|
2
|
-
import { AztecAddress, EthAddress, Fr, Point } from '@aztec/circuits.js';
|
|
3
|
-
import { ContractAbi, FunctionType } from '@aztec/foundation/abi';
|
|
4
|
-
import { PublicKey } from '@aztec/key-store';
|
|
5
1
|
import { randomBytes } from 'crypto';
|
|
6
2
|
import { MockProxy, mock } from 'jest-mock-extended';
|
|
3
|
+
import { AztecAddress, EthAddress, Fr, Point } from '@aztec/circuits.js';
|
|
4
|
+
import { ContractAbi, FunctionType } from '@aztec/foundation/abi';
|
|
5
|
+
import { AztecRPC, Tx, TxHash, TxReceipt, PublicKey } from '@aztec/types';
|
|
6
|
+
|
|
7
7
|
import { ContractDeployer } from './contract_deployer.js';
|
|
8
8
|
|
|
9
9
|
describe.skip('Contract Deployer', () => {
|
|
@@ -43,7 +43,7 @@ describe.skip('Contract Deployer', () => {
|
|
|
43
43
|
const sentTx = deployer.deploy(args[0], args[1]).send({
|
|
44
44
|
portalContract,
|
|
45
45
|
contractAddressSalt,
|
|
46
|
-
|
|
46
|
+
origin: account,
|
|
47
47
|
});
|
|
48
48
|
const txHash = await sentTx.getTxHash();
|
|
49
49
|
const receipt = await sentTx.getReceipt();
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Point } from '@aztec/circuits.js';
|
|
2
2
|
import { ContractAbi } from '@aztec/foundation/abi';
|
|
3
|
+
import { AztecRPC, PublicKey } from '@aztec/types';
|
|
4
|
+
|
|
3
5
|
import { DeployMethod } from './deploy_method.js';
|
|
4
|
-
import { PublicKey } from '@aztec/key-store';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* A class for deploying contract.
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import {
|
|
2
|
+
CircuitsWasm,
|
|
3
|
+
ContractDeploymentData,
|
|
4
|
+
PartialContractAddress,
|
|
5
|
+
TxContext,
|
|
6
|
+
getContractDeploymentInfo,
|
|
7
|
+
} from '@aztec/circuits.js';
|
|
3
8
|
import { ContractAbi } from '@aztec/foundation/abi';
|
|
4
9
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
10
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
6
11
|
import { Fr } from '@aztec/foundation/fields';
|
|
7
|
-
import { PublicKey } from '@aztec/
|
|
8
|
-
|
|
12
|
+
import { AztecRPC, ExecutionRequest, PackedArguments, PublicKey, Tx, TxExecutionRequest } from '@aztec/types';
|
|
13
|
+
|
|
9
14
|
import { BaseWallet, Wallet } from '../aztec_rpc_client/wallet.js';
|
|
10
15
|
import { Contract, ContractFunctionInteraction, SendMethodOptions } from '../contract/index.js';
|
|
11
16
|
|
package/src/index.ts
CHANGED
|
@@ -6,4 +6,7 @@ export * from './auth/index.js';
|
|
|
6
6
|
export * from './account_impl/index.js';
|
|
7
7
|
|
|
8
8
|
// TODO - only export necessary stuffs
|
|
9
|
-
export * from '@aztec/aztec-rpc';
|
|
9
|
+
// export * from '@aztec/aztec-rpc';
|
|
10
|
+
|
|
11
|
+
export { AztecAddress, EthAddress, Point, Fr } from '@aztec/circuits.js';
|
|
12
|
+
export { AztecRPC } from '@aztec/types';
|