@aztec/accounts 0.74.0 → 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2
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/artifacts/EcdsaKAccount.json +552 -552
- package/artifacts/EcdsaRAccount.json +259 -259
- package/artifacts/SchnorrAccount.json +770 -770
- package/artifacts/SchnorrSingleKeyAccount.json +501 -501
- package/dest/dapp/dapp_interface.js +3 -5
- package/dest/dapp/index.js +0 -1
- package/dest/defaults/account_contract.js +3 -4
- package/dest/defaults/account_interface.js +7 -4
- package/dest/defaults/index.js +2 -4
- package/dest/ecdsa/ecdsa_k/account_contract.js +15 -11
- package/dest/ecdsa/ecdsa_k/artifact.js +3 -2
- package/dest/ecdsa/ecdsa_k/index.js +3 -7
- package/dest/ecdsa/index.js +0 -1
- package/dest/ecdsa/ssh_ecdsa_r/account_contract.js +51 -48
- package/dest/ecdsa/ssh_ecdsa_r/artifact.js +3 -2
- package/dest/ecdsa/ssh_ecdsa_r/index.js +3 -7
- package/dest/schnorr/account_contract.js +14 -11
- package/dest/schnorr/artifact.js +3 -2
- package/dest/schnorr/index.js +3 -7
- package/dest/single_key/account_contract.js +13 -10
- package/dest/single_key/artifact.js +3 -2
- package/dest/single_key/index.js +3 -7
- package/dest/testing/configuration.js +25 -24
- package/dest/testing/create_account.js +16 -13
- package/dest/testing/index.js +1 -3
- package/dest/utils/index.js +0 -1
- package/dest/utils/ssh_agent.js +75 -31
- package/package.json +9 -9
- package/src/defaults/index.ts +1 -1
- package/dest/dapp/dapp_interface.d.ts +0 -11
- package/dest/dapp/dapp_interface.d.ts.map +0 -1
- package/dest/dapp/index.d.ts +0 -2
- package/dest/dapp/index.d.ts.map +0 -1
- package/dest/defaults/account_contract.d.ts +0 -17
- package/dest/defaults/account_contract.d.ts.map +0 -1
- package/dest/defaults/account_interface.d.ts +0 -23
- package/dest/defaults/account_interface.d.ts.map +0 -1
- package/dest/defaults/index.d.ts +0 -10
- package/dest/defaults/index.d.ts.map +0 -1
- package/dest/ecdsa/ecdsa_k/account_contract.d.ts +0 -16
- package/dest/ecdsa/ecdsa_k/account_contract.d.ts.map +0 -1
- package/dest/ecdsa/ecdsa_k/artifact.d.ts +0 -3
- package/dest/ecdsa/ecdsa_k/artifact.d.ts.map +0 -1
- package/dest/ecdsa/ecdsa_k/index.d.ts +0 -33
- package/dest/ecdsa/ecdsa_k/index.d.ts.map +0 -1
- package/dest/ecdsa/index.d.ts +0 -3
- package/dest/ecdsa/index.d.ts.map +0 -1
- package/dest/ecdsa/ssh_ecdsa_r/account_contract.d.ts +0 -19
- package/dest/ecdsa/ssh_ecdsa_r/account_contract.d.ts.map +0 -1
- package/dest/ecdsa/ssh_ecdsa_r/artifact.d.ts +0 -2
- package/dest/ecdsa/ssh_ecdsa_r/artifact.d.ts.map +0 -1
- package/dest/ecdsa/ssh_ecdsa_r/index.d.ts +0 -33
- package/dest/ecdsa/ssh_ecdsa_r/index.d.ts.map +0 -1
- package/dest/schnorr/account_contract.d.ts +0 -15
- package/dest/schnorr/account_contract.d.ts.map +0 -1
- package/dest/schnorr/artifact.d.ts +0 -2
- package/dest/schnorr/artifact.d.ts.map +0 -1
- package/dest/schnorr/index.d.ts +0 -31
- package/dest/schnorr/index.d.ts.map +0 -1
- package/dest/single_key/account_contract.d.ts +0 -14
- package/dest/single_key/account_contract.d.ts.map +0 -1
- package/dest/single_key/artifact.d.ts +0 -2
- package/dest/single_key/artifact.d.ts.map +0 -1
- package/dest/single_key/index.d.ts +0 -31
- package/dest/single_key/index.d.ts.map +0 -1
- package/dest/testing/configuration.d.ts +0 -29
- package/dest/testing/configuration.d.ts.map +0 -1
- package/dest/testing/create_account.d.ts +0 -20
- package/dest/testing/create_account.d.ts.map +0 -1
- package/dest/testing/index.d.ts +0 -11
- package/dest/testing/index.d.ts.map +0 -1
- package/dest/utils/index.d.ts +0 -2
- package/dest/utils/index.d.ts.map +0 -1
- package/dest/utils/ssh_agent.d.ts +0 -36
- package/dest/utils/ssh_agent.d.ts.map +0 -1
|
@@ -2,17 +2,15 @@ import { DefaultDappEntrypoint } from '@aztec/entrypoints/dapp';
|
|
|
2
2
|
import { DefaultAccountInterface } from '../defaults/account_interface.js';
|
|
3
3
|
/**
|
|
4
4
|
* Default implementation for an account interface that uses a dapp entrypoint.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
constructor(authWitnessProvider, userAddress, dappAddress, nodeInfo) {
|
|
5
|
+
*/ export class DefaultDappInterface extends DefaultAccountInterface {
|
|
6
|
+
constructor(authWitnessProvider, userAddress, dappAddress, nodeInfo){
|
|
8
7
|
super(authWitnessProvider, userAddress, nodeInfo);
|
|
9
8
|
this.entrypoint = new DefaultDappEntrypoint(userAddress.address, authWitnessProvider, dappAddress, nodeInfo.l1ChainId, nodeInfo.protocolVersion);
|
|
10
9
|
}
|
|
11
10
|
static createFromUserWallet(wallet, dappAddress) {
|
|
12
11
|
return new DefaultDappInterface(wallet, wallet.getCompleteAddress(), dappAddress, {
|
|
13
12
|
l1ChainId: wallet.getChainId().toNumber(),
|
|
14
|
-
protocolVersion: wallet.getVersion().toNumber()
|
|
13
|
+
protocolVersion: wallet.getVersion().toNumber()
|
|
15
14
|
});
|
|
16
15
|
}
|
|
17
16
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFwcF9pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGFwcC9kYXBwX2ludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUUzRTs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBdUI7SUFDL0QsWUFDRSxtQkFBd0MsRUFDeEMsV0FBNEIsRUFDNUIsV0FBeUIsRUFDekIsUUFBeUQ7UUFFekQsS0FBSyxDQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUkscUJBQXFCLENBQ3pDLFdBQVcsQ0FBQyxPQUFPLEVBQ25CLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsUUFBUSxDQUFDLFNBQVMsRUFDbEIsUUFBUSxDQUFDLGVBQWUsQ0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsTUFBcUIsRUFBRSxXQUF5QjtRQUMxRSxPQUFPLElBQUksb0JBQW9CLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLFdBQVcsRUFBRTtZQUNoRixTQUFTLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUN6QyxlQUFlLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRTtTQUNoRCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YifQ==
|
package/dest/dapp/index.js
CHANGED
|
@@ -2,9 +2,9 @@ import { DefaultAccountInterface } from '../defaults/account_interface.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Base class for implementing an account contract. Requires that the account uses the
|
|
4
4
|
* default entrypoint method signature.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
constructor(artifact)
|
|
5
|
+
*/ export class DefaultAccountContract {
|
|
6
|
+
artifact;
|
|
7
|
+
constructor(artifact){
|
|
8
8
|
this.artifact = artifact;
|
|
9
9
|
}
|
|
10
10
|
getContractArtifact() {
|
|
@@ -14,4 +14,3 @@ export class DefaultAccountContract {
|
|
|
14
14
|
return new DefaultAccountInterface(this.getAuthWitnessProvider(address), address, nodeInfo);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF9jb250cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWZhdWx0cy9hY2NvdW50X2NvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTNFOzs7R0FHRztBQUNILE1BQU0sT0FBZ0Isc0JBQXNCO0lBSTFDLFlBQW9CLFFBQTBCO1FBQTFCLGFBQVEsR0FBUixRQUFRLENBQWtCO0lBQUcsQ0FBQztJQUVsRCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBd0IsRUFBRSxRQUFrQjtRQUN2RCxPQUFPLElBQUksdUJBQXVCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5RixDQUFDO0NBQ0YifQ==
|
|
@@ -3,9 +3,13 @@ import { DefaultAccountEntrypoint } from '@aztec/entrypoints/account';
|
|
|
3
3
|
/**
|
|
4
4
|
* Default implementation for an account interface. Requires that the account uses the default
|
|
5
5
|
* entrypoint signature, which accept an AppPayload and a FeePayload as defined in noir-libs/aztec-noir/src/entrypoint module
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
*/ export class DefaultAccountInterface {
|
|
7
|
+
authWitnessProvider;
|
|
8
|
+
address;
|
|
9
|
+
entrypoint;
|
|
10
|
+
chainId;
|
|
11
|
+
version;
|
|
12
|
+
constructor(authWitnessProvider, address, nodeInfo){
|
|
9
13
|
this.authWitnessProvider = authWitnessProvider;
|
|
10
14
|
this.address = address;
|
|
11
15
|
this.entrypoint = new DefaultAccountEntrypoint(address.address, authWitnessProvider, nodeInfo.l1ChainId, nodeInfo.protocolVersion);
|
|
@@ -31,4 +35,3 @@ export class DefaultAccountInterface {
|
|
|
31
35
|
return this.version;
|
|
32
36
|
}
|
|
33
37
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF9pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVmYXVsdHMvYWNjb3VudF9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUEyQyxFQUFFLEVBQWlCLE1BQU0sb0JBQW9CLENBQUM7QUFDaEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQU1sQyxZQUNVLG1CQUF3QyxFQUN4QyxPQUF3QixFQUNoQyxRQUF5RDtRQUZqRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBR2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSx3QkFBd0IsQ0FDNUMsT0FBTyxDQUFDLE9BQU8sRUFDZixtQkFBbUIsRUFDbkIsUUFBUSxDQUFDLFNBQVMsRUFDbEIsUUFBUSxDQUFDLGVBQWUsQ0FDekIsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxTQUErQjtRQUN0RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELGFBQWEsQ0FBQyxXQUFlO1FBQzNCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztDQUNGIn0=
|
package/dest/defaults/index.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The `@aztec/accounts/defaults` export provides the base class {@link DefaultAccountContract} for implementing account contracts that use the default entrypoint payload module.
|
|
3
3
|
*
|
|
4
|
-
* Read more in {@link https://docs.aztec.network/developers/
|
|
4
|
+
* Read more in {@link https://docs.aztec.network/developers/tutorials/codealong/contract_tutorials/write_accounts_contract | Writing an account contract}.
|
|
5
5
|
*
|
|
6
6
|
* @packageDocumentation
|
|
7
|
-
*/
|
|
8
|
-
export * from './account_interface.js';
|
|
7
|
+
*/ export * from './account_interface.js';
|
|
9
8
|
export * from './account_contract.js';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVmYXVsdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDIn0=
|
|
@@ -5,29 +5,33 @@ import { EcdsaKAccountContractArtifact } from './artifact.js';
|
|
|
5
5
|
/**
|
|
6
6
|
* Account contract that authenticates transactions using ECDSA signatures
|
|
7
7
|
* verified against a secp256k1 public key stored in an immutable encrypted note.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
constructor(signingPrivateKey)
|
|
11
|
-
super(EcdsaKAccountContractArtifact);
|
|
12
|
-
this.signingPrivateKey = signingPrivateKey;
|
|
8
|
+
*/ export class EcdsaKAccountContract extends DefaultAccountContract {
|
|
9
|
+
signingPrivateKey;
|
|
10
|
+
constructor(signingPrivateKey){
|
|
11
|
+
super(EcdsaKAccountContractArtifact), this.signingPrivateKey = signingPrivateKey;
|
|
13
12
|
}
|
|
14
13
|
async getDeploymentArgs() {
|
|
15
14
|
const signingPublicKey = await new Ecdsa().computePublicKey(this.signingPrivateKey);
|
|
16
|
-
return [
|
|
15
|
+
return [
|
|
16
|
+
signingPublicKey.subarray(0, 32),
|
|
17
|
+
signingPublicKey.subarray(32, 64)
|
|
18
|
+
];
|
|
17
19
|
}
|
|
18
20
|
getAuthWitnessProvider(_address) {
|
|
19
21
|
return new EcdsaKAuthWitnessProvider(this.signingPrivateKey);
|
|
20
22
|
}
|
|
21
23
|
}
|
|
22
|
-
/** Creates auth witnesses using ECDSA signatures. */
|
|
23
|
-
|
|
24
|
-
constructor(signingPrivateKey)
|
|
24
|
+
/** Creates auth witnesses using ECDSA signatures. */ class EcdsaKAuthWitnessProvider {
|
|
25
|
+
signingPrivateKey;
|
|
26
|
+
constructor(signingPrivateKey){
|
|
25
27
|
this.signingPrivateKey = signingPrivateKey;
|
|
26
28
|
}
|
|
27
29
|
async createAuthWit(messageHash) {
|
|
28
30
|
const ecdsa = new Ecdsa();
|
|
29
31
|
const signature = await ecdsa.constructSignature(messageHash.toBuffer(), this.signingPrivateKey);
|
|
30
|
-
return Promise.resolve(new AuthWitness(messageHash, [
|
|
32
|
+
return Promise.resolve(new AuthWitness(messageHash, [
|
|
33
|
+
...signature.r,
|
|
34
|
+
...signature.s
|
|
35
|
+
]));
|
|
31
36
|
}
|
|
32
37
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF9jb250cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lY2RzYS9lY2RzYV9rL2FjY291bnRfY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBd0IsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFJeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxzQkFBc0I7SUFDL0QsWUFBb0IsaUJBQXlCO1FBQzNDLEtBQUssQ0FBQyw2QkFBaUQsQ0FBQyxDQUFDO1FBRHZDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtJQUU3QyxDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQjtRQUNyQixNQUFNLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwRixPQUFPLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELHNCQUFzQixDQUFDLFFBQXlCO1FBQzlDLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0Y7QUFFRCxxREFBcUQ7QUFDckQsTUFBTSx5QkFBeUI7SUFDN0IsWUFBb0IsaUJBQXlCO1FBQXpCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtJQUFHLENBQUM7SUFFakQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxXQUFlO1FBQ2pDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFDMUIsTUFBTSxTQUFTLEdBQUcsTUFBTSxLQUFLLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pHLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7Q0FDRiJ9
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { loadContractArtifact } from '@aztec/aztec.js';
|
|
2
|
-
import EcdsaKAccountContractJson from '../../../artifacts/EcdsaKAccount.json' assert {
|
|
2
|
+
import EcdsaKAccountContractJson from '../../../artifacts/EcdsaKAccount.json' assert {
|
|
3
|
+
type: 'json'
|
|
4
|
+
};
|
|
3
5
|
export const EcdsaKAccountContractArtifact = loadContractArtifact(EcdsaKAccountContractJson);
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWZhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWNkc2EvZWNkc2Ffay9hcnRpZmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9ELG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekcsT0FBTyx5QkFBeUIsTUFBTSx1Q0FBdUMsQ0FBQyxTQUFTLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUV0RyxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBcUIsb0JBQW9CLENBQ2pGLHlCQUFpRCxDQUNsRCxDQUFDIn0=
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
* Consider using this account type when working with integrations with Ethereum wallets.
|
|
4
4
|
*
|
|
5
5
|
* @packageDocumentation
|
|
6
|
-
*/
|
|
7
|
-
import { AccountManager } from '@aztec/aztec.js/account';
|
|
6
|
+
*/ import { AccountManager } from '@aztec/aztec.js/account';
|
|
8
7
|
import { getWallet } from '@aztec/aztec.js/wallet';
|
|
9
8
|
import { EcdsaKAccountContract } from './account_contract.js';
|
|
10
9
|
export { EcdsaKAccountContractArtifact } from './artifact.js';
|
|
@@ -16,8 +15,7 @@ export { EcdsaKAccountContract };
|
|
|
16
15
|
* @param signingPrivateKey - Secp256k1 key used for signing transactions.
|
|
17
16
|
* @param salt - Deployment salt.
|
|
18
17
|
* @returns An account manager initialized with the account contract and its deployment params
|
|
19
|
-
*/
|
|
20
|
-
export function getEcdsaKAccount(pxe, secretKey, signingPrivateKey, salt) {
|
|
18
|
+
*/ export function getEcdsaKAccount(pxe, secretKey, signingPrivateKey, salt) {
|
|
21
19
|
return AccountManager.create(pxe, secretKey, new EcdsaKAccountContract(signingPrivateKey), salt);
|
|
22
20
|
}
|
|
23
21
|
/**
|
|
@@ -26,8 +24,6 @@ export function getEcdsaKAccount(pxe, secretKey, signingPrivateKey, salt) {
|
|
|
26
24
|
* @param address - Address for the account.
|
|
27
25
|
* @param signingPrivateKey - ECDSA key used for signing transactions.
|
|
28
26
|
* @returns A wallet for this account that can be used to interact with a contract instance.
|
|
29
|
-
*/
|
|
30
|
-
export function getEcdsaKWallet(pxe, address, signingPrivateKey) {
|
|
27
|
+
*/ export function getEcdsaKWallet(pxe, address, signingPrivateKey) {
|
|
31
28
|
return getWallet(pxe, address, new EcdsaKAccountContract(signingPrivateKey));
|
|
32
29
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWNkc2EvZWNkc2Ffay9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxjQUFjLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQXNCLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSXZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTlELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztBQUVqQzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixHQUFRLEVBQ1IsU0FBYSxFQUNiLGlCQUF5QixFQUN6QixJQUFXO0lBRVgsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25HLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLEdBQVEsRUFBRSxPQUFxQixFQUFFLGlCQUF5QjtJQUN4RixPQUFPLFNBQVMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUkscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUMifQ==
|
package/dest/ecdsa/index.js
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
export * from './ecdsa_k/index.js';
|
|
2
2
|
export * from './ssh_ecdsa_r/index.js';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWNkc2EvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHdCQUF3QixDQUFDIn0=
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
var _SSHEcdsaRAuthWitnessProvider_instances, _SSHEcdsaRAuthWitnessProvider_parseECDSASignature;
|
|
2
|
-
import { __classPrivateFieldGet } from "tslib";
|
|
3
1
|
import { AuthWitness } from '@aztec/circuit-types';
|
|
4
2
|
import { EcdsaSignature } from '@aztec/circuits.js/barretenberg';
|
|
5
3
|
import { DefaultAccountContract } from '../../defaults/account_contract.js';
|
|
@@ -12,65 +10,70 @@ const secp256r1N = 1157920892103562487626974469494075735299969552241357603424222
|
|
|
12
10
|
* Since this implementation relays signatures to an SSH agent, we provide the
|
|
13
11
|
* public key here not for signature verification, but to identify actual identity
|
|
14
12
|
* that will be used to sign authwitnesses.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
constructor(signingPublicKey)
|
|
18
|
-
super(EcdsaRAccountContractArtifact);
|
|
19
|
-
this.signingPublicKey = signingPublicKey;
|
|
13
|
+
*/ export class EcdsaRSSHAccountContract extends DefaultAccountContract {
|
|
14
|
+
signingPublicKey;
|
|
15
|
+
constructor(signingPublicKey){
|
|
16
|
+
super(EcdsaRAccountContractArtifact), this.signingPublicKey = signingPublicKey;
|
|
20
17
|
}
|
|
21
18
|
getDeploymentArgs() {
|
|
22
|
-
return Promise.resolve([
|
|
19
|
+
return Promise.resolve([
|
|
20
|
+
this.signingPublicKey.subarray(0, 32),
|
|
21
|
+
this.signingPublicKey.subarray(32, 64)
|
|
22
|
+
]);
|
|
23
23
|
}
|
|
24
24
|
getAuthWitnessProvider(_address) {
|
|
25
25
|
return new SSHEcdsaRAuthWitnessProvider(this.signingPublicKey);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
/** Creates auth witnesses using ECDSA signatures. */
|
|
29
|
-
|
|
30
|
-
constructor(signingPublicKey)
|
|
31
|
-
_SSHEcdsaRAuthWitnessProvider_instances.add(this);
|
|
28
|
+
/** Creates auth witnesses using ECDSA signatures. */ class SSHEcdsaRAuthWitnessProvider {
|
|
29
|
+
signingPublicKey;
|
|
30
|
+
constructor(signingPublicKey){
|
|
32
31
|
this.signingPublicKey = signingPublicKey;
|
|
33
32
|
}
|
|
33
|
+
#parseECDSASignature(data) {
|
|
34
|
+
// Extract ECDSA signature components
|
|
35
|
+
let offset = 0;
|
|
36
|
+
const sigTypeLen = data.readUInt32BE(offset);
|
|
37
|
+
offset += 4;
|
|
38
|
+
const sigType = data.subarray(offset, offset + sigTypeLen).toString();
|
|
39
|
+
offset += sigTypeLen;
|
|
40
|
+
if (sigType !== 'ecdsa-sha2-nistp256') {
|
|
41
|
+
throw new Error(`Unexpected signature type: ${sigType}`);
|
|
42
|
+
}
|
|
43
|
+
offset += 4;
|
|
44
|
+
const rLen = data.readUInt32BE(offset);
|
|
45
|
+
offset += 4;
|
|
46
|
+
let r = data.subarray(offset, offset + rLen);
|
|
47
|
+
offset += rLen;
|
|
48
|
+
const sLen = data.readUInt32BE(offset);
|
|
49
|
+
offset += 4;
|
|
50
|
+
let s = data.subarray(offset, offset + sLen);
|
|
51
|
+
// R and S are encoded using ASN.1 DER format, which may include a leading zero byte to avoid interpreting the value as negative
|
|
52
|
+
if (r.length > 32) {
|
|
53
|
+
r = Buffer.from(Uint8Array.prototype.slice.call(r, 1));
|
|
54
|
+
}
|
|
55
|
+
if (s.length > 32) {
|
|
56
|
+
s = Buffer.from(Uint8Array.prototype.slice.call(s, 1));
|
|
57
|
+
}
|
|
58
|
+
const maybeHighS = BigInt(`0x${s.toString('hex')}`);
|
|
59
|
+
// ECDSA signatures must have a low S value so they can be used as a nullifier. BB forces a value of 27 for v, so
|
|
60
|
+
// only one PublicKey can verify the signature (and not its negated counterpart) https://ethereum.stackexchange.com/a/55728
|
|
61
|
+
if (maybeHighS > secp256r1N / 2n + 1n) {
|
|
62
|
+
s = Buffer.from((secp256r1N - maybeHighS).toString(16), 'hex');
|
|
63
|
+
}
|
|
64
|
+
return new EcdsaSignature(r, s, Buffer.from([
|
|
65
|
+
0
|
|
66
|
+
]));
|
|
67
|
+
}
|
|
34
68
|
async createAuthWit(messageHash) {
|
|
35
69
|
// Key type and curve name
|
|
36
70
|
const keyType = Buffer.from('ecdsa-sha2-nistp256');
|
|
37
71
|
const curveName = Buffer.from('nistp256');
|
|
38
72
|
const data = await signWithAgent(keyType, curveName, this.signingPublicKey, messageHash.toBuffer());
|
|
39
|
-
const signature =
|
|
40
|
-
return new AuthWitness(messageHash, [
|
|
73
|
+
const signature = this.#parseECDSASignature(data);
|
|
74
|
+
return new AuthWitness(messageHash, [
|
|
75
|
+
...signature.r,
|
|
76
|
+
...signature.s
|
|
77
|
+
]);
|
|
41
78
|
}
|
|
42
79
|
}
|
|
43
|
-
_SSHEcdsaRAuthWitnessProvider_instances = new WeakSet(), _SSHEcdsaRAuthWitnessProvider_parseECDSASignature = function _SSHEcdsaRAuthWitnessProvider_parseECDSASignature(data) {
|
|
44
|
-
// Extract ECDSA signature components
|
|
45
|
-
let offset = 0;
|
|
46
|
-
const sigTypeLen = data.readUInt32BE(offset);
|
|
47
|
-
offset += 4;
|
|
48
|
-
const sigType = data.subarray(offset, offset + sigTypeLen).toString();
|
|
49
|
-
offset += sigTypeLen;
|
|
50
|
-
if (sigType !== 'ecdsa-sha2-nistp256') {
|
|
51
|
-
throw new Error(`Unexpected signature type: ${sigType}`);
|
|
52
|
-
}
|
|
53
|
-
offset += 4;
|
|
54
|
-
const rLen = data.readUInt32BE(offset);
|
|
55
|
-
offset += 4;
|
|
56
|
-
let r = data.subarray(offset, offset + rLen);
|
|
57
|
-
offset += rLen;
|
|
58
|
-
const sLen = data.readUInt32BE(offset);
|
|
59
|
-
offset += 4;
|
|
60
|
-
let s = data.subarray(offset, offset + sLen);
|
|
61
|
-
// R and S are encoded using ASN.1 DER format, which may include a leading zero byte to avoid interpreting the value as negative
|
|
62
|
-
if (r.length > 32) {
|
|
63
|
-
r = Buffer.from(Uint8Array.prototype.slice.call(r, 1));
|
|
64
|
-
}
|
|
65
|
-
if (s.length > 32) {
|
|
66
|
-
s = Buffer.from(Uint8Array.prototype.slice.call(s, 1));
|
|
67
|
-
}
|
|
68
|
-
const maybeHighS = BigInt(`0x${s.toString('hex')}`);
|
|
69
|
-
// ECDSA signatures must have a low S value so they can be used as a nullifier. BB forces a value of 27 for v, so
|
|
70
|
-
// only one PublicKey can verify the signature (and not its negated counterpart) https://ethereum.stackexchange.com/a/55728
|
|
71
|
-
if (maybeHighS > secp256r1N / 2n + 1n) {
|
|
72
|
-
s = Buffer.from((secp256r1N - maybeHighS).toString(16), 'hex');
|
|
73
|
-
}
|
|
74
|
-
return new EcdsaSignature(r, s, Buffer.from([0]));
|
|
75
|
-
};
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF9jb250cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lY2RzYS9zc2hfZWNkc2Ffci9hY2NvdW50X2NvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBd0IsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFJakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxNQUFNLFVBQVUsR0FBRywrRUFBK0UsQ0FBQztBQUNuRzs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsc0JBQXNCO0lBQ2xFLFlBQW9CLGdCQUF3QjtRQUMxQyxLQUFLLENBQUMsNkJBQWlELENBQUMsQ0FBQztRQUR2QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVE7SUFFNUMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsUUFBeUI7UUFDOUMsT0FBTyxJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Q0FDRjtBQUVELHFEQUFxRDtBQUNyRCxNQUFNLDRCQUE0QjtJQUNoQyxZQUFvQixnQkFBd0I7O1FBQXhCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBUTtJ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
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { loadContractArtifact } from '@aztec/aztec.js';
|
|
2
|
-
import EcdsaRAccountContractJson from '../../../artifacts/EcdsaRAccount.json' assert {
|
|
2
|
+
import EcdsaRAccountContractJson from '../../../artifacts/EcdsaRAccount.json' assert {
|
|
3
|
+
type: 'json'
|
|
4
|
+
};
|
|
3
5
|
export const EcdsaRAccountContractArtifact = loadContractArtifact(EcdsaRAccountContractJson);
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWZhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWNkc2Evc3NoX2VjZHNhX3IvYXJ0aWZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE2QixvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxGLE9BQU8seUJBQXlCLE1BQU0sdUNBQXVDLENBQUMsU0FBUyxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7QUFFdEcsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsb0JBQW9CLENBQUMseUJBQWlELENBQUMsQ0FBQyJ9
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
* Consider using this account type when working with integrations with Ethereum wallets.
|
|
4
4
|
*
|
|
5
5
|
* @packageDocumentation
|
|
6
|
-
*/
|
|
7
|
-
import { AccountManager } from '@aztec/aztec.js/account';
|
|
6
|
+
*/ import { AccountManager } from '@aztec/aztec.js/account';
|
|
8
7
|
import { getWallet } from '@aztec/aztec.js/wallet';
|
|
9
8
|
import { EcdsaRSSHAccountContract } from './account_contract.js';
|
|
10
9
|
export { EcdsaRAccountContractArtifact } from './artifact.js';
|
|
@@ -16,8 +15,7 @@ export { EcdsaRSSHAccountContract };
|
|
|
16
15
|
* @param signingPublicKey - Secp2561 key used to identify its corresponding private key in the SSH Agent.
|
|
17
16
|
* @param salt - Deployment salt.
|
|
18
17
|
* @returns An account manager initialized with the account contract and its deployment params
|
|
19
|
-
*/
|
|
20
|
-
export function getEcdsaRSSHAccount(pxe, secretKey, signingPublicKey, salt) {
|
|
18
|
+
*/ export function getEcdsaRSSHAccount(pxe, secretKey, signingPublicKey, salt) {
|
|
21
19
|
return AccountManager.create(pxe, secretKey, new EcdsaRSSHAccountContract(signingPublicKey), salt);
|
|
22
20
|
}
|
|
23
21
|
/**
|
|
@@ -26,8 +24,6 @@ export function getEcdsaRSSHAccount(pxe, secretKey, signingPublicKey, salt) {
|
|
|
26
24
|
* @param address - Address for the account.
|
|
27
25
|
* @param signingPrivateKey - ECDSA key used for signing transactions.
|
|
28
26
|
* @returns A wallet for this account that can be used to interact with a contract instance.
|
|
29
|
-
*/
|
|
30
|
-
export function getEcdsaRSSHWallet(pxe, address, signingPublicKey) {
|
|
27
|
+
*/ export function getEcdsaRSSHWallet(pxe, address, signingPublicKey) {
|
|
31
28
|
return getWallet(pxe, address, new EcdsaRSSHAccountContract(signingPublicKey));
|
|
32
29
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWNkc2Evc3NoX2VjZHNhX3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsY0FBYyxFQUFhLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFzQixTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUl2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLENBQUM7QUFFcEM7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsR0FBUSxFQUNSLFNBQWEsRUFDYixnQkFBd0IsRUFDeEIsSUFBVztJQUVYLE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksd0JBQXdCLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNyRyxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEdBQVEsRUFBRSxPQUFxQixFQUFFLGdCQUF3QjtJQUMxRixPQUFPLFNBQVMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksd0JBQXdCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0FBQ2pGLENBQUMifQ==
|
|
@@ -5,29 +5,32 @@ import { SchnorrAccountContractArtifact } from './artifact.js';
|
|
|
5
5
|
/**
|
|
6
6
|
* Account contract that authenticates transactions using Schnorr signatures
|
|
7
7
|
* verified against a Grumpkin public key stored in an immutable encrypted note.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
constructor(signingPrivateKey)
|
|
11
|
-
super(SchnorrAccountContractArtifact);
|
|
12
|
-
this.signingPrivateKey = signingPrivateKey;
|
|
8
|
+
*/ export class SchnorrAccountContract extends DefaultAccountContract {
|
|
9
|
+
signingPrivateKey;
|
|
10
|
+
constructor(signingPrivateKey){
|
|
11
|
+
super(SchnorrAccountContractArtifact), this.signingPrivateKey = signingPrivateKey;
|
|
13
12
|
}
|
|
14
13
|
async getDeploymentArgs() {
|
|
15
14
|
const signingPublicKey = await new Schnorr().computePublicKey(this.signingPrivateKey);
|
|
16
|
-
return [
|
|
15
|
+
return [
|
|
16
|
+
signingPublicKey.x,
|
|
17
|
+
signingPublicKey.y
|
|
18
|
+
];
|
|
17
19
|
}
|
|
18
20
|
getAuthWitnessProvider(_address) {
|
|
19
21
|
return new SchnorrAuthWitnessProvider(this.signingPrivateKey);
|
|
20
22
|
}
|
|
21
23
|
}
|
|
22
|
-
/** Creates auth witnesses using Schnorr signatures. */
|
|
23
|
-
|
|
24
|
-
constructor(signingPrivateKey)
|
|
24
|
+
/** Creates auth witnesses using Schnorr signatures. */ class SchnorrAuthWitnessProvider {
|
|
25
|
+
signingPrivateKey;
|
|
26
|
+
constructor(signingPrivateKey){
|
|
25
27
|
this.signingPrivateKey = signingPrivateKey;
|
|
26
28
|
}
|
|
27
29
|
async createAuthWit(messageHash) {
|
|
28
30
|
const schnorr = new Schnorr();
|
|
29
31
|
const signature = await schnorr.constructSignature(messageHash.toBuffer(), this.signingPrivateKey);
|
|
30
|
-
return new AuthWitness(messageHash, [
|
|
32
|
+
return new AuthWitness(messageHash, [
|
|
33
|
+
...signature.toBuffer()
|
|
34
|
+
]);
|
|
31
35
|
}
|
|
32
36
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF9jb250cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hub3JyL2FjY291bnRfY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBNkMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFJMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9EOzs7R0FHRztBQUNILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxzQkFBc0I7SUFDaEUsWUFBb0IsaUJBQWlDO1FBQ25ELEtBQUssQ0FBQyw4QkFBa0QsQ0FBQyxDQUFDO1FBRHhDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBZ0I7SUFFckQsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUI7UUFDckIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLElBQUksT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdEYsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsUUFBeUI7UUFDOUMsT0FBTyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7Q0FDRjtBQUVELHVEQUF1RDtBQUN2RCxNQUFNLDBCQUEwQjtJQUM5QixZQUFvQixpQkFBaUM7UUFBakMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFnQjtJQUFHLENBQUM7SUFFekQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxXQUFlO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDOUIsTUFBTSxTQUFTLEdBQUcsTUFBTSxPQUFPLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ25HLE9BQU8sSUFBSSxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Q0FDRiJ9
|
package/dest/schnorr/artifact.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { loadContractArtifact } from '@aztec/aztec.js';
|
|
2
|
-
import SchnorrAccountContractJson from '../../artifacts/SchnorrAccount.json' assert {
|
|
2
|
+
import SchnorrAccountContractJson from '../../artifacts/SchnorrAccount.json' assert {
|
|
3
|
+
type: 'json'
|
|
4
|
+
};
|
|
3
5
|
export const SchnorrAccountContractArtifact = loadContractArtifact(SchnorrAccountContractJson);
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWZhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2Nobm9yci9hcnRpZmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTZCLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEYsT0FBTywwQkFBMEIsTUFBTSxxQ0FBcUMsQ0FBQyxTQUFTLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUVyRyxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxvQkFBb0IsQ0FBQywwQkFBa0QsQ0FBQyxDQUFDIn0=
|
package/dest/schnorr/index.js
CHANGED
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
* This is the suggested account contract type for most use cases within Aztec.
|
|
4
4
|
*
|
|
5
5
|
* @packageDocumentation
|
|
6
|
-
*/
|
|
7
|
-
import { AccountManager } from '@aztec/aztec.js/account';
|
|
6
|
+
*/ import { AccountManager } from '@aztec/aztec.js/account';
|
|
8
7
|
import { getWallet } from '@aztec/aztec.js/wallet';
|
|
9
8
|
import { SchnorrAccountContract } from './account_contract.js';
|
|
10
9
|
export { SchnorrAccountContract };
|
|
@@ -16,8 +15,7 @@ export { SchnorrAccountContractArtifact } from './artifact.js';
|
|
|
16
15
|
* @param signingPrivateKey - Grumpkin key used for signing transactions.
|
|
17
16
|
* @param salt - Deployment salt.
|
|
18
17
|
* @returns An account manager initialized with the account contract and its deployment params
|
|
19
|
-
*/
|
|
20
|
-
export function getSchnorrAccount(pxe, secretKey, signingPrivateKey, salt) {
|
|
18
|
+
*/ export function getSchnorrAccount(pxe, secretKey, signingPrivateKey, salt) {
|
|
21
19
|
return AccountManager.create(pxe, secretKey, new SchnorrAccountContract(signingPrivateKey), salt);
|
|
22
20
|
}
|
|
23
21
|
/**
|
|
@@ -26,8 +24,6 @@ export function getSchnorrAccount(pxe, secretKey, signingPrivateKey, salt) {
|
|
|
26
24
|
* @param address - Address for the account.
|
|
27
25
|
* @param signingPrivateKey - Grumpkin key used for signing transactions.
|
|
28
26
|
* @returns A wallet for this account that can be used to interact with a contract instance.
|
|
29
|
-
*/
|
|
30
|
-
export function getSchnorrWallet(pxe, address, signingPrivateKey) {
|
|
27
|
+
*/ export function getSchnorrWallet(pxe, address, signingPrivateKey) {
|
|
31
28
|
return getWallet(pxe, address, new SchnorrAccountContract(signingPrivateKey));
|
|
32
29
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2Nobm9yci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxjQUFjLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQXNCLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSXZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0FBRWxDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixHQUFRLEVBQ1IsU0FBYSxFQUNiLGlCQUFpQyxFQUNqQyxJQUFXO0lBRVgsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3BHLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLEdBQVEsRUFDUixPQUFxQixFQUNyQixpQkFBaUM7SUFFakMsT0FBTyxTQUFTLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLHNCQUFzQixDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztBQUNoRixDQUFDIn0=
|
|
@@ -5,11 +5,10 @@ import { SchnorrSingleKeyAccountContractArtifact } from './artifact.js';
|
|
|
5
5
|
/**
|
|
6
6
|
* Account contract that authenticates transactions using Schnorr signatures verified against
|
|
7
7
|
* the note encryption key, relying on a single private key for both encryption and authentication.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
constructor(encryptionPrivateKey)
|
|
11
|
-
super(SchnorrSingleKeyAccountContractArtifact);
|
|
12
|
-
this.encryptionPrivateKey = encryptionPrivateKey;
|
|
8
|
+
*/ export class SingleKeyAccountContract extends DefaultAccountContract {
|
|
9
|
+
encryptionPrivateKey;
|
|
10
|
+
constructor(encryptionPrivateKey){
|
|
11
|
+
super(SchnorrSingleKeyAccountContractArtifact), this.encryptionPrivateKey = encryptionPrivateKey;
|
|
13
12
|
}
|
|
14
13
|
getDeploymentArgs() {
|
|
15
14
|
return Promise.resolve(undefined);
|
|
@@ -22,17 +21,21 @@ export class SingleKeyAccountContract extends DefaultAccountContract {
|
|
|
22
21
|
* Creates auth witnesses using Schnorr signatures and including the partial address and public key
|
|
23
22
|
* in the witness, so verifiers do not need to store the public key and can instead validate it
|
|
24
23
|
* by reconstructing the current address.
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
*/ class SingleKeyAuthWitnessProvider {
|
|
25
|
+
privateKey;
|
|
26
|
+
account;
|
|
27
|
+
constructor(privateKey, account){
|
|
28
28
|
this.privateKey = privateKey;
|
|
29
29
|
this.account = account;
|
|
30
30
|
}
|
|
31
31
|
async createAuthWit(messageHash) {
|
|
32
32
|
const schnorr = new Schnorr();
|
|
33
33
|
const signature = await schnorr.constructSignature(messageHash.toBuffer(), this.privateKey);
|
|
34
|
-
const witness = [
|
|
34
|
+
const witness = [
|
|
35
|
+
...this.account.publicKeys.toFields(),
|
|
36
|
+
...signature.toBuffer(),
|
|
37
|
+
this.account.partialAddress
|
|
38
|
+
];
|
|
35
39
|
return Promise.resolve(new AuthWitness(messageHash, witness));
|
|
36
40
|
}
|
|
37
41
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF9jb250cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaW5nbGVfa2V5L2FjY291bnRfY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBNkMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFJMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhFOzs7R0FHRztBQUNILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxzQkFBc0I7SUFDbEUsWUFBb0Isb0JBQW9DO1FBQ3RELEtBQUssQ0FBQyx1Q0FBMkQsQ0FBQyxDQUFDO1FBRGpELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBZ0I7SUFFeEQsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsT0FBd0I7UUFDN0MsT0FBTyxJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO0NBQ0Y7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSw0QkFBNEI7SUFDaEMsWUFBb0IsVUFBMEIsRUFBVSxPQUF3QjtRQUE1RCxlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWlCO0lBQUcsQ0FBQztJQUVwRixLQUFLLENBQUMsYUFBYSxDQUFDLFdBQWU7UUFDakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM5QixNQUFNLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVGLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlHLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0NBQ0YifQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { loadContractArtifact } from '@aztec/aztec.js';
|
|
2
|
-
import SchnorrSingleKeyAccountContractJson from '../../artifacts/SchnorrSingleKeyAccount.json' assert {
|
|
2
|
+
import SchnorrSingleKeyAccountContractJson from '../../artifacts/SchnorrSingleKeyAccount.json' assert {
|
|
3
|
+
type: 'json'
|
|
4
|
+
};
|
|
3
5
|
export const SchnorrSingleKeyAccountContractArtifact = loadContractArtifact(SchnorrSingleKeyAccountContractJson);
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWZhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2luZ2xlX2tleS9hcnRpZmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTZCLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEYsT0FBTyxtQ0FBbUMsTUFBTSw4Q0FBOEMsQ0FBQyxTQUFTLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUV2SCxNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxvQkFBb0IsQ0FDekUsbUNBQTJELENBQzVELENBQUMifQ==
|
package/dest/single_key/index.js
CHANGED
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
* It is not recommended to use this account type in production.
|
|
4
4
|
*
|
|
5
5
|
* @packageDocumentation
|
|
6
|
-
*/
|
|
7
|
-
import { AccountManager } from '@aztec/aztec.js/account';
|
|
6
|
+
*/ import { AccountManager } from '@aztec/aztec.js/account';
|
|
8
7
|
import { getWallet } from '@aztec/aztec.js/wallet';
|
|
9
8
|
import { deriveMasterIncomingViewingSecretKey } from '@aztec/circuits.js';
|
|
10
9
|
import { SingleKeyAccountContract } from './account_contract.js';
|
|
@@ -16,8 +15,7 @@ export { SchnorrSingleKeyAccountContractArtifact as SingleKeyAccountContractArti
|
|
|
16
15
|
* @param secretKey - Secret key used to derive all the keystore keys (in this case also used to get signing key).
|
|
17
16
|
* @param salt - Deployment salt.
|
|
18
17
|
* @returns An account manager initialized with the account contract and its deployment params
|
|
19
|
-
*/
|
|
20
|
-
export function getSingleKeyAccount(pxe, secretKey, salt) {
|
|
18
|
+
*/ export function getSingleKeyAccount(pxe, secretKey, salt) {
|
|
21
19
|
const encryptionPrivateKey = deriveMasterIncomingViewingSecretKey(secretKey);
|
|
22
20
|
return AccountManager.create(pxe, secretKey, new SingleKeyAccountContract(encryptionPrivateKey), salt);
|
|
23
21
|
}
|
|
@@ -27,9 +25,7 @@ export function getSingleKeyAccount(pxe, secretKey, salt) {
|
|
|
27
25
|
* @param address - Address for the account.
|
|
28
26
|
* @param signingPrivateKey - Grumpkin key used for note encryption and signing transactions.
|
|
29
27
|
* @returns A wallet for this account that can be used to interact with a contract instance.
|
|
30
|
-
*/
|
|
31
|
-
export function getSingleKeyWallet(pxe, address, signingKey) {
|
|
28
|
+
*/ export function getSingleKeyWallet(pxe, address, signingKey) {
|
|
32
29
|
return getWallet(pxe, address, new SingleKeyAccountContract(signingKey));
|
|
33
30
|
}
|
|
34
31
|
export { getSingleKeyAccount as getUnsafeSchnorrAccount, getSingleKeyWallet as getUnsafeSchnorrWallet };
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2luZ2xlX2tleS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxjQUFjLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQXNCLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZFLE9BQU8sRUFBOEIsb0NBQW9DLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQztBQUVwQyxPQUFPLEVBQUUsdUNBQXVDLElBQUksZ0NBQWdDLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUc7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEdBQVEsRUFBRSxTQUFhLEVBQUUsSUFBVztJQUN0RSxNQUFNLG9CQUFvQixHQUFHLG9DQUFvQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdFLE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksd0JBQXdCLENBQUMsb0JBQW9CLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN6RyxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxHQUFRLEVBQ1IsT0FBcUIsRUFDckIsVUFBMEI7SUFFMUIsT0FBTyxTQUFTLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDM0UsQ0FBQztBQUVELE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx1QkFBdUIsRUFBRSxrQkFBa0IsSUFBSSxzQkFBc0IsRUFBRSxDQUFDIn0=
|