@aztec/aztec.js 0.24.0 → 0.26.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/dest/account_manager/index.d.ts +4 -2
- package/dest/account_manager/index.d.ts.map +1 -1
- package/dest/account_manager/index.js +15 -6
- package/dest/api/fee.d.ts +2 -1
- package/dest/api/fee.d.ts.map +1 -1
- package/dest/api/fee.js +3 -2
- package/dest/contract/base_contract_interaction.d.ts +5 -0
- package/dest/contract/base_contract_interaction.d.ts.map +1 -1
- package/dest/contract/base_contract_interaction.js +1 -1
- package/dest/contract/batch_call.d.ts +3 -2
- package/dest/contract/batch_call.d.ts.map +1 -1
- package/dest/contract/batch_call.js +4 -3
- package/dest/contract/contract.d.ts +4 -2
- package/dest/contract/contract.d.ts.map +1 -1
- package/dest/contract/contract.js +7 -5
- package/dest/contract/contract_function_interaction.d.ts +2 -2
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +4 -4
- package/dest/contract/deploy_method.d.ts +37 -12
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +79 -35
- package/dest/contract/deploy_sent_tx.d.ts +3 -3
- package/dest/contract/deploy_sent_tx.d.ts.map +1 -1
- package/dest/contract/deploy_sent_tx.js +4 -7
- package/dest/contract/sent_tx.d.ts.map +1 -1
- package/dest/contract/sent_tx.js +10 -10
- package/dest/deployment/contract_deployer.d.ts +4 -3
- package/dest/deployment/contract_deployer.d.ts.map +1 -1
- package/dest/deployment/contract_deployer.js +5 -4
- package/dest/deployment/register_class.d.ts +1 -1
- package/dest/deployment/register_class.d.ts.map +1 -1
- package/dest/deployment/register_class.js +4 -3
- package/dest/fee/fee_payment_method.d.ts +1 -5
- package/dest/fee/fee_payment_method.d.ts.map +1 -1
- package/dest/fee/native_fee_payment_method.d.ts +3 -3
- package/dest/fee/native_fee_payment_method.d.ts.map +1 -1
- package/dest/fee/native_fee_payment_method.js +5 -6
- package/dest/fee/{generic_fee_payment_method.d.ts → private_fee_payment_method.d.ts} +8 -14
- package/dest/fee/private_fee_payment_method.d.ts.map +1 -0
- package/dest/fee/private_fee_payment_method.js +62 -0
- package/dest/fee/public_fee_payment_method.d.ts +52 -0
- package/dest/fee/public_fee_payment_method.d.ts.map +1 -0
- package/dest/fee/public_fee_payment_method.js +62 -0
- package/dest/index.d.ts +4 -3
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +5 -4
- package/dest/rpc_clients/pxe_client.d.ts.map +1 -1
- package/dest/rpc_clients/pxe_client.js +15 -15
- package/dest/utils/authwit.d.ts +30 -4
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/authwit.js +35 -5
- package/dest/utils/cheat_codes.js +2 -2
- package/dest/utils/index.d.ts +0 -1
- package/dest/utils/index.d.ts.map +1 -1
- package/dest/utils/index.js +1 -2
- package/dest/utils/l2_contracts.js +2 -2
- package/dest/wallet/account_wallet.d.ts +8 -1
- package/dest/wallet/account_wallet.d.ts.map +1 -1
- package/dest/wallet/account_wallet.js +32 -8
- package/dest/wallet/base_wallet.d.ts +5 -3
- package/dest/wallet/base_wallet.d.ts.map +1 -1
- package/dest/wallet/base_wallet.js +9 -3
- package/dest/wallet/signerless_wallet.js +2 -2
- package/package.json +7 -7
- package/src/account_manager/index.ts +20 -5
- package/src/api/fee.ts +2 -1
- package/src/contract/base_contract_interaction.ts +6 -0
- package/src/contract/batch_call.ts +4 -3
- package/src/contract/contract.ts +12 -4
- package/src/contract/contract_function_interaction.ts +3 -3
- package/src/contract/deploy_method.ts +105 -64
- package/src/contract/deploy_sent_tx.ts +4 -7
- package/src/contract/sent_tx.ts +9 -9
- package/src/deployment/contract_deployer.ts +15 -3
- package/src/deployment/register_class.ts +6 -2
- package/src/fee/fee_payment_method.ts +1 -6
- package/src/fee/native_fee_payment_method.ts +5 -6
- package/src/fee/{generic_fee_payment_method.ts → private_fee_payment_method.ts} +27 -29
- package/src/fee/public_fee_payment_method.ts +79 -0
- package/src/index.ts +8 -2
- package/src/rpc_clients/pxe_client.ts +15 -14
- package/src/utils/authwit.ts +45 -7
- package/src/utils/cheat_codes.ts +1 -1
- package/src/utils/index.ts +0 -1
- package/src/utils/l2_contracts.ts +1 -1
- package/src/wallet/account_wallet.ts +31 -7
- package/src/wallet/base_wallet.ts +10 -4
- package/src/wallet/signerless_wallet.ts +1 -1
- package/dest/fee/generic_fee_payment_method.d.ts.map +0 -1
- package/dest/fee/generic_fee_payment_method.js +0 -73
- package/dest/utils/secrets.d.ts +0 -8
- package/dest/utils/secrets.d.ts.map +0 -1
- package/dest/utils/secrets.js +0 -10
- package/src/utils/secrets.ts +0 -11
|
@@ -1,25 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ContractDeploymentData, FunctionData, TxContext, computePartialAddress, getContractInstanceFromDeployParams, } from '@aztec/circuits.js';
|
|
3
|
-
import { encodeArguments } from '@aztec/foundation/abi';
|
|
1
|
+
import { computePartialAddress, getContractClassFromArtifact, getContractInstanceFromDeployParams, } from '@aztec/circuits.js';
|
|
4
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { createDebugLogger } from '@aztec/foundation/log';
|
|
5
|
+
import { deployInstance } from '../deployment/deploy_instance.js';
|
|
6
|
+
import { registerContractClass } from '../deployment/register_class.js';
|
|
6
7
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
8
|
+
import { ContractFunctionInteraction } from './contract_function_interaction.js';
|
|
7
9
|
import { DeploySentTx } from './deploy_sent_tx.js';
|
|
10
|
+
// TODO(@spalladino): Add unit tests for this class!
|
|
8
11
|
/**
|
|
9
|
-
*
|
|
10
|
-
* Extends the
|
|
12
|
+
* Contract interaction for deployment. Handles class registration, public instance deployment,
|
|
13
|
+
* and initialization of the contract. Extends the BaseContractInteraction class.
|
|
11
14
|
*/
|
|
12
15
|
export class DeployMethod extends BaseContractInteraction {
|
|
13
|
-
constructor(publicKey,
|
|
14
|
-
super(
|
|
16
|
+
constructor(publicKey, wallet, artifact, postDeployCtor, args = [], constructorName = 'constructor') {
|
|
17
|
+
super(wallet);
|
|
15
18
|
this.publicKey = publicKey;
|
|
16
|
-
this.
|
|
19
|
+
this.wallet = wallet;
|
|
17
20
|
this.artifact = artifact;
|
|
18
21
|
this.postDeployCtor = postDeployCtor;
|
|
19
22
|
this.args = args;
|
|
20
23
|
/** The contract instance to be deployed. */
|
|
21
24
|
this.instance = undefined;
|
|
22
|
-
|
|
25
|
+
this.log = createDebugLogger('aztec:js:deploy_method');
|
|
26
|
+
const constructorArtifact = artifact.functions.find(f => f.name === constructorName);
|
|
23
27
|
if (!constructorArtifact) {
|
|
24
28
|
throw new Error('Cannot find constructor in the artifact.');
|
|
25
29
|
}
|
|
@@ -35,32 +39,57 @@ export class DeployMethod extends BaseContractInteraction {
|
|
|
35
39
|
* @returns A Promise resolving to an object containing the signed transaction data and other relevant information.
|
|
36
40
|
*/
|
|
37
41
|
async create(options = {}) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const address = instance.address;
|
|
44
|
-
const contractDeploymentData = new ContractDeploymentData(this.publicKey, instance.initializationHash, instance.contractClassId, contractAddressSalt, portalContract);
|
|
45
|
-
const txContext = new TxContext(false, false, true, contractDeploymentData, new Fr(chainId), new Fr(protocolVersion));
|
|
46
|
-
const args = encodeArguments(this.constructorArtifact, this.args);
|
|
47
|
-
const functionData = FunctionData.fromAbi(this.constructorArtifact);
|
|
48
|
-
const execution = { args, functionData, to: address };
|
|
49
|
-
const packedArguments = PackedArguments.fromArgs(execution.args);
|
|
50
|
-
const txRequest = TxExecutionRequest.from({
|
|
51
|
-
origin: execution.to,
|
|
52
|
-
functionData: execution.functionData,
|
|
53
|
-
argsHash: packedArguments.hash,
|
|
54
|
-
txContext,
|
|
55
|
-
packedArguments: [packedArguments],
|
|
56
|
-
authWitnesses: [],
|
|
57
|
-
});
|
|
58
|
-
this.txRequest = txRequest;
|
|
59
|
-
this.instance = instance;
|
|
60
|
-
// TODO: Should we add the contracts to the DB here, or once the tx has been sent or mined?
|
|
61
|
-
await this.pxe.addContracts([{ artifact: this.artifact, instance }]);
|
|
42
|
+
if (!this.txRequest) {
|
|
43
|
+
this.txRequest = await this.wallet.createTxExecutionRequest(await this.request(options));
|
|
44
|
+
// TODO: Should we add the contracts to the DB here, or once the tx has been sent or mined?
|
|
45
|
+
await this.pxe.addContracts([{ artifact: this.artifact, instance: this.instance }]);
|
|
46
|
+
}
|
|
62
47
|
return this.txRequest;
|
|
63
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Returns an array of function calls that represent this operation. Useful as a building
|
|
51
|
+
* block for constructing batch requests.
|
|
52
|
+
* @param options - Deployment options.
|
|
53
|
+
* @returns An array of function calls.
|
|
54
|
+
* @remarks This method does not have the same return type as the `request` in the ContractInteraction object,
|
|
55
|
+
* it returns a promise for an array instead of a function call directly.
|
|
56
|
+
*/
|
|
57
|
+
async request(options = {}) {
|
|
58
|
+
const { address } = this.getInstance(options);
|
|
59
|
+
const constructorCall = new ContractFunctionInteraction(this.wallet, address, this.constructorArtifact, this.args);
|
|
60
|
+
return [...(await this.getDeploymentFunctionCalls(options)), constructorCall.request()];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Returns calls for registration of the class and deployment of the instance, depending on the provided options.
|
|
64
|
+
* @param options - Deployment options.
|
|
65
|
+
* @returns A function call array with potentially requests to the class registerer and instance deployer.
|
|
66
|
+
*/
|
|
67
|
+
async getDeploymentFunctionCalls(options = {}) {
|
|
68
|
+
const calls = [];
|
|
69
|
+
// Set contract instance object so it's available for populating the DeploySendTx object
|
|
70
|
+
const instance = this.getInstance(options);
|
|
71
|
+
// Obtain contract class from artifact and check it matches the reported one by the instance.
|
|
72
|
+
// TODO(@spalladino): We're unnecessarily calculating the contract class multiple times here.
|
|
73
|
+
const contractClass = getContractClassFromArtifact(this.artifact);
|
|
74
|
+
if (!instance.contractClassId.equals(contractClass.id)) {
|
|
75
|
+
throw new Error(`Contract class mismatch when deploying contract: got ${instance.contractClassId.toString()} from instance and ${contractClass.id.toString()} from artifact`);
|
|
76
|
+
}
|
|
77
|
+
// Register the contract class if it hasn't been published already.
|
|
78
|
+
if (!options.skipClassRegistration) {
|
|
79
|
+
if (await this.pxe.isContractClassPubliclyRegistered(contractClass.id)) {
|
|
80
|
+
this.log(`Skipping registration of already registered contract class ${contractClass.id.toString()} for ${instance.address.toString()}`);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
this.log(`Creating request for registering contract class ${contractClass.id.toString()} as part of deployment for ${instance.address.toString()}`);
|
|
84
|
+
calls.push((await registerContractClass(this.wallet, this.artifact)).request());
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Deploy the contract via the instance deployer.
|
|
88
|
+
if (!options.skipPublicDeployment) {
|
|
89
|
+
calls.push(deployInstance(this.wallet, instance, { universalDeploy: options.universalDeploy }).request());
|
|
90
|
+
}
|
|
91
|
+
return calls;
|
|
92
|
+
}
|
|
64
93
|
/**
|
|
65
94
|
* Send the contract deployment transaction using the provided options.
|
|
66
95
|
* This function extends the 'send' method from the ContractFunctionInteraction class,
|
|
@@ -71,7 +100,22 @@ export class DeployMethod extends BaseContractInteraction {
|
|
|
71
100
|
*/
|
|
72
101
|
send(options = {}) {
|
|
73
102
|
const txHashPromise = super.send(options).getTxHash();
|
|
74
|
-
return new DeploySentTx(this.pxe, txHashPromise, this.postDeployCtor, this.
|
|
103
|
+
return new DeploySentTx(this.pxe, txHashPromise, this.postDeployCtor, this.getInstance(options));
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Builds the contract instance to be deployed and returns it.
|
|
107
|
+
*
|
|
108
|
+
* @param options - An object containing various deployment options.
|
|
109
|
+
* @returns An instance object.
|
|
110
|
+
*/
|
|
111
|
+
getInstance(options = {}) {
|
|
112
|
+
if (!this.instance) {
|
|
113
|
+
const portalContract = options.portalContract ?? EthAddress.ZERO;
|
|
114
|
+
const contractAddressSalt = options.contractAddressSalt ?? Fr.random();
|
|
115
|
+
const deployParams = [this.artifact, this.args, contractAddressSalt, this.publicKey, portalContract];
|
|
116
|
+
this.instance = getContractInstanceFromDeployParams(...deployParams);
|
|
117
|
+
}
|
|
118
|
+
return this.instance;
|
|
75
119
|
}
|
|
76
120
|
/**
|
|
77
121
|
* Simulate the request.
|
|
@@ -90,4 +134,4 @@ export class DeployMethod extends BaseContractInteraction {
|
|
|
90
134
|
return this.instance && computePartialAddress(this.instance);
|
|
91
135
|
}
|
|
92
136
|
}
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9kZXBsb3lfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFFTCxxQkFBcUIsRUFDckIsNEJBQTRCLEVBQzVCLG1DQUFtQyxHQUNwQyxNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUc1RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFtQm5ELG9EQUFvRDtBQUVwRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sWUFBd0QsU0FBUSx1QkFBdUI7SUFTbEcsWUFDVSxTQUFvQixFQUNsQixNQUFjLEVBQ2hCLFFBQTBCLEVBQzFCLGNBQTZFLEVBQzdFLE9BQWMsRUFBRSxFQUN4QixrQkFBMEIsYUFBYTtRQUV2QyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFQTixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQStEO1FBQzdFLFNBQUksR0FBSixJQUFJLENBQVk7UUFiMUIsNENBQTRDO1FBQ3BDLGFBQVEsR0FBaUMsU0FBUyxDQUFD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
|
|
@@ -22,10 +22,10 @@ export type DeployTxReceipt<TContract extends ContractBase = Contract> = FieldsO
|
|
|
22
22
|
export declare class DeploySentTx<TContract extends Contract = Contract> extends SentTx {
|
|
23
23
|
private postDeployCtor;
|
|
24
24
|
/** The deployed contract instance */
|
|
25
|
-
instance
|
|
25
|
+
instance: ContractInstanceWithAddress;
|
|
26
26
|
constructor(wallet: PXE | Wallet, txHashPromise: Promise<TxHash>, postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>,
|
|
27
27
|
/** The deployed contract instance */
|
|
28
|
-
instance
|
|
28
|
+
instance: ContractInstanceWithAddress);
|
|
29
29
|
/**
|
|
30
30
|
* Awaits for the tx to be mined and returns the contract instance. Throws if tx is not mined.
|
|
31
31
|
* @param opts - Options for configuring the waiting for the tx to be mined.
|
|
@@ -38,6 +38,6 @@ export declare class DeploySentTx<TContract extends Contract = Contract> extends
|
|
|
38
38
|
* @returns The transaction receipt with the deployed contract instance.
|
|
39
39
|
*/
|
|
40
40
|
wait(opts?: DeployedWaitOpts): Promise<DeployTxReceipt<TContract>>;
|
|
41
|
-
protected getContractObject(wallet?: Wallet
|
|
41
|
+
protected getContractObject(wallet?: Wallet): Promise<TContract>;
|
|
42
42
|
}
|
|
43
43
|
//# sourceMappingURL=deploy_sent_tx.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy_sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_sent_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEhD,sDAAsD;AACtD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IACxC,+GAA+G;IAC/G,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,0GAA0G;AAC1G,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG;IAC7F,+CAA+C;IAC/C,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY,CAAC,SAAS,SAAS,QAAQ,GAAG,QAAQ,CAAE,SAAQ,MAAM;IAI3E,OAAO,CAAC,cAAc;IACtB,qCAAqC;IAC9B,QAAQ,
|
|
1
|
+
{"version":3,"file":"deploy_sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_sent_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEhD,sDAAsD;AACtD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IACxC,+GAA+G;IAC/G,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,0GAA0G;AAC1G,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG;IAC7F,+CAA+C;IAC/C,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY,CAAC,SAAS,SAAS,QAAQ,GAAG,QAAQ,CAAE,SAAQ,MAAM;IAI3E,OAAO,CAAC,cAAc;IACtB,qCAAqC;IAC9B,QAAQ,EAAE,2BAA2B;gBAJ5C,MAAM,EAAE,GAAG,GAAG,MAAM,EACpB,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,EACtB,cAAc,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC;IACrF,qCAAqC;IAC9B,QAAQ,EAAE,2BAA2B;IAK9C;;;;OAIG;IACU,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAKlE;;;;OAIG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAM/E,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;CAQjE"}
|
|
@@ -26,19 +26,16 @@ export class DeploySentTx extends SentTx {
|
|
|
26
26
|
*/
|
|
27
27
|
async wait(opts) {
|
|
28
28
|
const receipt = await super.wait(opts);
|
|
29
|
-
const contract = await this.getContractObject(opts?.wallet
|
|
29
|
+
const contract = await this.getContractObject(opts?.wallet);
|
|
30
30
|
return { ...receipt, contract };
|
|
31
31
|
}
|
|
32
|
-
getContractObject(wallet
|
|
32
|
+
getContractObject(wallet) {
|
|
33
33
|
const isWallet = (pxe) => !!pxe.createTxExecutionRequest;
|
|
34
34
|
const contractWallet = wallet ?? (isWallet(this.pxe) && this.pxe);
|
|
35
35
|
if (!contractWallet) {
|
|
36
36
|
throw new Error(`A wallet is required for creating a contract instance`);
|
|
37
37
|
}
|
|
38
|
-
|
|
39
|
-
throw new Error(`Contract address is missing from transaction receipt`);
|
|
40
|
-
}
|
|
41
|
-
return this.postDeployCtor(address, contractWallet);
|
|
38
|
+
return this.postDeployCtor(this.instance.address, contractWallet);
|
|
42
39
|
}
|
|
43
40
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X3NlbnRfdHguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvZGVwbG95X3NlbnRfdHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLE1BQU0sRUFBWSxNQUFNLGNBQWMsQ0FBQztBQWNoRDs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFvRCxTQUFRLE1BQU07SUFDN0UsWUFDRSxNQUFvQixFQUNwQixhQUE4QixFQUN0QixjQUE2RTtJQUNyRixxQ0FBcUM7SUFDOUIsUUFBcUM7UUFFNUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUpyQixtQkFBYyxHQUFkLGNBQWMsQ0FBK0Q7UUFFOUUsYUFBUSxHQUFSLFFBQVEsQ0FBNkI7SUFHOUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQXVCO1FBQzNDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQXVCO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUQsT0FBTyxFQUFFLEdBQUcsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxNQUFlO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBaUIsRUFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBRSxHQUFjLENBQUMsd0JBQXdCLENBQUM7UUFDbEcsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBdUIsQ0FBQztJQUMxRixDQUFDO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/sent_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAY,MAAM,sBAAsB,CAAC;AAElH,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,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;IAC3B,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAK7B,CAAC;AAEF;;;GAGG;AACH,qBAAa,MAAM;IACL,SAAS,CAAC,GAAG,EAAE,GAAG;IAAE,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;gBAAlD,GAAG,EAAE,GAAG,EAAY,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;IAExE;;;;;OAKG;
|
|
1
|
+
{"version":3,"file":"sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/sent_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAY,MAAM,sBAAsB,CAAC;AAElH,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,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;IAC3B,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAK7B,CAAC;AAEF;;;GAGG;AACH,qBAAa,MAAM;IACL,SAAS,CAAC,GAAG,EAAE,GAAG;IAAE,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;gBAAlD,GAAG,EAAE,GAAG,EAAY,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;IAExE;;;;;OAKG;IACI,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC;;;;;;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;IAyBhE;;;;OAIG;IACU,kBAAkB,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAKtE;;;;OAIG;IACU,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;cAKvC,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;CA6BpE"}
|
package/dest/contract/sent_tx.js
CHANGED
|
@@ -21,8 +21,8 @@ export class SentTx {
|
|
|
21
21
|
*
|
|
22
22
|
* @returns A promise that resolves to the transaction hash of the SentTx instance.
|
|
23
23
|
*/
|
|
24
|
-
|
|
25
|
-
return
|
|
24
|
+
getTxHash() {
|
|
25
|
+
return this.txHashPromise;
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* Retrieve the transaction receipt associated with the current SentTx instance.
|
|
@@ -50,15 +50,15 @@ export class SentTx {
|
|
|
50
50
|
}
|
|
51
51
|
if (opts?.debug) {
|
|
52
52
|
const txHash = await this.getTxHash();
|
|
53
|
-
const tx = (await this.pxe.
|
|
53
|
+
const tx = (await this.pxe.getTxEffect(txHash));
|
|
54
54
|
const visibleNotes = await this.pxe.getNotes({ txHash });
|
|
55
55
|
receipt.debugInfo = {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
56
|
+
noteHashes: tx.noteHashes.filter(n => !n.isZero()),
|
|
57
|
+
nullifiers: tx.nullifiers.filter(n => !n.isZero()),
|
|
58
|
+
publicDataWrites: tx.publicDataWrites.filter(p => !p.isEmpty()),
|
|
59
|
+
l2ToL1Msgs: tx.l2ToL1Msgs.filter(l => !l.isZero()),
|
|
60
|
+
contractsLeaves: tx.contractLeaves.filter(c => !c.isZero()),
|
|
61
|
+
contractData: tx.contractData.filter(c => !c.isEmpty()),
|
|
62
62
|
visibleNotes,
|
|
63
63
|
};
|
|
64
64
|
}
|
|
@@ -107,4 +107,4 @@ export class SentTx {
|
|
|
107
107
|
}, 'isMined', opts?.timeout ?? DefaultWaitOpts.timeout, opts?.interval ?? DefaultWaitOpts.interval);
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudF90eC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9zZW50X3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0UsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBa0JyRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWE7SUFDdkMsT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsQ0FBQztJQUNYLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsS0FBSyxFQUFFLEtBQUs7Q0FDYixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLE1BQU07SUFDakIsWUFBc0IsR0FBUSxFQUFZLGFBQThCO1FBQWxELFFBQUcsR0FBSCxHQUFHLENBQUs7UUFBWSxrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7SUFBRyxDQUFDO0lBRTVFOzs7OztPQUtHO0lBQ0ksU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEMsT0FBTyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFlO1FBQy9CLElBQUksSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO1FBQzlFLENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { PXE } from '@aztec/circuit-types';
|
|
2
1
|
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
3
2
|
import { Point } from '@aztec/foundation/fields';
|
|
3
|
+
import { Wallet } from '../account/wallet.js';
|
|
4
4
|
import { DeployMethod } from '../contract/deploy_method.js';
|
|
5
5
|
import { Contract } from '../contract/index.js';
|
|
6
6
|
/**
|
|
@@ -9,9 +9,10 @@ import { Contract } from '../contract/index.js';
|
|
|
9
9
|
*/
|
|
10
10
|
export declare class ContractDeployer {
|
|
11
11
|
private artifact;
|
|
12
|
-
private
|
|
12
|
+
private wallet;
|
|
13
13
|
private publicKey?;
|
|
14
|
-
|
|
14
|
+
private constructorName?;
|
|
15
|
+
constructor(artifact: ContractArtifact, wallet: Wallet, publicKey?: Point | undefined, constructorName?: string | undefined);
|
|
15
16
|
/**
|
|
16
17
|
* Deploy a contract using the provided ABI and constructor arguments.
|
|
17
18
|
* This function creates a new DeployMethod instance that can be used to send deployment transactions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_deployer.d.ts","sourceRoot":"","sources":["../../src/deployment/contract_deployer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contract_deployer.d.ts","sourceRoot":"","sources":["../../src/deployment/contract_deployer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;;GAGG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,SAAS,CAAC;IAClB,OAAO,CAAC,eAAe,CAAC;gBAHhB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,mBAAW,EACrB,eAAe,CAAC,oBAAQ;IAGlC;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;CAW7B"}
|
|
@@ -6,10 +6,11 @@ import { Contract } from '../contract/index.js';
|
|
|
6
6
|
* @remarks Keeping this around even though we have Aztec.nr contract types because it can be useful for non-TS users.
|
|
7
7
|
*/
|
|
8
8
|
export class ContractDeployer {
|
|
9
|
-
constructor(artifact,
|
|
9
|
+
constructor(artifact, wallet, publicKey, constructorName) {
|
|
10
10
|
this.artifact = artifact;
|
|
11
|
-
this.
|
|
11
|
+
this.wallet = wallet;
|
|
12
12
|
this.publicKey = publicKey;
|
|
13
|
+
this.constructorName = constructorName;
|
|
13
14
|
}
|
|
14
15
|
/**
|
|
15
16
|
* Deploy a contract using the provided ABI and constructor arguments.
|
|
@@ -22,7 +23,7 @@ export class ContractDeployer {
|
|
|
22
23
|
*/
|
|
23
24
|
deploy(...args) {
|
|
24
25
|
const postDeployCtor = (address, wallet) => Contract.at(address, this.artifact, wallet);
|
|
25
|
-
return new DeployMethod(this.publicKey ?? Point.ZERO, this.
|
|
26
|
+
return new DeployMethod(this.publicKey ?? Point.ZERO, this.wallet, this.artifact, postDeployCtor, args, this.constructorName);
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZGVwbG95ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVwbG95bWVudC9jb250cmFjdF9kZXBsb3llci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVoRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQ1UsUUFBMEIsRUFDMUIsTUFBYyxFQUNkLFNBQXFCLEVBQ3JCLGVBQXdCO1FBSHhCLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxjQUFTLEdBQVQsU0FBUyxDQUFZO1FBQ3JCLG9CQUFlLEdBQWYsZUFBZSxDQUFTO0lBQy9CLENBQUM7SUFFSjs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxHQUFHLElBQVc7UUFDMUIsTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUFxQixFQUFFLE1BQWMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5RyxPQUFPLElBQUksWUFBWSxDQUNyQixJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQzVCLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLFFBQVEsRUFDYixjQUFjLEVBQ2QsSUFBSSxFQUNKLElBQUksQ0FBQyxlQUFlLENBQ3JCLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
|
|
@@ -2,5 +2,5 @@ import { ContractArtifact } from '@aztec/foundation/abi';
|
|
|
2
2
|
import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
|
|
3
3
|
import { Wallet } from '../wallet/index.js';
|
|
4
4
|
/** Sets up a call to register a contract class given its artifact. */
|
|
5
|
-
export declare function registerContractClass(wallet: Wallet, artifact: ContractArtifact): ContractFunctionInteraction
|
|
5
|
+
export declare function registerContractClass(wallet: Wallet, artifact: ContractArtifact): Promise<ContractFunctionInteraction>;
|
|
6
6
|
//# sourceMappingURL=register_class.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register_class.d.ts","sourceRoot":"","sources":["../../src/deployment/register_class.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,sEAAsE;AACtE,
|
|
1
|
+
{"version":3,"file":"register_class.d.ts","sourceRoot":"","sources":["../../src/deployment/register_class.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,sEAAsE;AACtE,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,2BAA2B,CAAC,CAOtC"}
|
|
@@ -2,10 +2,11 @@ import { MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, getContractClassFromArtifact
|
|
|
2
2
|
import { bufferAsFields } from '@aztec/foundation/abi';
|
|
3
3
|
import { getRegistererContract } from './protocol_contracts.js';
|
|
4
4
|
/** Sets up a call to register a contract class given its artifact. */
|
|
5
|
-
export function registerContractClass(wallet, artifact) {
|
|
5
|
+
export async function registerContractClass(wallet, artifact) {
|
|
6
6
|
const { artifactHash, privateFunctionsRoot, publicBytecodeCommitment, packedBytecode } = getContractClassFromArtifact(artifact);
|
|
7
7
|
const encodedBytecode = bufferAsFields(packedBytecode, MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS);
|
|
8
8
|
const registerer = getRegistererContract(wallet);
|
|
9
|
-
|
|
9
|
+
await wallet.addCapsule(encodedBytecode);
|
|
10
|
+
return registerer.methods.register(artifactHash, privateFunctionsRoot, publicBytecodeCommitment);
|
|
10
11
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJfY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVwbG95bWVudC9yZWdpc3Rlcl9jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RyxPQUFPLEVBQW9CLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXpFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhFLHNFQUFzRTtBQUN0RSxNQUFNLENBQUMsS0FBSyxVQUFVLHFCQUFxQixDQUN6QyxNQUFjLEVBQ2QsUUFBMEI7SUFFMUIsTUFBTSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0IsRUFBRSxjQUFjLEVBQUUsR0FDcEYsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDLGNBQWMsRUFBRSx5Q0FBeUMsQ0FBQyxDQUFDO0lBQ2xHLE1BQU0sVUFBVSxHQUFHLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELE1BQU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6QyxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0FBQ25HLENBQUMifQ==
|
|
@@ -13,16 +13,12 @@ export interface FeePaymentMethod {
|
|
|
13
13
|
* Address which will hold the fee payment.
|
|
14
14
|
*/
|
|
15
15
|
getPaymentContract(): AztecAddress;
|
|
16
|
-
/**
|
|
17
|
-
* Whether the fee payment is private or not
|
|
18
|
-
*/
|
|
19
|
-
isPrivateFeePayment(): boolean;
|
|
20
16
|
/**
|
|
21
17
|
* Creates a function call to pay the fee in the given asset.
|
|
22
18
|
* TODO(fees) replace maxFee with gas limits
|
|
23
19
|
* @param maxFee - The maximum fee to be paid in the given asset.
|
|
24
20
|
* @returns The function call to pay the fee.
|
|
25
21
|
*/
|
|
26
|
-
getFunctionCalls(maxFee: Fr): FunctionCall[]
|
|
22
|
+
getFunctionCalls(maxFee: Fr): Promise<FunctionCall[]>;
|
|
27
23
|
}
|
|
28
24
|
//# sourceMappingURL=fee_payment_method.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,QAAQ,IAAI,YAAY,CAAC;IACzB;;OAEG;IACH,kBAAkB,IAAI,YAAY,CAAC;IAEnC
|
|
1
|
+
{"version":3,"file":"fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,QAAQ,IAAI,YAAY,CAAC;IACzB;;OAEG;IACH,kBAAkB,IAAI,YAAY,CAAC;IAEnC;;;;;OAKG;IACH,gBAAgB,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CACvD"}
|
|
@@ -11,12 +11,12 @@ export declare class NativeFeePaymentMethod implements FeePaymentMethod {
|
|
|
11
11
|
* Gets the native gas asset used to pay the fee.
|
|
12
12
|
* @returns The asset used to pay the fee.
|
|
13
13
|
*/
|
|
14
|
-
getAsset():
|
|
14
|
+
getAsset(): import("@aztec/circuits.js").AztecAddress;
|
|
15
15
|
/**
|
|
16
16
|
* The contract responsible for fee payment. This will be the same as the asset.
|
|
17
17
|
* @returns The contract address responsible for holding the fee payment.
|
|
18
18
|
*/
|
|
19
|
-
getPaymentContract():
|
|
19
|
+
getPaymentContract(): import("@aztec/circuits.js").AztecAddress;
|
|
20
20
|
/**
|
|
21
21
|
* Fee payments in the native gas token are always public.
|
|
22
22
|
* @returns false
|
|
@@ -27,6 +27,6 @@ export declare class NativeFeePaymentMethod implements FeePaymentMethod {
|
|
|
27
27
|
* @param feeLimit - The maximum fee to be paid in gas token.
|
|
28
28
|
* @returns A function call
|
|
29
29
|
*/
|
|
30
|
-
getFunctionCalls(feeLimit: Fr): FunctionCall[]
|
|
30
|
+
getFunctionCalls(feeLimit: Fr): Promise<FunctionCall[]>;
|
|
31
31
|
}
|
|
32
32
|
//# sourceMappingURL=native_fee_payment_method.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/native_fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"native_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/native_fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AACH,qBAAa,sBAAuB,YAAW,gBAAgB;;;IAK7D;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,kBAAkB;IAIlB;;;OAGG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAcxD"}
|
|
@@ -2,7 +2,7 @@ var _a, _NativeFeePaymentMethod_GAS_TOKEN;
|
|
|
2
2
|
import { __classPrivateFieldGet } from "tslib";
|
|
3
3
|
import { FunctionData } from '@aztec/circuits.js';
|
|
4
4
|
import { FunctionSelector } from '@aztec/foundation/abi';
|
|
5
|
-
import {
|
|
5
|
+
import { GasTokenAddress } from '@aztec/protocol-contracts/gas-token';
|
|
6
6
|
/**
|
|
7
7
|
* Pay fee directly in the native gas token.
|
|
8
8
|
*/
|
|
@@ -35,7 +35,7 @@ export class NativeFeePaymentMethod {
|
|
|
35
35
|
* @returns A function call
|
|
36
36
|
*/
|
|
37
37
|
getFunctionCalls(feeLimit) {
|
|
38
|
-
return [
|
|
38
|
+
return Promise.resolve([
|
|
39
39
|
{
|
|
40
40
|
to: __classPrivateFieldGet(_a, _a, "f", _NativeFeePaymentMethod_GAS_TOKEN),
|
|
41
41
|
functionData: new FunctionData(FunctionSelector.fromSignature('check_balance(Field)'), false, false, false),
|
|
@@ -46,10 +46,9 @@ export class NativeFeePaymentMethod {
|
|
|
46
46
|
functionData: new FunctionData(FunctionSelector.fromSignature('pay_fee(Field)'), false, false, false),
|
|
47
47
|
args: [feeLimit],
|
|
48
48
|
},
|
|
49
|
-
];
|
|
49
|
+
]);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
_a = NativeFeePaymentMethod;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlX2ZlZV9wYXltZW50X21ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mZWUvbmF0aXZlX2ZlZV9wYXltZW50X21ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFLL0Q7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBSWpDLGdCQUFlLENBQUM7SUFFaEI7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sdUJBQUEsRUFBc0IsNkNBQVcsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCO1FBQ2hCLE9BQU8sdUJBQUEsRUFBc0IsNkNBQVcsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsbUJBQW1CO1FBQ2pCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxRQUFZO1FBQzNCLE9BQU87WUFDTDtnQkFDRSxFQUFFLEVBQUUsdUJBQUEsRUFBc0IsNkNBQVc7Z0JBQ3JDLFlBQVksRUFBRSxJQUFJLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztnQkFDM0csSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDO2FBQ2pCO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLHVCQUFBLEVBQXNCLDZDQUFXO2dCQUNyQyxZQUFZLEVBQUUsSUFBSSxZQUFZLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7Z0JBQ3JHLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQzthQUNqQjtTQUNGLENBQUM7SUFDSixDQUFDOzs7QUEvQ0Qsa0ZBQWtGO0FBQzNFLDZDQUFhLFlBQVksQ0FBQyxJQUFJLEVBQXBCLENBQXFCIn0=
|
|
53
|
+
_NativeFeePaymentMethod_GAS_TOKEN = { value: GasTokenAddress };
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlX2ZlZV9wYXltZW50X21ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mZWUvbmF0aXZlX2ZlZV9wYXltZW50X21ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFJdEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBR2pDLGdCQUFlLENBQUM7SUFFaEI7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sdUJBQUEsRUFBc0IsNkNBQVcsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCO1FBQ2hCLE9BQU8sdUJBQUEsRUFBc0IsNkNBQVcsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsbUJBQW1CO1FBQ2pCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxRQUFZO1FBQzNCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUNyQjtnQkFDRSxFQUFFLEVBQUUsdUJBQUEsRUFBc0IsNkNBQVc7Z0JBQ3JDLFlBQVksRUFBRSxJQUFJLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztnQkFDM0csSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDO2FBQ2pCO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLHVCQUFBLEVBQXNCLDZDQUFXO2dCQUNyQyxZQUFZLEVBQUUsSUFBSSxZQUFZLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7Z0JBQ3JHLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQzthQUNqQjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OztBQTlDTSw2Q0FBYSxlQUFlLEVBQWxCLENBQW1CIn0=
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { FunctionCall } from '@aztec/circuit-types';
|
|
2
2
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
3
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { AccountWalletWithPrivateKey } from '../wallet/account_wallet_with_private_key.js';
|
|
4
5
|
import { FeePaymentMethod } from './fee_payment_method.js';
|
|
5
6
|
/**
|
|
6
7
|
* Holds information about how the fee for a transaction is to be paid.
|
|
7
8
|
*/
|
|
8
|
-
export declare class
|
|
9
|
-
#private;
|
|
9
|
+
export declare class PrivateFeePaymentMethod implements FeePaymentMethod {
|
|
10
10
|
/**
|
|
11
11
|
* The asset used to pay the fee.
|
|
12
12
|
*/
|
|
@@ -16,9 +16,9 @@ export declare class GenericFeePaymentMethod implements FeePaymentMethod {
|
|
|
16
16
|
*/
|
|
17
17
|
private paymentContract;
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* An auth witness provider to authorize fee payments
|
|
20
20
|
*/
|
|
21
|
-
private
|
|
21
|
+
private wallet;
|
|
22
22
|
constructor(
|
|
23
23
|
/**
|
|
24
24
|
* The asset used to pay the fee.
|
|
@@ -29,9 +29,9 @@ export declare class GenericFeePaymentMethod implements FeePaymentMethod {
|
|
|
29
29
|
*/
|
|
30
30
|
paymentContract: AztecAddress,
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* An auth witness provider to authorize fee payments
|
|
33
33
|
*/
|
|
34
|
-
|
|
34
|
+
wallet: AccountWalletWithPrivateKey);
|
|
35
35
|
/**
|
|
36
36
|
* The asset used to pay the fee.
|
|
37
37
|
* @returns The asset used to pay the fee.
|
|
@@ -42,17 +42,11 @@ export declare class GenericFeePaymentMethod implements FeePaymentMethod {
|
|
|
42
42
|
* @returns The contract address responsible for holding the fee payment.
|
|
43
43
|
*/
|
|
44
44
|
getPaymentContract(): AztecAddress;
|
|
45
|
-
/**
|
|
46
|
-
* Whether the fee payment is private or not
|
|
47
|
-
* @returns Whether the fee payment is private or not
|
|
48
|
-
*/
|
|
49
|
-
isPrivateFeePayment(): boolean;
|
|
50
45
|
/**
|
|
51
46
|
* Creates a function call to pay the fee in the given asset.
|
|
52
47
|
* @param maxFee - The maximum fee to be paid in the given asset.
|
|
53
48
|
* @returns The function call to pay the fee.
|
|
54
49
|
*/
|
|
55
|
-
getFunctionCalls(maxFee: Fr): FunctionCall[]
|
|
56
|
-
static empty(): GenericFeePaymentMethod;
|
|
50
|
+
getFunctionCalls(maxFee: Fr): Promise<FunctionCall[]>;
|
|
57
51
|
}
|
|
58
|
-
//# sourceMappingURL=
|
|
52
|
+
//# sourceMappingURL=private_fee_payment_method.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"private_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/private_fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AACH,qBAAa,uBAAwB,YAAW,gBAAgB;IAE5D;;OAEG;IACH,OAAO,CAAC,KAAK;IACb;;OAEG;IACH,OAAO,CAAC,eAAe;IAEvB;;OAEG;IACH,OAAO,CAAC,MAAM;;IAZd;;OAEG;IACK,KAAK,EAAE,YAAY;IAC3B;;OAEG;IACK,eAAe,EAAE,YAAY;IAErC;;OAEG;IACK,MAAM,EAAE,2BAA2B;IAG7C;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,kBAAkB;IAIlB;;;;OAIG;IACG,gBAAgB,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CA2B5D"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { FunctionData } from '@aztec/circuits.js';
|
|
2
|
+
import { FunctionSelector } from '@aztec/foundation/abi';
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { computeAuthWitMessageHash } from '../utils/authwit.js';
|
|
5
|
+
/**
|
|
6
|
+
* Holds information about how the fee for a transaction is to be paid.
|
|
7
|
+
*/
|
|
8
|
+
export class PrivateFeePaymentMethod {
|
|
9
|
+
constructor(
|
|
10
|
+
/**
|
|
11
|
+
* The asset used to pay the fee.
|
|
12
|
+
*/
|
|
13
|
+
asset,
|
|
14
|
+
/**
|
|
15
|
+
* Address which will hold the fee payment.
|
|
16
|
+
*/
|
|
17
|
+
paymentContract,
|
|
18
|
+
/**
|
|
19
|
+
* An auth witness provider to authorize fee payments
|
|
20
|
+
*/
|
|
21
|
+
wallet) {
|
|
22
|
+
this.asset = asset;
|
|
23
|
+
this.paymentContract = paymentContract;
|
|
24
|
+
this.wallet = wallet;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The asset used to pay the fee.
|
|
28
|
+
* @returns The asset used to pay the fee.
|
|
29
|
+
*/
|
|
30
|
+
getAsset() {
|
|
31
|
+
return this.asset;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The address which will facilitate the fee payment.
|
|
35
|
+
* @returns The contract address responsible for holding the fee payment.
|
|
36
|
+
*/
|
|
37
|
+
getPaymentContract() {
|
|
38
|
+
return this.paymentContract;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Creates a function call to pay the fee in the given asset.
|
|
42
|
+
* @param maxFee - The maximum fee to be paid in the given asset.
|
|
43
|
+
* @returns The function call to pay the fee.
|
|
44
|
+
*/
|
|
45
|
+
async getFunctionCalls(maxFee) {
|
|
46
|
+
const nonce = Fr.random();
|
|
47
|
+
const messageHash = computeAuthWitMessageHash(this.paymentContract, {
|
|
48
|
+
args: [this.wallet.getAddress(), this.paymentContract, maxFee, nonce],
|
|
49
|
+
functionData: new FunctionData(FunctionSelector.fromSignature('unshield((Field),(Field),Field,Field)'), false, true, false),
|
|
50
|
+
to: this.asset,
|
|
51
|
+
});
|
|
52
|
+
await this.wallet.createAuthWitness(messageHash);
|
|
53
|
+
return [
|
|
54
|
+
{
|
|
55
|
+
to: this.getPaymentContract(),
|
|
56
|
+
functionData: new FunctionData(FunctionSelector.fromSignature('fee_entrypoint_private(Field,(Field),Field)'), false, true, false),
|
|
57
|
+
args: [maxFee, this.asset, nonce],
|
|
58
|
+
},
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9mZWVfcGF5bWVudF9tZXRob2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmVlL3ByaXZhdGVfZmVlX3BheW1lbnRfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJaEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDO0lBQ0U7O09BRUc7SUFDSyxLQUFtQjtJQUMzQjs7T0FFRztJQUNLLGVBQTZCO0lBRXJDOztPQUVHO0lBQ0ssTUFBbUM7UUFUbkMsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUluQixvQkFBZSxHQUFmLGVBQWUsQ0FBYztRQUs3QixXQUFNLEdBQU4sTUFBTSxDQUE2QjtJQUMxQyxDQUFDO0lBRUo7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFVO1FBQy9CLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixNQUFNLFdBQVcsR0FBRyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ2xFLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO1lBQ3JFLFlBQVksRUFBRSxJQUFJLFlBQVksQ0FDNUIsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLHVDQUF1QyxDQUFDLEVBQ3ZFLEtBQUssRUFDTCxJQUFJLEVBQ0osS0FBSyxDQUNOO1lBQ0QsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWpELE9BQU87WUFDTDtnQkFDRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFO2dCQUM3QixZQUFZLEVBQUUsSUFBSSxZQUFZLENBQzVCLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyw2Q0FBNkMsQ0FBQyxFQUM3RSxLQUFLLEVBQ0wsSUFBSSxFQUNKLEtBQUssQ0FDTjtnQkFDRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7YUFDbEM7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
|