@rhinestone/sdk 1.0.0-alpha.9 → 1.0.0-beta.38

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 (151) hide show
  1. package/dist/src/accounts/error.d.ts +38 -3
  2. package/dist/src/accounts/error.d.ts.map +1 -1
  3. package/dist/src/accounts/error.js +55 -7
  4. package/dist/src/accounts/index.d.ts +30 -15
  5. package/dist/src/accounts/index.d.ts.map +1 -1
  6. package/dist/src/accounts/index.js +284 -140
  7. package/dist/src/accounts/index.test.js +3 -5
  8. package/dist/src/accounts/json-rpc/index.d.ts +5 -0
  9. package/dist/src/accounts/json-rpc/index.d.ts.map +1 -0
  10. package/dist/src/accounts/json-rpc/index.js +16 -0
  11. package/dist/src/accounts/json-rpc/index.test.d.ts.map +1 -0
  12. package/dist/src/accounts/json-rpc/index.test.js +16 -0
  13. package/dist/src/accounts/json-rpc/providers.d.ts +4 -0
  14. package/dist/src/accounts/json-rpc/providers.d.ts.map +1 -0
  15. package/dist/src/accounts/json-rpc/providers.js +14 -0
  16. package/dist/src/accounts/json-rpc/providers.test.d.ts +2 -0
  17. package/dist/src/accounts/json-rpc/providers.test.d.ts.map +1 -0
  18. package/dist/src/accounts/json-rpc/providers.test.js +15 -0
  19. package/dist/src/accounts/kernel.d.ts +4 -3
  20. package/dist/src/accounts/kernel.d.ts.map +1 -1
  21. package/dist/src/accounts/kernel.js +32 -6
  22. package/dist/src/accounts/kernel.test.js +41 -19
  23. package/dist/src/accounts/nexus.d.ts +11 -4
  24. package/dist/src/accounts/nexus.d.ts.map +1 -1
  25. package/dist/src/accounts/nexus.js +182 -25
  26. package/dist/src/accounts/nexus.test.js +44 -18
  27. package/dist/src/accounts/safe.d.ts +2 -2
  28. package/dist/src/accounts/safe.d.ts.map +1 -1
  29. package/dist/src/accounts/safe.js +88 -58
  30. package/dist/src/accounts/safe.test.js +40 -14
  31. package/dist/src/accounts/signing/common.d.ts +27 -0
  32. package/dist/src/accounts/signing/common.d.ts.map +1 -0
  33. package/dist/src/accounts/signing/common.js +145 -0
  34. package/dist/src/accounts/signing/message.d.ts +5 -0
  35. package/dist/src/accounts/signing/message.d.ts.map +1 -0
  36. package/dist/src/accounts/signing/message.js +47 -0
  37. package/dist/src/accounts/signing/passkeys.d.ts +36 -0
  38. package/dist/src/accounts/signing/passkeys.d.ts.map +1 -0
  39. package/dist/src/accounts/signing/passkeys.js +125 -0
  40. package/dist/src/accounts/signing/passkeys.test.d.ts +2 -0
  41. package/dist/src/accounts/signing/passkeys.test.d.ts.map +1 -0
  42. package/dist/src/accounts/signing/passkeys.test.js +88 -0
  43. package/dist/src/accounts/signing/typedData.d.ts +5 -0
  44. package/dist/src/accounts/signing/typedData.d.ts.map +1 -0
  45. package/dist/src/accounts/signing/typedData.js +35 -0
  46. package/dist/src/accounts/startale.d.ts +2 -2
  47. package/dist/src/accounts/startale.d.ts.map +1 -1
  48. package/dist/src/accounts/startale.js +3 -3
  49. package/dist/src/accounts/startale.test.js +9 -14
  50. package/dist/src/accounts/utils.d.ts +4 -4
  51. package/dist/src/accounts/utils.d.ts.map +1 -1
  52. package/dist/src/accounts/utils.js +3 -40
  53. package/dist/src/accounts/walletClient.d.ts +7 -0
  54. package/dist/src/accounts/walletClient.d.ts.map +1 -0
  55. package/dist/src/accounts/walletClient.js +38 -0
  56. package/dist/src/actions/compact.d.ts +13 -0
  57. package/dist/src/actions/compact.d.ts.map +1 -0
  58. package/dist/src/actions/compact.js +210 -0
  59. package/dist/src/actions/ecdsa.d.ts +35 -0
  60. package/dist/src/actions/ecdsa.d.ts.map +1 -0
  61. package/dist/src/actions/ecdsa.js +114 -0
  62. package/dist/src/actions/ecdsa.test.d.ts +2 -0
  63. package/dist/src/actions/ecdsa.test.d.ts.map +1 -0
  64. package/dist/src/actions/ecdsa.test.js +99 -0
  65. package/dist/src/actions/index.d.ts +23 -38
  66. package/dist/src/actions/index.d.ts.map +1 -1
  67. package/dist/src/actions/index.js +29 -294
  68. package/dist/src/actions/mfa.d.ts +37 -0
  69. package/dist/src/actions/mfa.d.ts.map +1 -0
  70. package/dist/src/actions/mfa.js +133 -0
  71. package/dist/src/actions/passkeys.d.ts +37 -0
  72. package/dist/src/actions/passkeys.d.ts.map +1 -0
  73. package/dist/src/actions/passkeys.js +129 -0
  74. package/dist/src/actions/passkeys.test.d.ts +2 -0
  75. package/dist/src/actions/passkeys.test.d.ts.map +1 -0
  76. package/dist/src/actions/passkeys.test.js +54 -0
  77. package/dist/src/actions/recovery.d.ts +33 -0
  78. package/dist/src/actions/recovery.d.ts.map +1 -0
  79. package/dist/src/actions/recovery.js +193 -0
  80. package/dist/src/actions/recovery.test.d.ts +2 -0
  81. package/dist/src/actions/recovery.test.d.ts.map +1 -0
  82. package/dist/src/actions/recovery.test.js +168 -0
  83. package/dist/src/actions/smart-session.d.ts +6 -0
  84. package/dist/src/actions/smart-session.d.ts.map +1 -1
  85. package/dist/src/actions/smart-session.js +6 -0
  86. package/dist/src/errors/index.d.ts +5 -0
  87. package/dist/src/errors/index.d.ts.map +1 -0
  88. package/dist/src/errors/index.js +35 -0
  89. package/dist/src/execution/compact.d.ts +150 -7
  90. package/dist/src/execution/compact.d.ts.map +1 -1
  91. package/dist/src/execution/compact.js +112 -95
  92. package/dist/src/execution/error.d.ts +2 -9
  93. package/dist/src/execution/error.d.ts.map +1 -1
  94. package/dist/src/execution/error.js +4 -13
  95. package/dist/src/execution/index.d.ts +34 -22
  96. package/dist/src/execution/index.d.ts.map +1 -1
  97. package/dist/src/execution/index.js +62 -42
  98. package/dist/src/execution/permit2.d.ts +148 -0
  99. package/dist/src/execution/permit2.d.ts.map +1 -0
  100. package/dist/src/execution/permit2.js +282 -0
  101. package/dist/src/execution/smart-session.d.ts +3 -3
  102. package/dist/src/execution/smart-session.d.ts.map +1 -1
  103. package/dist/src/execution/types.d.ts +35 -0
  104. package/dist/src/execution/types.d.ts.map +1 -0
  105. package/dist/src/execution/types.js +2 -0
  106. package/dist/src/execution/utils.d.ts +36 -27
  107. package/dist/src/execution/utils.d.ts.map +1 -1
  108. package/dist/src/execution/utils.js +357 -103
  109. package/dist/src/index.d.ts +41 -22
  110. package/dist/src/index.d.ts.map +1 -1
  111. package/dist/src/index.js +199 -65
  112. package/dist/src/modules/common.d.ts +10 -4
  113. package/dist/src/modules/common.d.ts.map +1 -1
  114. package/dist/src/modules/common.js +22 -1
  115. package/dist/src/modules/index.d.ts +4 -18
  116. package/dist/src/modules/index.d.ts.map +1 -1
  117. package/dist/src/modules/index.js +15 -63
  118. package/dist/src/modules/index.test.js +9 -26
  119. package/dist/src/modules/omni-account.d.ts +2 -1
  120. package/dist/src/modules/omni-account.d.ts.map +1 -1
  121. package/dist/src/modules/omni-account.js +3 -1
  122. package/dist/src/modules/read.d.ts.map +1 -1
  123. package/dist/src/modules/read.js +4 -0
  124. package/dist/src/modules/validators/core.d.ts +5 -3
  125. package/dist/src/modules/validators/core.d.ts.map +1 -1
  126. package/dist/src/modules/validators/core.js +64 -41
  127. package/dist/src/modules/validators/core.test.js +7 -7
  128. package/dist/src/modules/validators/smart-sessions.js +3 -3
  129. package/dist/src/modules/validators/smart-sessions.test.js +4 -7
  130. package/dist/src/orchestrator/client.d.ts +4 -4
  131. package/dist/src/orchestrator/client.d.ts.map +1 -1
  132. package/dist/src/orchestrator/client.js +30 -15
  133. package/dist/src/orchestrator/index.d.ts +2 -3
  134. package/dist/src/orchestrator/index.d.ts.map +1 -1
  135. package/dist/src/orchestrator/index.js +1 -3
  136. package/dist/src/orchestrator/registry.d.ts +1 -23
  137. package/dist/src/orchestrator/registry.d.ts.map +1 -1
  138. package/dist/src/orchestrator/registry.js +37 -33
  139. package/dist/src/orchestrator/registry.test.js +7 -7
  140. package/dist/src/orchestrator/types.d.ts +97 -29
  141. package/dist/src/orchestrator/types.d.ts.map +1 -1
  142. package/dist/src/orchestrator/utils.d.ts +1 -3
  143. package/dist/src/orchestrator/utils.d.ts.map +1 -1
  144. package/dist/src/orchestrator/utils.js +0 -102
  145. package/dist/src/types.d.ts +74 -10
  146. package/dist/src/types.d.ts.map +1 -1
  147. package/package.json +72 -1
  148. package/dist/src/actions/index.test.d.ts.map +0 -1
  149. package/dist/src/actions/index.test.js +0 -302
  150. package/dist/src/orchestrator/registry.json +0 -365
  151. /package/dist/src/{actions → accounts/json-rpc}/index.test.d.ts +0 -0
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getValidators = exports.getOwners = exports.getOwnerValidator = exports.HOOK_ADDRESS = void 0;
4
4
  exports.getSetup = getSetup;
