@rhinestone/sdk 0.8.0 → 0.8.2

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 (119) hide show
  1. package/README.md +4 -4
  2. package/dist/src/accounts/index.d.ts.map +1 -0
  3. package/dist/src/accounts/index.test.d.ts +2 -0
  4. package/dist/src/accounts/index.test.d.ts.map +1 -0
  5. package/dist/src/accounts/index.test.js +35 -0
  6. package/dist/src/accounts/nexus.d.ts.map +1 -0
  7. package/dist/src/accounts/nexus.test.d.ts +2 -0
  8. package/dist/src/accounts/nexus.test.d.ts.map +1 -0
  9. package/dist/src/accounts/nexus.test.js +39 -0
  10. package/dist/src/accounts/safe.d.ts.map +1 -0
  11. package/dist/src/accounts/safe.test.d.ts +2 -0
  12. package/dist/src/accounts/safe.test.d.ts.map +1 -0
  13. package/dist/src/accounts/safe.test.js +39 -0
  14. package/dist/src/accounts/utils.d.ts.map +1 -0
  15. package/dist/src/accounts/utils.test.d.ts +2 -0
  16. package/dist/src/accounts/utils.test.d.ts.map +1 -0
  17. package/dist/src/accounts/utils.test.js +49 -0
  18. package/dist/src/execution/index.d.ts.map +1 -0
  19. package/dist/{execution → src/execution}/index.js +13 -1
  20. package/dist/src/execution/smart-session.d.ts.map +1 -0
  21. package/dist/src/execution/smart-session.test.d.ts +2 -0
  22. package/dist/src/execution/smart-session.test.d.ts.map +1 -0
  23. package/dist/src/execution/smart-session.test.js +133 -0
  24. package/dist/src/index.d.ts.map +1 -0
  25. package/dist/src/modules/abi/smart-sessions.d.ts +104 -0
  26. package/dist/src/modules/abi/smart-sessions.d.ts.map +1 -0
  27. package/dist/src/modules/common.d.ts.map +1 -0
  28. package/dist/src/modules/index.d.ts.map +1 -0
  29. package/dist/src/modules/index.test.d.ts +2 -0
  30. package/dist/src/modules/index.test.d.ts.map +1 -0
  31. package/dist/src/modules/index.test.js +104 -0
  32. package/dist/src/modules/omni-account.d.ts.map +1 -0
  33. package/dist/src/modules/validators/core.d.ts +8 -0
  34. package/dist/src/modules/validators/core.d.ts.map +1 -0
  35. package/dist/{modules → src/modules}/validators/core.js +0 -2
  36. package/dist/src/modules/validators/core.test.d.ts +2 -0
  37. package/dist/src/modules/validators/core.test.d.ts.map +1 -0
  38. package/dist/src/modules/validators/core.test.js +101 -0
  39. package/dist/src/modules/validators/index.d.ts.map +1 -0
  40. package/dist/{modules → src/modules}/validators/smart-sessions.d.ts +34 -0
  41. package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -0
  42. package/dist/src/modules/validators/smart-sessions.test.d.ts +2 -0
  43. package/dist/src/modules/validators/smart-sessions.test.d.ts.map +1 -0
  44. package/dist/src/modules/validators/smart-sessions.test.js +226 -0
  45. package/dist/src/orchestrator/client.d.ts.map +1 -0
  46. package/dist/{orchestrator → src/orchestrator}/consts.d.ts +2 -2
  47. package/dist/src/orchestrator/consts.d.ts.map +1 -0
  48. package/dist/{orchestrator → src/orchestrator}/consts.js +2 -2
  49. package/dist/src/orchestrator/error.d.ts.map +1 -0
  50. package/dist/src/orchestrator/index.d.ts.map +1 -0
  51. package/dist/{orchestrator → src/orchestrator}/registry.d.ts +4 -1
  52. package/dist/src/orchestrator/registry.d.ts.map +1 -0
  53. package/dist/{orchestrator → src/orchestrator}/registry.js +9 -0
  54. package/dist/{orchestrator → src/orchestrator}/types.d.ts +14 -15
  55. package/dist/src/orchestrator/types.d.ts.map +1 -0
  56. package/dist/src/orchestrator/utils.d.ts.map +1 -0
  57. package/dist/src/types.d.ts.map +1 -0
  58. package/dist/test/consts.d.ts +9 -0
  59. package/dist/test/consts.d.ts.map +1 -0
  60. package/dist/test/consts.js +20 -0
  61. package/package.json +1 -1
  62. package/dist/accounts/index.d.ts.map +0 -1
  63. package/dist/accounts/nexus.d.ts.map +0 -1
  64. package/dist/accounts/safe.d.ts.map +0 -1
  65. package/dist/accounts/utils.d.ts.map +0 -1
  66. package/dist/execution/index.d.ts.map +0 -1
  67. package/dist/execution/smart-session.d.ts.map +0 -1
  68. package/dist/index.d.ts.map +0 -1
  69. package/dist/modules/abi/smart-sessions.d.ts +0 -42
  70. package/dist/modules/abi/smart-sessions.d.ts.map +0 -1
  71. package/dist/modules/common.d.ts.map +0 -1
  72. package/dist/modules/index.d.ts.map +0 -1
  73. package/dist/modules/omni-account.d.ts.map +0 -1
  74. package/dist/modules/validators/core.d.ts +0 -23
  75. package/dist/modules/validators/core.d.ts.map +0 -1
  76. package/dist/modules/validators/index.d.ts.map +0 -1
  77. package/dist/modules/validators/smart-sessions.d.ts.map +0 -1
  78. package/dist/orchestrator/client.d.ts.map +0 -1
  79. package/dist/orchestrator/consts.d.ts.map +0 -1
  80. package/dist/orchestrator/error.d.ts.map +0 -1
  81. package/dist/orchestrator/index.d.ts.map +0 -1
  82. package/dist/orchestrator/registry.d.ts.map +0 -1
  83. package/dist/orchestrator/types.d.ts.map +0 -1
  84. package/dist/orchestrator/utils.d.ts.map +0 -1
  85. package/dist/types.d.ts.map +0 -1
  86. /package/dist/{accounts → src/accounts}/index.d.ts +0 -0
  87. /package/dist/{accounts → src/accounts}/index.js +0 -0
  88. /package/dist/{accounts → src/accounts}/nexus.d.ts +0 -0
  89. /package/dist/{accounts → src/accounts}/nexus.js +0 -0
  90. /package/dist/{accounts → src/accounts}/safe.d.ts +0 -0
  91. /package/dist/{accounts → src/accounts}/safe.js +0 -0
  92. /package/dist/{accounts → src/accounts}/utils.d.ts +0 -0
  93. /package/dist/{accounts → src/accounts}/utils.js +0 -0
  94. /package/dist/{execution → src/execution}/index.d.ts +0 -0
  95. /package/dist/{execution → src/execution}/smart-session.d.ts +0 -0
  96. /package/dist/{execution → src/execution}/smart-session.js +0 -0
  97. /package/dist/{index.d.ts → src/index.d.ts} +0 -0
  98. /package/dist/{index.js → src/index.js} +0 -0
  99. /package/dist/{modules → src/modules}/abi/smart-sessions.js +0 -0
  100. /package/dist/{modules → src/modules}/common.d.ts +0 -0
  101. /package/dist/{modules → src/modules}/common.js +0 -0
  102. /package/dist/{modules → src/modules}/index.d.ts +0 -0
  103. /package/dist/{modules → src/modules}/index.js +0 -0
  104. /package/dist/{modules → src/modules}/omni-account.d.ts +0 -0
  105. /package/dist/{modules → src/modules}/omni-account.js +0 -0
  106. /package/dist/{modules → src/modules}/validators/index.d.ts +0 -0
  107. /package/dist/{modules → src/modules}/validators/index.js +0 -0
  108. /package/dist/{modules → src/modules}/validators/smart-sessions.js +0 -0
  109. /package/dist/{orchestrator → src/orchestrator}/client.d.ts +0 -0
  110. /package/dist/{orchestrator → src/orchestrator}/client.js +0 -0
  111. /package/dist/{orchestrator → src/orchestrator}/error.d.ts +0 -0
  112. /package/dist/{orchestrator → src/orchestrator}/error.js +0 -0
  113. /package/dist/{orchestrator → src/orchestrator}/index.d.ts +0 -0
  114. /package/dist/{orchestrator → src/orchestrator}/index.js +0 -0
  115. /package/dist/{orchestrator → src/orchestrator}/types.js +0 -0
  116. /package/dist/{orchestrator → src/orchestrator}/utils.d.ts +0 -0
  117. /package/dist/{orchestrator → src/orchestrator}/utils.js +0 -0
  118. /package/dist/{types.d.ts → src/types.d.ts} +0 -0
  119. /package/dist/{types.js → src/types.js} +0 -0
