@aztec/aztec.js 0.0.1-commit.d431d1c → 0.0.1-commit.e310a4c8
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/api/block.d.ts +2 -2
- package/dest/api/block.d.ts.map +1 -1
- package/dest/api/block.js +1 -1
- package/dest/api/contract.d.ts +16 -10
- package/dest/api/contract.d.ts.map +1 -1
- package/dest/api/contract.js +14 -8
- package/dest/api/keys.d.ts +1 -1
- package/dest/api/keys.js +1 -1
- package/dest/api/node.d.ts +8 -4
- package/dest/api/node.d.ts.map +1 -1
- package/dest/api/node.js +7 -3
- package/dest/api/tx.d.ts +2 -2
- package/dest/api/tx.d.ts.map +1 -1
- package/dest/api/tx.js +1 -1
- package/dest/api/wallet.d.ts +3 -2
- package/dest/api/wallet.d.ts.map +1 -1
- package/dest/api/wallet.js +2 -1
- package/dest/contract/base_contract_interaction.d.ts +8 -10
- package/dest/contract/base_contract_interaction.d.ts.map +1 -1
- package/dest/contract/base_contract_interaction.js +5 -17
- package/dest/contract/deploy_method.d.ts +63 -16
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +36 -19
- package/dest/contract/interaction_options.d.ts +42 -5
- package/dest/contract/interaction_options.d.ts.map +1 -1
- package/dest/contract/interaction_options.js +8 -1
- package/dest/contract/protocol_contracts/auth-registry.d.ts +1 -10
- package/dest/contract/protocol_contracts/auth-registry.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/auth-registry.js +61 -479
- package/dest/contract/protocol_contracts/contract-class-registry.d.ts +2 -11
- package/dest/contract/protocol_contracts/contract-class-registry.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/contract-class-registry.js +10 -422
- package/dest/contract/protocol_contracts/contract-instance-registry.d.ts +2 -11
- package/dest/contract/protocol_contracts/contract-instance-registry.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/contract-instance-registry.js +80 -486
- package/dest/contract/protocol_contracts/fee-juice.d.ts +1 -10
- package/dest/contract/protocol_contracts/fee-juice.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/fee-juice.js +0 -414
- package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts +3 -3
- package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/multi-call-entrypoint.js +13 -14
- package/dest/contract/protocol_contracts/public-checks.d.ts +3 -3
- package/dest/contract/protocol_contracts/public-checks.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/public-checks.js +13 -22
- package/dest/contract/wait_for_proven.js +1 -1
- package/dest/contract/wait_opts.d.ts +16 -0
- package/dest/contract/wait_opts.d.ts.map +1 -0
- package/dest/contract/wait_opts.js +5 -0
- package/dest/utils/authwit.d.ts +6 -6
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/authwit.js +2 -6
- package/dest/utils/node.d.ts +12 -1
- package/dest/utils/node.d.ts.map +1 -1
- package/dest/utils/node.js +46 -0
- package/dest/wallet/capabilities.d.ts +444 -0
- package/dest/wallet/capabilities.d.ts.map +1 -0
- package/dest/wallet/capabilities.js +3 -0
- package/dest/wallet/deploy_account_method.d.ts +19 -5
- package/dest/wallet/deploy_account_method.d.ts.map +1 -1
- package/dest/wallet/index.d.ts +2 -1
- package/dest/wallet/index.d.ts.map +1 -1
- package/dest/wallet/index.js +1 -0
- package/dest/wallet/wallet.d.ts +1356 -18
- package/dest/wallet/wallet.d.ts.map +1 -1
- package/dest/wallet/wallet.js +136 -4
- package/package.json +9 -9
- package/src/api/block.ts +1 -1
- package/src/api/contract.ts +22 -7
- package/src/api/keys.ts +2 -2
- package/src/api/node.ts +7 -3
- package/src/api/tx.ts +2 -0
- package/src/api/wallet.ts +43 -0
- package/src/contract/base_contract_interaction.ts +27 -15
- package/src/contract/deploy_method.ts +115 -23
- package/src/contract/interaction_options.ts +49 -4
- package/src/contract/protocol_contracts/auth-registry.ts +37 -240
- package/src/contract/protocol_contracts/contract-class-registry.ts +3 -204
- package/src/contract/protocol_contracts/contract-instance-registry.ts +34 -234
- package/src/contract/protocol_contracts/fee-juice.ts +0 -202
- package/src/contract/protocol_contracts/multi-call-entrypoint.ts +6 -12
- package/src/contract/protocol_contracts/public-checks.ts +6 -14
- package/src/contract/wait_for_proven.ts +1 -1
- package/src/contract/wait_opts.ts +21 -0
- package/src/utils/authwit.ts +16 -4
- package/src/utils/node.ts +62 -0
- package/src/wallet/capabilities.ts +491 -0
- package/src/wallet/deploy_account_method.ts +19 -4
- package/src/wallet/index.ts +1 -0
- package/src/wallet/wallet.ts +148 -12
- package/dest/contract/deploy_sent_tx.d.ts +0 -48
- package/dest/contract/deploy_sent_tx.d.ts.map +0 -1
- package/dest/contract/deploy_sent_tx.js +0 -46
- package/dest/contract/sent_tx.d.ts +0 -50
- package/dest/contract/sent_tx.d.ts.map +0 -1
- package/dest/contract/sent_tx.js +0 -90
- package/src/contract/deploy_sent_tx.ts +0 -75
- package/src/contract/sent_tx.ts +0 -129
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { TxStatus } from '@aztec/stdlib/tx';
|
|
2
|
+
/** Options related to waiting for a tx. */
|
|
3
|
+
export type WaitOpts = {
|
|
4
|
+
/** The amount of time to ignore TxStatus.DROPPED receipts (in seconds) due to the presumption that it is being propagated by the p2p network. Defaults to 5. */
|
|
5
|
+
ignoreDroppedReceiptsFor?: number;
|
|
6
|
+
/** The maximum time (in seconds) to wait for the transaction to be mined. Defaults to 60. */
|
|
7
|
+
timeout?: number;
|
|
8
|
+
/** The time interval (in seconds) between retries to fetch the transaction receipt. Defaults to 1. */
|
|
9
|
+
interval?: number;
|
|
10
|
+
/** Whether to accept a revert as a status code for the tx when waiting for it. If false, will throw if the tx reverts. */
|
|
11
|
+
dontThrowOnRevert?: boolean;
|
|
12
|
+
/** The minimum inclusion status to wait for. If set, waits until the receipt reaches this status or higher. Defaults to CHECKPOINTED. */
|
|
13
|
+
waitForStatus?: TxStatus;
|
|
14
|
+
};
|
|
15
|
+
export declare const DefaultWaitOpts: WaitOpts;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdF9vcHRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3Qvd2FpdF9vcHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELDJDQUEyQztBQUMzQyxNQUFNLE1BQU0sUUFBUSxHQUFHO0lBQ3JCLGdLQUFnSztJQUNoSyx3QkFBd0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNsQyw2RkFBNkY7SUFDN0YsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLHNHQUFzRztJQUN0RyxRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEIsMEhBQTBIO0lBQzFILGlCQUFpQixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQzVCLHlJQUF5STtJQUN6SSxhQUFhLENBQUMsRUFBRSxRQUFRLENBQUM7Q0FDMUIsQ0FBQztBQUVGLGVBQU8sTUFBTSxlQUFlLEVBQUUsUUFJN0IsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait_opts.d.ts","sourceRoot":"","sources":["../../src/contract/wait_opts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG;IACrB,gKAAgK;IAChK,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0HAA0H;IAC1H,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yIAAyI;IACzI,aAAa,CAAC,EAAE,QAAQ,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAI7B,CAAC"}
|
package/dest/utils/authwit.d.ts
CHANGED
|
@@ -3,10 +3,9 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
3
3
|
import { type FunctionCall } from '@aztec/stdlib/abi';
|
|
4
4
|
import { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
5
5
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
6
|
-
import type { TxProfileResult } from '@aztec/stdlib/tx';
|
|
6
|
+
import type { TxProfileResult, TxReceipt } from '@aztec/stdlib/tx';
|
|
7
7
|
import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
|
|
8
|
-
import type { ProfileInteractionOptions, SendInteractionOptions, SimulateInteractionOptions, SimulationReturn } from '../contract/interaction_options.js';
|
|
9
|
-
import type { SentTx } from '../contract/sent_tx.js';
|
|
8
|
+
import type { InteractionWaitOptions, ProfileInteractionOptions, SendInteractionOptions, SendInteractionOptionsWithoutWait, SendReturn, SimulateInteractionOptions, SimulationReturn } from '../contract/interaction_options.js';
|
|
10
9
|
import type { Wallet } from '../wallet/index.js';
|
|
11
10
|
/** Intent with an inner hash */
|
|
12
11
|
export type IntentInnerHash = {
|
|
@@ -111,9 +110,10 @@ export declare class SetPublicAuthwitContractInteraction extends ContractFunctio
|
|
|
111
110
|
* Overrides the send method, adding the sender of the authwit (authorizer) as from
|
|
112
111
|
* and preventing misuse
|
|
113
112
|
* @param options - An optional object containing 'fee' options information
|
|
114
|
-
* @returns A
|
|
113
|
+
* @returns A TxReceipt (if wait is true/undefined) or TxHash (if wait is false)
|
|
115
114
|
*/
|
|
116
|
-
send(options?: Omit<
|
|
115
|
+
send(options?: Omit<SendInteractionOptionsWithoutWait, 'from'>): Promise<TxReceipt>;
|
|
116
|
+
send<W extends InteractionWaitOptions>(options?: Omit<SendInteractionOptions<W>, 'from'>): Promise<SendReturn<W>>;
|
|
117
117
|
private static getSetAuthorizedAbi;
|
|
118
118
|
}
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aHdpdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2F1dGh3aXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBaUQsS0FBSyxZQUFZLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFDbkgsT0FBTyxFQUFFLFdBQVcsRUFBb0QsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRyxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEtBQUssRUFBVSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFM0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxLQUFLLEVBQ1Ysc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsaUNBQWlDLEVBQ2pDLFVBQVUsRUFDViwwQkFBMEIsRUFDMUIsZ0JBQWdCLEVBQ2pCLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQsZ0NBQWdDO0FBQ2hDLE1BQU0sTUFBTSxlQUFlLEdBQUc7SUFDNUIscUJBQXFCO0lBQ3JCLFFBQVEsRUFBRSxZQUFZLENBQUM7SUFDdkIsNEJBQTRCO0lBQzVCLFNBQVMsRUFBRSxFQUFFLENBQUM7Q0FDZixDQUFDO0FBRUYseUJBQXlCO0FBQ3pCLE1BQU0sTUFBTSxVQUFVLEdBQUc7SUFDdkIsNkJBQTZCO0lBQzdCLE1BQU0sRUFBRSxZQUFZLENBQUM7SUFDckIsMEJBQTBCO0lBQzFCLElBQUksRUFBRSxZQUFZLENBQUM7Q0FDcEIsQ0FBQztBQUVGLGdEQUFnRDtBQUNoRCxNQUFNLE1BQU0scUNBQXFDLEdBQUc7SUFDbEQsNkJBQTZCO0lBQzdCLE1BQU0sRUFBRSxZQUFZLENBQUM7SUFDckIsNEJBQTRCO0lBQzVCLE1BQU0sRUFBRSwyQkFBMkIsQ0FBQztDQUNyQyxDQUFDO0FBRUYsd0RBQXdEO0FBQ3hELHdCQUFnQix1Q0FBdUMsQ0FDckQsbUJBQW1CLEVBQUUsRUFBRSxHQUFHLGVBQWUsR0FBRyxVQUFVLEdBQUcscUNBQXFDLEdBQzdGLG1CQUFtQixJQUFJLHFDQUFxQyxDQU05RDtBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILGVBQU8sTUFBTSx5QkFBeUIsb0hBbUJyQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsd0JBQXNCLHdCQUF3QixDQUM1QyxtQkFBbUIsRUFBRSxFQUFFLEdBQUcsZUFBZSxHQUFHLFVBQVUsR0FBRyxxQ0FBcUMsRUFDOUYsU0FBUyxFQUFFLFNBQVMsZUFVckI7QUFFRDs7Ozs7O0lBTUk7QUFDSixlQUFPLE1BQU0saUNBQWlDLDJGQU03QyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNILHdCQUFzQixjQUFjLENBQ2xDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsVUFBVSxFQUFFLFlBQVksRUFDeEIsTUFBTSxFQUFFLGVBQWUsR0FBRyxVQUFVLEdBQUcscUNBQXFDLEVBQzVFLE9BQU8sRUFBRSxXQUFXLEdBQ25CLE9BQU8sQ0FBQztJQUNULHlFQUF5RTtJQUN6RSxnQkFBZ0IsRUFBRSxPQUFPLENBQUM7SUFDMUIsd0VBQXdFO0lBQ3hFLGVBQWUsRUFBRSxPQUFPLENBQUM7Q0FDMUIsQ0FBQyxDQTBFRDtBQUVEOztHQUVHO0FBQ0gscUJBQWEsbUNBQW9DLFNBQVEsMkJBQTJCO0lBR2hGLE9BQU8sQ0FBQyxJQUFJO0lBRmQsT0FBTyxlQVVOO0lBRUQsT0FBYSxNQUFNLENBQ2pCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsSUFBSSxFQUFFLFlBQVksRUFDbEIsbUJBQW1CLEVBQUUsRUFBRSxHQUFHLGVBQWUsR0FBRyxVQUFVLEdBQUcscUNBQXFDLEVBQzlGLFVBQVUsRUFBRSxPQUFPLGdEQUtwQjtJQUVEOzs7OztPQUtHO0lBQ2EsUUFBUSxDQUFDLENBQUMsU0FBUywwQkFBMEIsRUFDM0QsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQ3ZCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFRbkQ7Ozs7O09BS0c7SUFDYSxPQUFPLENBQ3JCLE9BQU8sR0FBRSxJQUFJLENBQUMseUJBQXlCLEVBQUUsTUFBTSxDQUE0QixHQUMxRSxPQUFPLENBQUMsZUFBZSxDQUFDLENBRTFCO0lBRUQ7Ozs7O09BS0c7SUFFYSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUdwRixJQUFJLENBQUMsQ0FBQyxTQUFTLHNCQUFzQixFQUNuRCxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQ2hELE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQVExQixPQUFPLENBQUMsTUFBTSxDQUFDLG1CQUFtQjtDQXVCbkMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authwit.d.ts","sourceRoot":"","sources":["../../src/utils/authwit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAiD,KAAK,YAAY,EAAgB,MAAM,mBAAmB,CAAC;AACnH,OAAO,EAAE,WAAW,EAAoD,MAAM,4BAA4B,CAAC;AAC3G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"authwit.d.ts","sourceRoot":"","sources":["../../src/utils/authwit.ts"],"names":[],"mappings":"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"}
|
package/dest/utils/authwit.js
CHANGED
|
@@ -230,12 +230,8 @@ import { ContractFunctionInteraction } from '../contract/contract_function_inter
|
|
|
230
230
|
from: this.from
|
|
231
231
|
});
|
|
232
232
|
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
* and preventing misuse
|
|
236
|
-
* @param options - An optional object containing 'fee' options information
|
|
237
|
-
* @returns A SentTx instance for tracking the transaction status and information.
|
|
238
|
-
*/ send(options = {}) {
|
|
233
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
234
|
+
send(options) {
|
|
239
235
|
return super.send({
|
|
240
236
|
...options,
|
|
241
237
|
from: this.from
|
package/dest/utils/node.d.ts
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import type { Logger } from '@aztec/foundation/log';
|
|
2
2
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
3
|
+
import type { TxHash, TxReceipt } from '@aztec/stdlib/tx';
|
|
4
|
+
import { type WaitOpts } from '../contract/wait_opts.js';
|
|
3
5
|
export declare const waitForNode: (node: AztecNode, logger?: Logger | undefined) => Promise<void>;
|
|
6
|
+
/**
|
|
7
|
+
* Waits for a transaction to be mined and returns its receipt.
|
|
8
|
+
* @param node - The Aztec node to query for transaction status
|
|
9
|
+
* @param txHash - The hash of the transaction to wait for
|
|
10
|
+
* @param opts - Optional configuration for waiting behavior
|
|
11
|
+
* @returns The transaction receipt
|
|
12
|
+
* @throws If the transaction fails and dontThrowOnRevert is not set
|
|
13
|
+
*/
|
|
14
|
+
export declare function waitForTx(node: AztecNode, txHash: TxHash, opts?: WaitOpts): Promise<TxReceipt>;
|
|
4
15
|
export { createAztecNodeClient, type AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL25vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzFELE9BQU8sRUFBbUIsS0FBSyxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRSxlQUFPLE1BQU0sV0FBVyxpRUFZdkIsQ0FBQztBQU9GOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0IsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxRQUFRLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQTJDcEc7QUFFRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQyJ9
|
package/dest/utils/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/utils/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/utils/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAE1E,eAAO,MAAM,WAAW,iEAYvB,CAAC;AAOF;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CA2CpG;AAED,OAAO,EAAE,qBAAqB,EAAE,KAAK,SAAS,EAAE,MAAM,iCAAiC,CAAC"}
|
package/dest/utils/node.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { retryUntil } from '@aztec/foundation/retry';
|
|
2
|
+
import { SortedTxStatuses, TxStatus } from '@aztec/stdlib/tx';
|
|
3
|
+
import { DefaultWaitOpts } from '../contract/wait_opts.js';
|
|
2
4
|
export const waitForNode = async (node, logger)=>{
|
|
3
5
|
await retryUntil(async ()=>{
|
|
4
6
|
try {
|
|
@@ -12,4 +14,48 @@ export const waitForNode = async (node, logger)=>{
|
|
|
12
14
|
return undefined;
|
|
13
15
|
}, 'RPC Get Node Info');
|
|
14
16
|
};
|
|
17
|
+
/** Returns true if the receipt status is at least the desired status level. */ function hasReachedStatus(receipt, desiredStatus) {
|
|
18
|
+
return SortedTxStatuses.indexOf(receipt.status) >= SortedTxStatuses.indexOf(desiredStatus);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Waits for a transaction to be mined and returns its receipt.
|
|
22
|
+
* @param node - The Aztec node to query for transaction status
|
|
23
|
+
* @param txHash - The hash of the transaction to wait for
|
|
24
|
+
* @param opts - Optional configuration for waiting behavior
|
|
25
|
+
* @returns The transaction receipt
|
|
26
|
+
* @throws If the transaction fails and dontThrowOnRevert is not set
|
|
27
|
+
*/ export async function waitForTx(node, txHash, opts) {
|
|
28
|
+
const startTime = Date.now();
|
|
29
|
+
const ignoreDroppedReceiptsFor = opts?.ignoreDroppedReceiptsFor ?? DefaultWaitOpts.ignoreDroppedReceiptsFor;
|
|
30
|
+
const waitForStatus = opts?.waitForStatus ?? TxStatus.CHECKPOINTED;
|
|
31
|
+
const receipt = await retryUntil(async ()=>{
|
|
32
|
+
const txReceipt = await node.getTxReceipt(txHash);
|
|
33
|
+
// If receipt is not yet available, try again
|
|
34
|
+
if (txReceipt.isPending()) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
// If the tx was "dropped", either return it or ignore based on timing.
|
|
38
|
+
// We can ignore it at first because the transaction may have been sent to node 1, and now we're asking node 2 for the receipt.
|
|
39
|
+
// If we don't allow a short grace period, we could incorrectly return a TxReceipt with status DROPPED.
|
|
40
|
+
if (txReceipt.isDropped()) {
|
|
41
|
+
const elapsedSeconds = (Date.now() - startTime) / 1000;
|
|
42
|
+
if (!ignoreDroppedReceiptsFor || elapsedSeconds > ignoreDroppedReceiptsFor) {
|
|
43
|
+
return txReceipt;
|
|
44
|
+
}
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
// Check if the receipt has reached the desired status level
|
|
48
|
+
if (!hasReachedStatus(txReceipt, waitForStatus)) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
return txReceipt;
|
|
52
|
+
}, 'isMined', opts?.timeout ?? DefaultWaitOpts.timeout, opts?.interval ?? DefaultWaitOpts.interval);
|
|
53
|
+
if (!receipt.isMined()) {
|
|
54
|
+
throw new Error(`Transaction ${txHash.toString()} was ${receipt.status}. Reason: ${receipt.error ?? 'unknown'}`);
|
|
55
|
+
}
|
|
56
|
+
if (!receipt.hasExecutionSucceeded() && !opts?.dontThrowOnRevert) {
|
|
57
|
+
throw new Error(`Transaction ${txHash.toString()} reverted: ${receipt.executionResult}. Reason: ${receipt.error ?? 'unknown'}`);
|
|
58
|
+
}
|
|
59
|
+
return receipt;
|
|
60
|
+
}
|
|
15
61
|
export { createAztecNodeClient } from '@aztec/stdlib/interfaces/client';
|
|
@@ -0,0 +1,444 @@
|
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
|
+
import type { Aliased } from './wallet.js';
|
|
4
|
+
/**
|
|
5
|
+
* Current capability manifest version.
|
|
6
|
+
*/
|
|
7
|
+
export declare const CAPABILITY_VERSION: "1.0";
|
|
8
|
+
/**
|
|
9
|
+
* Pattern for matching contract functions with wildcards.
|
|
10
|
+
*
|
|
11
|
+
* Used in simulation and transaction capabilities to specify which
|
|
12
|
+
* contract functions are allowed.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* // Allow any function on a specific contract
|
|
16
|
+
* \{ contract: ammAddress, function: '*' \}
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* // Allow only 'swap' function on a specific contract
|
|
20
|
+
* \{ contract: ammAddress, function: 'swap' \}
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* // Allow 'transfer' on any contract
|
|
24
|
+
* \{ contract: '*', function: 'transfer' \}
|
|
25
|
+
*/
|
|
26
|
+
export interface ContractFunctionPattern {
|
|
27
|
+
/** Contract address or '*' for any contract */
|
|
28
|
+
contract: AztecAddress | '*';
|
|
29
|
+
/** Function name or '*' for any function */
|
|
30
|
+
function: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Account access capability - grants access to user accounts.
|
|
34
|
+
*
|
|
35
|
+
* Maps to wallet methods:
|
|
36
|
+
* - getAccounts (when canGet: true)
|
|
37
|
+
* - createAuthWit (when canCreateAuthWit: true)
|
|
38
|
+
*
|
|
39
|
+
* The wallet decides which accounts to reveal to the app.
|
|
40
|
+
* Apps don't specify which accounts they want - they just request
|
|
41
|
+
* the capability and the wallet shows them the available accounts.
|
|
42
|
+
*/
|
|
43
|
+
export interface AccountsCapability {
|
|
44
|
+
/** Discriminator for capability type */
|
|
45
|
+
type: 'accounts';
|
|
46
|
+
/** Can get accounts from wallet. Maps to: getAccounts */
|
|
47
|
+
canGet?: boolean;
|
|
48
|
+
/** Can create auth witnesses for accounts. Maps to: createAuthWit */
|
|
49
|
+
canCreateAuthWit?: boolean;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Granted account access capability.
|
|
53
|
+
*
|
|
54
|
+
* Extends the request with specific accounts that were granted by the wallet.
|
|
55
|
+
*/
|
|
56
|
+
export interface GrantedAccountsCapability extends AccountsCapability {
|
|
57
|
+
/** Specific accounts granted by the wallet with their aliases. The wallet adds this when granting the capability. */
|
|
58
|
+
accounts: Aliased<AztecAddress>[];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Contract interaction capability - for registering and querying contracts.
|
|
62
|
+
*
|
|
63
|
+
* Maps to wallet methods:
|
|
64
|
+
* - registerContract (when canRegister: true)
|
|
65
|
+
* - getContractMetadata (when canGetMetadata: true)
|
|
66
|
+
*
|
|
67
|
+
* Matching is done by contract address, not class ID. This allows updating
|
|
68
|
+
* existing contracts with new artifacts (e.g., when contract is upgraded
|
|
69
|
+
* to a new contractClassId on-chain).
|
|
70
|
+
*
|
|
71
|
+
* Note: For querying contract class metadata, use ContractClassesCapability instead.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* // Register and query specific contracts
|
|
75
|
+
* \{
|
|
76
|
+
* type: 'contracts',
|
|
77
|
+
* contracts: [ammAddress, tokenAddress],
|
|
78
|
+
* canRegister: true,
|
|
79
|
+
* canGetMetadata: true
|
|
80
|
+
* \}
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* // Query any contract (read-only)
|
|
84
|
+
* \{
|
|
85
|
+
* type: 'contracts',
|
|
86
|
+
* contracts: '*',
|
|
87
|
+
* canGetMetadata: true
|
|
88
|
+
* \}
|
|
89
|
+
*/
|
|
90
|
+
export interface ContractsCapability {
|
|
91
|
+
/** Discriminator for capability type */
|
|
92
|
+
type: 'contracts';
|
|
93
|
+
/**
|
|
94
|
+
* Which contracts this applies to:
|
|
95
|
+
* - '*': Any contract address
|
|
96
|
+
* - AztecAddress[]: Specific contract addresses
|
|
97
|
+
*/
|
|
98
|
+
contracts: '*' | AztecAddress[];
|
|
99
|
+
/**
|
|
100
|
+
* Can register contracts and update existing registrations.
|
|
101
|
+
* Maps to: registerContract
|
|
102
|
+
*
|
|
103
|
+
* When true, allows:
|
|
104
|
+
* - Registering new contract instances at specified addresses
|
|
105
|
+
* - Re-registering existing contracts with updated artifacts (e.g., after upgrade)
|
|
106
|
+
*/
|
|
107
|
+
canRegister?: boolean;
|
|
108
|
+
/** Can query contract metadata. Maps to: getContractMetadata */
|
|
109
|
+
canGetMetadata?: boolean;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Granted contract interaction capability.
|
|
113
|
+
*
|
|
114
|
+
* The wallet may reduce the scope (e.g., from '*' to specific addresses).
|
|
115
|
+
*/
|
|
116
|
+
export interface GrantedContractsCapability extends ContractsCapability {
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Contract class capability - for querying contract class metadata.
|
|
120
|
+
*
|
|
121
|
+
* Maps to wallet methods:
|
|
122
|
+
* - getContractClassMetadata
|
|
123
|
+
*
|
|
124
|
+
* Contract classes are identified by their class ID (Fr), not by contract address.
|
|
125
|
+
* Multiple contract instances can share the same class. This capability grants
|
|
126
|
+
* permission to query metadata for specific contract classes.
|
|
127
|
+
*
|
|
128
|
+
* Apps typically acquire this permission automatically when registering a contract
|
|
129
|
+
* with an artifact (the wallet auto-grants permission for that contract's class ID).
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* // Query specific contract classes
|
|
133
|
+
* \{
|
|
134
|
+
* type: 'contractClasses',
|
|
135
|
+
* classes: [classId1, classId2],
|
|
136
|
+
* canGetMetadata: true
|
|
137
|
+
* \}
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* // Query any contract class (wildcard)
|
|
141
|
+
* \{
|
|
142
|
+
* type: 'contractClasses',
|
|
143
|
+
* classes: '*',
|
|
144
|
+
* canGetMetadata: true
|
|
145
|
+
* \}
|
|
146
|
+
*/
|
|
147
|
+
export interface ContractClassesCapability {
|
|
148
|
+
/** Discriminator for capability type */
|
|
149
|
+
type: 'contractClasses';
|
|
150
|
+
/**
|
|
151
|
+
* Which contract classes this applies to:
|
|
152
|
+
* - '*': Any contract class ID
|
|
153
|
+
* - Fr[]: Specific contract class IDs
|
|
154
|
+
*/
|
|
155
|
+
classes: '*' | Fr[];
|
|
156
|
+
/** Can query contract class metadata. Maps to: getContractClassMetadata */
|
|
157
|
+
canGetMetadata: boolean;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Granted contract class capability.
|
|
161
|
+
*
|
|
162
|
+
* The wallet may reduce the scope (e.g., from '*' to specific class IDs).
|
|
163
|
+
*/
|
|
164
|
+
export interface GrantedContractClassesCapability extends ContractClassesCapability {
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Transaction simulation capability - for simulating transactions and utilities.
|
|
168
|
+
*
|
|
169
|
+
* Maps to wallet methods:
|
|
170
|
+
* - simulateTx (when transactions scope specified)
|
|
171
|
+
* - simulateUtility (when utilities scope specified)
|
|
172
|
+
* - profileTx (when transactions scope specified)
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* // Simulate any transaction on specific contracts
|
|
176
|
+
* \{
|
|
177
|
+
* type: 'simulation',
|
|
178
|
+
* transactions: \{
|
|
179
|
+
* scope: [
|
|
180
|
+
* \{ contract: ammAddress, function: '*' \},
|
|
181
|
+
* \{ contract: tokenAddress, function: 'transfer' \}
|
|
182
|
+
* ]
|
|
183
|
+
* \}
|
|
184
|
+
* \}
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* // Simulate any transaction and utility call
|
|
188
|
+
* \{
|
|
189
|
+
* type: 'simulation',
|
|
190
|
+
* transactions: \{ scope: '*' \},
|
|
191
|
+
* utilities: \{ scope: '*' \}
|
|
192
|
+
* \}
|
|
193
|
+
*/
|
|
194
|
+
export interface SimulationCapability {
|
|
195
|
+
/** Discriminator for capability type */
|
|
196
|
+
type: 'simulation';
|
|
197
|
+
/** Transaction simulation scope. Maps to: simulateTx, profileTx */
|
|
198
|
+
transactions?: {
|
|
199
|
+
/**
|
|
200
|
+
* Which contracts/functions to allow:
|
|
201
|
+
* - '*': Any transaction
|
|
202
|
+
* - ContractFunctionPattern[]: Specific contract functions
|
|
203
|
+
*/
|
|
204
|
+
scope: '*' | ContractFunctionPattern[];
|
|
205
|
+
};
|
|
206
|
+
/** Utility simulation scope (unconstrained calls). Maps to: simulateUtility */
|
|
207
|
+
utilities?: {
|
|
208
|
+
/**
|
|
209
|
+
* Which contracts/functions to allow:
|
|
210
|
+
* - '*': Any utility call
|
|
211
|
+
* - ContractFunctionPattern[]: Specific contract functions
|
|
212
|
+
*/
|
|
213
|
+
scope: '*' | ContractFunctionPattern[];
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Granted transaction simulation capability.
|
|
218
|
+
*
|
|
219
|
+
* The wallet may reduce the scope (e.g., from '*' to specific patterns).
|
|
220
|
+
*/
|
|
221
|
+
export interface GrantedSimulationCapability extends SimulationCapability {
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Transaction execution capability - for sending transactions.
|
|
225
|
+
*
|
|
226
|
+
* Maps to wallet methods:
|
|
227
|
+
* - sendTx
|
|
228
|
+
*
|
|
229
|
+
* Policy enforcement (rate limits, spending limits) should be handled
|
|
230
|
+
* at the contract level in Aztec, not at the wallet level.
|
|
231
|
+
*
|
|
232
|
+
* @example
|
|
233
|
+
* // Send specific transactions with approval
|
|
234
|
+
* \{
|
|
235
|
+
* type: 'transaction',
|
|
236
|
+
* scope: [
|
|
237
|
+
* \{ contract: ammAddress, function: 'swap' \},
|
|
238
|
+
* \{ contract: ammAddress, function: 'addLiquidity' \}
|
|
239
|
+
* ]
|
|
240
|
+
* \}
|
|
241
|
+
*
|
|
242
|
+
* @example
|
|
243
|
+
* // Send any transaction
|
|
244
|
+
* \{
|
|
245
|
+
* type: 'transaction',
|
|
246
|
+
* scope: '*'
|
|
247
|
+
* \}
|
|
248
|
+
*/
|
|
249
|
+
export interface TransactionCapability {
|
|
250
|
+
/** Discriminator for capability type */
|
|
251
|
+
type: 'transaction';
|
|
252
|
+
/**
|
|
253
|
+
* Which contracts/functions to allow:
|
|
254
|
+
* - '*': Any transaction
|
|
255
|
+
* - ContractFunctionPattern[]: Specific patterns
|
|
256
|
+
*/
|
|
257
|
+
scope: '*' | ContractFunctionPattern[];
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Granted transaction execution capability.
|
|
261
|
+
*
|
|
262
|
+
* The wallet may reduce the scope (e.g., from '*' to specific patterns).
|
|
263
|
+
*/
|
|
264
|
+
export interface GrantedTransactionCapability extends TransactionCapability {
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Data access capability - for querying private data.
|
|
268
|
+
*
|
|
269
|
+
* Maps to wallet methods:
|
|
270
|
+
* - getAddressBook (when addressBook: true)
|
|
271
|
+
* - getPrivateEvents (when privateEvents specified)
|
|
272
|
+
*
|
|
273
|
+
* @example
|
|
274
|
+
* // Access address book and events from specific contract
|
|
275
|
+
* \{
|
|
276
|
+
* type: 'data',
|
|
277
|
+
* addressBook: true,
|
|
278
|
+
* privateEvents: \{
|
|
279
|
+
* contracts: [ammAddress],
|
|
280
|
+
* events: ['Swap', 'LiquidityAdded']
|
|
281
|
+
* \}
|
|
282
|
+
* \}
|
|
283
|
+
*
|
|
284
|
+
* @example
|
|
285
|
+
* // Access all events from any contract
|
|
286
|
+
* \{
|
|
287
|
+
* type: 'data',
|
|
288
|
+
* privateEvents: \{
|
|
289
|
+
* contracts: '*',
|
|
290
|
+
* events: '*'
|
|
291
|
+
* \}
|
|
292
|
+
* \}
|
|
293
|
+
*/
|
|
294
|
+
export interface DataCapability {
|
|
295
|
+
/** Discriminator for capability type */
|
|
296
|
+
type: 'data';
|
|
297
|
+
/** Access to address book. Maps to: getAddressBook */
|
|
298
|
+
addressBook?: boolean;
|
|
299
|
+
/** Access to private events. Maps to: getPrivateEvents */
|
|
300
|
+
privateEvents?: {
|
|
301
|
+
/**
|
|
302
|
+
* Which contracts to allow event queries from:
|
|
303
|
+
* - '*': Any contract
|
|
304
|
+
* - AztecAddress[]: Specific contracts
|
|
305
|
+
*/
|
|
306
|
+
contracts: '*' | AztecAddress[];
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Granted data access capability.
|
|
311
|
+
*
|
|
312
|
+
* The wallet may reduce the scope (e.g., from '*' to specific contracts).
|
|
313
|
+
*/
|
|
314
|
+
export interface GrantedDataCapability extends DataCapability {
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Union type of all capability scopes (app request).
|
|
318
|
+
*
|
|
319
|
+
* Capabilities group wallet operations by their security sensitivity
|
|
320
|
+
* and functional cohesion, making permission requests understandable
|
|
321
|
+
* to users.
|
|
322
|
+
*/
|
|
323
|
+
export type Capability = AccountsCapability | ContractsCapability | ContractClassesCapability | SimulationCapability | TransactionCapability | DataCapability;
|
|
324
|
+
/**
|
|
325
|
+
* Union type of all granted capabilities (wallet response).
|
|
326
|
+
*
|
|
327
|
+
* The wallet may augment capabilities with additional information:
|
|
328
|
+
* - AccountsCapability: adds specific accounts granted
|
|
329
|
+
* - Other capabilities: may reduce scope (e.g., '*' to specific addresses)
|
|
330
|
+
*/
|
|
331
|
+
export type GrantedCapability = GrantedAccountsCapability | GrantedContractsCapability | GrantedContractClassesCapability | GrantedSimulationCapability | GrantedTransactionCapability | GrantedDataCapability;
|
|
332
|
+
/**
|
|
333
|
+
* Application capability manifest.
|
|
334
|
+
*
|
|
335
|
+
* Sent by dApp to declare all operations it needs. This reduces authorization
|
|
336
|
+
* friction from multiple dialogs to a single comprehensive permission request.
|
|
337
|
+
*
|
|
338
|
+
* @example
|
|
339
|
+
* // DEX application manifest
|
|
340
|
+
* const manifest: AppCapabilities = \{
|
|
341
|
+
* version: CAPABILITY_VERSION,
|
|
342
|
+
* metadata: \{
|
|
343
|
+
* name: 'MyDEX',
|
|
344
|
+
* version: '1.0.0',
|
|
345
|
+
* description: 'Decentralized exchange for private token swaps',
|
|
346
|
+
* url: 'https://example.com',
|
|
347
|
+
* icon: 'https://example.com/icon.png'
|
|
348
|
+
* \},
|
|
349
|
+
* capabilities: [
|
|
350
|
+
* \{
|
|
351
|
+
* type: 'accounts',
|
|
352
|
+
* canGet: true,
|
|
353
|
+
* canCreateAuthWit: true
|
|
354
|
+
* \},
|
|
355
|
+
* \{
|
|
356
|
+
* type: 'contracts',
|
|
357
|
+
* contracts: [ammAddress, tokenAAddress, tokenBAddress],
|
|
358
|
+
* canRegister: true,
|
|
359
|
+
* canGetMetadata: true
|
|
360
|
+
* \},
|
|
361
|
+
* \{
|
|
362
|
+
* type: 'simulation',
|
|
363
|
+
* transactions: \{
|
|
364
|
+
* scope: [\{ contract: ammAddress, function: '*' \}]
|
|
365
|
+
* \}
|
|
366
|
+
* \},
|
|
367
|
+
* \{
|
|
368
|
+
* type: 'transaction',
|
|
369
|
+
* scope: [\{ contract: ammAddress, function: 'swap' \}]
|
|
370
|
+
* \}
|
|
371
|
+
* ]
|
|
372
|
+
* \};
|
|
373
|
+
*/
|
|
374
|
+
export interface AppCapabilities {
|
|
375
|
+
/**
|
|
376
|
+
* Manifest version for forward compatibility.
|
|
377
|
+
* Currently only '1.0' is supported.
|
|
378
|
+
*/
|
|
379
|
+
version: typeof CAPABILITY_VERSION;
|
|
380
|
+
/** Application metadata for display in authorization dialogs. */
|
|
381
|
+
metadata: {
|
|
382
|
+
/** Human-readable app name */
|
|
383
|
+
name: string;
|
|
384
|
+
/** App version */
|
|
385
|
+
version: string;
|
|
386
|
+
/** Optional description of what the app does */
|
|
387
|
+
description?: string;
|
|
388
|
+
/** Optional website URL */
|
|
389
|
+
url?: string;
|
|
390
|
+
/** Optional icon URL or data URI */
|
|
391
|
+
icon?: string;
|
|
392
|
+
};
|
|
393
|
+
/**
|
|
394
|
+
* Requested capabilities grouped by scope.
|
|
395
|
+
*/
|
|
396
|
+
capabilities: Capability[];
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Wallet capability response.
|
|
400
|
+
*
|
|
401
|
+
* Returned by wallet after user reviews and approves/denies the capability request.
|
|
402
|
+
*
|
|
403
|
+
* The wallet can modify requested capabilities:
|
|
404
|
+
* - Reduce scope (e.g., restrict to specific contracts instead of '*')
|
|
405
|
+
* - Add information (e.g., specify which accounts are granted)
|
|
406
|
+
* - Deny capabilities (by omitting them from the `granted` array)
|
|
407
|
+
*
|
|
408
|
+
* @example
|
|
409
|
+
* // App requests
|
|
410
|
+
* const manifest: AppCapabilities = \{
|
|
411
|
+
* version: '1.0',
|
|
412
|
+
* metadata: \{ name: 'MyDApp', version: '1.0.0' \},
|
|
413
|
+
* capabilities: [
|
|
414
|
+
* \{ type: 'accounts', canGet: true \},
|
|
415
|
+
* \{ type: 'contracts', contracts: '*', canRegister: true \}
|
|
416
|
+
* ]
|
|
417
|
+
* \};
|
|
418
|
+
*
|
|
419
|
+
* // Wallet responds with specific accounts and restricted contracts
|
|
420
|
+
* const response = await wallet.requestCapabilities(manifest);
|
|
421
|
+
* console.log(response.granted);
|
|
422
|
+
* // [
|
|
423
|
+
* // \{ type: 'accounts', canGet: true, accounts: [addr1, addr2] \},
|
|
424
|
+
* // \{ type: 'contracts', contracts: [specificContract], canRegister: true \}
|
|
425
|
+
* // ]
|
|
426
|
+
*/
|
|
427
|
+
export interface WalletCapabilities {
|
|
428
|
+
/** Response version for forward compatibility. */
|
|
429
|
+
version: typeof CAPABILITY_VERSION;
|
|
430
|
+
/**
|
|
431
|
+
* Capabilities granted by the wallet.
|
|
432
|
+
* Capabilities not in this array were implicitly denied.
|
|
433
|
+
* Empty array means the user denied all capabilities.
|
|
434
|
+
*/
|
|
435
|
+
granted: GrantedCapability[];
|
|
436
|
+
/** Wallet implementation details. */
|
|
437
|
+
wallet: {
|
|
438
|
+
/** Wallet name/implementation */
|
|
439
|
+
name: string;
|
|
440
|
+
/** Wallet version */
|
|
441
|
+
version: string;
|
|
442
|
+
};
|
|
443
|
+
}
|
|
444
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0aWVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2NhcGFiaWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0M7O0dBRUc7QUFDSCxlQUFPLE1BQU0sa0JBQWtCLE9BQWlCLENBQUM7QUFFakQ7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBTSxXQUFXLHVCQUF1QjtJQUN0QywrQ0FBK0M7SUFDL0MsUUFBUSxFQUFFLFlBQVksR0FBRyxHQUFHLENBQUM7SUFFN0IsNENBQTRDO0lBQzVDLFFBQVEsRUFBRSxNQUFNLENBQUM7Q0FDbEI7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxXQUFXLGtCQUFrQjtJQUNqQyx3Q0FBd0M7SUFDeEMsSUFBSSxFQUFFLFVBQVUsQ0FBQztJQUVqQix5REFBeUQ7SUFDekQsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBRWpCLHFFQUFxRTtJQUNyRSxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQztDQUM1QjtBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFdBQVcseUJBQTBCLFNBQVEsa0JBQWtCO0lBQ25FLHFIQUFxSDtJQUNySCxRQUFRLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7Q0FDbkM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Qkc7QUFDSCxNQUFNLFdBQVcsbUJBQW1CO0lBQ2xDLHdDQUF3QztJQUN4QyxJQUFJLEVBQUUsV0FBVyxDQUFDO0lBRWxCOzs7O09BSUc7SUFDSCxTQUFTLEVBQUUsR0FBRyxHQUFHLFlBQVksRUFBRSxDQUFDO0lB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/wallet/capabilities.ts"],"names":[],"mappings":"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"}
|