5
- exports.getWebauthnValidatorSignature = getWebauthnValidatorSignature;
5
+ exports.getIntentExecutor = getIntentExecutor;
6
6
  exports.isRip7212SupportedNetwork = isRip7212SupportedNetwork;
7
7
  const viem_1 = require("viem");
8
8
  const chains_1 = require("viem/chains");
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "getValidators", { enumerable: true, get: functio
15
15
  const validators_1 = require("./validators");
16
16
  Object.defineProperty(exports, "getOwnerValidator", { enumerable: true, get: function () { return validators_1.getOwnerValidator; } });
17
17
  const core_1 = require("./validators/core");
18
- const SMART_SESSION_COMPATIBILITY_FALLBACK_ADDRESS = '0x12cae64c42f362e7d5a847c2d33388373f629177';
18
+ const SMART_SESSION_COMPATIBILITY_FALLBACK_ADDRESS = '0x000000000052e9685932845660777DF43C2dC496';
19
19
  function getSetup(config) {
20
20
  const ownerValidator = (0, validators_1.getOwnerValidator)(config);
21
21
  const smartSessionValidator = (0, validators_1.getSmartSessionValidator)(config);
@@ -27,15 +27,8 @@ function getSetup(config) {
27
27
  const socialRecoveryValidator = (0, core_1.getSocialRecoveryValidator)(config.recovery.guardians, config.recovery.threshold);
28
28
  validators.push(socialRecoveryValidator);
29
29
  }
30
- const executors = [
31
- {
32
- address: omni_account_1.INTENT_EXECUTOR_ADDRESS,
33
- initData: '0x',
34
- deInitData: '0x',
35
- additionalContext: '0x',
36
- type: common_1.MODULE_TYPE_ID_EXECUTOR,
37
- },
38
- ];
30
+ const intentExecutor = getIntentExecutor(config);
31
+ const executors = [intentExecutor];
39
32
  const fallbacks = [];
40
33
  // Some accounts (e.g. Safe) need a fallback method to support smart sessions
41
34
  if (config.sessions) {
@@ -61,49 +54,17 @@ function getSetup(config) {
61
54
  hooks,
62
55
  };
63
56
  }
64
- function getWebauthnValidatorSignature({ webauthn, signature, usePrecompiled = false, }) {
65
- const { authenticatorData, clientDataJSON, typeIndex } = webauthn;
66
- let r;
67
- let s;
68
- if (typeof signature === 'string' || signature instanceof Uint8Array) {
69
- const parsedSignature = parseSignature(signature);
70
- r = parsedSignature.r;
71
- s = parsedSignature.s;
72
- }
73
- else {
74
- r = signature.r;
75
- s = signature.s;
76
- }
77
- return (0, viem_1.encodeAbiParameters)([
78
- { type: 'bytes', name: 'authenticatorData' },
79
- {
80
- type: 'string',
81
- name: 'clientDataJSON',
82
- },
83
- {
84
- type: 'uint256',
85
- name: 'responseTypeLocation',
86
- },
87
- {
88
- type: 'uint256',
89
- name: 'r',
90
- },
91
- {
92
- type: 'uint256',
93
- name: 's',
94
- },
95
- {
96
- type: 'bool',
97
- name: 'usePrecompiled',
98
- },
99
- ], [
100
- authenticatorData,
101
- clientDataJSON,
102
- typeof typeIndex === 'bigint' ? typeIndex : BigInt(typeIndex),
103
- r,
104
- s,
105
- usePrecompiled,
106
- ]);
57
+ function getIntentExecutor(config) {
58
+ const intentExecutorAddress = config.endpointUrl
59
+ ? omni_account_1.INTENT_EXECUTOR_ADDRESS_DEV
60
+ : omni_account_1.INTENT_EXECUTOR_ADDRESS;
61
+ return {
62
+ address: intentExecutorAddress,
63
+ initData: '0x',
64
+ deInitData: '0x',
65
+ additionalContext: '0x',
66
+ type: common_1.MODULE_TYPE_ID_EXECUTOR,
67
+ };
107
68
  }
108
69
  function isRip7212SupportedNetwork(chain) {
109
70
  const supportedChains = [
@@ -117,12 +78,3 @@ function isRip7212SupportedNetwork(chain) {
117
78
  ];
118
79
  return supportedChains.includes(chain);
119
80
  }
120
- function parseSignature(signature) {
121
- const bytes = typeof signature === 'string' ? (0, viem_1.hexToBytes)(signature) : signature;
122
- const r = bytes.slice(0, 32);
123
- const s = bytes.slice(32, 64);
124
- return {
125
- r: BigInt((0, viem_1.bytesToHex)(r)),
126
- s: BigInt((0, viem_1.bytesToHex)(s)),
127
- };
128
- }
@@ -2,12 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const vitest_1 = require("vitest");
4
4
  const consts_1 = require("../../test/consts");
5
+ const common_1 = require("./common");
5
6
  const index_1 = require("./index");
6
7
  (0, vitest_1.describe)('Modules', () => {
7
8
  (0, vitest_1.describe)('Setup', () => {
8
9
  (0, vitest_1.test)('should use ownable validator for ECDSA owners', () => {
9
10
  const config = {
10
- rhinestoneApiKey: consts_1.MOCK_API_KEY,
11
11
  owners: {
12
12
  type: 'ecdsa',
13
13
  accounts: [consts_1.accountA],
@@ -15,25 +15,23 @@ const index_1 = require("./index");
15
15
  },
16
16
  };
17
17
  const setup = (0, index_1.getSetup)(config);
18
- (0, vitest_1.expect)(setup.validators[0].address).toBe('0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9');
19
- (0, vitest_1.expect)(setup.validators[0].type).toBe(1n);
18
+ (0, vitest_1.expect)(setup.validators[0].address).toBe('0x000000000013fdb5234e4e3162a810f54d9f7e98');
19
+ (0, vitest_1.expect)(setup.validators[0].type).toBe(common_1.MODULE_TYPE_ID_VALIDATOR);
20
20
  });
21
21
  (0, vitest_1.test)('should use webauthn validator for passkey owners', () => {
22
22
  const config = {
23
- rhinestoneApiKey: consts_1.MOCK_API_KEY,
24
23
  owners: {
25
24
  type: 'passkey',
26
- account: consts_1.passkeyAccount,
25
+ accounts: [consts_1.passkeyAccount],
27
26
  },
28
27
  };
29
28
  const setup = (0, index_1.getSetup)(config);
30
29
  (0, vitest_1.expect)(setup.validators).toHaveLength(1);
31
- (0, vitest_1.expect)(setup.validators[0].address).toBe('0x0000000000578c4cB0e472a5462da43C495C3F33');
32
- (0, vitest_1.expect)(setup.validators[0].type).toBe(1n);
30
+ (0, vitest_1.expect)(setup.validators[0].address).toBe('0x0000000000578c4cb0e472a5462da43c495c3f33');
31
+ (0, vitest_1.expect)(setup.validators[0].type).toBe(common_1.MODULE_TYPE_ID_VALIDATOR);
33
32
  });
34
33
  (0, vitest_1.test)('should use smart session validator when sessions are enabled', () => {
35
34
  const config = {
36
- rhinestoneApiKey: consts_1.MOCK_API_KEY,
37
35
  owners: {
38
36
  type: 'ecdsa',
39
37
  accounts: [consts_1.accountA],
@@ -54,11 +52,10 @@ const index_1 = require("./index");
54
52
  if (!smartSessionValidator) {
55
53
  return;
56
54
  }
57
- (0, vitest_1.expect)(smartSessionValidator.type).toBe(1n);
55
+ (0, vitest_1.expect)(smartSessionValidator.type).toBe(common_1.MODULE_TYPE_ID_VALIDATOR);
58
56
  });
59
57
  (0, vitest_1.test)('should use smart session compatibility fallback for safe accounts with sessions', () => {
60
58
  const config = {
61
- rhinestoneApiKey: consts_1.MOCK_API_KEY,
62
59
  owners: {
63
60
  type: 'ecdsa',
64
61
  accounts: [consts_1.accountA],
@@ -78,27 +75,13 @@ const index_1 = require("./index");
78
75
  },
79
76
  };
80
77
  const setup = (0, index_1.getSetup)(config);
81
- const smartSessionFallback = setup.fallbacks.find((fallback) => fallback.address === '0x12cae64c42f362e7d5a847c2d33388373f629177');
78
+ const smartSessionFallback = setup.fallbacks.find((fallback) => fallback.address === '0x000000000052e9685932845660777DF43C2dC496');
82
79
  (0, vitest_1.expect)(smartSessionFallback).toBeDefined();
83
80
  if (!smartSessionFallback) {
84
81
  return;
85
82
  }
86
- (0, vitest_1.expect)(smartSessionFallback.type).toBe(3n);
83
+ (0, vitest_1.expect)(smartSessionFallback.type).toBe(common_1.MODULE_TYPE_ID_FALLBACK);
87
84
  });
88
85
  vitest_1.test.todo('using the omni account should install the necessary modules');
89
86
  });
90
- (0, vitest_1.describe)('WebAuthn Validator Signature', () => {
91
- (0, vitest_1.test)('default', () => {
92
- const signature = (0, index_1.getWebauthnValidatorSignature)({
93
- webauthn: {
94
- authenticatorData: '0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97631d00000000',
95
- clientDataJSON: '{"type":"webauthn.get","challenge":"tbxXNFS9X_4Byr1cMwqKrIGB-_30a0QhZ6y7ucM0BOE","origin":"http://localhost:3000","crossOrigin":false, "other_keys_can_be_added_here":"do not compare clientDataJSON against a template. See https://goo.gl/yabPex"}',
96
- typeIndex: 44941127272049826721201904734628716258498742255959991581049806490182030242267n,
97
- },
98
- signature: '0x00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000001635bc6d0f68ff895cae8a288ecf7542a6a9cd555df784b73e1e2ea7e9104b1db15e9015d280cb19527881c625fee43fd3a405d5b0d199a8c8e6589a7381209e40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002549960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97631d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f47b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a22746278584e465339585f3442797231634d77714b724947422d5f3330613051685a36793775634d30424f45222c226f726967696e223a22687474703a2f2f6c6f63616c686f73743a33303030222c2263726f73734f726967696e223a66616c73652c20226f746865725f6b6579735f63616e5f62655f61646465645f68657265223a22646f206e6f7420636f6d7061726520636c69656e74446174614a534f4e20616761696e737420612074656d706c6174652e205365652068747470733a2f2f676f6f2e676c2f796162506578227d000000000000000000000000',
99
- usePrecompiled: true,
100
- });
101
- (0, vitest_1.expect)(signature).toEqual('0x00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120635bc6d0f68ff895cae8a288ecf7542a6a9cd555df784b73e1e2ea7e9104b1db00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002549960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97631d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f47b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a22746278584e465339585f3442797231634d77714b724947422d5f3330613051685a36793775634d30424f45222c226f726967696e223a22687474703a2f2f6c6f63616c686f73743a33303030222c2263726f73734f726967696e223a66616c73652c20226f746865725f6b6579735f63616e5f62655f61646465645f68657265223a22646f206e6f7420636f6d7061726520636c69656e74446174614a534f4e20616761696e737420612074656d706c6174652e205365652068747470733a2f2f676f6f2e676c2f796162506578227d000000000000000000000000');
102
- });
103
- });
104
87
  });
@@ -3,5 +3,6 @@ declare const HOOK_ADDRESS: Address;
3
3
  declare const TARGET_MODULE_ADDRESS: Address;
4
4
  declare const SAME_CHAIN_MODULE_ADDRESS: Address;
5
5
  declare const INTENT_EXECUTOR_ADDRESS: Address;
6
- export { HOOK_ADDRESS, TARGET_MODULE_ADDRESS, SAME_CHAIN_MODULE_ADDRESS, INTENT_EXECUTOR_ADDRESS, };
6
+ declare const INTENT_EXECUTOR_ADDRESS_DEV: Address;
7
+ export { HOOK_ADDRESS, TARGET_MODULE_ADDRESS, SAME_CHAIN_MODULE_ADDRESS, INTENT_EXECUTOR_ADDRESS, INTENT_EXECUTOR_ADDRESS_DEV, };
7
8
  //# sourceMappingURL=omni-account.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"omni-account.d.ts","sourceRoot":"","sources":["../../../modules/omni-account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,QAAA,MAAM,YAAY,EAAE,OAAsD,CAAA;AAC1E,QAAA,MAAM,qBAAqB,EAAE,OACiB,CAAA;AAC9C,QAAA,MAAM,yBAAyB,EAAE,OACa,CAAA;AAE9C,QAAA,MAAM,uBAAuB,EAAE,OACe,CAAA;AAE9C,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,GACxB,CAAA"}
1
+ {"version":3,"file":"omni-account.d.ts","sourceRoot":"","sources":["../../../modules/omni-account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,QAAA,MAAM,YAAY,EAAE,OAAsD,CAAA;AAC1E,QAAA,MAAM,qBAAqB,EAAE,OACiB,CAAA;AAC9C,QAAA,MAAM,yBAAyB,EAAE,OACa,CAAA;AAE9C,QAAA,MAAM,uBAAuB,EAAE,OACe,CAAA;AAC9C,QAAA,MAAM,2BAA2B,EAAE,OACW,CAAA;AAE9C,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,GAC5B,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.INTENT_EXECUTOR_ADDRESS = exports.SAME_CHAIN_MODULE_ADDRESS = exports.TARGET_MODULE_ADDRESS = exports.HOOK_ADDRESS = void 0;
3
+ exports.INTENT_EXECUTOR_ADDRESS_DEV = exports.INTENT_EXECUTOR_ADDRESS = exports.SAME_CHAIN_MODULE_ADDRESS = exports.TARGET_MODULE_ADDRESS = exports.HOOK_ADDRESS = void 0;
4
4
  const HOOK_ADDRESS = '0x0000000000f6Ed8Be424d673c63eeFF8b9267420';
5
5
  exports.HOOK_ADDRESS = HOOK_ADDRESS;
6
6
  const TARGET_MODULE_ADDRESS = '0x0000000000E5a37279A001301A837a91b5de1D5E';
@@ -9,3 +9,5 @@ const SAME_CHAIN_MODULE_ADDRESS = '0x000000000043ff16d5776c7F0f65Ec485C17Ca04';
9
9
  exports.SAME_CHAIN_MODULE_ADDRESS = SAME_CHAIN_MODULE_ADDRESS;
10
10
  const INTENT_EXECUTOR_ADDRESS = '0x00000000005aD9ce1f5035FD62CA96CEf16AdAAF';
11
11
  exports.INTENT_EXECUTOR_ADDRESS = INTENT_EXECUTOR_ADDRESS;
12
+ const INTENT_EXECUTOR_ADDRESS_DEV = '0xbf9b5b917a83f8adac17b0752846d41d8d7b7e17';
13
+ exports.INTENT_EXECUTOR_ADDRESS_DEV = INTENT_EXECUTOR_ADDRESS_DEV;
@@ -1 +1 @@
1
- {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../modules/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAsB,MAAM,MAAM,CAAA;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAG3D,iBAAe,aAAa,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,OAAO,EAAE,CAAC,CA8CpB;AAED,iBAAe,SAAS,CACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC;IACT,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,IAAI,CAAC,CAkER;AAED,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAA"}
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../modules/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAsB,MAAM,MAAM,CAAA;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAG3D,iBAAe,aAAa,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,OAAO,EAAE,CAAC,CAkDpB;AAED,iBAAe,SAAS,CACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC;IACT,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,IAAI,CAAC,CAkER;AAED,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAA"}
@@ -11,6 +11,7 @@ async function getValidators(accountType, account, chain, provider) {
11
11
  transport: (0, utils_1.createTransport)(chain, provider),
12
12
  });
13
13
  switch (accountType) {
14
+ case 'custom':
14
15
  case 'safe':
15
16
  case 'startale':
16
17
  case 'nexus': {
@@ -47,6 +48,9 @@ async function getValidators(accountType, account, chain, provider) {
47
48
  });
48
49
  return validators[0];
49
50
  }
51
+ case 'eoa': {
52
+ return [];
53
+ }
50
54
  case 'kernel': {
51
55
  throw new Error('Kernel not supported');
52
56
  }
@@ -13,13 +13,15 @@ interface WebauthnCredential {
13
13
  declare const OWNABLE_VALIDATOR_ADDRESS: Address;
14
14
  declare const WEBAUTHN_VALIDATOR_ADDRESS: Address;
15
15
  declare const MULTI_FACTOR_VALIDATOR_ADDRESS: Address;
16
+ declare const WEBAUTHN_V0_VALIDATOR_ADDRESS: Address;
16
17
  declare function getOwnerValidator(config: RhinestoneAccountConfig): Module;
17
18
  declare function getMockSignature(ownerSet: OwnerSet): Hex;
18
19
  declare function getValidator(owners: OwnerSet): Module;
19
- declare function getOwnableValidator(threshold: number, owners: Address[]): Module;
20
- declare function getWebAuthnValidator(webAuthnCredential: WebauthnCredential): Module;
20
+ declare function getOwnableValidator(threshold: number, owners: Address[], address?: Address): Module;
21
+ declare function getWebAuthnValidator(threshold: number, webAuthnCredentials: WebauthnCredential[], address?: Address): Module;
21
22
  declare function getMultiFactorValidator(threshold: number, validators: (OwnableValidatorConfig | WebauthnValidatorConfig | null)[]): Module;
22
23
  declare function getSocialRecoveryValidator(guardians: Account[], threshold?: number): Module;
23
- export { OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, getOwnerValidator, getOwnableValidator, getWebAuthnValidator, getMultiFactorValidator, getSocialRecoveryValidator, getValidator, getMockSignature, };
24
+ declare function supportsEip712(validator: Module): boolean;
25
+ export { OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, WEBAUTHN_V0_VALIDATOR_ADDRESS, getOwnerValidator, getOwnableValidator, getWebAuthnValidator, getMultiFactorValidator, getSocialRecoveryValidator, getValidator, getMockSignature, supportsEip712, };
24
26
  export type { WebauthnCredential };
25
27
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../modules/validators/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EAKZ,KAAK,GAAG,EAKT,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EACV,sBAAsB,EACtB,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAEjE,UAAU,SAAS;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,SAAS,GAAG,GAAG,GAAG,UAAU,CAAA;IACpC,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,QAAA,MAAM,yBAAyB,EAAE,OACa,CAAA;AAC9C,QAAA,MAAM,0BAA0B,EAAE,OACY,CAAA;AAG9C,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAO9C,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,UAEzD;AAED,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAiDjD;AAED,iBAAS,YAAY,CAAC,MAAM,EAAE,QAAQ,UAgBrC;AAED,iBAAS,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAiBzE;AAED,iBAAS,oBAAoB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,MAAM,CAwD5E;AAED,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,CAAC,sBAAsB,GAAG,uBAAuB,GAAG,IAAI,CAAC,EAAE,GACtE,MAAM,CAgDR;AAED,iBAAS,0BAA0B,CACjC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,SAAI,GACZ,MAAM,CAsBR;AAeD,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,GACjB,CAAA;AACD,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../modules/validators/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EAKZ,KAAK,GAAG,EAIT,MAAM,MAAM,CAAA;AAGb,OAAO,KAAK,EACV,sBAAsB,EACtB,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAEjE,UAAU,SAAS;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,SAAS,GAAG,GAAG,GAAG,UAAU,CAAA;IACpC,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,QAAA,MAAM,yBAAyB,EAAE,OACa,CAAA;AAC9C,QAAA,MAAM,0BAA0B,EAAE,OACY,CAAA;AAG9C,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAO9C,QAAA,MAAM,6BAA6B,EAAE,OACS,CAAA;AAO9C,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,UAKzD;AAED,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAiDjD;AAED,iBAAS,YAAY,CAAC,MAAM,EAAE,QAAQ,UAoBrC;AAED,iBAAS,mBAAmB,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAiBR;AAED,iBAAS,oBAAoB,CAC3B,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CA4DR;AAED,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,CAAC,sBAAsB,GAAG,uBAAuB,GAAG,IAAI,CAAC,EAAE,GACtE,MAAM,CAgDR;AAED,iBAAS,0BAA0B,CACjC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,SAAI,GACZ,MAAM,CAsBR;AAeD,iBAAS,cAAc,CAAC,SAAS,EAAE,MAAM,WAQxC;AAED,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,EAChB,cAAc,GACf,CAAA;AACD,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MULTI_FACTOR_VALIDATOR_ADDRESS = exports.WEBAUTHN_VALIDATOR_ADDRESS = exports.OWNABLE_VALIDATOR_ADDRESS = void 0;
3
+ exports.WEBAUTHN_V0_VALIDATOR_ADDRESS = exports.MULTI_FACTOR_VALIDATOR_ADDRESS = exports.WEBAUTHN_VALIDATOR_ADDRESS = exports.OWNABLE_VALIDATOR_ADDRESS = void 0;
4
4
  exports.getOwnerValidator = getOwnerValidator;
5
5
  exports.getOwnableValidator = getOwnableValidator;
6
6
  exports.getWebAuthnValidator = getWebAuthnValidator;
@@ -8,18 +8,28 @@ exports.getMultiFactorValidator = getMultiFactorValidator;
8
8
  exports.getSocialRecoveryValidator = getSocialRecoveryValidator;
9
9
  exports.getValidator = getValidator;
10
10
  exports.getMockSignature = getMockSignature;
11
+ exports.supportsEip712 = supportsEip712;
11
12
  const viem_1 = require("viem");
13
+ const error_1 = require("../../accounts/error");
12
14
  const common_1 = require("../common");
13
- const OWNABLE_VALIDATOR_ADDRESS = '0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9';
15
+ const OWNABLE_VALIDATOR_ADDRESS = '0x000000000013fdb5234e4e3162a810f54d9f7e98';
14
16
  exports.OWNABLE_VALIDATOR_ADDRESS = OWNABLE_VALIDATOR_ADDRESS;
15
- const WEBAUTHN_VALIDATOR_ADDRESS = '0x0000000000578c4cB0e472a5462da43C495C3F33';
17
+ const WEBAUTHN_VALIDATOR_ADDRESS = '0x0000000000578c4cb0e472a5462da43c495c3f33';
16
18
  exports.WEBAUTHN_VALIDATOR_ADDRESS = WEBAUTHN_VALIDATOR_ADDRESS;
17
- const SOCIAL_RECOVERY_VALIDATOR_ADDRESS = '0xA04D053b3C8021e8D5bF641816c42dAA75D8b597';
18
- const MULTI_FACTOR_VALIDATOR_ADDRESS = '0xf6bDf42c9BE18cEcA5C06c42A43DAf7FBbe7896b';
19
+ const SOCIAL_RECOVERY_VALIDATOR_ADDRESS = '0xa04d053b3c8021e8d5bf641816c42daa75d8b597';
20
+ const MULTI_FACTOR_VALIDATOR_ADDRESS = '0xf6bdf42c9be18ceca5c06c42a43daf7fbbe7896b';
19
21
  exports.MULTI_FACTOR_VALIDATOR_ADDRESS = MULTI_FACTOR_VALIDATOR_ADDRESS;
22
+ // Legacy
23
+ const OWNABLE_V0_VALIDATOR_ADDRESS = '0x2483da3a338895199e5e538530213157e931bf06';
24
+ const OWNABLE_BETA_VALIDATOR_ADDRESS = '0x0000000000e9e6e96bcaa3c113187cdb7e38aed9';
25
+ const WEBAUTHN_V0_VALIDATOR_ADDRESS = '0x0000000000578c4cb0e472a5462da43c495c3f33';
26
+ exports.WEBAUTHN_V0_VALIDATOR_ADDRESS = WEBAUTHN_V0_VALIDATOR_ADDRESS;
20
27
  const ECDSA_MOCK_SIGNATURE = '0x81d4b4981670cb18f99f0b4a66446df1bf5b204d24cfcb659bf38ba27a4359b5711649ec2423c5e1247245eba2964679b6a1dbb85c992ae40b9b00c6935b02ff1b';
21
- const WEBAUTHN_MOCK_SIGNATURE = '0x00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000001635bc6d0f68ff895cae8a288ecf7542a6a9cd555df784b73e1e2ea7e9104b1db15e9015d280cb19527881c625fee43fd3a405d5b0d199a8c8e6589a7381209e40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002549960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97631d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f47b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a22746278584e465339585f3442797231634d77714b724947422d5f3330613051685a36793775634d30424f45222c226f726967696e223a22687474703a2f2f6c6f63616c686f73743a33303030222c2263726f73734f726967696e223a66616c73652c20226f746865725f6b6579735f63616e5f62655f61646465645f68657265223a22646f206e6f7420636f6d7061726520636c69656e74446174614a534f4e20616761696e737420612074656d706c6174652e205365652068747470733a2f2f676f6f2e676c2f796162506578227d000000000000000000000000';
28
+ const WEBAUTHN_MOCK_SIGNATURE = '0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001b9b86eb98fda3ed4d797d9e690588dfadf17b329a76a47cec935bebf92d7ddc80000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000019b2e9410bb6850f9f660a03d609d5a844fb96bcdc87a15139b03ee22c70f469100d2b865a215c3bf786387064effa8fcedcb1d625b5148f8a1236d5e3ff11acf000000000000000000000000000000000000000000000000000000000000002549960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d9763050000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000867b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a22396a4546696a75684557724d34534f572d7443684a625545484550343456636a634a2d42716f3166544d38222c226f726967696e223a22687474703a2f2f6c6f63616c686f73743a38303830222c2263726f73734f726967696e223a66616c73657d0000000000000000000000000000000000000000000000000000';
22
29
  function getOwnerValidator(config) {
30
+ if (!config.owners) {
31
+ throw new error_1.OwnersFieldRequiredError();
32
+ }
23
33
  return getValidator(config.owners);
24
34
  }
25
35
  function getMockSignature(ownerSet) {
@@ -65,20 +75,20 @@ function getMockSignature(ownerSet) {
65
75
  function getValidator(owners) {
66
76
  switch (owners.type) {
67
77
  case 'ecdsa':
68
- return getOwnableValidator(owners.threshold ?? 1, owners.accounts.map((account) => account.address));
78
+ return getOwnableValidator(owners.threshold ?? 1, owners.accounts.map((account) => account.address), owners.module);
69
79
  case 'passkey':
70
- return getWebAuthnValidator({
71
- pubKey: owners.account.publicKey,
72
- authenticatorId: owners.account.id,
73
- });
80
+ return getWebAuthnValidator(owners.threshold ?? 1, owners.accounts.map((account) => ({
81
+ pubKey: account.publicKey,
82
+ authenticatorId: account.id,
83
+ })));
74
84
  case 'multi-factor': {
75
85
  return getMultiFactorValidator(owners.threshold ?? 1, owners.validators);
76
86
  }
77
87
  }
78
88
  }
79
- function getOwnableValidator(threshold, owners) {
89
+ function getOwnableValidator(threshold, owners, address) {
80
90
  return {
81
- address: OWNABLE_VALIDATOR_ADDRESS,
91
+ address: address ?? OWNABLE_VALIDATOR_ADDRESS,
82
92
  initData: (0, viem_1.encodeAbiParameters)([
83
93
  { name: 'threshold', type: 'uint256' },
84
94
  { name: 'owners', type: 'address[]' },
@@ -91,29 +101,33 @@ function getOwnableValidator(threshold, owners) {
91
101
  type: common_1.MODULE_TYPE_ID_VALIDATOR,
92
102
  };
93
103
  }
94
- function getWebAuthnValidator(webAuthnCredential) {
95
- let pubKeyX;
96
- let pubKeyY;
97
- // Distinguish between PublicKey and Hex / byte encoded public key
98
- if (typeof webAuthnCredential.pubKey === 'string' ||
99
- webAuthnCredential.pubKey instanceof Uint8Array) {
100
- // It's a P256Credential
101
- const { x, y, prefix } = parsePublicKey(webAuthnCredential.pubKey);
102
- pubKeyX = x;
103
- pubKeyY = y;
104
- if (prefix && prefix !== 4) {
105
- throw new Error('Only uncompressed public keys are supported');
104
+ function getWebAuthnValidator(threshold, webAuthnCredentials, address) {
105
+ function getPublicKey(webAuthnCredential) {
106
+ if (typeof webAuthnCredential.pubKey === 'string' ||
107
+ webAuthnCredential.pubKey instanceof Uint8Array) {
108
+ // It's a P256Credential
109
+ const { x, y, prefix } = parsePublicKey(webAuthnCredential.pubKey);
110
+ if (prefix && prefix !== 4) {
111
+ throw new Error('Only uncompressed public keys are supported');
112
+ }
113
+ return {
114
+ x,
115
+ y,
116
+ };
117
+ }
118
+ else {
119
+ // It's already a PublicKey
120
+ return webAuthnCredential.pubKey;
106
121
  }
107
122
  }
108
- else {
109
- // It's already a PublicKey
110
- pubKeyX = webAuthnCredential.pubKey.x;
111
- pubKeyY = webAuthnCredential.pubKey.y;
112
- }
123
+ const publicKeys = webAuthnCredentials.map(getPublicKey);
113
124
  return {
114
- address: WEBAUTHN_VALIDATOR_ADDRESS,
125
+ address: address ?? WEBAUTHN_VALIDATOR_ADDRESS,
115
126
  initData: (0, viem_1.encodeAbiParameters)([
127
+ { name: 'threshold', type: 'uint256' },
116
128
  {
129
+ name: 'credentials',
130
+ type: 'tuple[]',
117
131
  components: [
118
132
  {
119
133
  name: 'pubKeyX',
@@ -123,19 +137,19 @@ function getWebAuthnValidator(webAuthnCredential) {
123
137
  name: 'pubKeyY',
124
138
  type: 'uint256',
125
139
  },
140
+ {
141
+ name: 'requireUV',
142
+ type: 'bool',
143
+ },
126
144
  ],
127
- type: 'tuple',
128
- },
129
- {
130
- type: 'bytes32',
131
- name: 'authenticatorIdHash',
132
145
  },
133
146
  ], [
134
- {
135
- pubKeyX,
136
- pubKeyY,
137
- },
138
- (0, viem_1.keccak256)((0, viem_1.toHex)(webAuthnCredential.authenticatorId)),
147
+ BigInt(threshold),
148
+ publicKeys.map((publicKey) => ({
149
+ pubKeyX: publicKey.x,
150
+ pubKeyY: publicKey.y,
151
+ requireUV: false,
152
+ })),
139
153
  ]),
140
154
  deInitData: '0x',
141
155
  additionalContext: '0x',
@@ -216,3 +230,12 @@ function parsePublicKey(publicKey) {
216
230
  y: BigInt((0, viem_1.bytesToHex)(y)),
217
231
  };
218
232
  }
233
+ function supportsEip712(validator) {
234
+ switch (validator.address.toLowerCase()) {
235
+ case OWNABLE_BETA_VALIDATOR_ADDRESS: // Ownable Validator V1-beta
236
+ case OWNABLE_V0_VALIDATOR_ADDRESS: // Ownable Validator V0
237
+ return false;
238
+ default:
239
+ return true;
240
+ }
241
+ }
@@ -14,7 +14,7 @@ const core_1 = require("./core");
14
14
  });
15
15
  (0, vitest_1.expect)(validator.type).toEqual(common_1.MODULE_TYPE_ID_VALIDATOR);
16
16
  (0, vitest_1.expect)((0, viem_1.isAddress)(validator.address)).toEqual(true);
17
- (0, vitest_1.expect)(validator.address).toEqual('0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9');
17
+ (0, vitest_1.expect)(validator.address).toEqual('0x000000000013fdb5234e4e3162a810f54d9f7e98');
18
18
  (0, vitest_1.expect)(validator.initData).toEqual('0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f6c02c78ded62973b43bfa523b247da099486936');
19
19
  });
20
20
  (0, vitest_1.test)('ECDSA: two addresses', () => {
@@ -24,7 +24,7 @@ const core_1 = require("./core");
24
24
  });
25
25
  (0, vitest_1.expect)(validator.type).toEqual(common_1.MODULE_TYPE_ID_VALIDATOR);
26
26
  (0, vitest_1.expect)((0, viem_1.isAddress)(validator.address)).toEqual(true);
27
- (0, vitest_1.expect)(validator.address).toEqual('0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9');
27
+ (0, vitest_1.expect)(validator.address).toEqual('0x000000000013fdb5234e4e3162a810f54d9f7e98');
28
28
  (0, vitest_1.expect)(validator.initData).toEqual('0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000f6c02c78ded62973b43bfa523b247da099486936');
29
29
  });
30
30
  (0, vitest_1.test)('ECDSA: three addresses, custom threshold', () => {
@@ -35,18 +35,18 @@ const core_1 = require("./core");
35
35
  });
36
36
  (0, vitest_1.expect)(validator.type).toEqual(common_1.MODULE_TYPE_ID_VALIDATOR);
37
37
  (0, vitest_1.expect)((0, viem_1.isAddress)(validator.address)).toEqual(true);
38
- (0, vitest_1.expect)(validator.address).toEqual('0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9');
38
+ (0, vitest_1.expect)(validator.address).toEqual('0x000000000013fdb5234e4e3162a810f54d9f7e98');
39
39
  (0, vitest_1.expect)(validator.initData).toEqual('0x0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000030000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000c27b7578151c5ef713c62c65db09763d57ac3596000000000000000000000000f6c02c78ded62973b43bfa523b247da099486936');
40
40
  });
41
41
  (0, vitest_1.test)('Passkey', () => {
42
42
  const validator = (0, core_1.getValidator)({
43
43
  type: 'passkey',
44
- account: consts_1.passkeyAccount,
44
+ accounts: [consts_1.passkeyAccount],
45
45
  });
46
46
  (0, vitest_1.expect)(validator.type).toEqual(common_1.MODULE_TYPE_ID_VALIDATOR);
47
47
  (0, vitest_1.expect)((0, viem_1.isAddress)(validator.address)).toEqual(true);
48
- (0, vitest_1.expect)(validator.address).toEqual('0x0000000000578c4cB0e472a5462da43C495C3F33');
49
- (0, vitest_1.expect)(validator.initData).toEqual('0x580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d3737637d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d19c9a01073b202db2ed56e604ad11db557d8c3ad75181619597f21b830f2da82a');
48
+ (0, vitest_1.expect)(validator.address).toEqual('0x0000000000578c4cb0e472a5462da43c495c3f33');
49
+ (0, vitest_1.expect)(validator.initData).toEqual('0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d3737637d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d10000000000000000000000000000000000000000000000000000000000000000');
50
50
  });
51
51
  });
52
52
  (0, vitest_1.describe)('Mock Signature', () => {
@@ -67,7 +67,7 @@ const core_1 = require("./core");
67
67
  (0, vitest_1.test)('Passkey', () => {
68
68
  const signature = (0, core_1.getMockSignature)({
69
69
  type: 'passkey',
70
- account: consts_1.passkeyAccount,
70
+ accounts: [consts_1.passkeyAccount],
71
71
  });
72
72
  // Should have the proper schema
73
73
  (0, viem_1.decodeAbiParameters)([
@@ -294,9 +294,9 @@ function getPolicyData(policy) {
294
294
  case 'time-frame': {
295
295
  return {
296
296
  policy: TIME_FRAME_POLICY_ADDRESS,
297
- initData: (0, viem_1.encodePacked)(['uint128', 'uint128'], [
298
- BigInt(policy.validUntil) / 1000n,
299
- BigInt(policy.validAfter) / 1000n,
297
+ initData: (0, viem_1.encodePacked)(['uint48', 'uint48'], [
298
+ Math.floor(policy.validUntil / 1000),
299
+ Math.floor(policy.validAfter / 1000),
300
300
  ]),
301
301
  };
302
302
  }
@@ -15,7 +15,7 @@ const smart_sessions_2 = require("./smart-sessions");
15
15
  type: 'ecdsa',
16
16
  accounts: [consts_1.accountA, consts_1.accountB],
17
17
  },
18
- })).toBe('0x4ad46f8661acf29090a7635877ff94953e0ea05b0583d32de3839acc49739182');
18
+ })).toBe('0xd3b39024e437b4cac278e33965b9a9326e81ee46bd45d890adbfc8eb45412fa1');
19
19
  });
20
20
  (0, vitest_1.test)('with salt', () => {
21
21
  (0, vitest_1.expect)((0, smart_sessions_2.getPermissionId)({
@@ -24,7 +24,7 @@ const smart_sessions_2 = require("./smart-sessions");
24
24
  accounts: [consts_1.accountA, consts_1.accountB],
25
25
  },
26
26
  salt: '0x97340e1cfff3319c76ef22b2bc9d3231071d550125d68c9d4a8972823f166320',
27
- })).toBe('0xb1adc169088099c6830120c63cde8d2c7e1b9a82857b35c0527dc2e37ce3e7bd');
27
+ })).toBe('0xeb47b4699298a847a0f6fb7365e56aefcc95630e7d0e3d9ca5917620c7dc3d08');
28
28
  });
29
29
  });
30
30
  (0, vitest_1.describe)('Smart Session Validator', () => {
@@ -34,7 +34,6 @@ const smart_sessions_2 = require("./smart-sessions");
34
34
  type: 'ecdsa',
35
35
  accounts: [consts_1.accountA],
36
36
  },
37
- rhinestoneApiKey: consts_1.MOCK_API_KEY,
38
37
  })).toBeNull();
39
38
  });
