@aztec/accounts 0.0.1-commit.f2ce05ee → 0.0.1-commit.f5a9928

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.
Files changed (123) hide show
  1. package/README.md +0 -1
  2. package/artifacts/EcdsaKAccount.json +7999 -2080
  3. package/artifacts/EcdsaRAccount.json +7999 -2080
  4. package/artifacts/SchnorrAccount.json +7912 -2027
  5. package/artifacts/SchnorrInitializerlessAccount.json +8526 -0
  6. package/artifacts/SimulatedEcdsaAccount.json +10972 -0
  7. package/artifacts/SimulatedSchnorrAccount.d.json.ts +3 -0
  8. package/artifacts/SimulatedSchnorrAccount.json +11084 -0
  9. package/dest/defaults/account_contract.d.ts +7 -1
  10. package/dest/defaults/account_contract.d.ts.map +1 -1
  11. package/dest/defaults/account_contract.js +6 -0
  12. package/dest/{stub/account_contract.d.ts → defaults/stub_account_contract.d.ts} +1 -1
  13. package/dest/defaults/stub_account_contract.d.ts.map +1 -0
  14. package/dest/ecdsa/ecdsa_k/account_contract.d.ts +1 -1
  15. package/dest/ecdsa/ecdsa_k/account_contract.js +6 -2
  16. package/dest/ecdsa/ecdsa_k/lazy.js +1 -1
  17. package/dest/ecdsa/ecdsa_r/account_contract.d.ts +1 -1
  18. package/dest/ecdsa/ecdsa_r/account_contract.js +6 -2
  19. package/dest/ecdsa/ecdsa_r/lazy.js +1 -1
  20. package/dest/ecdsa/ssh_ecdsa_r/account_contract.d.ts +1 -1
  21. package/dest/ecdsa/ssh_ecdsa_r/account_contract.js +6 -2
  22. package/dest/ecdsa/stub/index.d.ts +11 -0
  23. package/dest/ecdsa/stub/index.d.ts.map +1 -0
  24. package/dest/ecdsa/stub/index.js +18 -0
  25. package/dest/ecdsa/stub/lazy.d.ts +14 -0
  26. package/dest/ecdsa/stub/lazy.d.ts.map +1 -0
  27. package/dest/ecdsa/stub/lazy.js +22 -0
  28. package/dest/schnorr/account_contract.d.ts +8 -4
  29. package/dest/schnorr/account_contract.d.ts.map +1 -1
  30. package/dest/schnorr/account_contract.js +6 -5
  31. package/dest/schnorr/index.d.ts +3 -23
  32. package/dest/schnorr/index.d.ts.map +1 -1
  33. package/dest/schnorr/index.js +2 -35
  34. package/dest/schnorr/initializerless/index.d.ts +25 -0
  35. package/dest/schnorr/initializerless/index.d.ts.map +1 -0
  36. package/dest/schnorr/initializerless/index.js +46 -0
  37. package/dest/schnorr/initializerless/lazy.d.ts +29 -0
  38. package/dest/schnorr/initializerless/lazy.d.ts.map +1 -0
  39. package/dest/schnorr/initializerless/lazy.js +54 -0
  40. package/dest/schnorr/lazy.d.ts +3 -27
  41. package/dest/schnorr/lazy.d.ts.map +1 -1
  42. package/dest/schnorr/lazy.js +2 -43
  43. package/dest/schnorr/private_immutable/index.d.ts +23 -0
  44. package/dest/schnorr/private_immutable/index.d.ts.map +1 -0
  45. package/dest/schnorr/private_immutable/index.js +35 -0
  46. package/dest/schnorr/private_immutable/lazy.d.ts +27 -0
  47. package/dest/schnorr/private_immutable/lazy.d.ts.map +1 -0
  48. package/dest/schnorr/private_immutable/lazy.js +43 -0
  49. package/dest/schnorr/stub/index.d.ts +11 -0
  50. package/dest/schnorr/stub/index.d.ts.map +1 -0
  51. package/dest/schnorr/stub/index.js +18 -0
  52. package/dest/schnorr/stub/lazy.d.ts +14 -0
  53. package/dest/schnorr/stub/lazy.d.ts.map +1 -0
  54. package/dest/schnorr/stub/lazy.js +22 -0
  55. package/dest/testing/configuration.d.ts +9 -1
  56. package/dest/testing/configuration.d.ts.map +1 -1
  57. package/dest/testing/configuration.js +6 -2
  58. package/dest/testing/index.d.ts +5 -5
  59. package/dest/testing/index.d.ts.map +1 -1
  60. package/dest/testing/index.js +20 -12
  61. package/dest/testing/lazy.d.ts +4 -4
  62. package/dest/testing/lazy.d.ts.map +1 -1
  63. package/dest/testing/lazy.js +20 -12
  64. package/dest/utils/index.d.ts +2 -1
  65. package/dest/utils/index.d.ts.map +1 -1
  66. package/dest/utils/index.js +1 -0
  67. package/dest/utils/key_derivation.d.ts +9 -0
  68. package/dest/utils/key_derivation.d.ts.map +1 -0
  69. package/dest/utils/key_derivation.js +16 -0
  70. package/dest/utils/ssh_agent.d.ts +1 -1
  71. package/dest/utils/ssh_agent.d.ts.map +1 -1
  72. package/dest/utils/ssh_agent.js +2 -0
  73. package/package.json +10 -13
  74. package/src/defaults/account_contract.ts +9 -0
  75. package/src/ecdsa/ecdsa_k/account_contract.ts +1 -1
  76. package/src/ecdsa/ecdsa_k/lazy.ts +1 -1
  77. package/src/ecdsa/ecdsa_r/account_contract.ts +1 -1
  78. package/src/ecdsa/ecdsa_r/lazy.ts +1 -1
  79. package/src/ecdsa/ssh_ecdsa_r/account_contract.ts +1 -1
  80. package/src/ecdsa/stub/index.ts +28 -0
  81. package/src/ecdsa/stub/lazy.ts +34 -0
  82. package/src/schnorr/account_contract.ts +18 -5
  83. package/src/schnorr/index.ts +2 -50
  84. package/src/schnorr/initializerless/index.ts +62 -0
  85. package/src/schnorr/initializerless/lazy.ts +70 -0
  86. package/src/schnorr/lazy.ts +2 -60
  87. package/src/schnorr/private_immutable/index.ts +50 -0
  88. package/src/schnorr/private_immutable/lazy.ts +60 -0
  89. package/src/schnorr/stub/index.ts +30 -0
  90. package/src/schnorr/stub/lazy.ts +34 -0
  91. package/src/testing/configuration.ts +15 -2
  92. package/src/testing/index.ts +29 -13
  93. package/src/testing/lazy.ts +28 -13
  94. package/src/utils/index.ts +1 -0
  95. package/src/utils/key_derivation.ts +15 -0
  96. package/src/utils/ssh_agent.ts +2 -0
  97. package/artifacts/SchnorrSingleKeyAccount.json +0 -4716
  98. package/artifacts/SimulatedAccount.json +0 -4496
  99. package/dest/single_key/account_contract.d.ts +0 -17
  100. package/dest/single_key/account_contract.d.ts.map +0 -1
  101. package/dest/single_key/account_contract.js +0 -42
  102. package/dest/single_key/index.d.ts +0 -20
  103. package/dest/single_key/index.d.ts.map +0 -1
  104. package/dest/single_key/index.js +0 -23
  105. package/dest/single_key/lazy.d.ts +0 -24
  106. package/dest/single_key/lazy.d.ts.map +0 -1
  107. package/dest/single_key/lazy.js +0 -31
  108. package/dest/stub/account_contract.d.ts.map +0 -1
  109. package/dest/stub/index.d.ts +0 -20
  110. package/dest/stub/index.d.ts.map +0 -1
  111. package/dest/stub/index.js +0 -28
  112. package/dest/stub/lazy.d.ts +0 -25
  113. package/dest/stub/lazy.d.ts.map +0 -1
  114. package/dest/stub/lazy.js +0 -37
  115. package/src/single_key/account_contract.ts +0 -47
  116. package/src/single_key/index.ts +0 -32
  117. package/src/single_key/lazy.ts +0 -40
  118. package/src/stub/index.ts +0 -40
  119. package/src/stub/lazy.ts +0 -51
  120. /package/artifacts/{SchnorrSingleKeyAccount.d.json.ts → SchnorrInitializerlessAccount.d.json.ts} +0 -0
  121. /package/artifacts/{SimulatedAccount.d.json.ts → SimulatedEcdsaAccount.d.json.ts} +0 -0
  122. /package/dest/{stub/account_contract.js → defaults/stub_account_contract.js} +0 -0
  123. /package/src/{stub/account_contract.ts → defaults/stub_account_contract.ts} +0 -0
