@eth-optimism/actions-sdk 0.0.3 → 0.0.4

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 (76) hide show
  1. package/dist/actions.test.js +22 -2
  2. package/dist/actions.test.js.map +1 -1
  3. package/dist/constants/assets.d.ts.map +1 -1
  4. package/dist/constants/assets.js +2 -1
  5. package/dist/constants/assets.js.map +1 -1
  6. package/dist/constants/supportedChains.d.ts +1 -1
  7. package/dist/constants/supportedChains.d.ts.map +1 -1
  8. package/dist/constants/supportedChains.js +2 -1
  9. package/dist/constants/supportedChains.js.map +1 -1
  10. package/dist/lend/namespaces/WalletLendNamespace.d.ts +8 -2
  11. package/dist/lend/namespaces/WalletLendNamespace.d.ts.map +1 -1
  12. package/dist/lend/namespaces/WalletLendNamespace.js +8 -2
  13. package/dist/lend/namespaces/WalletLendNamespace.js.map +1 -1
  14. package/dist/lend/providers/morpho/sdk.d.ts.map +1 -1
  15. package/dist/lend/providers/morpho/sdk.js +0 -1
  16. package/dist/lend/providers/morpho/sdk.js.map +1 -1
  17. package/dist/services/ChainManager.d.ts +1 -1
  18. package/dist/test/MockPrivyClient.d.ts +10 -49
  19. package/dist/test/MockPrivyClient.d.ts.map +1 -1
  20. package/dist/test/MockPrivyClient.js +13 -72
  21. package/dist/test/MockPrivyClient.js.map +1 -1
  22. package/dist/wallet/core/namespace/WalletNamespace.d.ts +13 -13
  23. package/dist/wallet/core/namespace/WalletNamespace.d.ts.map +1 -1
  24. package/dist/wallet/core/namespace/WalletNamespace.js +13 -13
  25. package/dist/wallet/core/namespace/WalletNamespace.js.map +1 -1
  26. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js +55 -33
  27. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js.map +1 -1
  28. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js +43 -15
  29. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js.map +1 -1
  30. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js +14 -4
  31. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js.map +1 -1
  32. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +16 -3
  33. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
  34. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js +18 -5
  35. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
  36. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +31 -12
  37. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
  38. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts.map +1 -1
  39. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js +6 -1
  40. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js.map +1 -1
  41. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js +9 -1
  42. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js.map +1 -1
  43. package/dist/wallet/node/providers/hosted/types/index.d.ts +6 -1
  44. package/dist/wallet/node/providers/hosted/types/index.d.ts.map +1 -1
  45. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts +10 -5
  46. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
  47. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js +11 -6
  48. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js.map +1 -1
  49. package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js +26 -28
  50. package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js.map +1 -1
  51. package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.js +12 -12
  52. package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.js.map +1 -1
  53. package/dist/wallet/node/wallets/hosted/privy/utils/createSigner.d.ts +6 -2
  54. package/dist/wallet/node/wallets/hosted/privy/utils/createSigner.d.ts.map +1 -1
  55. package/dist/wallet/node/wallets/hosted/privy/utils/createSigner.js +10 -7
  56. package/dist/wallet/node/wallets/hosted/privy/utils/createSigner.js.map +1 -1
  57. package/package.json +2 -2
  58. package/src/actions.test.ts +24 -4
  59. package/src/constants/assets.ts +8 -1
  60. package/src/constants/supportedChains.ts +8 -1
  61. package/src/lend/namespaces/WalletLendNamespace.ts +8 -2
  62. package/src/lend/providers/morpho/sdk.ts +0 -1
  63. package/src/test/MockPrivyClient.ts +24 -91
  64. package/src/wallet/core/namespace/WalletNamespace.ts +13 -13
  65. package/src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts +60 -61
  66. package/src/wallet/core/providers/__tests__/WalletProvider.spec.ts +47 -39
  67. package/src/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.ts +20 -7
  68. package/src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts +27 -9
  69. package/src/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +40 -21
  70. package/src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts +4 -3
  71. package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts +17 -2
  72. package/src/wallet/node/providers/hosted/types/index.ts +9 -2
  73. package/src/wallet/node/wallets/hosted/privy/PrivyWallet.ts +14 -6
  74. package/src/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts +35 -40
  75. package/src/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts +18 -14
  76. package/src/wallet/node/wallets/hosted/privy/utils/createSigner.ts +11 -9
@@ -1,4 +1,4 @@
1
- import type { PrivyClient } from '@privy-io/server-auth';
1
+ import type { AuthorizationContext, PrivyClient } from '@privy-io/node';
2
2
  import type { LocalAccount } from 'viem';
3
3
  import type { ChainManager } from '../../../../../services/ChainManager.js';
4
4
  import type { LendConfig, LendProvider } from '../../../../../types/lend/index.js';
@@ -11,11 +11,24 @@ import type { NodeToActionsOptionsMap, PrivyHostedWalletToActionsWalletOptions }
11
11
  */