40
39
  (0, vitest_1.test)('empty session list', () => {
@@ -43,7 +42,6 @@ const smart_sessions_2 = require("./smart-sessions");
43
42
  type: 'ecdsa',
44
43
  accounts: [consts_1.accountA],
45
44
  },
46
- rhinestoneApiKey: consts_1.MOCK_API_KEY,
47
45
  sessions: [],
48
46
  })).not.toBeNull();
49
47
  });
@@ -53,7 +51,6 @@ const smart_sessions_2 = require("./smart-sessions");
53
51
  type: 'ecdsa',
54
52
  accounts: [consts_1.accountA],
55
53
  },
56
- rhinestoneApiKey: consts_1.MOCK_API_KEY,
57
54
  sessions: [
58
55
  {
59
56
  owners: {
@@ -217,10 +214,10 @@ const smart_sessions_2 = require("./smart-sessions");
217
214
  });
218
215
  (0, vitest_1.describe)('Encode Smart Session Signature', () => {
219
216
  (0, vitest_1.test)('use mode', () => {
220
- const permissionId = '0x4ad46f8661acf29090a7635877ff94953e0ea05b0583d32de3839acc49739182';
217
+ const permissionId = '0xd3b39024e437b4cac278e33965b9a9326e81ee46bd45d890adbfc8eb45412fa1';
221
218
  const signature = '0xabcdef';
222
219
  const sessionSignature = (0, smart_sessions_2.encodeSmartSessionSignature)(smart_sessions_2.SMART_SESSION_MODE_USE, permissionId, signature);
223
- (0, vitest_1.expect)(sessionSignature).toEqual('0x004ad46f8661acf29090a7635877ff94953e0ea05b0583d32de3839acc49739182abcdef');
220
+ (0, vitest_1.expect)(sessionSignature).toEqual('0x00d3b39024e437b4cac278e33965b9a9326e81ee46bd45d890adbfc8eb45412fa1abcdef');
224
221
  });
225
222
  });
226
223
  });