package/README.md CHANGED
@@ -60,7 +60,7 @@ const targetChain = arbitrumSepolia
60
60
 
61
61
  // You can use an existing PK here
62
62
  const privateKey = generatePrivateKey()
63
- console.log(`Owner private key: ${privateKey}`)
63
+ console.info(`Owner private key: ${privateKey}`)
64
64
  const account = privateKeyToAccount(privateKey)
65
65
 
66
66
  const rhinestoneAccount = await createRhinestoneAccount({
@@ -71,7 +71,7 @@ const rhinestoneAccount = await createRhinestoneAccount({
71
71
  rhinestoneApiKey,
72
72
  })
73
73
  const address = await rhinestoneAccount.getAddress()
74
- console.log(`Smart account address: ${address}`)
74
+ console.info(`Smart account address: ${address}`)
75
75
  ```
76
76
 
77
77
  ### Funding the Account
@@ -126,10 +126,10 @@ const transaction = await rhinestoneAccount.sendTransaction({
126
126
  },
127
127
  ],
128
128
  });
129
- console.log('Transaction', transaction);
129
+ console.info('Transaction', transaction);
130
130
 
131
131
  const transactionResult = await rhinestoneAccount.waitForExecution(transaction);
132
- console.log('Result', transactionResult);
132
+ console.info('Result', transactionResult);
133
133
  ```
134
134
 
135
135
  After running that, you will get a smart account deployed on both Base Sepolia and Arbitrum Sepolia, and make a cross-chain USDC transfer.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../accounts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EAKV,KAAK,GAAG,EAGR,KAAK,YAAY,EAIlB,MAAM,MAAM,CAAA;AAUb,OAAO,KAAK,EAEV,QAAQ,EACR,uBAAuB,EACvB,OAAO,EACR,MAAM,UAAU,CAAA;AAiBjB,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;;;;;;;;;EAUrD;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,iBAgBlD;AAED,iBAAe,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,oBAiBtE;AAED,iBAAe,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,iBAMxE;AAED,iBAAe,YAAY,CACzB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,uBAAuB,EAC/B,QAAQ,EAAE,OAAO,iBASlB;AAUD,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,6BAUzD;AAgID,iBAAe,eAAe,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,KAAK,sJA0Bb;AAED,iBAAe,2BAA2B,CACxC,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,sJA8BjB;AAED,iBAAe,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,0BAYhE;AAgED,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,2BAA2B,EAC3B,IAAI,GACL,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../accounts/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const consts_1 = require("../../test/consts");
5
+ const _1 = require(".");
6
+ (0, vitest_1.describe)('Accounts', () => {
7
+ (0, vitest_1.describe)('Get Address', () => {
8
+ (0, vitest_1.test)('Nexus, ECDSA owner', () => {
9
+ const address = (0, _1.getAddress)({
10
+ owners: {
11
+ type: 'ecdsa',
12
+ accounts: [consts_1.accountA, consts_1.accountB],
13
+ threshold: 1,
14
+ },
15
+ rhinestoneApiKey: consts_1.MOCK_API_KEY,
16
+ });
17
+ (0, vitest_1.expect)(address).toEqual('0xd8f8c35df8af22ad9c18dc96bc708c68827500e6');
18
+ });
19
+ (0, vitest_1.test)('Safe, passkey owner with a session', () => {
20
+ const address = (0, _1.getAddress)({
21
+ owners: {
22
+ type: 'passkey',
23
+ account: consts_1.passkeyAccount,
24
+ },
25
+ rhinestoneApiKey: consts_1.MOCK_API_KEY,
26
+ });
27
+ (0, vitest_1.expect)(address).toEqual('0x75851281e7af9b9ebaf42abacce566d2a26c0cd7');
28
+ });
29
+ });
30
+ (0, vitest_1.describe)('Sign', () => {
31
+ vitest_1.test.todo('With ECDSA, single key');
32
+ vitest_1.test.todo('With ECDSA, multisig');
33
+ vitest_1.test.todo('With Passkey');
34
+ });
35
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nexus.d.ts","sourceRoot":"","sources":["../../../accounts/nexus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAUpE,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAA;AASjC,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAa1E,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;;EA8ErD;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAWlC;AAED,iBAAe,sBAAsB,CACnC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAuBlC;AAED,iBAAe,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,iEAkBxE;AAgFD,iBAAS,gBAAgB,CAAC,MAAM,EAAE,uBAAuB;;;IAqDxD;AAED,OAAO,EACL,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,GACjB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=nexus.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nexus.test.d.ts","sourceRoot":"","sources":["../../../accounts/nexus.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const consts_1 = require("../../test/consts");
5
+ const nexus_1 = require("./nexus");
6
+ (0, vitest_1.describe)('Accounts: Nexus', () => {
7
+ (0, vitest_1.describe)('Deploy Args', () => {
8
+ (0, vitest_1.test)('ECDSA owners', () => {
9
+ const { factory, factoryData, salt, hashedInitcode, implementation, initializationCallData, } = (0, nexus_1.getDeployArgs)({
10
+ owners: {
11
+ type: 'ecdsa',
12
+ accounts: [consts_1.accountA, consts_1.accountB],
13
+ },
14
+ rhinestoneApiKey: consts_1.MOCK_API_KEY,
15
+ });
16
+ (0, vitest_1.expect)(factory).toEqual('0x000000001D1D5004a02bAfAb9de2D6CE5b7B13de');
17
+ (0, vitest_1.expect)(factoryData).toEqual('0xea6d13ac0000000000000000000000000000000000000000000000000000000000000040c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470000000000000000000000000000000000000000000000000000000000000068000000000000000000000000000000000d3254452a909e4eed47455af7e27c28900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000604544d586000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005200000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002483da3a338895199e5e538530213157e931bf06000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000f6c02c78ded62973b43bfa523b247da0994869360000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000043ff16d5776c7f0f65ec485c17ca04000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6ed8be424d673c63eeff8b926742000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000803a5be8cb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000069e2a187aeffb852bf3ccdc95151b2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000333034e9f539ce08819e12c1b8cb29084d0000000000000000000000006d0515e8e499468dce9583626f0ca15b887f9d0300000000000000000000000000000000000000000000000000000000');
18
+ (0, vitest_1.expect)(salt).toEqual('0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470');
19
+ (0, vitest_1.expect)(hashedInitcode).toEqual('0xcd60747eeb90129e87a740c20bf9191f526ec53fcf693fe4415f0264a5e5d8ab');
20
+ (0, vitest_1.expect)(implementation).toEqual('0x000000004f43c49e93c970e84001853a70923b03');
21
+ (0, vitest_1.expect)(initializationCallData).toEqual('0x4b6a14190000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000068000000000000000000000000000000000d3254452a909e4eed47455af7e27c28900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000604544d586000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005200000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002483da3a338895199e5e538530213157e931bf06000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000f6c02c78ded62973b43bfa523b247da0994869360000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000043ff16d5776c7f0f65ec485c17ca04000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6ed8be424d673c63eeff8b926742000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000803a5be8cb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000069e2a187aeffb852bf3ccdc95151b2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000333034e9f539ce08819e12c1b8cb29084d0000000000000000000000006d0515e8e499468dce9583626f0ca15b887f9d0300000000000000000000000000000000000000000000000000000000');
22
+ });
23
+ (0, vitest_1.test)('Passkey owner', () => {
24
+ const { factory, factoryData, salt, hashedInitcode, implementation, initializationCallData, } = (0, nexus_1.getDeployArgs)({
25
+ owners: {
26
+ type: 'passkey',
27
+ account: consts_1.passkeyAccount,
28
+ },
29
+ rhinestoneApiKey: consts_1.MOCK_API_KEY,
30
+ });
31
+ (0, vitest_1.expect)(factory).toEqual('0x000000001D1D5004a02bAfAb9de2D6CE5b7B13de');
32
+ (0, vitest_1.expect)(factoryData).toEqual('0xea6d13ac0000000000000000000000000000000000000000000000000000000000000040c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000d3254452a909e4eed47455af7e27c289000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005c4544d586000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002f167e55d42584f65e2e30a748f41ee75a31141400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d3737637d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d19c9a01073b202db2ed56e604ad11db557d8c3ad75181619597f21b830f2da82a0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000043ff16d5776c7f0f65ec485c17ca04000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6ed8be424d673c63eeff8b926742000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000803a5be8cb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000069e2a187aeffb852bf3ccdc95151b2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000333034e9f539ce08819e12c1b8cb29084d0000000000000000000000006d0515e8e499468dce9583626f0ca15b887f9d0300000000000000000000000000000000000000000000000000000000');
33
+ (0, vitest_1.expect)(salt).toEqual('0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470');
34
+ (0, vitest_1.expect)(hashedInitcode).toEqual('0xc0700773a0a837600ad91013a852ad85ebb16205dcb7513d7c89f78c9adfec34');
35
+ (0, vitest_1.expect)(implementation).toEqual('0x000000004f43c49e93c970e84001853a70923b03');
36
+ (0, vitest_1.expect)(initializationCallData).toEqual('0x4b6a14190000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000d3254452a909e4eed47455af7e27c289000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005c4544d586000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002f167e55d42584f65e2e30a748f41ee75a31141400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d3737637d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d19c9a01073b202db2ed56e604ad11db557d8c3ad75181619597f21b830f2da82a0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000043ff16d5776c7f0f65ec485c17ca04000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6ed8be424d673c63eeff8b926742000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000803a5be8cb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000069e2a187aeffb852bf3ccdc95151b2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000333034e9f539ce08819e12c1b8cb29084d0000000000000000000000006d0515e8e499468dce9583626f0ca15b887f9d0300000000000000000000000000000000000000000000000000000000');
37
+ });
38
+ });
39
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe.d.ts","sourceRoot":"","sources":["../../../accounts/safe.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,OAAO,EAIZ,KAAK,GAAG,EAER,KAAK,YAAY,EAGlB,MAAM,MAAM,CAAA;AACb,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAA;AASjC,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAgB1E,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;;EA0ErD;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAWlC;AAED,iBAAe,sBAAsB,CACnC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAuBlC;AA0ED,iBAAS,mBAAmB,IAAI,KAAK,CAEpC;AAED,iBAAS,gBAAgB,IAAI,KAAK,CAEjC;AAsBD,OAAO,EACL,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,GACpB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=safe.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe.test.d.ts","sourceRoot":"","sources":["../../../accounts/safe.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const consts_1 = require("../../test/consts");
5
+ const safe_1 = require("./safe");
6
+ (0, vitest_1.describe)('Accounts: Safe', () => {
7
+ (0, vitest_1.describe)('Deploy Args', () => {
8
+ (0, vitest_1.test)('ECDSA owners', () => {
9
+ const { factory, factoryData, salt, hashedInitcode, implementation, initializationCallData, } = (0, safe_1.getDeployArgs)({
10
+ owners: {
11
+ type: 'ecdsa',
12
+ accounts: [consts_1.accountA, consts_1.accountB],
13
+ },
14
+ rhinestoneApiKey: consts_1.MOCK_API_KEY,
15
+ });
16
+ (0, vitest_1.expect)(factory).toEqual('0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67');
17
+ (0, vitest_1.expect)(factoryData).toEqual('0x1688f0b900000000000000000000000029fcb43b46531bca003ddc8fcb67ffe91900c762000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000704b63e800d000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000007579011ab74c46090561ea277ba79d510c6c00ff00000000000000000000000000000000000000000000000000000000000001600000000000000000000000007579ee8307284f293b1927136486880611f200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000f6c02c78ded62973b43bfa523b247da0994869360000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb70000000000000000000000000000000000000000000000000000000000000564d78343d90000000000000000000000007579ee8307284f293b1927136486880611f2000200000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002483da3a338895199e5e538530213157e931bf06000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000f6c02c78ded62973b43bfa523b247da0994869360000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000043ff16d5776c7f0f65ec485c17ca04000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6ed8be424d673c63eeff8b926742000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000803a5be8cb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000333034e9f539ce08819e12c1b8cb29084d0000000000000000000000006d0515e8e499468dce9583626f0ca15b887f9d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
18
+ (0, vitest_1.expect)(salt).toEqual('0x90fef481a644e27fec02dc6b8365bf9a7354b19d9aa4f749b4a706cc0b11af99');
19
+ (0, vitest_1.expect)(hashedInitcode).toEqual('0xe298282cefe913ab5d282047161268a8222e4bd4ed106300c547894bbefd31ee');
20
+ (0, vitest_1.expect)(implementation).toEqual('0x29fcb43b46531bca003ddc8fcb67ffe91900c762');
21
+ (0, vitest_1.expect)(initializationCallData).toEqual(null);
22
+ });
23
+ (0, vitest_1.test)('Passkey owner', () => {
24
+ const { factory, factoryData, salt, hashedInitcode, implementation, initializationCallData, } = (0, safe_1.getDeployArgs)({
25
+ owners: {
26
+ type: 'passkey',
27
+ account: consts_1.passkeyAccount,
28
+ },
29
+ rhinestoneApiKey: consts_1.MOCK_API_KEY,
30
+ });
31
+ (0, vitest_1.expect)(factory).toEqual('0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67');
32
+ (0, vitest_1.expect)(factoryData).toEqual('0x1688f0b900000000000000000000000029fcb43b46531bca003ddc8fcb67ffe91900c7620000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a4b63e800d000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000007579011ab74c46090561ea277ba79d510c6c00ff00000000000000000000000000000000000000000000000000000000000001400000000000000000000000007579ee8307284f293b1927136486880611f200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000babe99e62d8bcbd3acf5ccbcfcd4f64fe75e5e720000000000000000000000000000000000000000000000000000000000000524d78343d90000000000000000000000007579ee8307284f293b1927136486880611f2000200000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000004c00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002f167e55d42584f65e2e30a748f41ee75a31141400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d3737637d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d19c9a01073b202db2ed56e604ad11db557d8c3ad75181619597f21b830f2da82a0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000043ff16d5776c7f0f65ec485c17ca04000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6ed8be424d673c63eeff8b926742000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000e5a37279a001301a837a91b5de1d5e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000803a5be8cb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000333034e9f539ce08819e12c1b8cb29084d0000000000000000000000006d0515e8e499468dce9583626f0ca15b887f9d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
33
+ (0, vitest_1.expect)(salt).toEqual('0xdbd211aaf7a8d731e9c157757bd788e574950b04aa1a9ccc031dbb7f47db21e6');
34
+ (0, vitest_1.expect)(hashedInitcode).toEqual('0xe298282cefe913ab5d282047161268a8222e4bd4ed106300c547894bbefd31ee');
35
+ (0, vitest_1.expect)(implementation).toEqual('0x29fcb43b46531bca003ddc8fcb67ffe91900c762');
36
+ (0, vitest_1.expect)(initializationCallData).toEqual(null);
37
+ });
38
+ });
39
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../accounts/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAchD,OAAO,KAAK,EAAiB,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAEtE,KAAK,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,WAAW,CAAA;AAErD,UAAU,aAAa,CAAC,QAAQ,SAAS,QAAQ;IAC/C,IAAI,EAAE,QAAQ,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,OAAO,CAAC,EAAE,GAAG,CAAA;CACd;AAED,UAAU,oBAAoB,CAAC,QAAQ,SAAS,QAAQ;IACtD,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC7B,QAAQ,EAAE,SAAS;QACjB,EAAE,EAAE,OAAO,CAAA;QACX,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,EAAE,GAAG,GAAG,SAAS,CAAA;KACvB,EAAE,CAAA;CACJ;AAED,UAAU,qBAAqB;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAkDD,iBAAS,eAAe,CAAC,QAAQ,SAAS,QAAQ,EAAE,EAClD,IAAI,EACJ,QAAQ,GACT,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,GAAG,CAuFtC;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAmCjB;AAED,iBAAS,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,6IAyBxE;AAyBD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=utils.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../../accounts/utils.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const utils_1 = require("./utils");
5
+ const target = '0xc7c0190e83dedd6f28cad873b7befe9ab06fc0db';
6
+ const data = '0xabcd';
7
+ (0, vitest_1.describe)('Accounts: Utils', () => {
8
+ (0, vitest_1.describe)('Encode ERC-7579 Calls', () => {
9
+ (0, vitest_1.test)('single call', () => {
10
+ const calldata = (0, utils_1.encode7579Calls)({
11
+ mode: {
12
+ type: 'call',
13
+ revertOnError: false,
14
+ selector: '0x',
15
+ context: '0x',
16
+ },
17
+ callData: [
18
+ {
19
+ to: target,
20
+ value: 1n,
21
+ data,
22
+ },
23
+ ],
24
+ });
25
+ (0, vitest_1.expect)(calldata).toEqual('0xe9ae5c53000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000036c7c0190e83dedd6f28cad873b7befe9ab06fc0db0000000000000000000000000000000000000000000000000000000000000001abcd00000000000000000000');
26
+ });
27
+ (0, vitest_1.test)('batch call', () => {
28
+ const calldata = (0, utils_1.encode7579Calls)({
29
+ mode: {
30
+ type: 'batchcall',
31
+ revertOnError: false,
32
+ selector: '0x',
33
+ context: '0x',
34
+ },
35
+ callData: [
36
+ {
37
+ to: target,
38
+ value: 1n,
39
+ data,
40
+ },
41
+ {
42
+ to: target,
43
+ },
44
+ ],
45
+ });
46
+ (0, vitest_1.expect)(calldata).toEqual('0xe9ae5c530100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000c7c0190e83dedd6f28cad873b7befe9ab06fc0db000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002abcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000c7c0190e83dedd6f28cad873b7befe9ab06fc0db000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000');
47
+ });
48
+ });
49
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAIV,KAAK,GAAG,EAMT,MAAM,MAAM,CAAA;AAmBb,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,iBAAiB,CAAA;AAqBxB,OAAO,KAAK,EAEV,uBAAuB,EAIvB,WAAW,EACZ,MAAM,UAAU,CAAA;AASjB,KAAK,iBAAiB,GAClB;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,GAAG,CAAA;IACT,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB,GACD;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAEL,iBAAe,eAAe,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,WAAW,EAAE,WAAW,8BAyBzB;AAsSD,iBAAe,gBAAgB,CAC7B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,iBAAiB,EACzB,uBAAuB,EAAE,OAAO;;;;;;;;;;;;GAwCjC;AAED,iBAAe,qBAAqB,CAClC,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,OAAO,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,iBAAe,YAAY,CACzB,MAAM,EAAE,uBAAuB,EAC/B,UAAU,EAAE,OAAO,yDAMpB;AASD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,GACb,CAAA;AACD,YAAY,EAAE,iBAAiB,EAAE,CAAA"}
@@ -82,6 +82,11 @@ async function sendTransactionAsUserOp(config, sourceChain, targetChain, calls,
82
82
  targetChain: targetChain.id,
83
83
  };
84
84
  }
85
+ const accountAccessList = sourceChain
86
+ ? {
87
+ chainIds: [sourceChain.id],
88
+ }
89
+ : (0, registry_1.getDefaultAccountAccessList)();
85
90
  const metaIntent = {
86
91
  targetChainId: targetChain.id,
87
92
  tokenTransfers: tokenRequests.map((tokenRequest) => ({
@@ -91,6 +96,7 @@ async function sendTransactionAsUserOp(config, sourceChain, targetChain, calls,
91
96
  targetAccount: accountAddress,
92
97
  targetGasUnits: gasLimit,
93
98
  userOp: (0, orchestrator_1.getEmptyUserOp)(),
99
+ accountAccessList,
94
100
  };
95
101
  const orchestrator = getOrchestratorByChain(targetChain.id, config.rhinestoneApiKey);
96
102
  const orderPath = await orchestrator.getOrderPath(metaIntent, accountAddress);
@@ -153,6 +159,11 @@ async function sendTransactionAsUserOp(config, sourceChain, targetChain, calls,
153
159
  };
154
160
  }
155
161
  async function sendTransactionAsIntent(config, sourceChain, targetChain, calls, gasLimit, tokenRequests, accountAddress) {
162
+ const accountAccessList = sourceChain
163
+ ? {
164
+ chainIds: [sourceChain.id],
165
+ }
166
+ : (0, registry_1.getDefaultAccountAccessList)();
156
167
  const metaIntent = {
157
168
  targetChainId: targetChain.id,
158
169
  tokenTransfers: tokenRequests.map((tokenRequest) => ({
@@ -166,6 +177,7 @@ async function sendTransactionAsIntent(config, sourceChain, targetChain, calls,
166
177
  data: call.data ?? '0x',
167
178
  })),
168
179
  targetGasUnits: gasLimit,
180
+ accountAccessList,
169
181
  };
170
182
  const orchestrator = getOrchestratorByChain(targetChain.id, config.rhinestoneApiKey);
171
183
  const orderPath = await orchestrator.getOrderPath(metaIntent, accountAddress);
@@ -242,7 +254,7 @@ async function getPortfolio(config, onTestnets) {
242
254
  const address = (0, accounts_1.getAddress)(config);
243
255
  const chainId = onTestnets ? chains_1.sepolia.id : chains_1.mainnet.id;
244
256
  const orchestrator = getOrchestratorByChain(chainId, config.rhinestoneApiKey);
245
- return orchestrator.getPortfolio(address);
257
+ return orchestrator.getPortfolio(address, (0, registry_1.getDefaultAccountAccessList)());
246
258
  }
247
259
  function getOrchestratorByChain(chainId, apiKey) {
248
260
  const orchestratorUrl = (0, registry_1.isTestnet)(chainId)
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smart-session.d.ts","sourceRoot":"","sources":["../../../execution/smart-session.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAIV,KAAK,GAAG,EAGT,MAAM,MAAM,CAAA;AAWb,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAEhE,iBAAe,kBAAkB,CAC/B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,OAAO,iBAyBjB;AAED,iBAAe,WAAW,CACxB,WAAW,EAAE,KAAK,EAClB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,OAAO;;;;;GAiExB;AAED,iBAAS,mBAAmB,CAC1B,SAAS,EAAE,GAAG,EACd,kBAAkB,EAAE,GAAG,EACvB,UAAU,EAAE,GAAG,EACf,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,OAAO,iBAkBrB;AAED,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=smart-session.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smart-session.test.d.ts","sourceRoot":"","sources":["../../../execution/smart-session.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const viem_1 = require("viem");
4
+ const chains_1 = require("viem/chains");
5
+ const vitest_1 = require("vitest");
6
+ const consts_1 = require("../../test/consts");
7
+ const smart_session_1 = require("./smart-session");
8
+ const hash = (0, viem_1.keccak256)('0xabcd');
9
+ (0, vitest_1.describe)('Smart Session', () => {
10
+ (0, vitest_1.describe)('Session Signature', () => {
11
+ (0, vitest_1.test)('default', () => {
12
+ const signature = (0, smart_session_1.getSessionSignature)('0x81d4b4981670cb18f99f0b4a66446df1bf5b204d24cfcb659bf38ba27a4359b5711649ec2423c5e1247245eba2964679b6a1dbb85c992ae40b9b00c6935b02ff1b', '0xf5f6dfa751763cc5278cba45d03ea9797c1660b2cb7f5ffd188fa3e8523abdca', hash, 'MultichainCompact(address sponsor,uint256 nonce,uint256 expires,Segment[] segments)Segment(address arbiter,uint256 chainId,uint256[2][] idsAndAmounts,Witness witness)Witness(address recipient,uint256[2][] tokenOut,uint256 depositId,uint256 targetChain,uint32 fillDeadline,XchainExec[] execs,bytes32 userOpHash,uint32 maxFeeBps)XchainExec(address to,uint256 value,bytes data)', {
13
+ owners: {
14
+ type: 'ecdsa',
15
+ accounts: [consts_1.accountA],
16
+ },
17
+ });
18
+ (0, vitest_1.expect)(signature).toEqual('0xccebde8bf6e5be4357e71b316fb7f8ceb5f6046f3b941157ae8fca3458ec4b8881d4b4981670cb18f99f0b4a66446df1bf5b204d24cfcb659bf38ba27a4359b5711649ec2423c5e1247245eba2964679b6a1dbb85c992ae40b9b00c6935b02ff1bf5f6dfa751763cc5278cba45d03ea9797c1660b2cb7f5ffd188fa3e8523abdcadbe576b4818846aa77e82f4ed5fa78f92766b141f282d36703886d196df393224d756c7469636861696e436f6d7061637428616464726573732073706f6e736f722c75696e74323536206e6f6e63652c75696e7432353620657870697265732c5365676d656e745b5d207365676d656e7473295365676d656e74286164647265737320617262697465722c75696e7432353620636861696e49642c75696e743235365b325d5b5d20696473416e64416d6f756e74732c5769746e657373207769746e657373295769746e657373286164647265737320726563697069656e742c75696e743235365b325d5b5d20746f6b656e4f75742c75696e74323536206465706f73697449642c75696e7432353620746172676574436861696e2c75696e7433322066696c6c446561646c696e652c58636861696e457865635b5d2065786563732c6279746573333220757365724f70486173682c75696e743332206d61784665654270732958636861696e45786563286164647265737320746f2c75696e743235362076616c75652c62797465732064617461290176');
19
+ });
20
+ });
21
+ (0, vitest_1.describe)('ERC-7739 Hash', () => {
22
+ vitest_1.vi.mock('viem', async (importOriginal) => {
23
+ const actual = await importOriginal();
24
+ return {
25
+ // @ts-ignore
26
+ ...actual,
27
+ createPublicClient: vitest_1.vi.fn().mockReturnValue({
28
+ readContract: vitest_1.vi.fn(),
29
+ }),
30
+ };
31
+ });
32
+ const client = viem_1.createPublicClient;
33
+ client.mockImplementation((_) => {
34
+ return {
35
+ readContract: (params) => {
36
+ if (params.functionName === 'DOMAIN_SEPARATOR') {
37
+ return '0xf5f6dfa751763cc5278cba45d03ea9797c1660b2cb7f5ffd188fa3e8523abdca';
38
+ }
39
+ if (params.functionName === 'eip712Domain') {
40
+ return [
41
+ '0x0f',
42
+ 'Nexus',
43
+ '1.2.0',
44
+ 84532n,
45
+ '0x6eCBF67Ec3C83F69793f47a6d285205211Cce6B8',
46
+ '0x0000000000000000000000000000000000000000000000000000000000000000',
47
+ [],
48
+ ];
49
+ }
50
+ throw new Error('Unknown function call');
51
+ },
52
+ };
53
+ });
54
+ (0, vitest_1.test)('default', async () => {
55
+ const { hash, appDomainSeparator, contentsType, structHash } = await (0, smart_session_1.hashErc7739)(chains_1.baseSepolia, [
56
+ {
57
+ orderBundle: {
58
+ sponsor: '0x306651f0849c673fdd047e02b12876c3f3a0ea7f',
59
+ nonce: 9485744147263218405930911645136653780776457667745611332784875666970100155394n,
60
+ expires: 1779186360n,
61
+ segments: [
62
+ {
63
+ arbiter: '0x0000000000AFc904aE9860D9c4B96D7c529c58b8',
64
+ chainId: 84532n,
65
+ idsAndAmounts: [
66
+ [
67
+ 21847980266613871481014731415167448634647776251198795536684055616834884337664n,
68
+ 27972738278553n,
69
+ ],
70
+ ],
71
+ witness: {
72
+ recipient: '0x306651f0849c673fdd047e02b12876c3f3a0ea7f',
73
+ tokenOut: [
74
+ [
75
+ 21847980266613871481014731415714625498819945639464912901926990218956488388823n,
76
+ 1n,
77
+ ],
78
+ ],
79
+ depositId: 9485744147263218405930911645136653780776457667745611332784875666970100155394n,
80
+ targetChain: 11155420n,
81
+ fillDeadline: 1747650660,
82
+ execs: [],
83
+ userOpHash: '0x77de857754318bd623d5fcfe907f521b5702e66f7620497a1240b00c3cf687d4',
84
+ maxFeeBps: 0,
85
+ },
86
+ },
87
+ ],
88
+ },
89
+ injectedExecutions: [
90
+ {
91
+ to: '0x000000000060f6e853447881951574CDd0663530',
92
+ value: 0n,
93
+ data: '0xa2418864dfa33131e10fc5a4e964266d3b723c3fdf6d8820a98b45fe72bc4c832bcfc958b65a2e3c262d6aa13e67774994610c7865b1cdddff9f09652afc066a69dde63614f8bdad59484b94317dabddf28f017b76319442ad57376abb19de5acb1cc40200000000000000000000000000000000000000000000000000000000682b0864',
94
+ },
95
+ {
96
+ to: '0x0000000000f6Ed8Be424d673c63eeFF8b9267420',
97
+ value: 0n,
98
+ data: '0x27c777a9000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0510a9471ae4610d769e9f0075021f0c90470857f353a70908c692324def23262000000000000000000000000000000000000000000000000000000006a0c3ab8304d84c3d9a7be3b28c945315fd84259d66cd46123540766be93dfe6d43130d70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000306651f0849c673fdd047e02b12876c3f3a0ea7f00000000000000000000000000000000000000000000000000000000000000417f521211e594e88797bf4c53f49c2afbd56219384a175209be50509c03a94eea1a2ce4a2ea0d57084f820ab7527f3661f5c394f6c53ff05425407b990f50d0d91c00000000000000000000000000000000000000000000000000000000000000',
99
+ },
100
+ ],
101
+ intentCost: {
102
+ hasFulfilledAll: true,
103
+ tokensSpent: {
104
+ '84532': {
105
+ '0x0000000000000000000000000000000000000000': 27972738278553n,
106
+ },
107
+ },
108
+ tokensReceived: [
109
+ {
110
+ tokenAddress: '0x5fd84259d66cd46123540766be93dfe6d43130d7',
111
+ hasFulfilled: true,
112
+ amountSpent: 66715n,
113
+ targetAmount: 1n,
114
+ fee: 66714n,
115
+ },
116
+ {
117
+ tokenAddress: '0x0000000000000000000000000000000000000000',
118
+ hasFulfilled: true,
119
+ amountSpent: 0n,
120
+ targetAmount: 0n,
121
+ fee: 0n,
122
+ },
123
+ ],
124
+ },
125
+ },
126
+ ], '0x306651f0849c673fdd047e02b12876c3f3a0ea7f');
127
+ (0, vitest_1.expect)(hash).toEqual('0x8b5043375be2b2c81bffc55e91991c91f9b4daec94999cc934071e32e0c2bc83');
128
+ (0, vitest_1.expect)(appDomainSeparator).toEqual('0xf5f6dfa751763cc5278cba45d03ea9797c1660b2cb7f5ffd188fa3e8523abdca');
129
+ (0, vitest_1.expect)(contentsType).toEqual('MultichainCompact(address sponsor,uint256 nonce,uint256 expires,Segment[] segments)Segment(address arbiter,uint256 chainId,uint256[2][] idsAndAmounts,Witness witness)Witness(address recipient,uint256[2][] tokenOut,uint256 depositId,uint256 targetChain,uint32 fillDeadline,XchainExec[] execs,bytes32 userOpHash,uint32 maxFeeBps)XchainExec(address to,uint256 value,bytes data)');
130
+ (0, vitest_1.expect)(structHash).toEqual('0x6622d2a44c958ffed7b7b3746f4fc9c2e39543858f6f176cc58ccf7741c65b4a');
131
+ });
132
+ });
133
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAE1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAOpD,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EACV,IAAI,EACJ,SAAS,EACT,uBAAuB,EACvB,OAAO,EACP,WAAW,EACZ,MAAM,SAAS,CAAA;AAEhB;;;;;GAKG;AACH,iBAAe,uBAAuB,CAAC,MAAM,EAAE,uBAAuB;;mCAM9B,WAAW;+BAWvC,iBAAiB;;;;;;;;;;;;;;;mCA+BlB,KAAK,gBACE,OAAO,YACX,MAAM;GAanB;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAClC,YAAY,EACV,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,GACxB,CAAA"}
@@ -0,0 +1,104 @@
1
+ declare const enableSessionsAbi: readonly [{
2
+ readonly type: "function";
3
+ readonly name: "enableSessions";
4
+ readonly inputs: readonly [{
5
+ readonly name: "sessions";
6
+ readonly type: "tuple[]";
7
+ readonly internalType: "struct Session[]";
8
+ readonly components: readonly [{
9
+ readonly name: "sessionValidator";
10
+ readonly type: "address";
11
+ readonly internalType: "contract ISessionValidator";
12
+ }, {
13
+ readonly name: "sessionValidatorInitData";
14
+ readonly type: "bytes";
15
+ readonly internalType: "bytes";
16
+ }, {
17
+ readonly name: "salt";
18
+ readonly type: "bytes32";
19
+ readonly internalType: "bytes32";
20
+ }, {
21
+ readonly name: "userOpPolicies";
22
+ readonly type: "tuple[]";
23
+ readonly internalType: "struct PolicyData[]";
24
+ readonly components: readonly [{
25
+ readonly name: "policy";
26
+ readonly type: "address";
27
+ readonly internalType: "address";
28
+ }, {
29
+ readonly name: "initData";
30
+ readonly type: "bytes";
31
+ readonly internalType: "bytes";
32
+ }];
33
+ }, {
34
+ readonly name: "erc7739Policies";
35
+ readonly type: "tuple";
36
+ readonly internalType: "struct ERC7739Data";
37
+ readonly components: readonly [{
38
+ readonly name: "allowedERC7739Content";
39
+ readonly type: "tuple[]";
40
+ readonly internalType: "struct ERC7739Context[]";
41
+ readonly components: readonly [{
42
+ readonly name: "appDomainSeparator";
43
+ readonly type: "bytes32";
44
+ readonly internalType: "bytes32";
45
+ }, {
46
+ readonly name: "contentName";
47
+ readonly type: "string[]";
48
+ readonly internalType: "string[]";
49
+ }];
50
+ }, {
51
+ readonly name: "erc1271Policies";
52
+ readonly type: "tuple[]";
53
+ readonly internalType: "struct PolicyData[]";
54
+ readonly components: readonly [{
55
+ readonly name: "policy";
56
+ readonly type: "address";
57
+ readonly internalType: "address";
58
+ }, {
59
+ readonly name: "initData";
60
+ readonly type: "bytes";
61
+ readonly internalType: "bytes";
62
+ }];
63
+ }];
64
+ }, {
65
+ readonly name: "actions";
66
+ readonly type: "tuple[]";
67
+ readonly internalType: "struct ActionData[]";
68
+ readonly components: readonly [{
69
+ readonly name: "actionTargetSelector";
70
+ readonly type: "bytes4";
71
+ readonly internalType: "bytes4";
72
+ }, {
73
+ readonly name: "actionTarget";
74
+ readonly type: "address";
75
+ readonly internalType: "address";
76
+ }, {
77
+ readonly name: "actionPolicies";
78
+ readonly type: "tuple[]";
79
+ readonly internalType: "struct PolicyData[]";
80
+ readonly components: readonly [{
81
+ readonly name: "policy";
82
+ readonly type: "address";
83
+ readonly internalType: "address";
84
+ }, {
85
+ readonly name: "initData";
86
+ readonly type: "bytes";
87
+ readonly internalType: "bytes";
88
+ }];
89
+ }];
90
+ }, {
91
+ readonly name: "permitERC4337Paymaster";
92
+ readonly type: "bool";
93
+ readonly internalType: "bool";
94
+ }];
95
+ }];
96
+ readonly outputs: readonly [{
97
+ readonly name: "permissionIds";
98
+ readonly type: "bytes32[]";
99
+ readonly internalType: "PermissionId[]";
100
+ }];
101
+ readonly stateMutability: "nonpayable";
102
+ }];
103
+ export { enableSessionsAbi };
104
+ //# sourceMappingURL=smart-sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/abi/smart-sessions.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8Hb,CAAA;AAEV,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../modules/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAExC,KAAK,UAAU,GACX,OAAO,wBAAwB,GAC/B,OAAO,uBAAuB,GAC9B,OAAO,uBAAuB,GAC9B,OAAO,mBAAmB,CAAA;AAE9B,UAAU,MAAM;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,GAAG,CAAA;IACb,UAAU,EAAE,GAAG,CAAA;IACf,iBAAiB,EAAE,GAAG,CAAA;IACtB,IAAI,EAAE,UAAU,CAAA;CACjB;AAED,QAAA,MAAM,wBAAwB,KAAK,CAAA;AACnC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAClC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAClC,QAAA,MAAM,mBAAmB,KAAK,CAAA;AAE9B,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,GACpB,CAAA;AACD,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../modules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,KAAK,EAEV,KAAK,GAAG,EAET,MAAM,MAAM,CAAA;AAYb,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAEvD,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,YAAY,EAMb,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAA4B,MAAM,cAAc,CAAA;AAK1E,UAAU,YAAY;IACpB,iBAAiB,EAAE,GAAG,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;CAC3B;AAED,UAAU,0BAA0B;IAClC,QAAQ,EAAE,YAAY,CAAA;IACtB,SAAS,EAAE,iBAAiB,GAAG,GAAG,GAAG,UAAU,CAAA;IAC/C,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,UAAU,iBAAiB;IACzB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,EAAE,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,iBAAS,QAAQ,CAAC,MAAM,EAAE,uBAAuB,GAAG,WAAW,CAoF9D;AAED,iBAAS,6BAA6B,CAAC,EACrC,QAAQ,EACR,SAAS,EACT,cAAsB,GACvB,EAAE,0BAA0B,iBA6C5B;AAED,iBAAS,yBAAyB,CAAC,KAAK,EAAE,KAAK,WAa9C;AAaD,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,6BAA6B,EAC7B,yBAAyB,GAC1B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../modules/index.test.ts"],"names":[],"mappings":""}