@@ -1,17 +0,0 @@
1
- import type { AuthWitnessProvider } from '@aztec/aztec.js/account';
2
- import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
3
- import { CompleteAddress } from '@aztec/stdlib/contract';
4
- import { DefaultAccountContract } from '../defaults/account_contract.js';
5
- /**
6
- * Account contract that authenticates transactions using Schnorr signatures verified against
7
- * the note encryption key, relying on a single private key for both encryption and authentication.
8
- * This abstract version does not provide a way to retrieve the artifact, as it
9
- * can be implemented with or without lazy loading.
10
- */
11
- export declare abstract class SingleKeyBaseAccountContract extends DefaultAccountContract {
12
- private encryptionPrivateKey;
13
- constructor(encryptionPrivateKey: GrumpkinScalar);
14
- getInitializationFunctionAndArgs(): Promise<undefined>;
15
- getAuthWitnessProvider(account: CompleteAddress): AuthWitnessProvider;
16
- }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF9jb250cmFjdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpbmdsZV9rZXkvYWNjb3VudF9jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFekU7Ozs7O0dBS0c7QUFDSCw4QkFBc0IsNEJBQTZCLFNBQVEsc0JBQXNCO0lBQ25FLE9BQU8sQ0FBQyxvQkFBb0I7SUFBeEMsWUFBb0Isb0JBQW9CLEVBQUUsY0FBYyxFQUV2RDtJQUVELGdDQUFnQyx1QkFFL0I7SUFFRCxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsZUFBZSxHQUFHLG1CQUFtQixDQUVwRTtDQUNGIn0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"account_contract.d.ts","sourceRoot":"","sources":["../../src/single_key/account_contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE;;;;;GAKG;AACH,8BAAsB,4BAA6B,SAAQ,sBAAsB;IACnE,OAAO,CAAC,oBAAoB;IAAxC,YAAoB,oBAAoB,EAAE,cAAc,EAEvD;IAED,gCAAgC,uBAE/B;IAED,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,mBAAmB,CAEpE;CACF"}
@@ -1,42 +0,0 @@
1
- import { Schnorr } from '@aztec/foundation/crypto/schnorr';
2
- import { AuthWitness } from '@aztec/stdlib/auth-witness';
3
- import { DefaultAccountContract } from '../defaults/account_contract.js';
4
- /**
5
- * Account contract that authenticates transactions using Schnorr signatures verified against
6
- * the note encryption key, relying on a single private key for both encryption and authentication.
7
- * This abstract version does not provide a way to retrieve the artifact, as it
8
- * can be implemented with or without lazy loading.
9
- */ export class SingleKeyBaseAccountContract extends DefaultAccountContract {
10
- encryptionPrivateKey;
11
- constructor(encryptionPrivateKey){
12
- super(), this.encryptionPrivateKey = encryptionPrivateKey;
13
- }
14
- getInitializationFunctionAndArgs() {
15
- return Promise.resolve(undefined);
16
- }
17
- getAuthWitnessProvider(account) {
18
- return new SingleKeyAuthWitnessProvider(this.encryptionPrivateKey, account);
19
- }
20
- }
21
- /**
22
- * Creates auth witnesses using Schnorr signatures and including the partial address and public key
23
- * in the witness, so verifiers do not need to store the public key and can instead validate it
24
- * by reconstructing the current address.
25
- */ class SingleKeyAuthWitnessProvider {
26
- privateKey;
27
- account;
28
- constructor(privateKey, account){
29
- this.privateKey = privateKey;
30
- this.account = account;
31
- }
32
- async createAuthWit(messageHash) {
33
- const schnorr = new Schnorr();
34
- const signature = await schnorr.constructSignature(messageHash.toBuffer(), this.privateKey);
35
- const witness = [
36
- ...this.account.publicKeys.toFields(),
37
- ...signature.toBuffer(),
38
- this.account.partialAddress
39
- ];
40
- return Promise.resolve(new AuthWitness(messageHash, witness));
41
- }
42
- }
@@ -1,20 +0,0 @@
1
- /**
2
- * The `@aztec/accounts/single_key` export provides a testing account contract implementation that uses a single Grumpkin key for both authentication and encryption.
3
- * It is not recommended to use this account type in production.
4
- *
5
- * @packageDocumentation
6
- */
7
- import type { GrumpkinScalar } from '@aztec/aztec.js/fields';
8
- import type { ContractArtifact } from '@aztec/stdlib/abi';
9
- import { SingleKeyBaseAccountContract } from './account_contract.js';
10
- export declare const SchnorrSingleKeyAccountContractArtifact: ContractArtifact;
11
- /**
12
- * Account contract that authenticates transactions using Schnorr signatures verified against
13
- * the note encryption key, relying on a single private key for both encryption and authentication.
14
- * Eagerly loads the contract artifact
15
- */
16
- export declare class SingleKeyAccountContract extends SingleKeyBaseAccountContract {
17
- constructor(signingPrivateKey: GrumpkinScalar);
18
- getContractArtifact(): Promise<ContractArtifact>;
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaW5nbGVfa2V5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBQ0gsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUsxRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRSxlQUFPLE1BQU0sdUNBQXVDLGtCQUVuRCxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILHFCQUFhLHdCQUF5QixTQUFRLDRCQUE0QjtJQUN4RSxZQUFZLGlCQUFpQixFQUFFLGNBQWMsRUFFNUM7SUFFUSxtQkFBbUIsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FFeEQ7Q0FDRiJ9
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/single_key/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAK1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAErE,eAAO,MAAM,uCAAuC,kBAEnD,CAAC;AAEF;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,4BAA4B;IACxE,YAAY,iBAAiB,EAAE,cAAc,EAE5C;IAEQ,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAExD;CACF"}
@@ -1,23 +0,0 @@
1
- /**
2
- * The `@aztec/accounts/single_key` export provides a testing account contract implementation that uses a single Grumpkin key for both authentication and encryption.
3
- * It is not recommended to use this account type in production.
4
- *
5
- * @packageDocumentation
6
- */ import { loadContractArtifact } from '@aztec/stdlib/abi';
7
- import SchnorrSingleKeyAccountContractJson from '../../artifacts/SchnorrSingleKeyAccount.json' with {
8
- type: 'json'
9
- };
10
- import { SingleKeyBaseAccountContract } from './account_contract.js';
11
- export const SchnorrSingleKeyAccountContractArtifact = loadContractArtifact(SchnorrSingleKeyAccountContractJson);
12
- /**
13
- * Account contract that authenticates transactions using Schnorr signatures verified against
14
- * the note encryption key, relying on a single private key for both encryption and authentication.
15
- * Eagerly loads the contract artifact
16
- */ export class SingleKeyAccountContract extends SingleKeyBaseAccountContract {
17
- constructor(signingPrivateKey){
18
- super(signingPrivateKey);
19
- }
20
- getContractArtifact() {
21
- return Promise.resolve(SchnorrSingleKeyAccountContractArtifact);
22
- }
23
- }
@@ -1,24 +0,0 @@
1
- /**
2
- * The `@aztec/accounts/single_key` export provides a testing account contract implementation that uses a single Grumpkin key for both authentication and encryption.
3
- * It is not recommended to use this account type in production.
4
- *
5
- * @packageDocumentation
6
- */
7
- import type { GrumpkinScalar } from '@aztec/aztec.js/fields';
8
- import type { ContractArtifact } from '@aztec/stdlib/abi';
9
- import { SingleKeyBaseAccountContract } from './account_contract.js';
10
- /**
11
- * Lazily loads the contract artifact
12
- * @returns The contract artifact for the single key account contract
13
- */
14
- export declare function getSingleKeyAccountContractArtifact(): Promise<ContractArtifact>;
15
- /**
16
- * Account contract that authenticates transactions using Schnorr signatures verified against
17
- * the note encryption key, relying on a single private key for both encryption and authentication.
18
- * Lazily loads the contract artifact
19
- */
20
- export declare class SingleKeyAccountContract extends SingleKeyBaseAccountContract {
21
- constructor(signingPrivateKey: GrumpkinScalar);
22
- getContractArtifact(): Promise<ContractArtifact>;
23
- }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpbmdsZV9rZXkvbGF6eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHMUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckU7OztHQUdHO0FBQ0gsd0JBQXNCLG1DQUFtQyw4QkFReEQ7QUFFRDs7OztHQUlHO0FBQ0gscUJBQWEsd0JBQXlCLFNBQVEsNEJBQTRCO0lBQ3hFLFlBQVksaUJBQWlCLEVBQUUsY0FBYyxFQUU1QztJQUVRLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUV4RDtDQUNGIn0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/single_key/lazy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAErE;;;GAGG;AACH,wBAAsB,mCAAmC,8BAQxD;AAED;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,4BAA4B;IACxE,YAAY,iBAAiB,EAAE,cAAc,EAE5C;IAEQ,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAExD;CACF"}
@@ -1,31 +0,0 @@
1
- /**
2
- * The `@aztec/accounts/single_key` export provides a testing account contract implementation that uses a single Grumpkin key for both authentication and encryption.
3
- * It is not recommended to use this account type in production.
4
- *
5
- * @packageDocumentation
6
- */ import { loadContractArtifact } from '@aztec/stdlib/abi';
7
- import { SingleKeyBaseAccountContract } from './account_contract.js';
8
- /**
9
- * Lazily loads the contract artifact
10
- * @returns The contract artifact for the single key account contract
11
- */ export async function getSingleKeyAccountContractArtifact() {
12
- // Cannot assert this import as it's incompatible with bundlers like vite
13
- // https://github.com/vitejs/vite/issues/19095#issuecomment-2566074352
14
- // Even if now supported by al major browsers, the MIME type is replaced with
15
- // "text/javascript"
16
- // In the meantime, this lazy import is INCOMPATIBLE WITH NODEJS
17
- const { default: schnorrAccountContractJson } = await import('../../artifacts/SchnorrAccount.json');
18
- return loadContractArtifact(schnorrAccountContractJson);
19
- }
20
- /**
21
- * Account contract that authenticates transactions using Schnorr signatures verified against
22
- * the note encryption key, relying on a single private key for both encryption and authentication.
23
- * Lazily loads the contract artifact
24
- */ export class SingleKeyAccountContract extends SingleKeyBaseAccountContract {
25
- constructor(signingPrivateKey){
26
- super(signingPrivateKey);
27
- }
28
- getContractArtifact() {
29
- return getSingleKeyAccountContractArtifact();
30
- }
31
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"account_contract.d.ts","sourceRoot":"","sources":["../../src/stub/account_contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE;;;;GAIG;AACH,8BAAsB,uBAAwB,SAAQ,sBAAsB;IAC1E,cAEC;IAED,gCAAgC;;;OAE/B;IAED,sBAAsB,CAAC,QAAQ,EAAE,eAAe,GAAG,mBAAmB,CAErE;CACF;AAED,oDAAoD;AACpD,qBAAa,uBAAwB,YAAW,mBAAmB;IACjE,cAAgB;IAEhB;;;;OAIG;IACH,aAAa,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAEnD;CACF"}
@@ -1,20 +0,0 @@
1
- import { BaseAccount } from '@aztec/aztec.js/account';
2
- import type { CompleteAddress } from '@aztec/aztec.js/addresses';
3
- import type { ContractArtifact } from '@aztec/stdlib/abi';
4
- import { StubBaseAccountContract } from './account_contract.js';
5
- export declare const StubAccountContractArtifact: ContractArtifact;
6
- /**
7
- * Stub account contract
8
- * Eagerly loads the contract artifact
9
- */
10
- export declare class StubAccountContract extends StubBaseAccountContract {
11
- constructor();
12
- getContractArtifact(): Promise<ContractArtifact>;
13
- }
14
- /**
15
- * Creates a stub account that impersonates the one with the provided originalAddress.
16
- * @param originalAddress - The address of the account to stub
17
- * @returns A stub account that can be used for kernelless simulations
18
- */
19
- export declare function createStubAccount(originalAddress: CompleteAddress): BaseAccount;
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHViL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVqRSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhFLGVBQU8sTUFBTSwyQkFBMkIsa0JBQXlFLENBQUM7QUFFbEg7OztHQUdHO0FBQ0gscUJBQWEsbUJBQW9CLFNBQVEsdUJBQXVCO0lBQzlELGNBRUM7SUFFUSxtQkFBbUIsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FFeEQ7Q0FDRjtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0IsaUJBQWlCLENBQUMsZUFBZSxFQUFFLGVBQWUsZUFRakUifQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stub/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAK1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,eAAO,MAAM,2BAA2B,kBAAyE,CAAC;AAElH;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,uBAAuB;IAC9D,cAEC;IAEQ,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAExD;CACF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,eAAe,eAQjE"}
@@ -1,28 +0,0 @@
1
- import { BaseAccount } from '@aztec/aztec.js/account';
2
- import { DefaultAccountEntrypoint } from '@aztec/entrypoints/account';
3
- import { loadContractArtifact } from '@aztec/stdlib/abi';
4
- import SimulatedAccountContract from '../../artifacts/SimulatedAccount.json' with {
5
- type: 'json'
6
- };
7
- import { StubBaseAccountContract } from './account_contract.js';
8
- export const StubAccountContractArtifact = loadContractArtifact(SimulatedAccountContract);
9
- /**
10
- * Stub account contract
11
- * Eagerly loads the contract artifact
12
- */ export class StubAccountContract extends StubBaseAccountContract {
13
- constructor(){
14
- super();
15
- }
16
- getContractArtifact() {
17
- return Promise.resolve(StubAccountContractArtifact);
18
- }
19
- }
20
- /**
21
- * Creates a stub account that impersonates the one with the provided originalAddress.
22
- * @param originalAddress - The address of the account to stub
23
- * @returns A stub account that can be used for kernelless simulations
24
- */ export function createStubAccount(originalAddress) {
25
- const accountContract = new StubAccountContract();
26
- const authWitnessProvider = accountContract.getAuthWitnessProvider(originalAddress);
27
- return new BaseAccount(new DefaultAccountEntrypoint(originalAddress.address, authWitnessProvider), authWitnessProvider, originalAddress);
28
- }
@@ -1,25 +0,0 @@
1
- import { BaseAccount } from '@aztec/aztec.js/account';
2
- import type { CompleteAddress } from '@aztec/aztec.js/addresses';
3
- import type { ContractArtifact } from '@aztec/stdlib/abi';
4
- import { StubBaseAccountContract } from './account_contract.js';
5
- /**
6
- * Lazily loads the contract artifact
7
- * @returns The contract artifact for the Stub account contract
8
- */
9
- export declare function getStubAccountContractArtifact(): Promise<ContractArtifact>;
10
- /**
11
- * Account contract that authenticates transactions using Stub signatures
12
- * verified against a Grumpkin public key stored in an immutable encrypted note.
13
- * Lazily loads the contract artifact
14
- */
15
- export declare class StubAccountContract extends StubBaseAccountContract {
16
- constructor();
17
- getContractArtifact(): Promise<ContractArtifact>;
18
- }
19
- /**
20
- * Creates a stub account that impersonates the one with the provided originalAddress.
21
- * @param originalAddress - The address of the account to stub
22
- * @returns A stub account that can be used for kernelless simulations
23
- */
24
- export declare function createStubAccount(originalAddress: CompleteAddress): BaseAccount;
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0dWIvbGF6eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVoRTs7O0dBR0c7QUFDSCx3QkFBc0IsOEJBQThCLDhCQVFuRDtBQUVEOzs7O0dBSUc7QUFDSCxxQkFBYSxtQkFBb0IsU0FBUSx1QkFBdUI7SUFDOUQsY0FFQztJQUVRLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUV4RDtDQUNGO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFnQixpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsZUFBZSxlQVFqRSJ9
@@ -1 +0,0 @@
1
- {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/stub/lazy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;;GAGG;AACH,wBAAsB,8BAA8B,8BAQnD;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,uBAAuB;IAC9D,cAEC;IAEQ,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAExD;CACF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,eAAe,eAQjE"}
package/dest/stub/lazy.js DELETED
@@ -1,37 +0,0 @@
1
- import { BaseAccount } from '@aztec/aztec.js/account';
2
- import { DefaultAccountEntrypoint } from '@aztec/entrypoints/account';
3
- import { loadContractArtifact } from '@aztec/stdlib/abi';
4
- import { StubBaseAccountContract } from './account_contract.js';
5
- /**
6
- * Lazily loads the contract artifact
7
- * @returns The contract artifact for the Stub account contract
8
- */ export async function getStubAccountContractArtifact() {
9
- // Cannot assert this import as it's incompatible with bundlers like vite
10
- // https://github.com/vitejs/vite/issues/19095#issuecomment-2566074352
11
- // Even if now supported by al major browsers, the MIME type is replaced with
12
- // "text/javascript"
13
- // In the meantime, this lazy import is INCOMPATIBLE WITH NODEJS
14
- const { default: StubAccountContractJson } = await import('../../artifacts/SimulatedAccount.json');
15
- return loadContractArtifact(StubAccountContractJson);
16
- }
17
- /**
18
- * Account contract that authenticates transactions using Stub signatures
19
- * verified against a Grumpkin public key stored in an immutable encrypted note.
20
- * Lazily loads the contract artifact
21
- */ export class StubAccountContract extends StubBaseAccountContract {
22
- constructor(){
23
- super();
24
- }
25
- getContractArtifact() {
26
- return getStubAccountContractArtifact();
27
- }
28
- }
29
- /**
30
- * Creates a stub account that impersonates the one with the provided originalAddress.
31
- * @param originalAddress - The address of the account to stub
32
- * @returns A stub account that can be used for kernelless simulations
33
- */ export function createStubAccount(originalAddress) {
34
- const accountContract = new StubAccountContract();
35
- const authWitnessProvider = accountContract.getAuthWitnessProvider(originalAddress);
36
- return new BaseAccount(new DefaultAccountEntrypoint(originalAddress.address, authWitnessProvider), authWitnessProvider, originalAddress);
37
- }
@@ -1,47 +0,0 @@
1
- import type { AuthWitnessProvider } from '@aztec/aztec.js/account';
2
- import { Schnorr } from '@aztec/foundation/crypto/schnorr';
3
- import type { Fr } from '@aztec/foundation/curves/bn254';
4
- import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
5
- import { AuthWitness } from '@aztec/stdlib/auth-witness';
6
- import { CompleteAddress } from '@aztec/stdlib/contract';
7
-
8
- import { DefaultAccountContract } from '../defaults/account_contract.js';
9
-
10
- /**
11
- * Account contract that authenticates transactions using Schnorr signatures verified against
12
- * the note encryption key, relying on a single private key for both encryption and authentication.
13
- * This abstract version does not provide a way to retrieve the artifact, as it
14
- * can be implemented with or without lazy loading.
15
- */
16
- export abstract class SingleKeyBaseAccountContract extends DefaultAccountContract {
17
- constructor(private encryptionPrivateKey: GrumpkinScalar) {
18
- super();
19
- }
20
-
21
- getInitializationFunctionAndArgs() {
22
- return Promise.resolve(undefined);
23
- }
24
-
25
- getAuthWitnessProvider(account: CompleteAddress): AuthWitnessProvider {
26
- return new SingleKeyAuthWitnessProvider(this.encryptionPrivateKey, account);
27
- }
28
- }
29
-
30
- /**
31
- * Creates auth witnesses using Schnorr signatures and including the partial address and public key
32
- * in the witness, so verifiers do not need to store the public key and can instead validate it
33
- * by reconstructing the current address.
34
- */
35
- class SingleKeyAuthWitnessProvider implements AuthWitnessProvider {
36
- constructor(
37
- private privateKey: GrumpkinScalar,
38
- private account: CompleteAddress,
39
- ) {}
40
-
41
- async createAuthWit(messageHash: Fr): Promise<AuthWitness> {
42
- const schnorr = new Schnorr();
43
- const signature = await schnorr.constructSignature(messageHash.toBuffer(), this.privateKey);
44
- const witness = [...this.account.publicKeys.toFields(), ...signature.toBuffer(), this.account.partialAddress];
45
- return Promise.resolve(new AuthWitness(messageHash, witness));
46
- }
47
- }
@@ -1,32 +0,0 @@
1
- /**
2
- * The `@aztec/accounts/single_key` export provides a testing account contract implementation that uses a single Grumpkin key for both authentication and encryption.
3
- * It is not recommended to use this account type in production.
4
- *
5
- * @packageDocumentation
6
- */
7
- import type { GrumpkinScalar } from '@aztec/aztec.js/fields';
8
- import type { ContractArtifact } from '@aztec/stdlib/abi';
9
- import { loadContractArtifact } from '@aztec/stdlib/abi';
10
- import type { NoirCompiledContract } from '@aztec/stdlib/noir';
11
-
12
- import SchnorrSingleKeyAccountContractJson from '../../artifacts/SchnorrSingleKeyAccount.json' with { type: 'json' };
13
- import { SingleKeyBaseAccountContract } from './account_contract.js';
14
-
15
- export const SchnorrSingleKeyAccountContractArtifact = loadContractArtifact(
16
- SchnorrSingleKeyAccountContractJson as NoirCompiledContract,
17
- );
18
-
19
- /**
20
- * Account contract that authenticates transactions using Schnorr signatures verified against
21
- * the note encryption key, relying on a single private key for both encryption and authentication.
22
- * Eagerly loads the contract artifact
23
- */
24
- export class SingleKeyAccountContract extends SingleKeyBaseAccountContract {
25
- constructor(signingPrivateKey: GrumpkinScalar) {
26
- super(signingPrivateKey);
27
- }
28
-
29
- override getContractArtifact(): Promise<ContractArtifact> {
30
- return Promise.resolve(SchnorrSingleKeyAccountContractArtifact);
31
- }
32
- }
@@ -1,40 +0,0 @@
1
- /**
2
- * The `@aztec/accounts/single_key` export provides a testing account contract implementation that uses a single Grumpkin key for both authentication and encryption.
3
- * It is not recommended to use this account type in production.
4
- *
5
- * @packageDocumentation
6
- */
7
- import type { GrumpkinScalar } from '@aztec/aztec.js/fields';
8
- import type { ContractArtifact } from '@aztec/stdlib/abi';
9
- import { loadContractArtifact } from '@aztec/stdlib/abi';
10
-
11
- import { SingleKeyBaseAccountContract } from './account_contract.js';
12
-
13
- /**
14
- * Lazily loads the contract artifact
15
- * @returns The contract artifact for the single key account contract
16
- */
17
- export async function getSingleKeyAccountContractArtifact() {
18
- // Cannot assert this import as it's incompatible with bundlers like vite
19
- // https://github.com/vitejs/vite/issues/19095#issuecomment-2566074352
20
- // Even if now supported by al major browsers, the MIME type is replaced with
21
- // "text/javascript"
22
- // In the meantime, this lazy import is INCOMPATIBLE WITH NODEJS
23
- const { default: schnorrAccountContractJson } = await import('../../artifacts/SchnorrAccount.json');
24
- return loadContractArtifact(schnorrAccountContractJson);
25
- }
26
-
27
- /**
28
- * Account contract that authenticates transactions using Schnorr signatures verified against
29
- * the note encryption key, relying on a single private key for both encryption and authentication.
30
- * Lazily loads the contract artifact
31
- */
32
- export class SingleKeyAccountContract extends SingleKeyBaseAccountContract {
33
- constructor(signingPrivateKey: GrumpkinScalar) {
34
- super(signingPrivateKey);
35
- }
36
-
37
- override getContractArtifact(): Promise<ContractArtifact> {
38
- return getSingleKeyAccountContractArtifact();
39
- }
40
- }
package/src/stub/index.ts DELETED
@@ -1,40 +0,0 @@
1
- import { BaseAccount } from '@aztec/aztec.js/account';
2
- import type { CompleteAddress } from '@aztec/aztec.js/addresses';
3
- import { DefaultAccountEntrypoint } from '@aztec/entrypoints/account';
4
- import type { ContractArtifact } from '@aztec/stdlib/abi';
5
- import { loadContractArtifact } from '@aztec/stdlib/abi';
6
- import type { NoirCompiledContract } from '@aztec/stdlib/noir';
7
-
8
- import SimulatedAccountContract from '../../artifacts/SimulatedAccount.json' with { type: 'json' };
9
- import { StubBaseAccountContract } from './account_contract.js';
10
-
11
- export const StubAccountContractArtifact = loadContractArtifact(SimulatedAccountContract as NoirCompiledContract);
12
-
13
- /**
14
- * Stub account contract
15
- * Eagerly loads the contract artifact
16
- */
17
- export class StubAccountContract extends StubBaseAccountContract {
18
- constructor() {
19
- super();
20
- }
21
-
22
- override getContractArtifact(): Promise<ContractArtifact> {
23
- return Promise.resolve(StubAccountContractArtifact);
24
- }
25
- }
26
-
27
- /**
28
- * Creates a stub account that impersonates the one with the provided originalAddress.
29
- * @param originalAddress - The address of the account to stub
30
- * @returns A stub account that can be used for kernelless simulations
31
- */
32
- export function createStubAccount(originalAddress: CompleteAddress) {
33
- const accountContract = new StubAccountContract();
34
- const authWitnessProvider = accountContract.getAuthWitnessProvider(originalAddress);
35
- return new BaseAccount(
36
- new DefaultAccountEntrypoint(originalAddress.address, authWitnessProvider),
37
- authWitnessProvider,
38
- originalAddress,
39
- );
40
- }
package/src/stub/lazy.ts DELETED
@@ -1,51 +0,0 @@
1
- import { BaseAccount } from '@aztec/aztec.js/account';
2
- import type { CompleteAddress } from '@aztec/aztec.js/addresses';
3
- import { DefaultAccountEntrypoint } from '@aztec/entrypoints/account';
4
- import type { ContractArtifact } from '@aztec/stdlib/abi';
5
- import { loadContractArtifact } from '@aztec/stdlib/abi';
6
-
7
- import { StubBaseAccountContract } from './account_contract.js';
8
-
9
- /**
10
- * Lazily loads the contract artifact
11
- * @returns The contract artifact for the Stub account contract
12
- */
13
- export async function getStubAccountContractArtifact() {
14
- // Cannot assert this import as it's incompatible with bundlers like vite
15
- // https://github.com/vitejs/vite/issues/19095#issuecomment-2566074352
16
- // Even if now supported by al major browsers, the MIME type is replaced with
17
- // "text/javascript"
18
- // In the meantime, this lazy import is INCOMPATIBLE WITH NODEJS
19
- const { default: StubAccountContractJson } = await import('../../artifacts/SimulatedAccount.json');
20
- return loadContractArtifact(StubAccountContractJson);
21
- }
22
-
23
- /**
24
- * Account contract that authenticates transactions using Stub signatures
25
- * verified against a Grumpkin public key stored in an immutable encrypted note.
26
- * Lazily loads the contract artifact
27
- */
28
- export class StubAccountContract extends StubBaseAccountContract {
29
- constructor() {
30
- super();
31
- }
32
-
33
- override getContractArtifact(): Promise<ContractArtifact> {
34
- return getStubAccountContractArtifact();
35
- }
36
- }
37
-
38
- /**
39
- * Creates a stub account that impersonates the one with the provided originalAddress.
40
- * @param originalAddress - The address of the account to stub
41
- * @returns A stub account that can be used for kernelless simulations
42
- */
43
- export function createStubAccount(originalAddress: CompleteAddress) {
44
- const accountContract = new StubAccountContract();
45
- const authWitnessProvider = accountContract.getAuthWitnessProvider(originalAddress);
46
- return new BaseAccount(
47
- new DefaultAccountEntrypoint(originalAddress.address, authWitnessProvider),
48
- authWitnessProvider,
49
- originalAddress,
50
- );
51
- }