@@ -2,18 +2,18 @@ import { type Address } from 'viem';
2
2
  import type { IntentCost, IntentInput, IntentOpStatus, IntentResult, IntentRoute, Portfolio, SignedIntentOp } from './types';
3
3
  export declare class Orchestrator {
4
4
  private serverUrl;
5
- private apiKey;
6
- constructor(serverUrl: string, apiKey: string);
5
+ private apiKey?;
6
+ constructor(serverUrl: string, apiKey?: string);
7
7
  getPortfolio(userAddress: Address, filter?: {
8
8
  chainIds?: number[];
9
9
  tokens?: {
10
10
  [chainId: number]: Address[];
11
11
  };
12
12
  }): Promise<Portfolio>;
13
- getMaxTokenAmount(userAddress: Address, destinationChainId: number, destinationTokenAddress: Address, destinationGasUnits: bigint): Promise<bigint>;
13
+ getMaxTokenAmount(userAddress: Address, destinationChainId: number, destinationTokenAddress: Address, destinationGasUnits: bigint, sponsored: boolean): Promise<bigint>;
14
14
  getIntentCost(input: IntentInput): Promise<IntentCost>;
15
15
  getIntentRoute(input: IntentInput): Promise<IntentRoute>;
16
- submitIntent(signedIntentOp: SignedIntentOp): Promise<IntentResult>;
16
+ submitIntent(signedIntentOpUnformatted: SignedIntentOp, dryRun: boolean): Promise<IntentResult>;
17
17
  getIntentOpStatus(intentId: bigint): Promise<IntentOpStatus>;
18
18
  private parseError;
19
19
  private parseErrorMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../orchestrator/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAuB,MAAM,MAAM,CAAA;AAexD,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,WAAW,EACX,SAAS,EAET,cAAc,EACf,MAAM,SAAS,CAAA;AAGhB,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,MAAM,CAAQ;gBAEV,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAKvC,YAAY,CAChB,WAAW,EAAE,OAAO,EACpB,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,MAAM,CAAC,EAAE;YACP,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAAA;SAC7B,CAAA;KACF,GACA,OAAO,CAAC,SAAS,CAAC;IAmDf,iBAAiB,CACrB,WAAW,EAAE,OAAO,EACpB,kBAAkB,EAAE,MAAM,EAC1B,uBAAuB,EAAE,OAAO,EAChC,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC;IAyCZ,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA0BtD,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAqBxD,YAAY,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAqBnE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAkBlE,OAAO,CAAC,UAAU;IA0ElB,OAAO,CAAC,iBAAiB;CAmD1B"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../orchestrator/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAuB,MAAM,MAAM,CAAA;AAexD,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,WAAW,EACX,SAAS,EAET,cAAc,EACf,MAAM,SAAS,CAAA;AAGhB,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,MAAM,CAAC,CAAQ;gBAEX,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAKxC,YAAY,CAChB,WAAW,EAAE,OAAO,EACpB,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,MAAM,CAAC,EAAE;YACP,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAAA;SAC7B,CAAA;KACF,GACA,OAAO,CAAC,SAAS,CAAC;IAmDf,iBAAiB,CACrB,WAAW,EAAE,OAAO,EACpB,kBAAkB,EAAE,MAAM,EAC1B,uBAAuB,EAAE,OAAO,EAChC,mBAAmB,EAAE,MAAM,EAC3B,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,CAAC;IAqDZ,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAqBtD,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAqBxD,YAAY,CAChB,yBAAyB,EAAE,cAAc,EACzC,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC;IA2BlB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAoBlE,OAAO,CAAC,UAAU;IA0ElB,OAAO,CAAC,iBAAiB;CAmD1B"}