@aztec/aztec.js 0.6.7 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Dockerfile +15 -0
- package/package.json +6 -6
- package/src/abis/ecdsa_account_contract.json +2 -2
- package/src/abis/schnorr_account_contract.json +2 -2
- package/src/abis/schnorr_auth_witness_account_contract.json +542 -3
- package/src/abis/schnorr_single_key_account_contract.json +1 -1
- package/src/account/entrypoint/auth_witness_account_entrypoint.ts +41 -22
- package/src/account/entrypoint/entrypoint_payload.ts +1 -1
- package/src/account/entrypoint/index.ts +2 -10
- package/src/account/entrypoint/single_key_account_entrypoint.ts +2 -9
- package/src/account/entrypoint/stored_key_account_entrypoint.ts +2 -9
- package/src/aztec_rpc_client/wallet.ts +28 -13
- package/src/contract/base_contract_interaction.ts +0 -5
- package/src/contract/batch_call.ts +3 -4
- package/src/contract/contract.test.ts +2 -4
- package/src/contract/contract.ts +23 -0
- package/src/contract/contract_base.ts +14 -2
- package/src/contract/contract_function_interaction.ts +2 -3
- package/src/contract_deployer/contract_deployer.test.ts +1 -3
- package/src/contract_deployer/contract_deployer.ts +1 -1
- package/src/sandbox/index.ts +6 -19
- package/src/utils/account.ts +35 -79
- package/src/utils/cheat_codes.ts +3 -3
- package/.tsbuildinfo +0 -1
- package/dest/abis/ecdsa_account_contract.json +0 -160
- package/dest/abis/schnorr_account_contract.json +0 -148
- package/dest/abis/schnorr_auth_witness_account_contract.json +0 -104
- package/dest/abis/schnorr_single_key_account_contract.json +0 -103
- package/dest/account/account.d.ts +0 -72
- package/dest/account/account.d.ts.map +0 -1
- package/dest/account/account.js +0 -115
- package/dest/account/contract/auth_witness_account_contract.d.ts +0 -17
- package/dest/account/contract/auth_witness_account_contract.d.ts.map +0 -1
- package/dest/account/contract/auth_witness_account_contract.js +0 -23
- package/dest/account/contract/ecdsa_account_contract.d.ts +0 -16
- package/dest/account/contract/ecdsa_account_contract.d.ts.map +0 -1
- package/dest/account/contract/ecdsa_account_contract.js +0 -24
- package/dest/account/contract/index.d.ts +0 -28
- package/dest/account/contract/index.d.ts.map +0 -1
- package/dest/account/contract/index.js +0 -6
- package/dest/account/contract/schnorr_account_contract.d.ts +0 -16
- package/dest/account/contract/schnorr_account_contract.d.ts.map +0 -1
- package/dest/account/contract/schnorr_account_contract.js +0 -25
- package/dest/account/contract/single_key_account_contract.d.ts +0 -16
- package/dest/account/contract/single_key_account_contract.d.ts.map +0 -1
- package/dest/account/contract/single_key_account_contract.js +0 -21
- package/dest/account/deploy_account_sent_tx.d.ts +0 -28
- package/dest/account/deploy_account_sent_tx.d.ts.map +0 -1
- package/dest/account/deploy_account_sent_tx.js +0 -29
- package/dest/account/entrypoint/auth_witness_account_entrypoint.d.ts +0 -51
- package/dest/account/entrypoint/auth_witness_account_entrypoint.d.ts.map +0 -1
- package/dest/account/entrypoint/auth_witness_account_entrypoint.js +0 -82
- package/dest/account/entrypoint/entrypoint_collection.d.ts +0 -26
- package/dest/account/entrypoint/entrypoint_collection.d.ts.map +0 -1
- package/dest/account/entrypoint/entrypoint_collection.js +0 -40
- package/dest/account/entrypoint/entrypoint_payload.d.ts +0 -28
- package/dest/account/entrypoint/entrypoint_payload.d.ts.map +0 -1
- package/dest/account/entrypoint/entrypoint_payload.js +0 -48
- package/dest/account/entrypoint/entrypoint_utils.d.ts +0 -14
- package/dest/account/entrypoint/entrypoint_utils.d.ts.map +0 -1
- package/dest/account/entrypoint/entrypoint_utils.js +0 -24
- package/dest/account/entrypoint/index.d.ts +0 -27
- package/dest/account/entrypoint/index.d.ts.map +0 -1
- package/dest/account/entrypoint/index.js +0 -8
- package/dest/account/entrypoint/single_key_account_entrypoint.d.ts +0 -19
- package/dest/account/entrypoint/single_key_account_entrypoint.d.ts.map +0 -1
- package/dest/account/entrypoint/single_key_account_entrypoint.js +0 -53
- package/dest/account/entrypoint/stored_key_account_entrypoint.d.ts +0 -20
- package/dest/account/entrypoint/stored_key_account_entrypoint.d.ts.map +0 -1
- package/dest/account/entrypoint/stored_key_account_entrypoint.js +0 -50
- package/dest/account/index.d.ts +0 -50
- package/dest/account/index.d.ts.map +0 -1
- package/dest/account/index.js +0 -66
- package/dest/aztec_rpc_client/aztec_rpc_client.d.ts +0 -5
- package/dest/aztec_rpc_client/aztec_rpc_client.d.ts.map +0 -1
- package/dest/aztec_rpc_client/aztec_rpc_client.js +0 -18
- package/dest/aztec_rpc_client/index.d.ts +0 -3
- package/dest/aztec_rpc_client/index.d.ts.map +0 -1
- package/dest/aztec_rpc_client/index.js +0 -3
- package/dest/aztec_rpc_client/wallet.d.ts +0 -96
- package/dest/aztec_rpc_client/wallet.d.ts.map +0 -1
- package/dest/aztec_rpc_client/wallet.js +0 -167
- package/dest/contract/base_contract_interaction.d.ts +0 -50
- package/dest/contract/base_contract_interaction.d.ts.map +0 -1
- package/dest/contract/base_contract_interaction.js +0 -37
- package/dest/contract/batch_call.d.ts +0 -16
- package/dest/contract/batch_call.d.ts.map +0 -1
- package/dest/contract/batch_call.js +0 -22
- package/dest/contract/checker.d.ts +0 -11
- package/dest/contract/checker.d.ts.map +0 -1
- package/dest/contract/checker.js +0 -98
- package/dest/contract/checker.test.d.ts +0 -2
- package/dest/contract/checker.test.d.ts.map +0 -1
- package/dest/contract/checker.test.js +0 -168
- package/dest/contract/contract.d.ts +0 -22
- package/dest/contract/contract.d.ts.map +0 -1
- package/dest/contract/contract.js +0 -25
- package/dest/contract/contract.test.d.ts +0 -2
- package/dest/contract/contract.test.d.ts.map +0 -1
- package/dest/contract/contract.test.js +0 -143
- package/dest/contract/contract_base.d.ts +0 -63
- package/dest/contract/contract_base.d.ts.map +0 -1
- package/dest/contract/contract_base.js +0 -63
- package/dest/contract/contract_function_interaction.d.ts +0 -50
- package/dest/contract/contract_function_interaction.d.ts.map +0 -1
- package/dest/contract/contract_function_interaction.js +0 -60
- package/dest/contract/index.d.ts +0 -6
- package/dest/contract/index.d.ts.map +0 -1
- package/dest/contract/index.js +0 -6
- package/dest/contract/sent_tx.d.ts +0 -58
- package/dest/contract/sent_tx.d.ts.map +0 -1
- package/dest/contract/sent_tx.js +0 -86
- package/dest/contract/sent_tx.test.d.ts +0 -2
- package/dest/contract/sent_tx.test.d.ts.map +0 -1
- package/dest/contract/sent_tx.test.js +0 -42
- package/dest/contract_deployer/contract_deployer.d.ts +0 -25
- package/dest/contract_deployer/contract_deployer.d.ts.map +0 -1
- package/dest/contract_deployer/contract_deployer.js +0 -26
- package/dest/contract_deployer/contract_deployer.test.d.ts +0 -2
- package/dest/contract_deployer/contract_deployer.test.d.ts.map +0 -1
- package/dest/contract_deployer/contract_deployer.test.js +0 -48
- package/dest/contract_deployer/deploy_method.d.ts +0 -63
- package/dest/contract_deployer/deploy_method.d.ts.map +0 -1
- package/dest/contract_deployer/deploy_method.js +0 -80
- package/dest/contract_deployer/deploy_sent_tx.d.ts +0 -35
- package/dest/contract_deployer/deploy_sent_tx.d.ts.map +0 -1
- package/dest/contract_deployer/deploy_sent_tx.js +0 -39
- package/dest/contract_deployer/index.d.ts +0 -2
- package/dest/contract_deployer/index.d.ts.map +0 -1
- package/dest/contract_deployer/index.js +0 -2
- package/dest/index.d.ts +0 -13
- package/dest/index.d.ts.map +0 -1
- package/dest/index.js +0 -13
- package/dest/main.js +0 -2
- package/dest/main.js.LICENSE.txt +0 -10
- package/dest/sandbox/index.d.ts +0 -116
- package/dest/sandbox/index.d.ts.map +0 -1
- package/dest/sandbox/index.js +0 -75
- package/dest/utils/abi_types.d.ts +0 -7
- package/dest/utils/abi_types.d.ts.map +0 -1
- package/dest/utils/abi_types.js +0 -2
- package/dest/utils/account.d.ts +0 -20
- package/dest/utils/account.d.ts.map +0 -1
- package/dest/utils/account.js +0 -61
- package/dest/utils/cheat_codes.d.ts +0 -199
- package/dest/utils/cheat_codes.d.ts.map +0 -1
- package/dest/utils/cheat_codes.js +0 -279
- package/dest/utils/defaults.d.ts +0 -5
- package/dest/utils/defaults.d.ts.map +0 -1
- package/dest/utils/defaults.js +0 -5
- package/dest/utils/index.d.ts +0 -8
- package/dest/utils/index.d.ts.map +0 -1
- package/dest/utils/index.js +0 -8
- package/dest/utils/l1_contracts.d.ts +0 -32
- package/dest/utils/l1_contracts.d.ts.map +0 -1
- package/dest/utils/l1_contracts.js +0 -16
- package/dest/utils/l2_contracts.d.ts +0 -10
- package/dest/utils/l2_contracts.d.ts.map +0 -1
- package/dest/utils/l2_contracts.js +0 -10
- package/dest/utils/pub_key.d.ts +0 -8
- package/dest/utils/pub_key.d.ts.map +0 -1
- package/dest/utils/pub_key.js +0 -11
- package/dest/utils/secrets.d.ts +0 -8
- package/dest/utils/secrets.d.ts.map +0 -1
- package/dest/utils/secrets.js +0 -12
- package/src/account/entrypoint/entrypoint_collection.ts +0 -51
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ContractBase } from './contract_base.js';
|
|
2
|
-
/**
|
|
3
|
-
* The Contract class represents a contract and provides utility methods for interacting with it.
|
|
4
|
-
* It enables the creation of ContractFunctionInteraction instances for each function in the contract's ABI,
|
|
5
|
-
* allowing users to call or send transactions to these functions. Additionally, the Contract class can be used
|
|
6
|
-
* to attach the contract instance to a deployed contract on-chain through the AztecRPCClient, which facilitates
|
|
7
|
-
* interaction with Aztec's privacy protocol.
|
|
8
|
-
*/
|
|
9
|
-
export class Contract extends ContractBase {
|
|
10
|
-
/**
|
|
11
|
-
* Creates a contract instance.
|
|
12
|
-
* @param address - The deployed contract's address.
|
|
13
|
-
* @param abi - The Application Binary Interface for the contract.
|
|
14
|
-
* @param wallet - The wallet to use when interacting with the contract.
|
|
15
|
-
* @returns A promise that resolves to a new Contract instance.
|
|
16
|
-
*/
|
|
17
|
-
static async at(address, abi, wallet) {
|
|
18
|
-
const extendedContractData = await wallet.getExtendedContractData(address);
|
|
19
|
-
if (extendedContractData === undefined) {
|
|
20
|
-
throw new Error('Contract ' + address.toString() + ' is not deployed');
|
|
21
|
-
}
|
|
22
|
-
return new Contract(extendedContractData.getCompleteAddress(), abi, wallet);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWxEOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsWUFBWTtJQUN4Qzs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFxQixFQUFFLEdBQWdCLEVBQUUsTUFBYztRQUM1RSxNQUFNLG9CQUFvQixHQUFHLE1BQU0sTUFBTSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNFLElBQUksb0JBQW9CLEtBQUssU0FBUyxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsT0FBTyxJQUFJLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5RSxDQUFDO0NBQ0YifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contract.test.d.ts","sourceRoot":"","sources":["../../src/contract/contract.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { CompleteAddress, EthAddress } from '@aztec/circuits.js';
|
|
2
|
-
import { ABIParameterVisibility, FunctionType } from '@aztec/foundation/abi';
|
|
3
|
-
import { ExtendedContractData, randomContractAbi, randomDeployedContract, } from '@aztec/types';
|
|
4
|
-
import { mock } from 'jest-mock-extended';
|
|
5
|
-
import { Contract } from './contract.js';
|
|
6
|
-
describe('Contract Class', () => {
|
|
7
|
-
let wallet;
|
|
8
|
-
let resolvedExtendedContractData;
|
|
9
|
-
let contractAddress;
|
|
10
|
-
let account;
|
|
11
|
-
const mockTx = { type: 'Tx' };
|
|
12
|
-
const mockTxRequest = { type: 'TxRequest' };
|
|
13
|
-
const mockTxHash = { type: 'TxHash' };
|
|
14
|
-
const mockTxReceipt = { type: 'TxReceipt' };
|
|
15
|
-
const mockViewResultValue = 1;
|
|
16
|
-
const mockNodeInfo = { version: 1, chainId: 2, rollupAddress: EthAddress.random(), client: '' };
|
|
17
|
-
const defaultAbi = {
|
|
18
|
-
name: 'FooContract',
|
|
19
|
-
functions: [
|
|
20
|
-
{
|
|
21
|
-
name: 'bar',
|
|
22
|
-
functionType: FunctionType.SECRET,
|
|
23
|
-
isInternal: false,
|
|
24
|
-
parameters: [
|
|
25
|
-
{
|
|
26
|
-
name: 'value',
|
|
27
|
-
type: {
|
|
28
|
-
kind: 'field',
|
|
29
|
-
},
|
|
30
|
-
visibility: ABIParameterVisibility.PUBLIC,
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
name: 'value',
|
|
34
|
-
type: {
|
|
35
|
-
kind: 'field',
|
|
36
|
-
},
|
|
37
|
-
visibility: ABIParameterVisibility.SECRET,
|
|
38
|
-
},
|
|
39
|
-
],
|
|
40
|
-
returnTypes: [],
|
|
41
|
-
bytecode: '0af',
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
name: 'baz',
|
|
45
|
-
functionType: FunctionType.OPEN,
|
|
46
|
-
isInternal: false,
|
|
47
|
-
parameters: [],
|
|
48
|
-
returnTypes: [],
|
|
49
|
-
bytecode: '0be',
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
name: 'qux',
|
|
53
|
-
functionType: FunctionType.UNCONSTRAINED,
|
|
54
|
-
isInternal: false,
|
|
55
|
-
parameters: [
|
|
56
|
-
{
|
|
57
|
-
name: 'value',
|
|
58
|
-
type: {
|
|
59
|
-
kind: 'field',
|
|
60
|
-
},
|
|
61
|
-
visibility: ABIParameterVisibility.PUBLIC,
|
|
62
|
-
},
|
|
63
|
-
],
|
|
64
|
-
returnTypes: [
|
|
65
|
-
{
|
|
66
|
-
kind: 'integer',
|
|
67
|
-
sign: '',
|
|
68
|
-
width: 32,
|
|
69
|
-
},
|
|
70
|
-
],
|
|
71
|
-
bytecode: '0cd',
|
|
72
|
-
},
|
|
73
|
-
],
|
|
74
|
-
};
|
|
75
|
-
beforeEach(async () => {
|
|
76
|
-
resolvedExtendedContractData = ExtendedContractData.random();
|
|
77
|
-
contractAddress = resolvedExtendedContractData.contractData.contractAddress;
|
|
78
|
-
account = await CompleteAddress.random();
|
|
79
|
-
wallet = mock();
|
|
80
|
-
wallet.createTxExecutionRequest.mockResolvedValue(mockTxRequest);
|
|
81
|
-
wallet.getExtendedContractData.mockResolvedValue(resolvedExtendedContractData);
|
|
82
|
-
wallet.sendTx.mockResolvedValue(mockTxHash);
|
|
83
|
-
wallet.viewTx.mockResolvedValue(mockViewResultValue);
|
|
84
|
-
wallet.getTxReceipt.mockResolvedValue(mockTxReceipt);
|
|
85
|
-
wallet.getNodeInfo.mockResolvedValue(mockNodeInfo);
|
|
86
|
-
wallet.simulateTx.mockResolvedValue(mockTx);
|
|
87
|
-
wallet.getAccounts.mockResolvedValue([account]);
|
|
88
|
-
});
|
|
89
|
-
it('should create and send a contract method tx', async () => {
|
|
90
|
-
const fooContract = await Contract.at(contractAddress, defaultAbi, wallet);
|
|
91
|
-
const param0 = 12;
|
|
92
|
-
const param1 = 345n;
|
|
93
|
-
const sentTx = fooContract.methods.bar(param0, param1).send({
|
|
94
|
-
origin: account.address,
|
|
95
|
-
});
|
|
96
|
-
const txHash = await sentTx.getTxHash();
|
|
97
|
-
const receipt = await sentTx.getReceipt();
|
|
98
|
-
expect(txHash).toBe(mockTxHash);
|
|
99
|
-
expect(receipt).toBe(mockTxReceipt);
|
|
100
|
-
expect(wallet.createTxExecutionRequest).toHaveBeenCalledTimes(1);
|
|
101
|
-
expect(wallet.sendTx).toHaveBeenCalledTimes(1);
|
|
102
|
-
expect(wallet.sendTx).toHaveBeenCalledWith(mockTx);
|
|
103
|
-
});
|
|
104
|
-
it('should call view on an unconstrained function', async () => {
|
|
105
|
-
const fooContract = await Contract.at(contractAddress, defaultAbi, wallet);
|
|
106
|
-
const result = await fooContract.methods.qux(123n).view({
|
|
107
|
-
from: account.address,
|
|
108
|
-
});
|
|
109
|
-
expect(wallet.viewTx).toHaveBeenCalledTimes(1);
|
|
110
|
-
expect(wallet.viewTx).toHaveBeenCalledWith('qux', [123n], contractAddress, account.address);
|
|
111
|
-
expect(result).toBe(mockViewResultValue);
|
|
112
|
-
});
|
|
113
|
-
it('should not call create on an unconstrained function', async () => {
|
|
114
|
-
const fooContract = await Contract.at(contractAddress, defaultAbi, wallet);
|
|
115
|
-
await expect(fooContract.methods.qux().create({ origin: account.address })).rejects.toThrow();
|
|
116
|
-
});
|
|
117
|
-
it('should not call view on a secret or open function', async () => {
|
|
118
|
-
const fooContract = await Contract.at(contractAddress, defaultAbi, wallet);
|
|
119
|
-
expect(() => fooContract.methods.bar().view()).toThrow();
|
|
120
|
-
expect(() => fooContract.methods.baz().view()).toThrow();
|
|
121
|
-
});
|
|
122
|
-
it('should add contract and dependencies to aztec rpc', async () => {
|
|
123
|
-
const entry = {
|
|
124
|
-
abi: randomContractAbi(),
|
|
125
|
-
completeAddress: resolvedExtendedContractData.getCompleteAddress(),
|
|
126
|
-
portalContract: EthAddress.random(),
|
|
127
|
-
};
|
|
128
|
-
const contract = await Contract.at(entry.completeAddress.address, entry.abi, wallet);
|
|
129
|
-
{
|
|
130
|
-
await contract.attach(entry.portalContract);
|
|
131
|
-
expect(wallet.addContracts).toHaveBeenCalledTimes(1);
|
|
132
|
-
expect(wallet.addContracts).toHaveBeenCalledWith([entry]);
|
|
133
|
-
wallet.addContracts.mockClear();
|
|
134
|
-
}
|
|
135
|
-
{
|
|
136
|
-
const dependencies = [await randomDeployedContract(), await randomDeployedContract()];
|
|
137
|
-
await contract.attach(entry.portalContract, dependencies);
|
|
138
|
-
expect(wallet.addContracts).toHaveBeenCalledTimes(1);
|
|
139
|
-
expect(wallet.addContracts).toHaveBeenCalledWith([entry, ...dependencies]);
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBZSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRixPQUFPLEVBRUwsb0JBQW9CLEVBTXBCLGlCQUFpQixFQUNqQixzQkFBc0IsR0FDdkIsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFhLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtJQUM5QixJQUFJLE1BQXlCLENBQUM7SUFDOUIsSUFBSSw0QkFBa0QsQ0FBQztJQUN2RCxJQUFJLGVBQTZCLENBQUM7SUFDbEMsSUFBSSxPQUF3QixDQUFDO0lBRTdCLE1BQU0sTUFBTSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBZSxDQUFDO0lBQzNDLE1BQU0sYUFBYSxHQUFHLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBK0IsQ0FBQztJQUN6RSxNQUFNLFVBQVUsR0FBRyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQW1CLENBQUM7SUFDdkQsTUFBTSxhQUFhLEdBQUcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFzQixDQUFDO0lBQ2hFLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sWUFBWSxHQUFhLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBRTFHLE1BQU0sVUFBVSxH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
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { ContractAbi, FunctionSelector } from '@aztec/foundation/abi';
|
|
2
|
-
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
|
-
import { CompleteAddress, DeployedContract } from '@aztec/types';
|
|
4
|
-
import { Wallet } from '../aztec_rpc_client/wallet.js';
|
|
5
|
-
import { ContractFunctionInteraction } from './contract_function_interaction.js';
|
|
6
|
-
/**
|
|
7
|
-
* Type representing a contract method that returns a ContractFunctionInteraction instance
|
|
8
|
-
* and has a readonly 'selector' property of type Buffer. Takes any number of arguments.
|
|
9
|
-
*/
|
|
10
|
-
export type ContractMethod = ((...args: any[]) => ContractFunctionInteraction) & {
|
|
11
|
-
/**
|
|
12
|
-
* The unique identifier for a contract function in bytecode.
|
|
13
|
-
*/
|
|
14
|
-
readonly selector: FunctionSelector;
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* Abstract implementation of a contract extended by the Contract class and generated contract types.
|
|
18
|
-
*/
|
|
19
|
-
export declare abstract class ContractBase {
|
|
20
|
-
/**
|
|
21
|
-
* The deployed contract's complete address.
|
|
22
|
-
*/
|
|
23
|
-
readonly completeAddress: CompleteAddress;
|
|
24
|
-
/**
|
|
25
|
-
* The Application Binary Interface for the contract.
|
|
26
|
-
*/
|
|
27
|
-
readonly abi: ContractAbi;
|
|
28
|
-
/**
|
|
29
|
-
* The wallet.
|
|
30
|
-
*/
|
|
31
|
-
protected wallet: Wallet;
|
|
32
|
-
/**
|
|
33
|
-
* An object containing contract methods mapped to their respective names.
|
|
34
|
-
*/
|
|
35
|
-
methods: {
|
|
36
|
-
[name: string]: ContractMethod;
|
|
37
|
-
};
|
|
38
|
-
protected constructor(
|
|
39
|
-
/**
|
|
40
|
-
* The deployed contract's complete address.
|
|
41
|
-
*/
|
|
42
|
-
completeAddress: CompleteAddress,
|
|
43
|
-
/**
|
|
44
|
-
* The Application Binary Interface for the contract.
|
|
45
|
-
*/
|
|
46
|
-
abi: ContractAbi,
|
|
47
|
-
/**
|
|
48
|
-
* The wallet.
|
|
49
|
-
*/
|
|
50
|
-
wallet: Wallet);
|
|
51
|
-
get address(): import("@aztec/circuits.js").AztecAddress;
|
|
52
|
-
/**
|
|
53
|
-
* Attach the current contract instance to a portal contract and optionally add its dependencies.
|
|
54
|
-
* The function will return a promise that resolves when all contracts have been added to the AztecRPCClient.
|
|
55
|
-
* This is useful when you need to interact with a deployed contract that has multiple nested contracts.
|
|
56
|
-
*
|
|
57
|
-
* @param portalContract - The Ethereum address of the portal contract.
|
|
58
|
-
* @param dependencies - An optional array of additional DeployedContract instances to be attached.
|
|
59
|
-
* @returns A promise that resolves when all contracts are successfully added to the AztecRPCClient.
|
|
60
|
-
*/
|
|
61
|
-
attach(portalContract: EthAddress, dependencies?: DeployedContract[]): Promise<void>;
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=contract_base.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contract_base.d.ts","sourceRoot":"","sources":["../../src/contract/contract_base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAe,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,2BAA2B,CAAC,GAAG;IAC/E;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,8BAAsB,YAAY;IAO9B;;OAEG;aACa,eAAe,EAAE,eAAe;IAChD;;OAEG;aACa,GAAG,EAAE,WAAW;IAChC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;IAjB1B;;OAEG;IACI,OAAO,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,CAAM;IAExD,SAAS;IACP;;OAEG;IACa,eAAe,EAAE,eAAe;IAChD;;OAEG;IACa,GAAG,EAAE,WAAW;IAChC;;OAEG;IACO,MAAM,EAAE,MAAM;IAmB1B,IAAI,OAAO,8CAEV;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,cAAc,EAAE,UAAU,EAAE,YAAY,GAAE,gBAAgB,EAAO;CAQhF"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { FunctionSelector } from '@aztec/foundation/abi';
|
|
2
|
-
import { ContractFunctionInteraction } from './contract_function_interaction.js';
|
|
3
|
-
/**
|
|
4
|
-
* Abstract implementation of a contract extended by the Contract class and generated contract types.
|
|
5
|
-
*/
|
|
6
|
-
export class ContractBase {
|
|
7
|
-
constructor(
|
|
8
|
-
/**
|
|
9
|
-
* The deployed contract's complete address.
|
|
10
|
-
*/
|
|
11
|
-
completeAddress,
|
|
12
|
-
/**
|
|
13
|
-
* The Application Binary Interface for the contract.
|
|
14
|
-
*/
|
|
15
|
-
abi,
|
|
16
|
-
/**
|
|
17
|
-
* The wallet.
|
|
18
|
-
*/
|
|
19
|
-
wallet) {
|
|
20
|
-
this.completeAddress = completeAddress;
|
|
21
|
-
this.abi = abi;
|
|
22
|
-
this.wallet = wallet;
|
|
23
|
-
/**
|
|
24
|
-
* An object containing contract methods mapped to their respective names.
|
|
25
|
-
*/
|
|
26
|
-
this.methods = {};
|
|
27
|
-
abi.functions.forEach((f) => {
|
|
28
|
-
const interactionFunction = (...args) => {
|
|
29
|
-
return new ContractFunctionInteraction(this.wallet, this.completeAddress.address, f, args);
|
|
30
|
-
};
|
|
31
|
-
this.methods[f.name] = Object.assign(interactionFunction, {
|
|
32
|
-
/**
|
|
33
|
-
* A getter for users to fetch the function selector.
|
|
34
|
-
* @returns Selector of the function.
|
|
35
|
-
*/
|
|
36
|
-
get selector() {
|
|
37
|
-
return FunctionSelector.fromNameAndParameters(f.name, f.parameters);
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
get address() {
|
|
43
|
-
return this.completeAddress.address;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Attach the current contract instance to a portal contract and optionally add its dependencies.
|
|
47
|
-
* The function will return a promise that resolves when all contracts have been added to the AztecRPCClient.
|
|
48
|
-
* This is useful when you need to interact with a deployed contract that has multiple nested contracts.
|
|
49
|
-
*
|
|
50
|
-
* @param portalContract - The Ethereum address of the portal contract.
|
|
51
|
-
* @param dependencies - An optional array of additional DeployedContract instances to be attached.
|
|
52
|
-
* @returns A promise that resolves when all contracts are successfully added to the AztecRPCClient.
|
|
53
|
-
*/
|
|
54
|
-
attach(portalContract, dependencies = []) {
|
|
55
|
-
const deployedContract = {
|
|
56
|
-
abi: this.abi,
|
|
57
|
-
completeAddress: this.completeAddress,
|
|
58
|
-
portalContract,
|
|
59
|
-
};
|
|
60
|
-
return this.wallet.addContracts([deployedContract, ...dependencies]);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdF9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEIsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUtuRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQWFqRjs7R0FFRztBQUNILE1BQU0sT0FBZ0IsWUFBWTtJQU1oQztJQUNFOztPQUVHO0lBQ2EsZUFBZ0M7SUFDaEQ7O09BRUc7SUFDYSxHQUFnQjtJQUNoQzs7T0FFRztJQUNPLE1BQWM7UUFSUixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFJaEMsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQUl0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBakIxQjs7V0FFRztRQUNJLFlBQU8sR0FBdUMsRUFBRSxDQUFDO1FBZ0J0RCxHQUFHLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQWMsRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFO2dCQUM3QyxPQUFPLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDOUYsQ0FBQyxDQUFDO1lBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRTtnQkFDeEQ7OzttQkFHRztnQkFDSCxJQUFJLFFBQVE7b0JBQ1YsT0FBTyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDdEUsQ0FBQzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksTUFBTSxDQUFDLGNBQTBCLEVBQUUsZUFBbUMsRUFBRTtRQUM3RSxNQUFNLGdCQUFnQixHQUFxQjtZQUN6QyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsY0FBYztTQUNmLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7Q0FDRiJ9
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { AztecAddress } from '@aztec/circuits.js';
|
|
2
|
-
import { FunctionAbi } from '@aztec/foundation/abi';
|
|
3
|
-
import { FunctionCall, TxExecutionRequest } from '@aztec/types';
|
|
4
|
-
import { Wallet } from '../aztec_rpc_client/wallet.js';
|
|
5
|
-
import { BaseContractInteraction, SendMethodOptions } from './base_contract_interaction.js';
|
|
6
|
-
export { SendMethodOptions };
|
|
7
|
-
/**
|
|
8
|
-
* Represents the options for a view method in a contract function interaction.
|
|
9
|
-
* Allows specifying the address from which the view method should be called.
|
|
10
|
-
*/
|
|
11
|
-
export interface ViewMethodOptions {
|
|
12
|
-
/**
|
|
13
|
-
* The sender's Aztec address.
|
|
14
|
-
*/
|
|
15
|
-
from?: AztecAddress;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* This is the class that is returned when calling e.g. `contract.methods.myMethod(arg0, arg1)`.
|
|
19
|
-
* It contains available interactions one can call on a method, including view.
|
|
20
|
-
*/
|
|
21
|
-
export declare class ContractFunctionInteraction extends BaseContractInteraction {
|
|
22
|
-
protected wallet: Wallet;
|
|
23
|
-
protected contractAddress: AztecAddress;
|
|
24
|
-
protected functionDao: FunctionAbi;
|
|
25
|
-
protected args: any[];
|
|
26
|
-
constructor(wallet: Wallet, contractAddress: AztecAddress, functionDao: FunctionAbi, args: any[]);
|
|
27
|
-
/**
|
|
28
|
-
* Create a transaction execution request that represents this call, encoded and authenticated by the
|
|
29
|
-
* user's wallet, ready to be simulated.
|
|
30
|
-
* @param options - An optional object containing additional configuration for the transaction.
|
|
31
|
-
* @returns A Promise that resolves to a transaction instance.
|
|
32
|
-
*/
|
|
33
|
-
create(options?: SendMethodOptions): Promise<TxExecutionRequest>;
|
|
34
|
-
/**
|
|
35
|
-
* Returns an execution request that represents this operation. Useful as a building
|
|
36
|
-
* block for constructing batch requests.
|
|
37
|
-
* @param options - An optional object containing additional configuration for the transaction.
|
|
38
|
-
* @returns An execution request wrapped in promise.
|
|
39
|
-
*/
|
|
40
|
-
request(): FunctionCall;
|
|
41
|
-
/**
|
|
42
|
-
* Execute a view (read-only) transaction on an unconstrained function.
|
|
43
|
-
* This method is used to call functions that do not modify the contract state and only return data.
|
|
44
|
-
* Throws an error if called on a non-unconstrained function.
|
|
45
|
-
* @param options - An optional object containing additional configuration for the transaction.
|
|
46
|
-
* @returns The result of the view transaction as returned by the contract function.
|
|
47
|
-
*/
|
|
48
|
-
view(options?: ViewMethodOptions): Promise<any>;
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=contract_function_interaction.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAiC,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAE5F,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,uBAAuB;IAEpE,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,SAAS,CAAC,eAAe,EAAE,YAAY;IACvC,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;gBAHX,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,GAAG,EAAE;IAQvB;;;;;OAKG;IACU,MAAM,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAUjF;;;;;OAKG;IACI,OAAO,IAAI,YAAY;IAM9B;;;;;;OAMG;IACI,IAAI,CAAC,OAAO,GAAE,iBAAsB;CAQ5C"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { FunctionData } from '@aztec/circuits.js';
|
|
2
|
-
import { FunctionType, encodeArguments } from '@aztec/foundation/abi';
|
|
3
|
-
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
4
|
-
/**
|
|
5
|
-
* This is the class that is returned when calling e.g. `contract.methods.myMethod(arg0, arg1)`.
|
|
6
|
-
* It contains available interactions one can call on a method, including view.
|
|
7
|
-
*/
|
|
8
|
-
export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
9
|
-
constructor(wallet, contractAddress, functionDao, args) {
|
|
10
|
-
super(wallet);
|
|
11
|
-
this.wallet = wallet;
|
|
12
|
-
this.contractAddress = contractAddress;
|
|
13
|
-
this.functionDao = functionDao;
|
|
14
|
-
this.args = args;
|
|
15
|
-
if (args.some(arg => arg === undefined || arg === null)) {
|
|
16
|
-
throw new Error('All function interaction arguments must be defined and not null. Received: ' + args);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Create a transaction execution request that represents this call, encoded and authenticated by the
|
|
21
|
-
* user's wallet, ready to be simulated.
|
|
22
|
-
* @param options - An optional object containing additional configuration for the transaction.
|
|
23
|
-
* @returns A Promise that resolves to a transaction instance.
|
|
24
|
-
*/
|
|
25
|
-
async create(options = {}) {
|
|
26
|
-
if (this.functionDao.functionType === FunctionType.UNCONSTRAINED) {
|
|
27
|
-
throw new Error("Can't call `create` on an unconstrained function.");
|
|
28
|
-
}
|
|
29
|
-
if (!this.txRequest) {
|
|
30
|
-
this.txRequest = await this.wallet.createTxExecutionRequest([this.request()], options);
|
|
31
|
-
}
|
|
32
|
-
return this.txRequest;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Returns an execution request that represents this operation. Useful as a building
|
|
36
|
-
* block for constructing batch requests.
|
|
37
|
-
* @param options - An optional object containing additional configuration for the transaction.
|
|
38
|
-
* @returns An execution request wrapped in promise.
|
|
39
|
-
*/
|
|
40
|
-
request() {
|
|
41
|
-
const args = encodeArguments(this.functionDao, this.args);
|
|
42
|
-
const functionData = FunctionData.fromAbi(this.functionDao);
|
|
43
|
-
return { args, functionData, to: this.contractAddress };
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Execute a view (read-only) transaction on an unconstrained function.
|
|
47
|
-
* This method is used to call functions that do not modify the contract state and only return data.
|
|
48
|
-
* Throws an error if called on a non-unconstrained function.
|
|
49
|
-
* @param options - An optional object containing additional configuration for the transaction.
|
|
50
|
-
* @returns The result of the view transaction as returned by the contract function.
|
|
51
|
-
*/
|
|
52
|
-
view(options = {}) {
|
|
53
|
-
if (this.functionDao.functionType !== FunctionType.UNCONSTRAINED) {
|
|
54
|
-
throw new Error('Can only call `view` on an unconstrained function.');
|
|
55
|
-
}
|
|
56
|
-
const { from } = options;
|
|
57
|
-
return this.wallet.viewTx(this.functionDao.name, this.args, this.contractAddress, from);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRSxPQUFPLEVBQWUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSW5GLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQWU1Rjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsdUJBQXVCO0lBQ3RFLFlBQ1ksTUFBYyxFQUNkLGVBQTZCLEVBQzdCLFdBQXdCLEVBQ3hCLElBQVc7UUFFckIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBTEosV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFjO1FBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFNBQUksR0FBSixJQUFJLENBQU87UUFHckIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDdkQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2RUFBNkUsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUN2RztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBNkIsRUFBRTtRQUNqRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxLQUFLLFlBQVksQ0FBQyxhQUFhLEVBQUU7WUFDaEUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1NBQ3RFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUN4RjtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxPQUFPO1FBQ1osTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLElBQUksQ0FBQyxVQUE2QixFQUFFO1FBQ3pDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEtBQUssWUFBWSxDQUFDLGFBQWEsRUFBRTtZQUNoRSxNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7U0FDdkU7UUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFGLENBQUM7Q0FDRiJ9
|
package/dest/contract/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,oCAAoC,CAAC;AACnD,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
|
package/dest/contract/index.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from './contract.js';
|
|
2
|
-
export * from './contract_function_interaction.js';
|
|
3
|
-
export * from './sent_tx.js';
|
|
4
|
-
export * from './contract_base.js';
|
|
5
|
-
export * from './batch_call.js';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsaUJBQWlCLENBQUMifQ==
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { FieldsOf } from '@aztec/circuits.js';
|
|
2
|
-
import { AztecRPC, TxHash, TxReceipt } from '@aztec/types';
|
|
3
|
-
/** Options related to waiting for a tx. */
|
|
4
|
-
export type WaitOpts = {
|
|
5
|
-
/** The maximum time (in seconds) to wait for the transaction to be mined. Defaults to 60. */
|
|
6
|
-
timeout?: number;
|
|
7
|
-
/** The time interval (in seconds) between retries to fetch the transaction receipt. Defaults to 1. */
|
|
8
|
-
interval?: number;
|
|
9
|
-
/**
|
|
10
|
-
* Whether to wait for the RPC server to sync all notes up to the block in which this tx was mined.
|
|
11
|
-
* If false, then any queries that depend on state set by this transaction may return stale data. Defaults to true.
|
|
12
|
-
**/
|
|
13
|
-
waitForNotesSync?: boolean;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* The SentTx class represents a sent transaction through the AztecRPCClient, providing methods to fetch
|
|
17
|
-
* its hash, receipt, and mining status.
|
|
18
|
-
*/
|
|
19
|
-
export declare class SentTx {
|
|
20
|
-
protected arc: AztecRPC;
|
|
21
|
-
protected txHashPromise: Promise<TxHash>;
|
|
22
|
-
constructor(arc: AztecRPC, txHashPromise: Promise<TxHash>);
|
|
23
|
-
/**
|
|
24
|
-
* Retrieves the transaction hash of the SentTx instance.
|
|
25
|
-
* The function internally awaits for the 'txHashPromise' to resolve, and then returns the resolved transaction hash.
|
|
26
|
-
*
|
|
27
|
-
* @returns A promise that resolves to the transaction hash of the SentTx instance.
|
|
28
|
-
*/
|
|
29
|
-
getTxHash(): Promise<TxHash>;
|
|
30
|
-
/**
|
|
31
|
-
* Retrieve the transaction receipt associated with the current SentTx instance.
|
|
32
|
-
* The function fetches the transaction hash using 'getTxHash' and then queries
|
|
33
|
-
* the AztecRPCClient to get the corresponding transaction receipt.
|
|
34
|
-
*
|
|
35
|
-
* @returns A promise that resolves to a TxReceipt object representing the fetched transaction receipt.
|
|
36
|
-
*/
|
|
37
|
-
getReceipt(): Promise<TxReceipt>;
|
|
38
|
-
/**
|
|
39
|
-
* Awaits for a tx to be mined and returns the receipt. Throws if tx is not mined.
|
|
40
|
-
* @param opts - Options for configuring the waiting for the tx to be mined.
|
|
41
|
-
* @returns The transaction receipt.
|
|
42
|
-
*/
|
|
43
|
-
wait(opts?: WaitOpts): Promise<FieldsOf<TxReceipt>>;
|
|
44
|
-
/**
|
|
45
|
-
* Checks whether the transaction is mined or not within the specified timeout and retry interval.
|
|
46
|
-
* Resolves to true if the transaction status is 'MINED', false otherwise.
|
|
47
|
-
* Throws an error if the transaction receipt cannot be fetched after the given timeout.
|
|
48
|
-
*
|
|
49
|
-
* @deprecated Use wait() instead as it throws if the tx is not mined,
|
|
50
|
-
* while this would silently fail if the return value isn't checked explicitly.
|
|
51
|
-
*
|
|
52
|
-
* @param opts - Options for configuring the waiting for the tx to be mined.
|
|
53
|
-
* @returns A Promise that resolves to a boolean indicating if the transaction is mined or not.
|
|
54
|
-
*/
|
|
55
|
-
isMined(opts?: WaitOpts): Promise<boolean>;
|
|
56
|
-
protected waitForReceipt(opts?: WaitOpts): Promise<TxReceipt>;
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=sent_tx.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/sent_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAY,MAAM,cAAc,CAAC;AAIrE,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG;IACrB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;QAGI;IACJ,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAQF;;;GAGG;AACH,qBAAa,MAAM;IACL,SAAS,CAAC,GAAG,EAAE,QAAQ;IAAE,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;gBAAvD,GAAG,EAAE,QAAQ,EAAY,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;IAE7E;;;;;OAKG;IACU,SAAS;IAItB;;;;;;OAMG;IACU,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAK7C;;;;OAIG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAOhE;;;;;;;;;;OAUG;IACU,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;cAKvC,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;CAuBpE"}
|
package/dest/contract/sent_tx.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { retryUntil } from '@aztec/foundation/retry';
|
|
2
|
-
import { TxStatus } from '@aztec/types';
|
|
3
|
-
import every from 'lodash.every';
|
|
4
|
-
const DefaultWaitOpts = {
|
|
5
|
-
timeout: 60,
|
|
6
|
-
interval: 1,
|
|
7
|
-
waitForNotesSync: true,
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* The SentTx class represents a sent transaction through the AztecRPCClient, providing methods to fetch
|
|
11
|
-
* its hash, receipt, and mining status.
|
|
12
|
-
*/
|
|
13
|
-
export class SentTx {
|
|
14
|
-
constructor(arc, txHashPromise) {
|
|
15
|
-
this.arc = arc;
|
|
16
|
-
this.txHashPromise = txHashPromise;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Retrieves the transaction hash of the SentTx instance.
|
|
20
|
-
* The function internally awaits for the 'txHashPromise' to resolve, and then returns the resolved transaction hash.
|
|
21
|
-
*
|
|
22
|
-
* @returns A promise that resolves to the transaction hash of the SentTx instance.
|
|
23
|
-
*/
|
|
24
|
-
async getTxHash() {
|
|
25
|
-
return await this.txHashPromise;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Retrieve the transaction receipt associated with the current SentTx instance.
|
|
29
|
-
* The function fetches the transaction hash using 'getTxHash' and then queries
|
|
30
|
-
* the AztecRPCClient to get the corresponding transaction receipt.
|
|
31
|
-
*
|
|
32
|
-
* @returns A promise that resolves to a TxReceipt object representing the fetched transaction receipt.
|
|
33
|
-
*/
|
|
34
|
-
async getReceipt() {
|
|
35
|
-
const txHash = await this.getTxHash();
|
|
36
|
-
return await this.arc.getTxReceipt(txHash);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Awaits for a tx to be mined and returns the receipt. Throws if tx is not mined.
|
|
40
|
-
* @param opts - Options for configuring the waiting for the tx to be mined.
|
|
41
|
-
* @returns The transaction receipt.
|
|
42
|
-
*/
|
|
43
|
-
async wait(opts) {
|
|
44
|
-
const receipt = await this.waitForReceipt(opts);
|
|
45
|
-
if (receipt.status !== TxStatus.MINED)
|
|
46
|
-
throw new Error(`Transaction ${await this.getTxHash()} was ${receipt.status}`);
|
|
47
|
-
return receipt;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Checks whether the transaction is mined or not within the specified timeout and retry interval.
|
|
51
|
-
* Resolves to true if the transaction status is 'MINED', false otherwise.
|
|
52
|
-
* Throws an error if the transaction receipt cannot be fetched after the given timeout.
|
|
53
|
-
*
|
|
54
|
-
* @deprecated Use wait() instead as it throws if the tx is not mined,
|
|
55
|
-
* while this would silently fail if the return value isn't checked explicitly.
|
|
56
|
-
*
|
|
57
|
-
* @param opts - Options for configuring the waiting for the tx to be mined.
|
|
58
|
-
* @returns A Promise that resolves to a boolean indicating if the transaction is mined or not.
|
|
59
|
-
*/
|
|
60
|
-
async isMined(opts) {
|
|
61
|
-
const receipt = await this.waitForReceipt(opts);
|
|
62
|
-
return receipt.status === TxStatus.MINED;
|
|
63
|
-
}
|
|
64
|
-
async waitForReceipt(opts) {
|
|
65
|
-
const txHash = await this.getTxHash();
|
|
66
|
-
return await retryUntil(async () => {
|
|
67
|
-
const txReceipt = await this.arc.getTxReceipt(txHash);
|
|
68
|
-
// If receipt is not yet available, try again
|
|
69
|
-
if (txReceipt.status === TxStatus.PENDING)
|
|
70
|
-
return undefined;
|
|
71
|
-
// If the tx was dropped, return it
|
|
72
|
-
if (txReceipt.status === TxStatus.DROPPED)
|
|
73
|
-
return txReceipt;
|
|
74
|
-
// If we don't care about waiting for notes to be synced, return the receipt
|
|
75
|
-
const waitForNotesSync = opts?.waitForNotesSync ?? DefaultWaitOpts.waitForNotesSync;
|
|
76
|
-
if (!waitForNotesSync)
|
|
77
|
-
return txReceipt;
|
|
78
|
-
// Check if all sync blocks on the rpc server are greater or equal than the block in which the tx was mined
|
|
79
|
-
const { blocks, notes } = await this.arc.getSyncStatus();
|
|
80
|
-
const targetBlock = txReceipt.blockNumber;
|
|
81
|
-
const areNotesSynced = blocks >= targetBlock && every(notes, block => block >= targetBlock);
|
|
82
|
-
return areNotesSynced ? txReceipt : undefined;
|
|
83
|
-
}, 'isMined', opts?.timeout ?? DefaultWaitOpts.timeout, opts?.interval ?? DefaultWaitOpts.interval);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudF90eC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9zZW50X3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQStCLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVyRSxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFlakMsTUFBTSxlQUFlLEdBQWE7SUFDaEMsT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsQ0FBQztJQUNYLGdCQUFnQixFQUFFLElBQUk7Q0FDdkIsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sT0FBTyxNQUFNO0lBQ2pCLFlBQXNCLEdBQWEsRUFBWSxhQUE4QjtRQUF2RCxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQVksa0JBQWEsR0FBYixhQUFhLENBQWlCO0lBQUcsQ0FBQztJQUVqRjs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxTQUFTO1FBQ3BCLE9BQU8sTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxLQUFLLENBQUMsVUFBVTtRQUNyQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN0QyxPQUFPLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQWU7UUFDL0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsS0FBSztZQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDakYsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQWU7UUFDbEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELE9BQU8sT0FBTyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFFUyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQWU7UUFDNUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEMsT0FBTyxNQUFNLFVBQVUsQ0FDckIsS0FBSyxJQUFJLEVBQUU7WUFDVCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RELDZDQUE2QztZQUM3QyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLE9BQU87Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFDNUQsbUNBQW1DO1lBQ25DLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsT0FBTztnQkFBRSxPQUFPLFNBQVMsQ0FBQztZQUM1RCw0RUFBNEU7WUFDNUUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEVBQUUsZ0JBQWdCLElBQUksZUFBZSxDQUFDLGdCQUFnQixDQUFDO1lBQ3BGLElBQUksQ0FBQyxnQkFBZ0I7Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFDeEMsMkdBQTJHO1lBQzNHLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pELE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxXQUFZLENBQUM7WUFDM0MsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLFdBQVcsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLFdBQVcsQ0FBQyxDQUFDO1lBQzVGLE9BQU8sY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNoRCxDQUFDLEVBQ0QsU0FBUyxFQUNULElBQUksRUFBRSxPQUFPLElBQUksZUFBZSxDQUFDLE9BQU8sRUFDeEMsSUFBSSxFQUFFLFFBQVEsSUFBSSxlQUFlLENBQUMsUUFBUSxDQUMzQyxDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sent_tx.test.d.ts","sourceRoot":"","sources":["../../src/contract/sent_tx.test.ts"],"names":[],"mappings":""}
|