12
12
  export declare class PrivyHostedWalletProvider extends HostedWalletProvider<'privy', NodeToActionsOptionsMap> {
13
13
  private readonly privyClient;
14
+ private readonly authorizationContext?;
14
15
  /**
15
16
  * Create a new Privy wallet provider
16
- * @param privyClient - Privy client instance
17
+ * @param params - Configuration parameters
18
+ * @param params.privyClient - Privy client instance
19
+ * @param params.chainManager - Chain manager for multi-chain operations
20
+ * @param params.lendProvider - Optional lend provider for DeFi operations
21
+ * @param params.authorizationContext - Optional authorization context for the Privy client.
22
+ * Used when Privy needs to sign requests.
23
+ * See https://docs.privy.io/controls/authorization-keys/using-owners/sign/automatic#using-the-authorization-context
24
+ * for more information on building and using the authorization context.
17
25
  */
18
- constructor(privyClient: PrivyClient, chainManager: ChainManager, lendProvider?: LendProvider<LendConfig>);
26
+ constructor(params: {
27
+ privyClient: PrivyClient;
28
+ chainManager: ChainManager;
29
+ lendProvider?: LendProvider<LendConfig>;
30
+ authorizationContext?: AuthorizationContext;
31
+ });
19
32
  toActionsWallet(params: PrivyHostedWalletToActionsWalletOptions): Promise<Wallet>;
20
33
  /**
21
34
  * Create a LocalAccount from this Privy wallet
@@ -1 +1 @@
1
- {"version":3,"file":"PrivyHostedWalletProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAGxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AACtG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAA;AACtE,OAAO,KAAK,EACV,uBAAuB,EACvB,uCAAuC,EACxC,MAAM,+CAA+C,CAAA;AAItD;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,oBAAoB,CACjE,OAAO,EACP,uBAAuB,CACxB;IAMG,OAAO,CAAC,QAAQ,CAAC,WAAW;IAL9B;;;OAGG;gBAEgB,WAAW,EAAE,WAAW,EACzC,YAAY,EAAE,YAAY,EAC1B,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC;IAKnC,eAAe,CACnB,MAAM,EAAE,uCAAuC,GAC9C,OAAO,CAAC,MAAM,CAAC;IAUlB;;;;;;;;;;;OAWG;IACG,YAAY,CAChB,MAAM,EAAE,uBAAuB,CAAC,OAAO,CAAC,GACvC,OAAO,CAAC,YAAY,CAAC;CAGzB"}
1
+ {"version":3,"file":"PrivyHostedWalletProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAGxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AACtG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAA;AACtE,OAAO,KAAK,EACV,uBAAuB,EACvB,uCAAuC,EACxC,MAAM,+CAA+C,CAAA;AAItD;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,oBAAoB,CACjE,OAAO,EACP,uBAAuB,CACxB;IACC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAsB;IAE5D;;;;;;;;;;OAUG;gBACS,MAAM,EAAE;QAClB,WAAW,EAAE,WAAW,CAAA;QACxB,YAAY,EAAE,YAAY,CAAA;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;QACvC,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;KAC5C;IAMK,eAAe,CACnB,MAAM,EAAE,uCAAuC,GAC9C,OAAO,CAAC,MAAM,CAAC;IAWlB;;;;;;;;;;;OAWG;IACG,YAAY,CAChB,MAAM,EAAE,uBAAuB,CAAC,OAAO,CAAC,GACvC,OAAO,CAAC,YAAY,CAAC;CAOzB"}
@@ -9,15 +9,24 @@ import { createSigner } from '../../../wallets/hosted/privy/utils/createSigner.j
9
9
  export class PrivyHostedWalletProvider extends HostedWalletProvider {
10
10
  /**
11
11
  * Create a new Privy wallet provider
12
- * @param privyClient - Privy client instance
12
+ * @param params - Configuration parameters
13
+ * @param params.privyClient - Privy client instance
14
+ * @param params.chainManager - Chain manager for multi-chain operations
15
+ * @param params.lendProvider - Optional lend provider for DeFi operations
16
+ * @param params.authorizationContext - Optional authorization context for the Privy client.
17
+ * Used when Privy needs to sign requests.
18
+ * See https://docs.privy.io/controls/authorization-keys/using-owners/sign/automatic#using-the-authorization-context
19
+ * for more information on building and using the authorization context.
13
20
  */
14
- constructor(privyClient, chainManager, lendProvider) {
15
- super(chainManager, lendProvider);
16
- this.privyClient = privyClient;
21
+ constructor(params) {
22
+ super(params.chainManager, params.lendProvider);
23
+ this.privyClient = params.privyClient;
24
+ this.authorizationContext = params.authorizationContext;
17
25
  }
18
26
  async toActionsWallet(params) {
19
27
  return PrivyWallet.create({
20
28
  privyClient: this.privyClient,
29
+ authorizationContext: this.authorizationContext,
21
30
  walletId: params.walletId,
22
31
  address: getAddress(params.address),
23
32
  chainManager: this.chainManager,
@@ -37,7 +46,11 @@ export class PrivyHostedWalletProvider extends HostedWalletProvider {
37
46
  * @throws Error if wallet retrieval fails or signing operations are not supported
38
47
  */
39
48
  async createSigner(params) {
40
- return createSigner({ ...params, privyClient: this.privyClient });
49
+ return createSigner({
50
+ ...params,
51
+ privyClient: this.privyClient,
52
+ authorizationContext: this.authorizationContext,
53
+ });
41
54
  }
42
55
  }
43
56
  //# sourceMappingURL=PrivyHostedWalletProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrivyHostedWalletProvider.js","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAIjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AAMtG,OAAO,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,0DAA0D,CAAA;AAEvF;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,oBAG9C;IACC;;;OAGG;IACH,YACmB,WAAwB,EACzC,YAA0B,EAC1B,YAAuC;QAEvC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QAJhB,gBAAW,GAAX,WAAW,CAAa;IAK3C,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAA+C;QAE/C,OAAO,WAAW,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,YAAY,CAChB,MAAwC;QAExC,OAAO,YAAY,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IACnE,CAAC;CACF"}
1
+ {"version":3,"file":"PrivyHostedWalletProvider.js","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAIjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AAMtG,OAAO,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,0DAA0D,CAAA;AAEvF;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,oBAG9C;IAIC;;;;;;;;;;OAUG;IACH,YAAY,MAKX;QACC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;QAC/C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;QACrC,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAA+C;QAE/C,OAAO,WAAW,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,YAAY,CAChB,MAAwC;QAExC,OAAO,YAAY,CAAC;YAClB,GAAG,MAAM;YACT,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -2,7 +2,7 @@ import { getAddress } from 'viem';
2
2
  import { unichain } from 'viem/chains';
3
3
  import { describe, expect, it, vi } from 'vitest';
4
4
  import { MockChainManager } from '../../../../../../test/MockChainManager.js';
5
- import { createMockPrivyClient } from '../../../../../../test/MockPrivyClient.js';
5
+ import { createMockPrivyClient, createMockPrivyWallet, getMockAuthorizationContext, } from '../../../../../../test/MockPrivyClient.js';
6
6
  import { getRandomAddress } from '../../../../../../test/utils.js';
7
7
  import { Wallet } from '../../../../../core/wallets/abstract/Wallet.js';
8
8
  import { PrivyHostedWalletProvider } from '../PrivyHostedWalletProvider.js';
@@ -14,10 +14,12 @@ describe('PrivyHostedWalletProvider', () => {
14
14
  describe('toActionsWallet', () => {
15
15
  it('toActionsWallet creates an ActionsWallet with correct address and signer', async () => {
16
16
  const privy = createMockPrivyClient('app', 'secret');
17
- const provider = new PrivyHostedWalletProvider(privy, mockChainManager);
18
- const hostedWallet = await privy.walletApi.createWallet({
19
- chainType: 'ethereum',
17
+ const provider = new PrivyHostedWalletProvider({
18
+ privyClient: privy,
19
+ authorizationContext: getMockAuthorizationContext(),
20
+ chainManager: mockChainManager,
20
21
  });
22
+ const hostedWallet = createMockPrivyWallet();
21
23
  const actionsWallet = await provider.toActionsWallet({
22
24
  walletId: hostedWallet.id,
23
25
  address: hostedWallet.address,
@@ -28,13 +30,19 @@ describe('PrivyHostedWalletProvider', () => {
28
30
  });
29
31
  it('forwards params to PrivyWallet.create', async () => {
30
32
  const privy = createMockPrivyClient('app', 'secret');
31
- const provider = new PrivyHostedWalletProvider(privy, mockChainManager);
33
+ const authorizationContext = getMockAuthorizationContext();
34
+ const provider = new PrivyHostedWalletProvider({
35
+ privyClient: privy,
36
+ authorizationContext,
37
+ chainManager: mockChainManager,
38
+ });
32
39
  const spy = vi.spyOn(PrivyWallet, 'create');
33
40
  const id = 'mock-wallet-123';
34
- const addr = getRandomAddress().toLowerCase();
41
+ const addr = getRandomAddress();
35
42
  await provider.toActionsWallet({ walletId: id, address: addr });
36
43
  expect(spy).toHaveBeenCalledWith(expect.objectContaining({
37
44
  privyClient: privy,
45
+ authorizationContext,
38
46
  walletId: id,
39
47
  address: getAddress(addr),
40
48
  chainManager: mockChainManager,
@@ -42,16 +50,25 @@ describe('PrivyHostedWalletProvider', () => {
42
50
  });
43
51
  it('throws on invalid address', async () => {
44
52
  const privy = createMockPrivyClient('app', 'secret');
45
- const provider = new PrivyHostedWalletProvider(privy, mockChainManager);
53
+ const provider = new PrivyHostedWalletProvider({
54
+ privyClient: privy,
55
+ authorizationContext: getMockAuthorizationContext(),
56
+ chainManager: mockChainManager,
57
+ });
46
58
  await expect(provider.toActionsWallet({ walletId: 'id', address: '0x123' })).rejects.toBeTruthy();
47
59
  });
48
60
  it('forwards lendProvider when provided to constructor', async () => {
49
61
  const privy = createMockPrivyClient('app', 'secret');
50
62
  const mockLendProvider = {};
51
- const provider = new PrivyHostedWalletProvider(privy, mockChainManager, mockLendProvider);
63
+ const provider = new PrivyHostedWalletProvider({
64
+ privyClient: privy,
65
+ authorizationContext: getMockAuthorizationContext(),
66
+ chainManager: mockChainManager,
67
+ lendProvider: mockLendProvider,
68
+ });
52
69
  const spy = vi.spyOn(PrivyWallet, 'create');
53
70
  const id = 'mock-wallet-123';
54
- const addr = getRandomAddress().toLowerCase();
71
+ const addr = getRandomAddress();
55
72
  await provider.toActionsWallet({
56
73
  walletId: id,
57
74
  address: addr,
@@ -64,10 +81,12 @@ describe('PrivyHostedWalletProvider', () => {
64
81
  describe('createSigner', () => {
65
82
  it('should create a LocalAccount with correct address', async () => {
66
83
  const privy = createMockPrivyClient('app', 'secret');
67
- const provider = new PrivyHostedWalletProvider(privy, mockChainManager);
68
- const hostedWallet = await privy.walletApi.createWallet({
69
- chainType: 'ethereum',
84
+ const provider = new PrivyHostedWalletProvider({
85
+ privyClient: privy,
86
+ authorizationContext: getMockAuthorizationContext(),
87
+ chainManager: mockChainManager,
70
88
  });
89
+ const hostedWallet = createMockPrivyWallet();
71
90
  const signer = await provider.createSigner({
72
91
  walletId: hostedWallet.id,
73
92
  address: hostedWallet.address,
@@ -1 +1 @@
1
- {"version":3,"file":"PrivyHostedWalletProvider.spec.js","sourceRoot":"","sources":["../../../../../../../src/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PrivyHostedWalletProvider.spec.js","sourceRoot":"","sources":["../../../../../../../src/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeHostedWalletProviderRegistry.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yEAAyE,CAAA;AAGtH,OAAO,KAAK,EACV,6BAA6B,EAC7B,cAAc,EACd,iBAAiB,EAClB,MAAM,+CAA+C,CAAA;AAEtD;;;;;;;;GAQG;AACH,qBAAa,gCAAiC,SAAQ,4BAA4B,CAChF,6BAA6B,EAC7B,cAAc,EACd,iBAAiB,CAClB;;CAgCA"}
1
+ {"version":3,"file":"NodeHostedWalletProviderRegistry.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yEAAyE,CAAA;AAGtH,OAAO,KAAK,EACV,6BAA6B,EAC7B,cAAc,EACd,iBAAiB,EAClB,MAAM,+CAA+C,CAAA;AAEtD;;;;;;;;GAQG;AACH,qBAAa,gCAAiC,SAAQ,4BAA4B,CAChF,6BAA6B,EAC7B,cAAc,EACd,iBAAiB,CAClB;;CAiCA"}
@@ -19,7 +19,12 @@ export class NodeHostedWalletProviderRegistry extends HostedWalletProviderRegist
19
19
  return Boolean(options?.privyClient);
20
20
  },
21
21
  create({ chainManager, lendProvider }, options) {
22
- return new PrivyHostedWalletProvider(options.privyClient, chainManager, lendProvider);
22
+ return new PrivyHostedWalletProvider({
23
+ privyClient: options.privyClient,
24
+ chainManager,
25
+ lendProvider,
26
+ authorizationContext: options.authorizationContext,
27
+ });
23
28
  },
24
29
  });
25
30
  this.register({
@@ -1 +1 @@
1
- {"version":3,"file":"NodeHostedWalletProviderRegistry.js","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yEAAyE,CAAA;AACtH,OAAO,EAAE,yBAAyB,EAAE,MAAM,mEAAmE,CAAA;AAC7G,OAAO,EAAE,2BAA2B,EAAE,MAAM,uEAAuE,CAAA;AAOnH;;;;;;;;GAQG;AACH,MAAM,OAAO,gCAAiC,SAAQ,4BAIrD;IACC;QACE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,QAAQ,CAAU;YACrB,IAAI,EAAE,OAAO;YACb,eAAe,CAAC,OAAO;gBACrB,OAAO,OAAO,CAAE,OAAmC,EAAE,WAAW,CAAC,CAAA;YACnE,CAAC;YACD,MAAM,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,OAAO;gBAC5C,OAAO,IAAI,yBAAyB,CAClC,OAAO,CAAC,WAAW,EACnB,YAAY,EACZ,YAAY,CACb,CAAA;YACH,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAY;YACvB,IAAI,EAAE,SAAS;YACf,eAAe,CAAC,OAAO;gBACrB,MAAM,CAAC,GAAG,OAAoC,CAAA;gBAC9C,OAAO,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YAC3B,CAAC;YACD,MAAM,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,OAAO;gBAC5C,OAAO,IAAI,2BAA2B,CACpC,OAAO,CAAC,MAAM,EACd,YAAY,EACZ,YAAY,CACb,CAAA;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"NodeHostedWalletProviderRegistry.js","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yEAAyE,CAAA;AACtH,OAAO,EAAE,yBAAyB,EAAE,MAAM,mEAAmE,CAAA;AAC7G,OAAO,EAAE,2BAA2B,EAAE,MAAM,uEAAuE,CAAA;AAOnH;;;;;;;;GAQG;AACH,MAAM,OAAO,gCAAiC,SAAQ,4BAIrD;IACC;QACE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,QAAQ,CAAU;YACrB,IAAI,EAAE,OAAO;YACb,eAAe,CAAC,OAAO;gBACrB,OAAO,OAAO,CAAE,OAAmC,EAAE,WAAW,CAAC,CAAA;YACnE,CAAC;YACD,MAAM,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,OAAO;gBAC5C,OAAO,IAAI,yBAAyB,CAAC;oBACnC,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,YAAY;oBACZ,YAAY;oBACZ,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;iBACnD,CAAC,CAAA;YACJ,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAY;YACvB,IAAI,EAAE,SAAS;YACf,eAAe,CAAC,OAAO;gBACrB,MAAM,CAAC,GAAG,OAAoC,CAAA;gBAC9C,OAAO,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YAC3B,CAAC;YACD,MAAM,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,OAAO;gBAC5C,OAAO,IAAI,2BAA2B,CACpC,OAAO,CAAC,MAAM,EACd,YAAY,EACZ,YAAY,CACb,CAAA;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  import { unichain } from 'viem/chains';
2
2
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
3
3
  import { MockChainManager } from '../../../../../../test/MockChainManager.js';
4
- import { createMockPrivyClient } from '../../../../../../test/MockPrivyClient.js';
4
+ import { createMockPrivyClient, getMockAuthorizationContext, } from '../../../../../../test/MockPrivyClient.js';
5
5
  import { PrivyHostedWalletProvider } from '../../privy/PrivyHostedWalletProvider.js';
6
6
  import { NodeHostedWalletProviderRegistry } from '../NodeHostedWalletProviderRegistry.js';
7
7
  import { TurnkeyHostedWalletProvider } from '../../turnkey/TurnkeyHostedWalletProvider.js';
@@ -21,17 +21,25 @@ describe('NodeHostedWalletProviderRegistry', () => {
21
21
  const registry = new NodeHostedWalletProviderRegistry();
22
22
  const factory = registry.getFactory('privy');
23
23
  expect(factory.type).toBe('privy');
24
+ expect(factory.validateOptions?.({
25
+ privyClient: mockPrivyClient,
26
+ authorizationContext: getMockAuthorizationContext(),
27
+ })).toBe(true);
24
28
  expect(factory.validateOptions?.({
25
29
  privyClient: mockPrivyClient,
26
30
  })).toBe(true);
27
31
  // Invalid shape should not pass validation
28
32
  expect(factory.validateOptions?.({})).toBe(false);
33
+ expect(factory.validateOptions?.({
34
+ authorizationContext: getMockAuthorizationContext(),
35
+ })).toBe(false);
29
36
  });
30
37
  it('creates a PrivyHostedWalletProvider instance', () => {
31
38
  const registry = new NodeHostedWalletProviderRegistry();
32
39
  const factory = registry.getFactory('privy');
33
40
  const provider = factory.create({ chainManager: mockChainManager }, {
34
41
  privyClient: mockPrivyClient,
42
+ authorizationContext: getMockAuthorizationContext(),
35
43
  });
36
44
  expect(provider).toBeInstanceOf(PrivyHostedWalletProvider);
37
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"NodeHostedWalletProviderRegistry.spec.js","sourceRoot":"","sources":["../../../../../../../src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAGxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mEAAmE,CAAA;AAC7G,OAAO,EAAE,gCAAgC,EAAE,MAAM,6EAA6E,CAAA;AAC9H,OAAO,EAAE,2BAA2B,EAAE,MAAM,uEAAuE,CAAA;AAGnH,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;QAC5C,eAAe,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;KAC/B,CAA4B,CAAA;IAC7B,IAAI,eAA4B,CAAA;IAChC,MAAM,iBAAiB,GAAG,EAA8B,CAAA;IAExD,UAAU,CAAC,GAAG,EAAE;QACd,eAAe,GAAG,qBAAqB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAA;IAC3E,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,aAAa,EAAE,CAAA;IACpB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,QAAQ,GAAG,IAAI,gCAAgC,EAAE,CAAA;QACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAE5C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,CACJ,OAAO,CAAC,eAAe,EAAE,CAAC;YACxB,WAAW,EAAE,eAAe;SACF,CAAC,CAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACZ,2CAA2C;QAC3C,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,QAAQ,GAAG,IAAI,gCAAgC,EAAE,CAAA;QACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAE5C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE;YAClE,WAAW,EAAE,eAAe;SACF,CAAC,CAAA;QAE7B,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,QAAQ,GAAG,IAAI,gCAAgC,EAAE,CAAA;QACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAE9C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACpC,MAAM,CACJ,OAAO,CAAC,eAAe,EAAE,CAAC;YACxB,MAAM,EAAE,iBAAiB;SACG,CAAC,CAChC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACZ,2CAA2C;QAC3C,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,QAAQ,GAAG,IAAI,gCAAgC,EAAE,CAAA;QACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAE9C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAC7B,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAClC;YACE,MAAM,EAAE,iBAAiB;SAC1B,CACF,CAAA;QAED,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,QAAQ,GAAG,IAAI,gCAAgC,EAAE,CAAA;QACvD,2DAA2D;QAC3D,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAClD,yCAAyC,CAC1C,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"NodeHostedWalletProviderRegistry.spec.js","sourceRoot":"","sources":["../../../../../../../src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { PrivyClient } from '@privy-io/server-auth';
1
+ import type { AuthorizationContext, PrivyClient } from '@privy-io/node';
2
2
  import type { TurnkeySDKClientBase } from '@turnkey/core';
3
3
  import type { TurnkeyClient as TurnkeyHttpClient } from '@turnkey/http';
4
4
  import type { TurnkeyServerClient } from '@turnkey/sdk-server';
@@ -24,9 +24,14 @@ export interface NodeOptionsMap {
24
24
  /**
25
25
  * Privy provider configuration
26
26
  * @property privyClient Server-side Privy client instance used to query/create wallets
27
+ * @property authorizationContext Optional authorization context for the Privy client.
28
+ * Used when Privy needs to sign requests.
29
+ * See https://docs.privy.io/controls/authorization-keys/using-owners/sign/automatic#using-the-authorization-context
30
+ * for more information on building and using the authorization context.
27
31
  */
28
32
  privy: {
29
33
  privyClient: PrivyClient;
34
+ authorizationContext?: AuthorizationContext;
30
35
  };
31
36
  /**
32
37
  * Turnkey provider configuration
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAA;AAChG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mEAAmE,CAAA;AAClH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uEAAuE,CAAA;AAExH;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,cAAc,GAClD,MAAM,6BAA6B,GACnC,MAAM,uBAAuB,CAAA;AAE/B;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,KAAK,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE,CAAA;IACnC;;;;OAIG;IACH,OAAO,EAAE;QACP,MAAM,EAAE,iBAAiB,GAAG,mBAAmB,GAAG,oBAAoB,CAAA;KACvE,CAAA;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,yBAAyB,CAAA;IAChC,OAAO,EAAE,2BAA2B,CAAA;CACrC,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,uCAAuC,CAAA;IAC9C,OAAO,EAAE,yCAAyC,CAAA;CACnD,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,+BAA+B,GAAG,2BAA2B,CACvE,iBAAiB,EACjB,6BAA6B,EAC7B,cAAc,EACd,uBAAuB,CACxB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAA;AAChG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mEAAmE,CAAA;AAClH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uEAAuE,CAAA;AAExH;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,cAAc,GAClD,MAAM,6BAA6B,GACnC,MAAM,uBAAuB,CAAA;AAE/B;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,KAAK,EAAE;QACL,WAAW,EAAE,WAAW,CAAA;QACxB,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;KAC5C,CAAA;IACD;;;;OAIG;IACH,OAAO,EAAE;QACP,MAAM,EAAE,iBAAiB,GAAG,mBAAmB,GAAG,oBAAoB,CAAA;KACvE,CAAA;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,yBAAyB,CAAA;IAChC,OAAO,EAAE,2BAA2B,CAAA;CACrC,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,uCAAuC,CAAA;IAC9C,OAAO,EAAE,yCAAyC,CAAA;CACnD,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,+BAA+B,GAAG,2BAA2B,CACvE,iBAAiB,EACjB,6BAA6B,EAC7B,cAAc,EACd,uBAAuB,CACxB,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { PrivyClient } from '@privy-io/server-auth';
1
+ import type { AuthorizationContext, PrivyClient } from '@privy-io/node';
2
2
  import { type Address, type LocalAccount } from 'viem';
3
3
  import type { ChainManager } from '../../../../../services/ChainManager.js';
4
4
  import type { LendConfig, LendProvider } from '../../../../../types/lend/index.js';
@@ -12,15 +12,20 @@ export declare class PrivyWallet extends EOAWallet {
12
12
  signer: LocalAccount;
13
13
  readonly address: Address;
14
14
  private privyClient;
15
+ private authorizationContext?;
15
16
  /**
16
- * Create a new Privy wallet provider
17
- * @param appId - Privy application ID
18
- * @param appSecret - Privy application secret
19
- * @param actions - Actions instance for accessing configured providers
17
+ * Create a new Privy wallet instance
18
+ * @param privyClient - Privy client instance for wallet operations
19
+ * @param authorizationContext - Authorization context for signing requests
20
+ * @param walletId - Privy wallet identifier
21
+ * @param address - Ethereum address of the wallet
22
+ * @param chainManager - Chain manager for multi-chain operations
23
+ * @param lendProvider - Optional lend provider for DeFi operations
20
24
  */
21
25
  private constructor();
22
26
  static create(params: {
23
27
  privyClient: PrivyClient;
28
+ authorizationContext?: AuthorizationContext;
24
29
  walletId: string;
25
30
  address: Address;
26
31
  chainManager: ChainManager;
@@ -1 +1 @@
1
- {"version":3,"file":"PrivyWallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/wallets/hosted/privy/PrivyWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAGlE;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAG,YAAY,CAAA;IAC5B,SAAgB,OAAO,EAAE,OAAO,CAAA;IAChC,OAAO,CAAC,WAAW,CAAa;IAEhC;;;;;OAKG;IACH,OAAO;WAaM,MAAM,CAAC,MAAM,EAAE;QAC1B,WAAW,EAAE,WAAW,CAAA;QACxB,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,OAAO,CAAA;QAChB,YAAY,EAAE,YAAY,CAAA;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;KACxC,GAAG,OAAO,CAAC,WAAW,CAAC;IAYxB;;OAEG;cACa,qBAAqB;IAIrC;;;;;;;OAOG;YACW,YAAY;CAO3B"}
1
+ {"version":3,"file":"PrivyWallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/wallets/hosted/privy/PrivyWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAGlE;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAG,YAAY,CAAA;IAC5B,SAAgB,OAAO,EAAE,OAAO,CAAA;IAChC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,oBAAoB,CAAC,CAAsB;IACnD;;;;;;;;OAQG;IACH,OAAO;WAeM,MAAM,CAAC,MAAM,EAAE;QAC1B,WAAW,EAAE,WAAW,CAAA;QACxB,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;QAC3C,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,OAAO,CAAA;QAChB,YAAY,EAAE,YAAY,CAAA;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;KACxC,GAAG,OAAO,CAAC,WAAW,CAAC;IAaxB;;OAEG;cACa,qBAAqB;IAIrC;;;;;;;OAOG;YACW,YAAY;CAQ3B"}
@@ -6,19 +6,23 @@ import { createSigner } from './utils/createSigner.js';
6
6
  */
7
7
  export class PrivyWallet extends EOAWallet {
8
8
  /**
9
- * Create a new Privy wallet provider
10
- * @param appId - Privy application ID
11
- * @param appSecret - Privy application secret
12
- * @param actions - Actions instance for accessing configured providers
9
+ * Create a new Privy wallet instance
10
+ * @param privyClient - Privy client instance for wallet operations
11
+ * @param authorizationContext - Authorization context for signing requests
12
+ * @param walletId - Privy wallet identifier
13
+ * @param address - Ethereum address of the wallet
14
+ * @param chainManager - Chain manager for multi-chain operations
15
+ * @param lendProvider - Optional lend provider for DeFi operations
13
16
  */
14
- constructor(privyClient, walletId, address, chainManager, lendProvider) {
17
+ constructor(privyClient, walletId, address, chainManager, lendProvider, authorizationContext) {
15
18
  super(chainManager, lendProvider);
16
19
  this.privyClient = privyClient;
20
+ this.authorizationContext = authorizationContext;
17
21
  this.walletId = walletId;
18
22
  this.address = address;
19
23
  }
20
24
  static async create(params) {
21
- const wallet = new PrivyWallet(params.privyClient, params.walletId, params.address, params.chainManager, params.lendProvider);
25
+ const wallet = new PrivyWallet(params.privyClient, params.walletId, params.address, params.chainManager, params.lendProvider, params.authorizationContext);
22
26
  await wallet.initialize();
23
27
  return wallet;
24
28
  }
@@ -41,6 +45,7 @@ export class PrivyWallet extends EOAWallet {
41
45
  walletId: this.walletId,
42
46
  address: this.address,
43
47
  privyClient: this.privyClient,
48
+ authorizationContext: this.authorizationContext,
44
49
  });
45
50
  }
46
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PrivyWallet.js","sourceRoot":"","sources":["../../../../../../src/wallet/node/wallets/hosted/privy/PrivyWallet.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0DAA0D,CAAA;AAEvF;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IAMxC;;;;;OAKG;IACH,YACE,WAAwB,EACxB,QAAgB,EAChB,OAAgB,EAChB,YAA0B,EAC1B,YAAuC;QAEvC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAMnB;QACC,MAAM,MAAM,GAAG,IAAI,WAAW,CAC5B,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,YAAY,CACpB,CAAA;QACD,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;QACzB,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,qBAAqB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;IACzC,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,YAAY;QACxB,OAAO,YAAY,CAAC;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"PrivyWallet.js","sourceRoot":"","sources":["../../../../../../src/wallet/node/wallets/hosted/privy/PrivyWallet.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0DAA0D,CAAA;AAEvF;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IAMxC;;;;;;;;OAQG;IACH,YACE,WAAwB,EACxB,QAAgB,EAChB,OAAgB,EAChB,YAA0B,EAC1B,YAAuC,EACvC,oBAA2C;QAE3C,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAA;QAChD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAOnB;QACC,MAAM,MAAM,GAAG,IAAI,WAAW,CAC5B,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,oBAAoB,CAC5B,CAAA;QACD,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;QACzB,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,qBAAqB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;IACzC,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,YAAY;QACxB,OAAO,YAAY,CAAC;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,9 +1,9 @@
1
- import { createViemAccount } from '@privy-io/server-auth/viem';
1
+ import { createViemAccount } from '@privy-io/node/viem';
2
2
  import { createWalletClient, getAddress, } from 'viem';
3
3
  import { unichain } from 'viem/chains';
4
- import { describe, expect, it, vi } from 'vitest';
4
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
5
5
  import { MockChainManager } from '../../../../../../test/MockChainManager.js';
6
- import { createMockPrivyClient } from '../../../../../../test/MockPrivyClient.js';
6
+ import { createMockPrivyClient, createMockPrivyWallet, getMockAuthorizationContext, } from '../../../../../../test/MockPrivyClient.js';
7
7
  import { getRandomAddress } from '../../../../../../test/utils.js';
8
8
  import { PrivyWallet } from '../PrivyWallet.js';
9
9
  vi.mock('viem', async () => ({
@@ -16,9 +16,9 @@ vi.mock('viem/accounts', async () => ({
16
16
  ...(await vi.importActual('viem/accounts')),
17
17
  toAccount: vi.fn(),
18
18
  }));
19
- vi.mock('@privy-io/server-auth/viem', async () => ({
19
+ vi.mock('@privy-io/node/viem', async () => ({
20
20
  // @ts-ignore - importActual returns unknown
21
- ...(await vi.importActual('@privy-io/server-auth/viem')),
21
+ ...(await vi.importActual('@privy-io/node/viem')),
22
22
  createViemAccount: vi.fn(),
23
23
  }));
24
24
  const mockAddress = getRandomAddress();
@@ -34,10 +34,11 @@ const mockLocalAccount = {
34
34
  signTypedData: vi.fn(),
35
35
  };
36
36
  describe('PrivyWallet', () => {
37
+ beforeEach(() => {
38
+ vi.clearAllMocks();
39
+ });
37
40
  it('should return the correct wallet ID', async () => {
38
- const createdWallet = await mockPrivyClient.walletApi.createWallet({
39
- chainType: 'ethereum',
40
- });
41
+ const createdWallet = createMockPrivyWallet();
41
42
  const wallet = await createAndInitPrivyWallet({
42
43
  address: getAddress(createdWallet.address),
43
44
  walletId: createdWallet.id,
@@ -45,9 +46,7 @@ describe('PrivyWallet', () => {
45
46
  expect(wallet.walletId).toBe(createdWallet.id);
46
47
  });
47
48
  it('should return the correct address', async () => {
48
- const createdWallet = await mockPrivyClient.walletApi.createWallet({
49
- chainType: 'ethereum',
50
- });
49
+ const createdWallet = createMockPrivyWallet();
51
50
  const wallet = await createAndInitPrivyWallet({
52
51
  address: getAddress(createdWallet.address),
53
52
  walletId: createdWallet.id,
@@ -56,26 +55,27 @@ describe('PrivyWallet', () => {
56
55
  });
57
56
  it('should create an account with correct configuration', async () => {
58
57
  // Create a wallet using the mock client first
59
- const createdWallet = await mockPrivyClient.walletApi.createWallet({
60
- chainType: 'ethereum',
61
- });
58
+ const createdWallet = createMockPrivyWallet();
62
59
  vi.mocked(createViemAccount).mockResolvedValue(mockLocalAccount);
60
+ const authorizationContext = getMockAuthorizationContext();
63
61
  const wallet = await createAndInitPrivyWallet({
64
62
  address: getAddress(createdWallet.address),
65
63
  walletId: createdWallet.id,
64
+ authorizationContext,
66
65
  });
67
- expect(createViemAccount).toHaveBeenCalledWith({
66
+ expect(createViemAccount).toHaveBeenCalledWith(mockPrivyClient, {
68
67
  walletId: createdWallet.id,
69
68
  address: createdWallet.address,
70
- privy: mockPrivyClient,
69
+ authorizationContext,
71
70
  });
72
71
  expect(wallet.signer).toBe(mockLocalAccount);
73
72
  });
74
73
  it('should create a wallet client with correct configuration', async () => {
75
- const createdWallet = await mockPrivyClient.walletApi.createWallet({
76
- chainType: 'ethereum',
74
+ const createdWallet = createMockPrivyWallet();
75
+ const wallet = await createAndInitPrivyWallet({
76
+ walletId: createdWallet.id,
77
+ address: createdWallet.address,
77
78
  });
78
- const wallet = await createAndInitPrivyWallet();
79
79
  const mockWalletClient = {
80
80
  account: mockLocalAccount,
81
81
  address: createdWallet.address,
@@ -90,16 +90,14 @@ describe('PrivyWallet', () => {
90
90
  expect(walletClient).toBe(mockWalletClient);
91
91
  });
92
92
  });
93
- async function createAndInitPrivyWallet(params = {}) {
94
- const { privyClient = mockPrivyClient, walletId, address, chainManager = mockChainManager, } = params;
95
- const createdWallet = await privyClient.walletApi.createWallet({
96
- chainType: 'ethereum',
97
- });
93
+ async function createAndInitPrivyWallet(params) {
94
+ const { walletId, address, authorizationContext } = params;
98
95
  return PrivyWallet.create({
99
- privyClient,
100
- walletId: walletId ?? createdWallet.id,
101
- address: address ?? getAddress(createdWallet.address),
102
- chainManager,
96
+ privyClient: mockPrivyClient,
97
+ authorizationContext: authorizationContext ?? getMockAuthorizationContext(),
98
+ walletId,
99
+ address,
100
+ chainManager: mockChainManager,
103
101
  });
104
102
  }
105
103
  //# sourceMappingURL=PrivyWallet.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrivyWallet.spec.js","sourceRoot":"","sources":["../../../../../../../src/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PrivyWallet.spec.js","sourceRoot":"","sources":["../../../../../../../src/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { createViemAccount } from '@privy-io/server-auth/viem';
1
+ import { createViemAccount } from '@privy-io/node/viem';
2
2
  import { describe, expect, it, vi } from 'vitest';
3
- import { createMockPrivyClient } from '../../../../../../../test/MockPrivyClient.js';
3
+ import { createMockPrivyClient, createMockPrivyWallet, getMockAuthorizationContext, } from '../../../../../../../test/MockPrivyClient.js';
4
4
  import { getRandomAddress } from '../../../../../../../test/utils.js';
5
5
  import { createSigner } from '../createSigner.js';
6
- vi.mock('@privy-io/server-auth/viem', async () => ({
6
+ vi.mock('@privy-io/node/viem', async () => ({
7
7
  // @ts-ignore - importActual returns unknown
8
- ...(await vi.importActual('@privy-io/server-auth/viem')),
8
+ ...(await vi.importActual('@privy-io/node/viem')),
9
9
  createViemAccount: vi.fn(),
10
10
  }));
11
11
  describe('createSigner (Node Privy)', () => {
@@ -18,20 +18,20 @@ describe('createSigner (Node Privy)', () => {
18
18
  signTransaction: vi.fn(),
19
19
  signTypedData: vi.fn(),
20
20
  };
21
- it('should create a LocalAccount with correct configuration', async () => {
22
- const createdWallet = await mockPrivyClient.walletApi.createWallet({
23
- chainType: 'ethereum',
24
- });
25
- vi.mocked(createViemAccount).mockResolvedValue(mockLocalAccount);
26
- const signer = await createSigner({
21
+ it('should create a LocalAccount with correct configuration', () => {
22
+ const createdWallet = createMockPrivyWallet();
23
+ vi.mocked(createViemAccount).mockReturnValue(mockLocalAccount);
24
+ const authorizationContext = getMockAuthorizationContext();
25
+ const signer = createSigner({
27
26
  privyClient: mockPrivyClient,
27
+ authorizationContext: authorizationContext,
28
28
  walletId: createdWallet.id,
29
29
  address: createdWallet.address,
30
30
  });
31
- expect(createViemAccount).toHaveBeenCalledWith({
31
+ expect(createViemAccount).toHaveBeenCalledWith(mockPrivyClient, {
32
32
  walletId: createdWallet.id,
33
33
  address: createdWallet.address,
34
- privy: mockPrivyClient,
34
+ authorizationContext,
35
35
  });
36
36
  expect(signer).toBe(mockLocalAccount);
37
37
  });
@@ -1 +1 @@
1
- {"version":3,"file":"createSigner.spec.js","sourceRoot":"","sources":["../../../../../../../../src/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0DAA0D,CAAA;AAEvF,EAAE,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACjD,4CAA4C;IAC5C,GAAG,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAC;IACxD,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;CAC3B,CAAC,CAAC,CAAA;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAA;IACtC,MAAM,eAAe,GAAG,qBAAqB,CAC3C,aAAa,EACb,iBAAiB,CAClB,CAAA;IACD,MAAM,gBAAgB,GAAG;QACvB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;QACpB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;QACxB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;KACI,CAAA;IAE5B,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC;YACjE,SAAS,EAAE,UAAU;SACtB,CAAC,CAAA;QACF,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;QAEhE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,WAAW,EAAE,eAAe;YAC5B,QAAQ,EAAE,aAAa,CAAC,EAAE;YAC1B,OAAO,EAAE,aAAa,CAAC,OAAkB;SAC1C,CAAC,CAAA;QAEF,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC;YAC7C,QAAQ,EAAE,aAAa,CAAC,EAAE;YAC1B,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,KAAK,EAAE,eAAe;SACvB,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"createSigner.spec.js","sourceRoot":"","sources":["../../../../../../../../src/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0DAA0D,CAAA;AAEvF,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1C,4CAA4C;IAC5C,GAAG,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;IACjD,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;CAC3B,CAAC,CAAC,CAAA;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAA;IACtC,MAAM,eAAe,GAAG,qBAAqB,CAC3C,aAAa,EACb,iBAAiB,CAClB,CAAA;IACD,MAAM,gBAAgB,GAAG;QACvB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;QACpB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;QACxB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;KACI,CAAA;IAE5B,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,aAAa,GAAG,qBAAqB,EAAE,CAAA;QAC7C,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAA;QAC9D,MAAM,oBAAoB,GAAG,2BAA2B,EAAE,CAAA;QAE1D,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,WAAW,EAAE,eAAe;YAC5B,oBAAoB,EAAE,oBAAoB;YAC1C,QAAQ,EAAE,aAAa,CAAC,EAAE;YAC1B,OAAO,EAAE,aAAa,CAAC,OAAO;SAC/B,CAAC,CAAA;QAEF,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,eAAe,EAAE;YAC9D,QAAQ,EAAE,aAAa,CAAC,EAAE;YAC1B,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,oBAAoB;SACrB,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}