@aztec/aztec.js 0.23.0 → 0.24.0
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/index.d.ts +1 -1
- package/dest/account/index.d.ts.map +1 -1
- package/dest/account/interface.d.ts +12 -2
- package/dest/account/interface.d.ts.map +1 -1
- package/dest/account/interface.js +1 -1
- package/dest/account_manager/index.js +2 -2
- package/dest/api/account.d.ts +1 -1
- package/dest/api/account.d.ts.map +1 -1
- package/dest/api/account.js +1 -1
- package/dest/api/deployment.d.ts +4 -0
- package/dest/api/deployment.d.ts.map +1 -0
- package/dest/api/deployment.js +4 -0
- package/dest/api/fee.d.ts +4 -0
- package/dest/api/fee.d.ts.map +1 -0
- package/dest/api/fee.js +3 -0
- package/dest/contract/unsafe_contract.d.ts +15 -0
- package/dest/contract/unsafe_contract.d.ts.map +1 -0
- package/dest/contract/unsafe_contract.js +14 -0
- package/dest/deployment/broadcast_function.d.ts +24 -0
- package/dest/deployment/broadcast_function.d.ts.map +1 -0
- package/dest/deployment/broadcast_function.js +67 -0
- package/dest/deployment/contract_deployer.d.ts.map +1 -0
- package/dest/{contract_deployer → deployment}/contract_deployer.js +1 -1
- package/dest/deployment/deploy_instance.d.ts +13 -0
- package/dest/deployment/deploy_instance.d.ts.map +1 -0
- package/dest/deployment/deploy_instance.js +13 -0
- package/dest/deployment/index.d.ts.map +1 -0
- package/dest/{contract_deployer → deployment}/index.js +1 -1
- package/dest/deployment/protocol_contracts.d.ts +7 -0
- package/dest/deployment/protocol_contracts.d.ts.map +1 -0
- package/dest/deployment/protocol_contracts.js +14 -0
- package/dest/deployment/register_class.d.ts +6 -0
- package/dest/deployment/register_class.d.ts.map +1 -0
- package/dest/deployment/register_class.js +11 -0
- package/dest/fee/fee_payment_method.d.ts +28 -0
- package/dest/fee/fee_payment_method.d.ts.map +1 -0
- package/dest/fee/fee_payment_method.js +2 -0
- package/dest/fee/generic_fee_payment_method.d.ts +58 -0
- package/dest/fee/generic_fee_payment_method.d.ts.map +1 -0
- package/dest/fee/generic_fee_payment_method.js +73 -0
- package/dest/fee/native_fee_payment_method.d.ts +32 -0
- package/dest/fee/native_fee_payment_method.d.ts.map +1 -0
- package/dest/fee/native_fee_payment_method.js +55 -0
- package/dest/index.d.ts +2 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +3 -2
- package/dest/utils/cheat_codes.js +2 -2
- package/dest/wallet/account_wallet.d.ts +2 -2
- package/dest/wallet/account_wallet.d.ts.map +1 -1
- package/dest/wallet/account_wallet.js +3 -3
- package/dest/wallet/base_wallet.d.ts +2 -1
- package/dest/wallet/base_wallet.d.ts.map +1 -1
- package/dest/wallet/base_wallet.js +1 -1
- package/package.json +9 -6
- package/src/account/contract.ts +33 -0
- package/src/account/index.ts +16 -0
- package/src/account/interface.ts +47 -0
- package/src/account/wallet.ts +8 -0
- package/src/account_manager/deploy_account_sent_tx.ts +42 -0
- package/src/account_manager/index.ts +173 -0
- package/src/api/README.md +7 -0
- package/src/api/abi.ts +3 -0
- package/src/api/account.ts +13 -0
- package/src/api/aztec_address.ts +1 -0
- package/src/api/deployment.ts +3 -0
- package/src/api/eth_address.ts +1 -0
- package/src/api/ethereum.ts +6 -0
- package/src/api/fee.ts +3 -0
- package/src/api/fields.ts +1 -0
- package/src/api/init.ts +10 -0
- package/src/api/interfaces/pxe.ts +1 -0
- package/src/api/log_id.ts +1 -0
- package/src/api/tx_hash.ts +1 -0
- package/src/api/wallet.ts +1 -0
- package/src/contract/base_contract_interaction.ts +61 -0
- package/src/contract/batch_call.ts +23 -0
- package/src/contract/checker.ts +117 -0
- package/src/contract/contract.ts +56 -0
- package/src/contract/contract_base.ts +72 -0
- package/src/contract/contract_function_interaction.ts +80 -0
- package/src/contract/deploy_method.ts +151 -0
- package/src/contract/deploy_sent_tx.ts +69 -0
- package/src/contract/index.ts +44 -0
- package/src/contract/sent_tx.ts +135 -0
- package/src/contract/unsafe_contract.ts +19 -0
- package/src/deployment/broadcast_function.ts +118 -0
- package/src/deployment/contract_deployer.ts +30 -0
- package/src/deployment/deploy_instance.ts +28 -0
- package/src/deployment/index.ts +1 -0
- package/src/deployment/protocol_contracts.ts +17 -0
- package/src/deployment/register_class.ts +15 -0
- package/src/fee/fee_payment_method.ts +30 -0
- package/src/fee/generic_fee_payment_method.ts +81 -0
- package/src/fee/native_fee_payment_method.ts +61 -0
- package/src/index.ts +144 -0
- package/src/rpc_clients/index.ts +1 -0
- package/src/rpc_clients/pxe_client.ts +62 -0
- package/src/utils/abi_types.ts +16 -0
- package/src/utils/account.ts +32 -0
- package/src/utils/authwit.ts +24 -0
- package/src/utils/cheat_codes.ts +297 -0
- package/src/utils/index.ts +9 -0
- package/src/utils/l1_contracts.ts +21 -0
- package/src/utils/l2_contracts.ts +12 -0
- package/src/utils/pub_key.ts +12 -0
- package/src/utils/pxe.ts +16 -0
- package/src/utils/secrets.ts +11 -0
- package/src/wallet/account_wallet.ts +70 -0
- package/src/wallet/account_wallet_with_private_key.ts +28 -0
- package/src/wallet/base_wallet.ts +123 -0
- package/src/wallet/create_recipient.ts +13 -0
- package/src/wallet/index.ts +31 -0
- package/src/wallet/signerless_wallet.ts +37 -0
- package/dest/contract_deployer/contract_deployer.d.ts.map +0 -1
- package/dest/contract_deployer/index.d.ts.map +0 -1
- /package/dest/{contract_deployer → deployment}/contract_deployer.d.ts +0 -0
- /package/dest/{contract_deployer → deployment}/index.d.ts +0 -0
package/dest/account/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { Fr } from '@aztec/circuits.js';
|
|
10
10
|
export { AccountContract } from './contract.js';
|
|
11
|
-
export { AccountInterface, AuthWitnessProvider, EntrypointInterface } from './interface.js';
|
|
11
|
+
export { AccountInterface, AuthWitnessProvider, EntrypointInterface, FeeOptions } from './interface.js';
|
|
12
12
|
export * from './wallet.js';
|
|
13
13
|
/** A contract deployment salt. */
|
|
14
14
|
export type Salt = Fr | number | bigint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/account/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/account/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxG,cAAc,aAAa,CAAC;AAE5B,kCAAkC;AAClC,MAAM,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { AuthWitness, CompleteAddress, FunctionCall, TxExecutionRequest } from '@aztec/circuit-types';
|
|
2
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
|
+
import { FeePaymentMethod } from '../fee/fee_payment_method.js';
|
|
4
|
+
/**
|
|
5
|
+
* Fee payment options for a transaction.
|
|
6
|
+
*/
|
|
7
|
+
export type FeeOptions = {
|
|
8
|
+
/** The fee payment method to use */
|
|
9
|
+
paymentMethod: FeePaymentMethod;
|
|
10
|
+
/** The fee limit to pay */
|
|
11
|
+
maxFee: bigint | number | Fr;
|
|
12
|
+
};
|
|
3
13
|
/** Creates authorization witnesses. */
|
|
4
14
|
export interface AuthWitnessProvider {
|
|
5
15
|
/**
|
|
@@ -13,10 +23,10 @@ export interface EntrypointInterface {
|
|
|
13
23
|
/**
|
|
14
24
|
* Generates an authenticated request out of set of function calls.
|
|
15
25
|
* @param executions - The execution intents to be run.
|
|
16
|
-
* @param
|
|
26
|
+
* @param feeOpts - The fee to be paid for the transaction.
|
|
17
27
|
* @returns The authenticated transaction execution request.
|
|
18
28
|
*/
|
|
19
|
-
createTxExecutionRequest(executions: FunctionCall[]): Promise<TxExecutionRequest>;
|
|
29
|
+
createTxExecutionRequest(executions: FunctionCall[], feeOpts?: FeeOptions): Promise<TxExecutionRequest>;
|
|
20
30
|
}
|
|
21
31
|
/**
|
|
22
32
|
* Handler for interfacing with an account. Knows how to create transaction execution
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/account/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/account/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,oCAAoC;IACpC,aAAa,EAAE,gBAAgB,CAAC;IAChC,2BAA2B;IAC3B,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC;CAC9B,CAAC;AAGF,uCAAuC;AACvC,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACtD;AAED,6EAA6E;AAC7E,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,wBAAwB,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACzG;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB,EAAE,mBAAmB;IAChF;;OAEG;IACH,kBAAkB,IAAI,eAAe,CAAC;CACvC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export {};
|
|
2
2
|
// docs:end:account-interface
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjY291bnQvaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUE4Q0EsNkJBQTZCIn0=
|
|
@@ -4,7 +4,7 @@ import { CompleteAddress } from '@aztec/circuit-types';
|
|
|
4
4
|
import { EthAddress, getContractInstanceFromDeployParams } from '@aztec/circuits.js';
|
|
5
5
|
import { Fr } from '@aztec/foundation/fields';
|
|
6
6
|
import { DefaultWaitOpts } from '../contract/index.js';
|
|
7
|
-
import { ContractDeployer } from '../
|
|
7
|
+
import { ContractDeployer } from '../deployment/index.js';
|
|
8
8
|
import { waitForAccountSynch } from '../utils/account.js';
|
|
9
9
|
import { generatePublicKey } from '../utils/index.js';
|
|
10
10
|
import { AccountWalletWithPrivateKey } from '../wallet/index.js';
|
|
@@ -140,4 +140,4 @@ _AccountManager_instances = new WeakSet(), _AccountManager_register = async func
|
|
|
140
140
|
const completeAddress = this.getCompleteAddress();
|
|
141
141
|
await this.pxe.registerAccount(this.encryptionPrivateKey, completeAddress.partialAddress);
|
|
142
142
|
};
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWNjb3VudF9tYW5hZ2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBMkIsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsVUFBVSxFQUFhLG1DQUFtQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEcsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTTlDLE9BQU8sRUFBRSxlQUFlLEVBQTBCLE1BQU0sc0JBQXNCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbEU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFVekIsWUFDVSxHQUFRLEVBQ1Isb0JBQXdDLEVBQ3hDLGVBQWdDLEVBQ3hDLElBQVc7O1FBSEgsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNSLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBb0I7UUFDeEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBR3hDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFUyxzQkFBc0I7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxtQkFBbUIs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
|
package/dest/api/account.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { AccountContract, AccountInterface, AuthWitnessProvider, EntrypointInterface, Salt, Wallet, } from '../account/index.js';
|
|
1
|
+
export { AccountContract, AccountInterface, AuthWitnessProvider, EntrypointInterface, Salt, Wallet, FeeOptions, } from '../account/index.js';
|
|
2
2
|
export { AccountManager } from '../account_manager/index.js';
|
|
3
3
|
export { CompleteAddress } from '@aztec/circuit-types';
|
|
4
4
|
//# sourceMappingURL=account.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/api/account.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,IAAI,EACJ,MAAM,
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/api/account.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,IAAI,EACJ,MAAM,EACN,UAAU,GACX,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dest/api/account.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { AccountManager } from '../account_manager/index.js';
|
|
2
2
|
export { CompleteAddress } from '@aztec/circuit-types';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDIn0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { registerContractClass } from '../deployment/register_class.js';
|
|
2
|
+
export { broadcastPrivateFunction, broadcastUnconstrainedFunction } from '../deployment/broadcast_function.js';
|
|
3
|
+
export { deployInstance } from '../deployment/deploy_instance.js';
|
|
4
|
+
//# sourceMappingURL=deployment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment.d.ts","sourceRoot":"","sources":["../../src/api/deployment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { registerContractClass } from '../deployment/register_class.js';
|
|
2
|
+
export { broadcastPrivateFunction, broadcastUnconstrainedFunction } from '../deployment/broadcast_function.js';
|
|
3
|
+
export { deployInstance } from '../deployment/deploy_instance.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvZGVwbG95bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fee.d.ts","sourceRoot":"","sources":["../../src/api/fee.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC"}
|
package/dest/api/fee.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { GenericFeePaymentMethod } from '../fee/generic_fee_payment_method.js';
|
|
2
|
+
export { NativeFeePaymentMethod } from '../fee/native_fee_payment_method.js';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9mZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUMifQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
2
|
+
import { ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
3
|
+
import { Wallet } from '../wallet/index.js';
|
|
4
|
+
import { ContractBase } from './contract_base.js';
|
|
5
|
+
/** Unsafe constructor for ContractBase that bypasses the check that the instance is registered in the wallet. */
|
|
6
|
+
export declare class UnsafeContract extends ContractBase {
|
|
7
|
+
constructor(
|
|
8
|
+
/** The deployed contract instance definition. */
|
|
9
|
+
instance: ContractInstanceWithAddress,
|
|
10
|
+
/** The Application Binary Interface for the contract. */
|
|
11
|
+
artifact: ContractArtifact,
|
|
12
|
+
/** The wallet used for interacting with this contract. */
|
|
13
|
+
wallet: Wallet);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=unsafe_contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unsafe_contract.d.ts","sourceRoot":"","sources":["../../src/contract/unsafe_contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,iHAAiH;AACjH,qBAAa,cAAe,SAAQ,YAAY;;IAE5C,iDAAiD;IACjD,QAAQ,EAAE,2BAA2B;IACrC,yDAAyD;IACzD,QAAQ,EAAE,gBAAgB;IAC1B,0DAA0D;IAC1D,MAAM,EAAE,MAAM;CAIjB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ContractBase } from './contract_base.js';
|
|
2
|
+
/** Unsafe constructor for ContractBase that bypasses the check that the instance is registered in the wallet. */
|
|
3
|
+
export class UnsafeContract extends ContractBase {
|
|
4
|
+
constructor(
|
|
5
|
+
/** The deployed contract instance definition. */
|
|
6
|
+
instance,
|
|
7
|
+
/** The Application Binary Interface for the contract. */
|
|
8
|
+
artifact,
|
|
9
|
+
/** The wallet used for interacting with this contract. */
|
|
10
|
+
wallet) {
|
|
11
|
+
super(instance, artifact, wallet);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zYWZlX2NvbnRyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L3Vuc2FmZV9jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsaUhBQWlIO0FBQ2pILE1BQU0sT0FBTyxjQUFlLFNBQVEsWUFBWTtJQUM5QztJQUNFLGlEQUFpRDtJQUNqRCxRQUFxQztJQUNyQyx5REFBeUQ7SUFDekQsUUFBMEI7SUFDMUIsMERBQTBEO0lBQzFELE1BQWM7UUFFZCxLQUFLLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ContractArtifact, FunctionSelector } from '@aztec/foundation/abi';
|
|
2
|
+
import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
|
|
3
|
+
import { Wallet } from '../wallet/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Sets up a call to broadcast a private function's bytecode via the ClassRegisterer contract.
|
|
6
|
+
* Note that this is not required for users to call the function, but is rather a convenience to make
|
|
7
|
+
* this code publicly available so dapps or wallets do not need to redistribute it.
|
|
8
|
+
* @param wallet - Wallet to send the transaction.
|
|
9
|
+
* @param artifact - Contract artifact that contains the function to be broadcast.
|
|
10
|
+
* @param selector - Selector of the function to be broadcast.
|
|
11
|
+
* @returns A ContractFunctionInteraction object that can be used to send the transaction.
|
|
12
|
+
*/
|
|
13
|
+
export declare function broadcastPrivateFunction(wallet: Wallet, artifact: ContractArtifact, selector: FunctionSelector): ContractFunctionInteraction;
|
|
14
|
+
/**
|
|
15
|
+
* Sets up a call to broadcast an unconstrained function's bytecode via the ClassRegisterer contract.
|
|
16
|
+
* Note that this is not required for users to call the function, but is rather a convenience to make
|
|
17
|
+
* this code publicly available so dapps or wallets do not need to redistribute it.
|
|
18
|
+
* @param wallet - Wallet to send the transaction.
|
|
19
|
+
* @param artifact - Contract artifact that contains the function to be broadcast.
|
|
20
|
+
* @param selector - Selector of the function to be broadcast.
|
|
21
|
+
* @returns A ContractFunctionInteraction object that can be used to send the transaction.
|
|
22
|
+
*/
|
|
23
|
+
export declare function broadcastUnconstrainedFunction(wallet: Wallet, artifact: ContractArtifact, selector: FunctionSelector): ContractFunctionInteraction;
|
|
24
|
+
//# sourceMappingURL=broadcast_function.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast_function.d.ts","sourceRoot":"","sources":["../../src/deployment/broadcast_function.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAgC,MAAM,uBAAuB,CAAC;AAIzG,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,gBAAgB,GACzB,2BAA2B,CAuC7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,gBAAgB,GACzB,2BAA2B,CAgC7B"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS, computeArtifactFunctionTree, computeArtifactFunctionTreeRoot, computeArtifactMetadataHash, computeFunctionArtifactHash, computePrivateFunctionsTree, getContractClassFromArtifact, } from '@aztec/circuits.js';
|
|
2
|
+
import { FunctionSelector, FunctionType, bufferAsFields } from '@aztec/foundation/abi';
|
|
3
|
+
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
4
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
5
|
+
import { getRegistererContract } from './protocol_contracts.js';
|
|
6
|
+
/**
|
|
7
|
+
* Sets up a call to broadcast a private function's bytecode via the ClassRegisterer contract.
|
|
8
|
+
* Note that this is not required for users to call the function, but is rather a convenience to make
|
|
9
|
+
* this code publicly available so dapps or wallets do not need to redistribute it.
|
|
10
|
+
* @param wallet - Wallet to send the transaction.
|
|
11
|
+
* @param artifact - Contract artifact that contains the function to be broadcast.
|
|
12
|
+
* @param selector - Selector of the function to be broadcast.
|
|
13
|
+
* @returns A ContractFunctionInteraction object that can be used to send the transaction.
|
|
14
|
+
*/
|
|
15
|
+
export function broadcastPrivateFunction(wallet, artifact, selector) {
|
|
16
|
+
const contractClass = getContractClassFromArtifact(artifact);
|
|
17
|
+
const privateFunction = contractClass.privateFunctions.find(fn => fn.selector.equals(selector));
|
|
18
|
+
if (!privateFunction) {
|
|
19
|
+
throw new Error(`Private function with selector ${selector.toString()} not found`);
|
|
20
|
+
}
|
|
21
|
+
const privateFunctionArtifact = artifact.functions.find(fn => FunctionSelector.fromNameAndParameters(fn).equals(selector));
|
|
22
|
+
// TODO(@spalladino): The following is computing the unconstrained root hash twice.
|
|
23
|
+
// Feels like we need a nicer API for returning a hash along with all its preimages,
|
|
24
|
+
// since it's common to provide all hash preimages to a function that verifies them.
|
|
25
|
+
const artifactMetadataHash = computeArtifactMetadataHash(artifact);
|
|
26
|
+
const unconstrainedArtifactFunctionTreeRoot = computeArtifactFunctionTreeRoot(artifact, FunctionType.OPEN);
|
|
27
|
+
// We need two sibling paths because private function information is split across two trees:
|
|
28
|
+
// The "private function tree" captures the selectors and verification keys, and is used in the kernel circuit for verifying the proof generated by the app circuit.
|
|
29
|
+
// The "artifact tree" captures function bytecode and metadata, and is used by the pxe to check that its executing the code it's supposed to be executing, but it never goes into circuits.
|
|
30
|
+
const privateFunctionTreePath = computePrivateFunctionsTree(contractClass.privateFunctions).getSiblingPath(0);
|
|
31
|
+
const artifactFunctionTreePath = computeArtifactFunctionTree(artifact, FunctionType.SECRET).getSiblingPath(0);
|
|
32
|
+
const vkHash = privateFunction.vkHash;
|
|
33
|
+
const metadataHash = computeFunctionArtifactHash(privateFunctionArtifact);
|
|
34
|
+
const bytecode = bufferAsFields(Buffer.from(privateFunctionArtifact.bytecode, 'hex'), MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS);
|
|
35
|
+
const registerer = getRegistererContract(wallet);
|
|
36
|
+
return registerer.methods.broadcast_private_function(contractClass.id, Fr.fromBufferReduce(artifactMetadataHash), Fr.fromBufferReduce(unconstrainedArtifactFunctionTreeRoot), privateFunctionTreePath.map(Fr.fromBufferReduce), padArrayEnd(artifactFunctionTreePath.map(Fr.fromBufferReduce), Fr.ZERO, ARTIFACT_FUNCTION_TREE_MAX_HEIGHT),
|
|
37
|
+
// eslint-disable-next-line camelcase
|
|
38
|
+
{ selector, metadata_hash: Fr.fromBufferReduce(metadataHash), bytecode, vk_hash: vkHash });
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Sets up a call to broadcast an unconstrained function's bytecode via the ClassRegisterer contract.
|
|
42
|
+
* Note that this is not required for users to call the function, but is rather a convenience to make
|
|
43
|
+
* this code publicly available so dapps or wallets do not need to redistribute it.
|
|
44
|
+
* @param wallet - Wallet to send the transaction.
|
|
45
|
+
* @param artifact - Contract artifact that contains the function to be broadcast.
|
|
46
|
+
* @param selector - Selector of the function to be broadcast.
|
|
47
|
+
* @returns A ContractFunctionInteraction object that can be used to send the transaction.
|
|
48
|
+
*/
|
|
49
|
+
export function broadcastUnconstrainedFunction(wallet, artifact, selector) {
|
|
50
|
+
const functionArtifactIndex = artifact.functions.findIndex(fn => fn.functionType === FunctionType.UNCONSTRAINED && FunctionSelector.fromNameAndParameters(fn).equals(selector));
|
|
51
|
+
if (functionArtifactIndex < 0) {
|
|
52
|
+
throw new Error(`Unconstrained function with selector ${selector.toString()} not found`);
|
|
53
|
+
}
|
|
54
|
+
const functionArtifact = artifact.functions[functionArtifactIndex];
|
|
55
|
+
// TODO(@spalladino): Same comment as above on computing duplicated hashes.
|
|
56
|
+
const artifactMetadataHash = computeArtifactMetadataHash(artifact);
|
|
57
|
+
const privateArtifactFunctionTreeRoot = computeArtifactFunctionTreeRoot(artifact, FunctionType.SECRET);
|
|
58
|
+
const functionTreePath = computeArtifactFunctionTree(artifact, FunctionType.UNCONSTRAINED).getSiblingPath(functionArtifactIndex);
|
|
59
|
+
const contractClassId = getContractClassFromArtifact(artifact).id;
|
|
60
|
+
const metadataHash = computeFunctionArtifactHash(functionArtifact);
|
|
61
|
+
const bytecode = bufferAsFields(Buffer.from(functionArtifact.bytecode, 'hex'), MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS);
|
|
62
|
+
const registerer = getRegistererContract(wallet);
|
|
63
|
+
return registerer.methods.broadcast_unconstrained_function(contractClassId, Fr.fromBufferReduce(artifactMetadataHash), Fr.fromBufferReduce(privateArtifactFunctionTreeRoot), padArrayEnd(functionTreePath.map(Fr.fromBufferReduce), Fr.ZERO, ARTIFACT_FUNCTION_TREE_MAX_HEIGHT),
|
|
64
|
+
// eslint-disable-next-line camelcase
|
|
65
|
+
{ selector, metadata_hash: Fr.fromBufferReduce(metadataHash), bytecode });
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvYWRjYXN0X2Z1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlcGxveW1lbnQvYnJvYWRjYXN0X2Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQ0FBaUMsRUFDakMsdURBQXVELEVBQ3ZELDJCQUEyQixFQUMzQiwrQkFBK0IsRUFDL0IsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0IsNEJBQTRCLEdBQzdCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFvQixnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUk5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRTs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsTUFBYyxFQUNkLFFBQTBCLEVBQzFCLFFBQTBCO0lBRTFCLE1BQU0sYUFBYSxHQUFHLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdELE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxRQUFRLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFDRCxNQUFNLHVCQUF1QixHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQzNE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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract_deployer.d.ts","sourceRoot":"","sources":["../../src/deployment/contract_deployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAa,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAGjD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;;GAGG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ;IAAoB,OAAO,CAAC,GAAG;IAAO,OAAO,CAAC,SAAS,CAAC;gBAAhE,QAAQ,EAAE,gBAAgB,EAAU,GAAG,EAAE,GAAG,EAAU,SAAS,CAAC,mBAAW;IAE/F;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;CAI7B"}
|
|
@@ -25,4 +25,4 @@ export class ContractDeployer {
|
|
|
25
25
|
return new DeployMethod(this.publicKey ?? Point.ZERO, this.pxe, this.artifact, postDeployCtor, args);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZGVwbG95ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVwbG95bWVudC9jb250cmFjdF9kZXBsb3llci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVoRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQW9CLFFBQTBCLEVBQVUsR0FBUSxFQUFVLFNBQXFCO1FBQTNFLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUFVLGNBQVMsR0FBVCxTQUFTLENBQVk7SUFBRyxDQUFDO0lBRW5HOzs7Ozs7OztPQVFHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsSUFBVztRQUMxQixNQUFNLGNBQWMsR0FBRyxDQUFDLE9BQXFCLEVBQUUsTUFBYyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlHLE9BQU8sSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkcsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
2
|
+
import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
|
|
3
|
+
import { Wallet } from '../wallet/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Sets up a call to the canonical deployer contract to publicly deploy a contract instance.
|
|
6
|
+
* @param wallet - The wallet to use for the deployment.
|
|
7
|
+
* @param instance - The instance to deploy.
|
|
8
|
+
* @param opts - Additional options.
|
|
9
|
+
*/
|
|
10
|
+
export declare function deployInstance(wallet: Wallet, instance: ContractInstanceWithAddress, opts?: {
|
|
11
|
+
universalDeploy?: boolean;
|
|
12
|
+
}): ContractFunctionInteraction;
|
|
13
|
+
//# sourceMappingURL=deploy_instance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy_instance.d.ts","sourceRoot":"","sources":["../../src/deployment/deploy_instance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,2BAA2B,EACrC,IAAI,GAAE;IAAoE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GACzG,2BAA2B,CAW7B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { getDeployerContract } from './protocol_contracts.js';
|
|
2
|
+
/**
|
|
3
|
+
* Sets up a call to the canonical deployer contract to publicly deploy a contract instance.
|
|
4
|
+
* @param wallet - The wallet to use for the deployment.
|
|
5
|
+
* @param instance - The instance to deploy.
|
|
6
|
+
* @param opts - Additional options.
|
|
7
|
+
*/
|
|
8
|
+
export function deployInstance(wallet, instance, opts = {}) {
|
|
9
|
+
const deployer = getDeployerContract(wallet);
|
|
10
|
+
const { salt, contractClassId, portalContractAddress, publicKeysHash } = instance;
|
|
11
|
+
return deployer.methods.deploy(salt, contractClassId, instance.initializationHash, portalContractAddress, publicKeysHash, !!opts.universalDeploy);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2luc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlcGxveW1lbnQvZGVwbG95X2luc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsTUFBYyxFQUNkLFFBQXFDLEVBQ3JDLE9BQXdHLEVBQUU7SUFFMUcsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsTUFBTSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLEdBQUcsUUFBUSxDQUFDO0lBQ2xGLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQzVCLElBQUksRUFDSixlQUFlLEVBQ2YsUUFBUSxDQUFDLGtCQUFrQixFQUMzQixxQkFBcUIsRUFDckIsY0FBYyxFQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUN2QixDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/deployment/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './contract_deployer.js';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVwbG95bWVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDIn0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { UnsafeContract } from '../contract/unsafe_contract.js';
|
|
2
|
+
import { Wallet } from '../wallet/index.js';
|
|
3
|
+
/** Returns a Contract wrapper for the class registerer. */
|
|
4
|
+
export declare function getRegistererContract(wallet: Wallet): UnsafeContract;
|
|
5
|
+
/** Returns a Contract wrapper for the instance deployer. */
|
|
6
|
+
export declare function getDeployerContract(wallet: Wallet): UnsafeContract;
|
|
7
|
+
//# sourceMappingURL=protocol_contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol_contracts.d.ts","sourceRoot":"","sources":["../../src/deployment/protocol_contracts.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,2DAA2D;AAC3D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,kBAGnD;AAED,4DAA4D;AAC5D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,kBAGjD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { getCanonicalClassRegisterer } from '@aztec/protocol-contracts/class-registerer';
|
|
2
|
+
import { getCanonicalInstanceDeployer } from '@aztec/protocol-contracts/instance-deployer';
|
|
3
|
+
import { UnsafeContract } from '../contract/unsafe_contract.js';
|
|
4
|
+
/** Returns a Contract wrapper for the class registerer. */
|
|
5
|
+
export function getRegistererContract(wallet) {
|
|
6
|
+
const { artifact, instance } = getCanonicalClassRegisterer();
|
|
7
|
+
return new UnsafeContract(instance, artifact, wallet);
|
|
8
|
+
}
|
|
9
|
+
/** Returns a Contract wrapper for the instance deployer. */
|
|
10
|
+
export function getDeployerContract(wallet) {
|
|
11
|
+
const { artifact, instance } = getCanonicalInstanceDeployer();
|
|
12
|
+
return new UnsafeContract(instance, artifact, wallet);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlcGxveW1lbnQvcHJvdG9jb2xfY29udHJhY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTNGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUdoRSwyREFBMkQ7QUFDM0QsTUFBTSxVQUFVLHFCQUFxQixDQUFDLE1BQWM7SUFDbEQsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRywyQkFBMkIsRUFBRSxDQUFDO0lBQzdELE9BQU8sSUFBSSxjQUFjLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRUQsNERBQTREO0FBQzVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxNQUFjO0lBQ2hELE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsNEJBQTRCLEVBQUUsQ0FBQztJQUM5RCxPQUFPLElBQUksY0FBYyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDeEQsQ0FBQyJ9
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
2
|
+
import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
|
|
3
|
+
import { Wallet } from '../wallet/index.js';
|
|
4
|
+
/** Sets up a call to register a contract class given its artifact. */
|
|
5
|
+
export declare function registerContractClass(wallet: Wallet, artifact: ContractArtifact): ContractFunctionInteraction;
|
|
6
|
+
//# sourceMappingURL=register_class.d.ts.map
|
|
@@ -0,0 +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,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,2BAA2B,CAM7G"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, getContractClassFromArtifact } from '@aztec/circuits.js';
|
|
2
|
+
import { bufferAsFields } from '@aztec/foundation/abi';
|
|
3
|
+
import { getRegistererContract } from './protocol_contracts.js';
|
|
4
|
+
/** Sets up a call to register a contract class given its artifact. */
|
|
5
|
+
export function registerContractClass(wallet, artifact) {
|
|
6
|
+
const { artifactHash, privateFunctionsRoot, publicBytecodeCommitment, packedBytecode } = getContractClassFromArtifact(artifact);
|
|
7
|
+
const encodedBytecode = bufferAsFields(packedBytecode, MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS);
|
|
8
|
+
const registerer = getRegistererContract(wallet);
|
|
9
|
+
return registerer.methods.register(artifactHash, privateFunctionsRoot, publicBytecodeCommitment, encodedBytecode);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJfY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVwbG95bWVudC9yZWdpc3Rlcl9jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RyxPQUFPLEVBQW9CLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXpFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhFLHNFQUFzRTtBQUN0RSxNQUFNLFVBQVUscUJBQXFCLENBQUMsTUFBYyxFQUFFLFFBQTBCO0lBQzlFLE1BQU0sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUUsY0FBYyxFQUFFLEdBQ3BGLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxjQUFjLEVBQUUseUNBQXlDLENBQUMsQ0FBQztJQUNsRyxNQUFNLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRCxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0IsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUNwSCxDQUFDIn0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { FunctionCall } from '@aztec/circuit-types';
|
|
2
|
+
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
/**
|
|
5
|
+
* Holds information about how the fee for a transaction is to be paid.
|
|
6
|
+
*/
|
|
7
|
+
export interface FeePaymentMethod {
|
|
8
|
+
/**
|
|
9
|
+
* The asset used to pay the fee.
|
|
10
|
+
*/
|
|
11
|
+
getAsset(): AztecAddress;
|
|
12
|
+
/**
|
|
13
|
+
* Address which will hold the fee payment.
|
|
14
|
+
*/
|
|
15
|
+
getPaymentContract(): AztecAddress;
|
|
16
|
+
/**
|
|
17
|
+
* Whether the fee payment is private or not
|
|
18
|
+
*/
|
|
19
|
+
isPrivateFeePayment(): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Creates a function call to pay the fee in the given asset.
|
|
22
|
+
* TODO(fees) replace maxFee with gas limits
|
|
23
|
+
* @param maxFee - The maximum fee to be paid in the given asset.
|
|
24
|
+
* @returns The function call to pay the fee.
|
|
25
|
+
*/
|
|
26
|
+
getFunctionCalls(maxFee: Fr): FunctionCall[];
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=fee_payment_method.d.ts.map
|
|
@@ -0,0 +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;;OAEG;IACH,mBAAmB,IAAI,OAAO,CAAC;IAE/B;;;;;OAKG;IACH,gBAAgB,CAAC,MAAM,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;CAC9C"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { FunctionCall } from '@aztec/circuit-types';
|
|
2
|
+
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { FeePaymentMethod } from './fee_payment_method.js';
|
|
5
|
+
/**
|
|
6
|
+
* Holds information about how the fee for a transaction is to be paid.
|
|
7
|
+
*/
|
|
8
|
+
export declare class GenericFeePaymentMethod implements FeePaymentMethod {
|
|
9
|
+
#private;
|
|
10
|
+
/**
|
|
11
|
+
* The asset used to pay the fee.
|
|
12
|
+
*/
|
|
13
|
+
private asset;
|
|
14
|
+
/**
|
|
15
|
+
* Address which will hold the fee payment.
|
|
16
|
+
*/
|
|
17
|
+
private paymentContract;
|
|
18
|
+
/**
|
|
19
|
+
* Whether the fee payment is private
|
|
20
|
+
*/
|
|
21
|
+
private privatePayment;
|
|
22
|
+
constructor(
|
|
23
|
+
/**
|
|
24
|
+
* The asset used to pay the fee.
|
|
25
|
+
*/
|
|
26
|
+
asset: AztecAddress,
|
|
27
|
+
/**
|
|
28
|
+
* Address which will hold the fee payment.
|
|
29
|
+
*/
|
|
30
|
+
paymentContract: AztecAddress,
|
|
31
|
+
/**
|
|
32
|
+
* Whether the fee payment is private
|
|
33
|
+
*/
|
|
34
|
+
privatePayment: boolean);
|
|
35
|
+
/**
|
|
36
|
+
* The asset used to pay the fee.
|
|
37
|
+
* @returns The asset used to pay the fee.
|
|
38
|
+
*/
|
|
39
|
+
getAsset(): AztecAddress;
|
|
40
|
+
/**
|
|
41
|
+
* The address which will facilitate the fee payment.
|
|
42
|
+
* @returns The contract address responsible for holding the fee payment.
|
|
43
|
+
*/
|
|
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
|
+
/**
|
|
51
|
+
* Creates a function call to pay the fee in the given asset.
|
|
52
|
+
* @param maxFee - The maximum fee to be paid in the given asset.
|
|
53
|
+
* @returns The function call to pay the fee.
|
|
54
|
+
*/
|
|
55
|
+
getFunctionCalls(maxFee: Fr): FunctionCall[];
|
|
56
|
+
static empty(): GenericFeePaymentMethod;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=generic_fee_payment_method.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generic_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/generic_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;AAE9C,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;IACvB;;OAEG;IACH,OAAO,CAAC,cAAc;;IAXtB;;OAEG;IACK,KAAK,EAAE,YAAY;IAC3B;;OAEG;IACK,eAAe,EAAE,YAAY;IACrC;;OAEG;IACK,cAAc,EAAE,OAAO;IAGjC;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,kBAAkB;IAclB;;;OAGG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,EAAE,EAAE,GAAG,YAAY,EAAE;IAW5C,MAAM,CAAC,KAAK,IAAI,uBAAuB;CAGxC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
var _GenericFeePaymentMethod_instances, _GenericFeePaymentMethod_getFeePaymentEntrypoint;
|
|
2
|
+
import { __classPrivateFieldGet } from "tslib";
|
|
3
|
+
import { FunctionData } from '@aztec/circuits.js';
|
|
4
|
+
import { FunctionSelector } from '@aztec/foundation/abi';
|
|
5
|
+
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
6
|
+
/**
|
|
7
|
+
* Holds information about how the fee for a transaction is to be paid.
|
|
8
|
+
*/
|
|
9
|
+
export class GenericFeePaymentMethod {
|
|
10
|
+
constructor(
|
|
11
|
+
/**
|
|
12
|
+
* The asset used to pay the fee.
|
|
13
|
+
*/
|
|
14
|
+
asset,
|
|
15
|
+
/**
|
|
16
|
+
* Address which will hold the fee payment.
|
|
17
|
+
*/
|
|
18
|
+
paymentContract,
|
|
19
|
+
/**
|
|
20
|
+
* Whether the fee payment is private
|
|
21
|
+
*/
|
|
22
|
+
privatePayment) {
|
|
23
|
+
_GenericFeePaymentMethod_instances.add(this);
|
|
24
|
+
this.asset = asset;
|
|
25
|
+
this.paymentContract = paymentContract;
|
|
26
|
+
this.privatePayment = privatePayment;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The asset used to pay the fee.
|
|
30
|
+
* @returns The asset used to pay the fee.
|
|
31
|
+
*/
|
|
32
|
+
getAsset() {
|
|
33
|
+
return this.asset;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The address which will facilitate the fee payment.
|
|
37
|
+
* @returns The contract address responsible for holding the fee payment.
|
|
38
|
+
*/
|
|
39
|
+
getPaymentContract() {
|
|
40
|
+
return this.paymentContract;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Whether the fee payment is private or not
|
|
44
|
+
* @returns Whether the fee payment is private or not
|
|
45
|
+
*/
|
|
46
|
+
isPrivateFeePayment() {
|
|
47
|
+
return this.privatePayment;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Creates a function call to pay the fee in the given asset.
|
|
51
|
+
* @param maxFee - The maximum fee to be paid in the given asset.
|
|
52
|
+
* @returns The function call to pay the fee.
|
|
53
|
+
*/
|
|
54
|
+
getFunctionCalls(maxFee) {
|
|
55
|
+
return [
|
|
56
|
+
// TODO(fees) set up auth witnesses
|
|
57
|
+
{
|
|
58
|
+
to: this.getPaymentContract(),
|
|
59
|
+
functionData: new FunctionData(__classPrivateFieldGet(this, _GenericFeePaymentMethod_instances, "m", _GenericFeePaymentMethod_getFeePaymentEntrypoint).call(this), false, true, false),
|
|
60
|
+
args: [maxFee, this.asset],
|
|
61
|
+
},
|
|
62
|
+
];
|
|
63
|
+
}
|
|
64
|
+
static empty() {
|
|
65
|
+
return new GenericFeePaymentMethod(AztecAddress.ZERO, AztecAddress.ZERO, false);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
_GenericFeePaymentMethod_instances = new WeakSet(), _GenericFeePaymentMethod_getFeePaymentEntrypoint = function _GenericFeePaymentMethod_getFeePaymentEntrypoint() {
|
|
69
|
+
return this.privatePayment
|
|
70
|
+
? FunctionSelector.fromSignature('prepare_fee_private(Field, (Field))')
|
|
71
|
+
: FunctionSelector.fromSignature('prepare_fee_public(Field, (Field))');
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpY19mZWVfcGF5bWVudF9tZXRob2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmVlL2dlbmVyaWNfZmVlX3BheW1lbnRfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUsvRDs7R0FFRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUFDbEM7SUFDRTs7T0FFRztJQUNLLEtBQW1CO0lBQzNCOztPQUVHO0lBQ0ssZUFBNkI7SUFDckM7O09BRUc7SUFDSyxjQUF1Qjs7UUFSdkIsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUluQixvQkFBZSxHQUFmLGVBQWUsQ0FBYztRQUk3QixtQkFBYyxHQUFkLGNBQWMsQ0FBUztJQUM5QixDQUFDO0lBRUo7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBWUQ7OztPQUdHO0lBQ0gsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLE1BQVU7UUFDekIsT0FBTztZQUNMLG1DQUFtQztZQUNuQztnQkFDRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFO2dCQUM3QixZQUFZLEVBQUUsSUFBSSxZQUFZLENBQUMsdUJBQUEsSUFBSSw0RkFBeUIsTUFBN0IsSUFBSSxDQUEyQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO2dCQUNuRixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUMzQjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixPQUFPLElBQUksdUJBQXVCLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xGLENBQUM7Q0FDRjs7SUFoQ0csT0FBTyxJQUFJLENBQUMsY0FBYztRQUN4QixDQUFDLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLHFDQUFxQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsb0NBQW9DLENBQUMsQ0FBQztBQUMzRSxDQUFDIn0=
|