@charterlabs/rhinestone-sdk 0.2.7-dev.4 → 0.2.8

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 (63) hide show
  1. package/README.md +46 -8
  2. package/dist/src/accounts/index.d.ts +4 -1
  3. package/dist/src/accounts/index.d.ts.map +1 -1
  4. package/dist/src/accounts/index.js +36 -5
  5. package/dist/src/accounts/passport.d.ts +12 -0
  6. package/dist/src/accounts/passport.d.ts.map +1 -0
  7. package/dist/src/accounts/passport.js +173 -0
  8. package/dist/src/actions/smart-sessions.d.ts +23 -0
  9. package/dist/src/actions/smart-sessions.d.ts.map +1 -0
  10. package/dist/src/actions/{smart-session.js → smart-sessions.js} +13 -0
  11. package/dist/src/errors/index.d.ts +2 -2
  12. package/dist/src/errors/index.d.ts.map +1 -1
  13. package/dist/src/errors/index.js +16 -1
  14. package/dist/src/execution/compact.d.ts +3 -3
  15. package/dist/src/execution/compact.d.ts.map +1 -1
  16. package/dist/src/execution/compact.js +3 -3
  17. package/dist/src/execution/error.d.ts +8 -1
  18. package/dist/src/execution/error.d.ts.map +1 -1
  19. package/dist/src/execution/error.js +10 -1
  20. package/dist/src/execution/index.d.ts +3 -2
  21. package/dist/src/execution/index.d.ts.map +1 -1
  22. package/dist/src/execution/index.js +62 -9
  23. package/dist/src/execution/multiChainOps.d.ts +40 -0
  24. package/dist/src/execution/multiChainOps.d.ts.map +1 -0
  25. package/dist/src/execution/multiChainOps.js +39 -0
  26. package/dist/src/execution/permit2.d.ts +2 -2
  27. package/dist/src/execution/permit2.d.ts.map +1 -1
  28. package/dist/src/execution/permit2.js +28 -19
  29. package/dist/src/execution/smart-session.d.ts.map +1 -1
  30. package/dist/src/execution/smart-session.js +3 -3
  31. package/dist/src/execution/types.d.ts +2 -1
  32. package/dist/src/execution/types.d.ts.map +1 -1
  33. package/dist/src/execution/utils.d.ts +15 -8
  34. package/dist/src/execution/utils.d.ts.map +1 -1
  35. package/dist/src/execution/utils.js +88 -72
  36. package/dist/src/index.d.ts +7 -6
  37. package/dist/src/index.d.ts.map +1 -1
  38. package/dist/src/index.js +9 -21
  39. package/dist/src/modules/index.test.js +1 -1
  40. package/dist/src/modules/read.js +2 -2
  41. package/dist/src/modules/validators/smart-sessions.d.ts +4 -4
  42. package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -1
  43. package/dist/src/modules/validators/smart-sessions.js +10 -72
  44. package/dist/src/modules/validators/smart-sessions.test.js +4 -5
  45. package/dist/src/orchestrator/client.d.ts +3 -2
  46. package/dist/src/orchestrator/client.d.ts.map +1 -1
  47. package/dist/src/orchestrator/client.js +217 -171
  48. package/dist/src/orchestrator/error.d.ts +111 -1
  49. package/dist/src/orchestrator/error.d.ts.map +1 -1
  50. package/dist/src/orchestrator/error.js +128 -1
  51. package/dist/src/orchestrator/index.d.ts +4 -4
  52. package/dist/src/orchestrator/index.d.ts.map +1 -1
  53. package/dist/src/orchestrator/index.js +16 -1
  54. package/dist/src/orchestrator/types.d.ts +30 -24
  55. package/dist/src/orchestrator/types.d.ts.map +1 -1
  56. package/dist/src/types.d.ts +12 -2
  57. package/dist/src/types.d.ts.map +1 -1
  58. package/dist/src/utils/index.d.ts +3 -0
  59. package/dist/src/utils/index.d.ts.map +1 -0
  60. package/dist/src/utils/index.js +5 -0
  61. package/package.json +1 -1
  62. package/dist/src/actions/smart-session.d.ts +0 -11
  63. package/dist/src/actions/smart-session.d.ts.map +0 -1
@@ -7,7 +7,6 @@ exports.signAuthorizationsInternal = signAuthorizationsInternal;
7
7
  exports.signMessage = signMessage;
8
8
  exports.signTypedData = signTypedData;
9
9
  exports.submitTransaction = submitTransaction;
10
- exports.simulateTransaction = simulateTransaction;
11
10
  exports.prepareUserOperation = prepareUserOperation;
12
11
  exports.signUserOperation = signUserOperation;
13
12
  exports.submitUserOperation = submitUserOperation;
@@ -15,7 +14,6 @@ exports.getOrchestratorByChain = getOrchestratorByChain;
15
14
  exports.signIntent = signIntent;
16
15
  exports.prepareTransactionAsIntent = prepareTransactionAsIntent;
17
16
  exports.submitIntentInternal = submitIntentInternal;
18
- exports.simulateIntentInternal = simulateIntentInternal;
19
17
  exports.getValidatorAccount = getValidatorAccount;
20
18
  exports.parseCalls = parseCalls;
21
19
  exports.getTokenRequests = getTokenRequests;
@@ -24,6 +22,7 @@ const viem_1 = require("viem");
24
22
  const account_abstraction_1 = require("viem/account-abstraction");
25
23
  const accounts_1 = require("../accounts");
26
24
  const utils_1 = require("../accounts/utils");
25
+ const modules_1 = require("../modules");
27
26
  const validators_1 = require("../modules/validators");
28
27
  const core_1 = require("../modules/validators/core");
29
28
  const orchestrator_1 = require("../orchestrator");
@@ -31,15 +30,16 @@ const consts_1 = require("../orchestrator/consts");
31
30
  const registry_1 = require("../orchestrator/registry");
32
31
  const compact_1 = require("./compact");
33
32
  const error_1 = require("./error");
33
+ const multiChainOps_1 = require("./multiChainOps");
34
34
  const permit2_1 = require("./permit2");
35
35
  async function prepareTransaction(config, transaction) {
36
- const { sourceChains, targetChain, tokenRequests, signers, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, } = getTransactionParams(transaction);
36
+ const { sourceChains, targetChain, tokenRequests, signers, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, account, } = getTransactionParams(transaction);
37
37
  const accountAddress = (0, accounts_1.getAddress)(config);
38
38
  const isUserOpSigner = signers?.type === 'guardians' || signers?.type === 'session';
39
39
  if (isUserOpSigner) {
40
40
  throw new error_1.SignerNotSupportedError();
41
41
  }
42
- const intentRoute = await prepareTransactionAsIntent(config, sourceChains, targetChain, await resolveCallInputs(transaction.calls, config, targetChain, accountAddress), transaction.gasLimit, tokenRequests, accountAddress, sponsored ?? false, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds);
42
+ const intentRoute = await prepareTransactionAsIntent(config, sourceChains, targetChain, await resolveCallInputs(transaction.calls, config, targetChain, accountAddress), transaction.gasLimit, tokenRequests, accountAddress, sponsored ?? false, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, account);
43
43
  return {
44
44
  intentRoute,
45
45
  transaction,
@@ -77,11 +77,12 @@ async function resolveCallInputs(inputs, config, chain, accountAddress) {
77
77
  async function signTransaction(config, preparedTransaction) {
78
78
  const { targetChain, signers } = getTransactionParams(preparedTransaction.transaction);
79
79
  const intentRoute = preparedTransaction.intentRoute;
80
- const signature = await signIntent(config, targetChain, intentRoute.intentOp, signers);
80
+ const { originSignatures, destinationSignature } = await signIntent(config, targetChain, intentRoute.intentOp, signers);
81
81
  return {
82
82
  intentRoute,
83
83
  transaction: preparedTransaction.transaction,
84
- signature,
84
+ originSignatures,
85
+ destinationSignature,
85
86
  };
86
87
  }
87
88
  async function signUserOperation(config, preparedUserOperation) {
@@ -163,11 +164,11 @@ async function signAuthorizationsInternal(config, data) {
163
164
  }
164
165
  return authorizations;
165
166
  }
166
- async function submitTransaction(config, signedTransaction, authorizations) {
167
- const { intentRoute, transaction, signature } = signedTransaction;
167
+ async function submitTransaction(config, signedTransaction, authorizations, dryRun = false) {
168
+ const { intentRoute, transaction, originSignatures, destinationSignature } = signedTransaction;
168
169
  const { sourceChains, targetChain } = getTransactionParams(transaction);
169
170
  const intentOp = intentRoute.intentOp;
170
- return await submitIntent(config, sourceChains, targetChain, intentOp, signature, authorizations);
171
+ return await submitIntent(config, sourceChains, targetChain, intentOp, originSignatures, destinationSignature, authorizations, dryRun);
171
172
  }
172
173
  async function submitUserOperation(config, signedUserOperation) {
173
174
  const chain = signedUserOperation.transaction.chain;
@@ -176,15 +177,6 @@ async function submitUserOperation(config, signedUserOperation) {
176
177
  // Smart sessions require a UserOp flow
177
178
  return await submitUserOp(config, chain, userOp, signature);
178
179
  }
179
- async function simulateTransaction(config, signedTransaction, authorizations) {
180
- const { intentRoute, transaction, signature } = signedTransaction;
181
- const { sourceChains, targetChain } = getTransactionParams(transaction);
182
- const intentOp = intentRoute.intentOp;
183
- if (!intentOp) {
184
- throw new error_1.OrderPathRequiredForIntentsError();
185
- }
186
- return await simulateIntent(config, sourceChains, targetChain, intentOp, signature, authorizations);
187
- }
188
180
  function getTransactionParams(transaction) {
189
181
  const sourceChains = 'chain' in transaction ? [transaction.chain] : transaction.sourceChains;
190
182
  const targetChain = 'chain' in transaction ? transaction.chain : transaction.targetChain;
@@ -197,6 +189,7 @@ function getTransactionParams(transaction) {
197
189
  const sourceAssets = transaction.sourceAssets;
198
190
  const feeAsset = transaction.feeAsset;
199
191
  const lockFunds = transaction.lockFunds;
192
+ const account = transaction.experimental_accountOverride;
200
193
  const tokenRequests = getTokenRequests(sourceChains || [], targetChain, initialTokenRequests, settlementLayers);
201
194
  return {
202
195
  sourceChains,
@@ -210,6 +203,7 @@ function getTransactionParams(transaction) {
210
203
  sourceAssets,
211
204
  feeAsset,
212
205
  lockFunds,
206
+ account,
213
207
  };
214
208
  }
215
209
  function getTokenRequests(sourceChains, targetChain, initialTokenRequests, settlementLayers) {
@@ -256,10 +250,10 @@ async function prepareTransactionAsUserOp(config, chain, callInputs, signers, ga
256
250
  }),
257
251
  };
258
252
  }
259
- async function prepareTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, accountAddress, isSponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds) {
253
+ async function prepareTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, accountAddress, isSponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, account) {
260
254
  const calls = parseCalls(callInputs, targetChain.id);
261
255
  const accountAccessList = createAccountAccessList(sourceChains, sourceAssets);
262
- const { setupOps, delegations } = await getSetupOperationsAndDelegations(config, targetChain, accountAddress, eip7702InitSignature);
256
+ const { setupOps, delegations } = await getSetupOperationsAndDelegations(config, accountAddress, eip7702InitSignature);
263
257
  const getAccountType = (config) => {
264
258
  if (config.account?.type === 'eoa') {
265
259
  return 'EOA';
@@ -278,10 +272,14 @@ async function prepareTransactionAsIntent(config, sourceChains, targetChain, cal
278
272
  account: {
279
273
  address: accountAddress,
280
274
  accountType: accountType,
281
- setupOps,
275
+ setupOps: account?.setupOps ?? setupOps,
282
276
  delegations,
283
277
  },
284
- destinationExecutions: calls,
278
+ destinationExecutions: calls.map((call) => ({
279
+ to: call.to,
280
+ value: call.value.toString(),
281
+ data: call.data,
282
+ })),
285
283
  destinationGasUnits: gasLimit,
286
284
  accountAccessList,
287
285
  options: {
@@ -301,26 +299,31 @@ async function prepareTransactionAsIntent(config, sourceChains, targetChain, cal
301
299
  }
302
300
  async function signIntent(config, targetChain, intentOp, signers) {
303
301
  if (config.account?.type === 'eoa') {
304
- let signature;
305
- let digest;
306
- if (config.eoa?.signTypedData) {
307
- const typedData = (0, permit2_1.getTypedData)(intentOp);
308
- signature = await config.eoa.signTypedData(typedData);
309
- }
310
- else if (config.eoa?.sign) {
311
- digest = (0, compact_1.getPermit2Digest)(intentOp);
312
- signature = await config.eoa.sign({ hash: digest });
313
- }
314
- else if (config.eoa?.signMessage) {
315
- digest = (0, compact_1.getPermit2Digest)(intentOp);
316
- signature = await config.eoa.signMessage({
317
- message: { raw: digest },
318
- });
319
- }
320
- else {
321
- throw new accounts_1.EoaSigningMethodNotConfiguredError('signTypedData, sign, or signMessage');
302
+ const originSignatures = [];
303
+ for (const element of intentOp.elements) {
304
+ let digest;
305
+ if (config.eoa?.signTypedData) {
306
+ const typedData = (0, permit2_1.getTypedData)(element, BigInt(intentOp.nonce), BigInt(intentOp.expires));
307
+ originSignatures.push(await config.eoa.signTypedData(typedData));
308
+ }
309
+ else if (config.eoa?.sign) {
310
+ digest = (0, compact_1.getPermit2Digest)(element, BigInt(intentOp.nonce), BigInt(intentOp.expires));
311
+ originSignatures.push(await config.eoa.sign({ hash: digest }));
312
+ }
313
+ else if (config.eoa?.signMessage) {
314
+ digest = (0, compact_1.getPermit2Digest)(element, BigInt(intentOp.nonce), BigInt(intentOp.expires));
315
+ originSignatures.push(await config.eoa.signMessage({
316
+ message: { raw: digest },
317
+ }));
318
+ }
319
+ else {
320
+ throw new accounts_1.EoaSigningMethodNotConfiguredError('signTypedData, sign, or signMessage');
321
+ }
322
322
  }
323
- return signature;
323
+ return {
324
+ originSignatures,
325
+ destinationSignature: originSignatures[0],
326
+ };
324
327
  }
325
328
  const validator = getValidator(config, signers);
326
329
  if (!validator) {
@@ -328,19 +331,47 @@ async function signIntent(config, targetChain, intentOp, signers) {
328
331
  }
329
332
  const ownerValidator = (0, validators_1.getOwnerValidator)(config);
330
333
  const isRoot = validator.address === ownerValidator.address;
331
- const signature = await getIntentSignature(config, intentOp, signers, targetChain, validator, isRoot);
332
- return signature;
334
+ const signatures = await getIntentSignature(config, intentOp, signers, targetChain, validator, isRoot);
335
+ return signatures;
333
336
  }
334
337
  async function getIntentSignature(config, intentOp, signers, targetChain, validator, isRoot) {
335
338
  const withJitFlow = intentOp.elements.some((element) => element.mandate.qualifier.settlementContext?.usingJIT);
339
+ const withMultiChainOps = intentOp.elements.some((element) => element.mandate.qualifier.settlementContext.settlementLayer ===
340
+ 'INTENT_EXECUTOR');
341
+ if (withMultiChainOps) {
342
+ const signature = await getMultiChainOpsSignature(config, intentOp, signers, targetChain, validator, isRoot);
343
+ return {
344
+ originSignatures: Array(intentOp.elements.length).fill(signature),
345
+ destinationSignature: signature,
346
+ };
347
+ }
336
348
  if (withJitFlow) {
337
- return await getPermit2Signature(config, intentOp, signers, targetChain, validator, isRoot);
349
+ return await getPermit2Signatures(config, intentOp, signers, targetChain, validator, isRoot);
338
350
  }
339
- return await getCompactSignature(config, intentOp, signers, targetChain, validator, isRoot);
351
+ const signature = await getCompactSignature(config, intentOp, signers, targetChain, validator, isRoot);
352
+ return {
353
+ originSignatures: Array(intentOp.elements.length).fill(signature),
354
+ destinationSignature: signature,
355
+ };
340
356
  }
341
- async function getPermit2Signature(config, intentOp, signers, targetChain, validator, isRoot) {
342
- const typedData = (0, permit2_1.getTypedData)(intentOp);
343
- return await signIntentTypedData(config, signers, targetChain, validator, isRoot, typedData);
357
+ async function getMultiChainOpsSignature(config, intentOp, signers, targetChain, validator, isRoot) {
358
+ const address = (0, accounts_1.getAddress)(config);
359
+ const intentExecutor = (0, modules_1.getIntentExecutor)(config);
360
+ const typedData = (0, multiChainOps_1.getTypedData)(address, intentExecutor.address, intentOp);
361
+ const signature = await signIntentTypedData(config, signers, targetChain, validator, isRoot, typedData);
362
+ return signature;
363
+ }
364
+ async function getPermit2Signatures(config, intentOp, signers, targetChain, validator, isRoot) {
365
+ const originSignatures = [];
366
+ for (const element of intentOp.elements) {
367
+ const typedData = (0, permit2_1.getTypedData)(element, BigInt(intentOp.nonce), BigInt(intentOp.expires));
368
+ const signature = await signIntentTypedData(config, signers, targetChain, validator, isRoot, typedData);
369
+ originSignatures.push(signature);
370
+ }
371
+ return {
372
+ originSignatures,
373
+ destinationSignature: originSignatures[0],
374
+ };
344
375
  }
345
376
  async function getCompactSignature(config, intentOp, signers, targetChain, validator, isRoot) {
346
377
  const typedData = (0, compact_1.getCompactTypedData)(intentOp);
@@ -413,8 +444,8 @@ async function submitUserOp(config, chain, userOp, signature) {
413
444
  chain: chain.id,
414
445
  };
415
446
  }
416
- async function submitIntent(config, sourceChains, targetChain, intentOp, signature, authorizations) {
417
- return submitIntentInternal(config, sourceChains, targetChain, intentOp, signature, authorizations);
447
+ async function submitIntent(config, sourceChains, targetChain, intentOp, originSignatures, destinationSignature, authorizations, dryRun) {
448
+ return submitIntentInternal(config, sourceChains, targetChain, intentOp, originSignatures, destinationSignature, authorizations, dryRun);
418
449
  }
419
450
  function getOrchestratorByChain(chainId, apiKey, orchestratorUrl) {
420
451
  if (orchestratorUrl) {
@@ -425,14 +456,11 @@ function getOrchestratorByChain(chainId, apiKey, orchestratorUrl) {
425
456
  : consts_1.PROD_ORCHESTRATOR_URL;
426
457
  return (0, orchestrator_1.getOrchestrator)(apiKey, defaultOrchestratorUrl);
427
458
  }
428
- async function simulateIntent(config, sourceChains, targetChain, intentOp, signature, authorizations) {
429
- return simulateIntentInternal(config, sourceChains, targetChain, intentOp, signature, authorizations);
430
- }
431
- function createSignedIntentOp(intentOp, signature, authorizations) {
459
+ function createSignedIntentOp(intentOp, originSignatures, destinationSignature, authorizations) {
432
460
  return {
433
461
  ...intentOp,
434
- originSignatures: Array(intentOp.elements.length).fill(signature),
435
- destinationSignature: signature,
462
+ originSignatures,
463
+ destinationSignature,
436
464
  signedAuthorizations: authorizations.length > 0
437
465
  ? authorizations.map((authorization) => ({
438
466
  chainId: authorization.chainId,
@@ -445,10 +473,10 @@ function createSignedIntentOp(intentOp, signature, authorizations) {
445
473
  : undefined,
446
474
  };
447
475
  }
448
- async function submitIntentInternal(config, sourceChains, targetChain, intentOp, signature, authorizations) {
449
- const signedIntentOp = createSignedIntentOp(intentOp, signature, authorizations);
476
+ async function submitIntentInternal(config, sourceChains, targetChain, intentOp, originSignatures, destinationSignature, authorizations, dryRun) {
477
+ const signedIntentOp = createSignedIntentOp(intentOp, originSignatures, destinationSignature, authorizations);
450
478
  const orchestrator = getOrchestratorByChain(targetChain.id, config.apiKey, config.endpointUrl);
451
- const intentResults = await orchestrator.submitIntent(signedIntentOp);
479
+ const intentResults = await orchestrator.submitIntent(signedIntentOp, dryRun);
452
480
  return {
453
481
  type: 'intent',
454
482
  id: BigInt(intentResults.result.id),
@@ -456,12 +484,6 @@ async function submitIntentInternal(config, sourceChains, targetChain, intentOp,
456
484
  targetChain: targetChain.id,
457
485
  };
458
486
  }
459
- async function simulateIntentInternal(config, _sourceChains, targetChain, intentOp, signature, authorizations) {
460
- const signedIntentOp = createSignedIntentOp(intentOp, signature, authorizations);
461
- const orchestrator = getOrchestratorByChain(targetChain.id, config.apiKey, config.endpointUrl);
462
- const simulationResults = await orchestrator.simulateIntent(signedIntentOp);
463
- return simulationResults;
464
- }
465
487
  async function getValidatorAccount(config, signers, publicClient, chain) {
466
488
  if (!signers) {
467
489
  return (0, accounts_1.getSmartAccount)(config, publicClient, chain);
@@ -539,7 +561,7 @@ function createAccountAccessList(sourceChains, sourceAssets) {
539
561
  }
540
562
  return { chainTokens: sourceAssets };
541
563
  }
542
- async function getSetupOperationsAndDelegations(config, chain, accountAddress, eip7702InitSignature) {
564
+ async function getSetupOperationsAndDelegations(config, accountAddress, eip7702InitSignature) {
543
565
  const initCode = (0, accounts_1.getInitCode)(config);
544
566
  if (config.account?.type === 'eoa') {
545
567
  return {
@@ -567,12 +589,6 @@ async function getSetupOperationsAndDelegations(config, chain, accountAddress, e
567
589
  };
568
590
  }
569
591
  else if (initCode) {
570
- const isAccountDeployed = await (0, accounts_1.isDeployed)(config, chain);
571
- if (isAccountDeployed) {
572
- return {
573
- setupOps: [],
574
- };
575
- }
576
592
  // Contract account with init code
577
593
  return {
578
594
  setupOps: [
@@ -2,16 +2,18 @@ import type { Address, Chain, HashTypedDataParameters, Hex, SignableMessage, Sig
2
2
  import type { UserOperationReceipt } from 'viem/account-abstraction';
3
3
  import { deployStandaloneWithEoa as deployStandaloneWithEoaInternal } from './accounts';
4
4
  import { walletClientToAccount } from './accounts/walletClient';
5
- import { encodeSmartSessionSignature } from './actions/smart-session';
6
5
  import { type TransactionResult, type TransactionStatus, type UserOperationResult } from './execution';
7
6
  import { type BatchPermit2Result, checkERC20AllowanceDirect, getPermit2Address, type MultiChainPermit2Config, type MultiChainPermit2Result, signPermit2Batch, signPermit2Sequential } from './execution/permit2';
8
7
  import { type SessionDetails } from './execution/smart-session';
9
8
  import { type IntentRoute, type PreparedTransactionData, type PreparedUserOperationData, type SignedTransactionData, type SignedUserOperationData } from './execution/utils';
10
- import { getSupportedTokens, getTokenAddress, type IntentCost, type IntentInput, type IntentOp, type IntentOpStatus, type IntentResult, type Portfolio, type SettlementSystem, type SignedIntentOp } from './orchestrator';
9
+ import { getSupportedTokens, getTokenAddress, type IntentCost, type IntentInput, type IntentOp, type IntentOpStatus, type Portfolio, type SettlementLayer, type SignedIntentOp } from './orchestrator';
11
10
  import type { AccountProviderConfig, AccountType, BundlerConfig, Call, CallInput, MultiFactorValidatorConfig, OwnableValidatorConfig, OwnerSet, PaymasterConfig, Policy, ProviderConfig, Recovery, RhinestoneAccountConfig, Session, SignerSet, TokenRequest, TokenSymbol, Transaction, UniversalActionPolicyParamCondition, UserOperationTransaction, WebauthnValidatorConfig } from './types';
12
11
  interface RhinestoneAccount {
13
12
  config: RhinestoneAccountConfig;
14
- deploy: (chain: Chain, session?: Session) => Promise<boolean>;
13
+ deploy: (chain: Chain, params?: {
14
+ session?: Session;
15
+ sponsored?: boolean;
16
+ }) => Promise<boolean>;
15
17
  isDeployed: (chain: Chain) => Promise<boolean>;
16
18
  setup: (chain: Chain) => Promise<boolean>;
17
19
  deployStandaloneWithEoa: (chain: Chain, config: RhinestoneAccountConfig, deployer: Account) => Promise<void>;
@@ -22,7 +24,6 @@ interface RhinestoneAccount {
22
24
  signMessage: (message: SignableMessage, chain: Chain, signers: SignerSet | undefined) => Promise<Hex>;
23
25
  signTypedData: <typedData extends TypedData | Record<string, unknown> = TypedData, primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData>(parameters: HashTypedDataParameters<typedData, primaryType>, chain: Chain, signers: SignerSet | undefined) => Promise<Hex>;
24
26
  submitTransaction: (signedTransaction: SignedTransactionData, authorizations?: SignedAuthorizationList) => Promise<TransactionResult>;
25
- simulateTransaction: (signedTransaction: SignedTransactionData, authorizations?: SignedAuthorizationList) => Promise<IntentResult>;
26
27
  sendTransaction: (transaction: Transaction) => Promise<TransactionResult>;
27
28
  prepareUserOperation: (transaction: UserOperationTransaction) => Promise<PreparedUserOperationData>;
28
29
  signUserOperation: (preparedUserOperation: PreparedUserOperationData) => Promise<SignedUserOperationData>;
@@ -56,8 +57,8 @@ declare class RhinestoneSDK {
56
57
  });
57
58
  createAccount(config: RhinestoneAccountConfig): Promise<RhinestoneAccount>;
58
59
  }
59
- export { RhinestoneSDK, walletClientToAccount, encodeSmartSessionSignature, getSupportedTokens, getTokenAddress, deployStandaloneWithEoaInternal as deployStandaloneWithEoa, checkERC20AllowanceDirect, getPermit2Address, signPermit2Batch, signPermit2Sequential, };
60
- export type { RhinestoneAccount, AccountType, RhinestoneAccountConfig, AccountProviderConfig, ProviderConfig, BundlerConfig, PaymasterConfig, Transaction, TokenSymbol, CallInput, Call, TokenRequest, OwnerSet, OwnableValidatorConfig, WebauthnValidatorConfig, MultiFactorValidatorConfig, SignerSet, Session, Recovery, Policy, UniversalActionPolicyParamCondition, PreparedTransactionData, SignedTransactionData, TransactionResult, PreparedUserOperationData, SignedUserOperationData, UserOperationResult, IntentCost, IntentInput, IntentOp, IntentOpStatus, IntentRoute, SettlementSystem, SignedIntentOp, Portfolio, MultiChainPermit2Config, MultiChainPermit2Result, BatchPermit2Result, };
60
+ export { RhinestoneSDK, walletClientToAccount, getSupportedTokens, getTokenAddress, deployStandaloneWithEoaInternal as deployStandaloneWithEoa, checkERC20AllowanceDirect, getPermit2Address, signPermit2Batch, signPermit2Sequential, };
61
+ export type { RhinestoneAccount, AccountType, RhinestoneAccountConfig, AccountProviderConfig, ProviderConfig, BundlerConfig, PaymasterConfig, Transaction, TokenSymbol, CallInput, Call, TokenRequest, OwnerSet, OwnableValidatorConfig, WebauthnValidatorConfig, MultiFactorValidatorConfig, SignerSet, Session, Recovery, Policy, UniversalActionPolicyParamCondition, PreparedTransactionData, SignedTransactionData, TransactionResult, PreparedUserOperationData, SignedUserOperationData, UserOperationResult, IntentCost, IntentInput, IntentOp, IntentOpStatus, IntentRoute, SettlementLayer, SignedIntentOp, Portfolio, MultiChainPermit2Config, MultiChainPermit2Result, BatchPermit2Result, };
61
62
  export { generateCredentialId, getCredentialIds, hasCredentialById, hasCredential, addCredential, removeCredential, setThreshold, getCredentialInfo, getThreshold, getCredentials, WEBAUTHN_VALIDATOR_ABI, } from './modules/validators/webauthn-contract';
62
63
  export { getOrchestrator } from './orchestrator';
63
64
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -1,19 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getOrchestrator = exports.WEBAUTHN_VALIDATOR_ABI = exports.getCredentials = exports.getThreshold = exports.getCredentialInfo = exports.setThreshold = exports.removeCredential = exports.addCredential = exports.hasCredential = exports.hasCredentialById = exports.getCredentialIds = exports.generateCredentialId = exports.signPermit2Sequential = exports.signPermit2Batch = exports.getPermit2Address = exports.checkERC20AllowanceDirect = exports.deployStandaloneWithEoa = exports.getTokenAddress = exports.getSupportedTokens = exports.encodeSmartSessionSignature = exports.walletClientToAccount = exports.RhinestoneSDK = void 0;
3
+ exports.getOrchestrator = exports.WEBAUTHN_VALIDATOR_ABI = exports.getCredentials = exports.getThreshold = exports.getCredentialInfo = exports.setThreshold = exports.removeCredential = exports.addCredential = exports.hasCredential = exports.hasCredentialById = exports.getCredentialIds = exports.generateCredentialId = exports.signPermit2Sequential = exports.signPermit2Batch = exports.getPermit2Address = exports.checkERC20AllowanceDirect = exports.deployStandaloneWithEoa = exports.getTokenAddress = exports.getSupportedTokens = exports.walletClientToAccount = exports.RhinestoneSDK = void 0;
4
4
  const accounts_1 = require("./accounts");
5
5
  Object.defineProperty(exports, "deployStandaloneWithEoa", { enumerable: true, get: function () { return accounts_1.deployStandaloneWithEoa; } });
6
6
  const walletClient_1 = require("./accounts/walletClient");
7
7
  Object.defineProperty(exports, "walletClientToAccount", { enumerable: true, get: function () { return walletClient_1.walletClientToAccount; } });
8
- const smart_session_1 = require("./actions/smart-session");
9
- Object.defineProperty(exports, "encodeSmartSessionSignature", { enumerable: true, get: function () { return smart_session_1.encodeSmartSessionSignature; } });
10
8
  const execution_1 = require("./execution");
11
9
  const permit2_1 = require("./execution/permit2");
12
10
  Object.defineProperty(exports, "checkERC20AllowanceDirect", { enumerable: true, get: function () { return permit2_1.checkERC20AllowanceDirect; } });
13
11
  Object.defineProperty(exports, "getPermit2Address", { enumerable: true, get: function () { return permit2_1.getPermit2Address; } });
14
12
  Object.defineProperty(exports, "signPermit2Batch", { enumerable: true, get: function () { return permit2_1.signPermit2Batch; } });
15
13
  Object.defineProperty(exports, "signPermit2Sequential", { enumerable: true, get: function () { return permit2_1.signPermit2Sequential; } });
16
- const smart_session_2 = require("./execution/smart-session");
14
+ const smart_session_1 = require("./execution/smart-session");
17
15
  const utils_1 = require("./execution/utils");
18
16
  const modules_1 = require("./modules");
19
17
  const orchestrator_1 = require("./orchestrator");
@@ -38,8 +36,8 @@ async function createRhinestoneAccount(config) {
38
36
  * @param chain Chain to deploy the account on
39
37
  * @param session Session to deploy the account on (optional)
40
38
  */
41
- function deploy(chain, session) {
42
- return (0, accounts_1.deploy)(config, chain, session);
39
+ function deploy(chain, params) {
40
+ return (0, accounts_1.deploy)(config, chain, params);
43
41
  }
44
42
  /**
45
43
  * Checks if the account is deployed on a given chain
@@ -120,9 +118,10 @@ async function createRhinestoneAccount(config) {
120
118
  * @returns transaction result object (a UserOp hash)
121
119
  * @see {@link signTransaction} to sign the transaction data
122
120
  * @see {@link signAuthorizations} to sign the required EIP-7702 authorizations
121
+ * @see {@link dryRun} true when intent is not executed onchain (internal use only)
123
122
  */
124
- function submitTransaction(signedTransaction, authorizations) {
125
- return (0, utils_1.submitTransaction)(config, signedTransaction, authorizations ?? []);
123
+ function submitTransaction(signedTransaction, authorizations, dryRun) {
124
+ return (0, utils_1.submitTransaction)(config, signedTransaction, authorizations ?? [], dryRun);
126
125
  }
127
126
  /**
128
127
  * Prepare a user operation data
@@ -150,16 +149,6 @@ async function createRhinestoneAccount(config) {
150
149
  function submitUserOperation(signedUserOperation) {
151
150
  return (0, utils_1.submitUserOperation)(config, signedUserOperation);
152
151
  }
153
- /**
154
- * Simulate a transaction
155
- * @param signedTransaction Signed transaction data
156
- * @param authorizations EIP-7702 authorizations to simulate (optional)
157
- * @returns simulation result
158
- * @see {@link sendTransaction} to send the transaction
159
- */
160
- function simulateTransaction(signedTransaction, authorizations) {
161
- return (0, utils_1.simulateTransaction)(config, signedTransaction, authorizations ?? []);
162
- }
163
152
  /**
164
153
  * Sign and send a transaction
165
154
  * @param transaction Transaction to send
@@ -219,12 +208,12 @@ async function createRhinestoneAccount(config) {
219
208
  * @returns List of account validators
220
209
  */
221
210
  function getValidators(chain) {
222
- const accountType = config.account?.type || 'nexus';
211
+ const accountType = (0, accounts_1.getAccountProvider)(config).type;
223
212
  const account = getAddress();
224
213
  return (0, modules_1.getValidators)(accountType, account, chain, config.provider);
225
214
  }
226
215
  function getSessionDetails(sessions, sessionIndex, signature) {
227
- return (0, smart_session_2.getSessionDetails)(config, sessions, sessionIndex, signature);
216
+ return (0, smart_session_1.getSessionDetails)(config, sessions, sessionIndex, signature);
228
217
  }
229
218
  /**
230
219
  * Check ERC20 allowance for the account owner and token (using Permit2 as spender)
@@ -251,7 +240,6 @@ async function createRhinestoneAccount(config) {
251
240
  signMessage,
252
241
  signTypedData,
253
242
  submitTransaction,
254
- simulateTransaction,
255
243
  prepareUserOperation,
256
244
  signUserOperation,
257
245
  submitUserOperation,
@@ -48,7 +48,7 @@ const index_1 = require("./index");
48
48
  ],
49
49
  };
50
50
  const setup = (0, index_1.getSetup)(config);
51
- const smartSessionValidator = setup.validators.find((validator) => validator.address === '0x00000000002b0ecfbd0496ee71e01257da0e37de');
51
+ const smartSessionValidator = setup.validators.find((validator) => validator.address === '0x00000000008bdaba73cd9815d79069c247eb4bda');
52
52
  if (!smartSessionValidator) {
53
53
  return;
54
54
  }
@@ -11,10 +11,10 @@ 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':
15
14
  case 'safe':
16
15
  case 'startale':
17
- case 'nexus': {
16
+ case 'nexus':
17
+ case 'passport': {
18
18
  const validators = await publicClient.readContract({
19
19
  abi: [
20
20
  {
@@ -1,5 +1,5 @@
1
- import { type Address, type Chain, type Hex, type PublicClient } from 'viem';
2
- import type { AccountType, ProviderConfig, RhinestoneAccountConfig, Session } from '../../types';
1
+ import { type Address, type Hex, type PublicClient } from 'viem';
2
+ import type { AccountType, RhinestoneAccountConfig, Session } from '../../types';
3
3
  import { type Module } from '../common';
4
4
  interface SessionData {
5
5
  sessionValidator: Address;
@@ -82,8 +82,8 @@ declare const SMART_SESSIONS_VALIDATOR_ADDRESS: Address;
82
82
  declare const SMART_SESSION_MODE_USE = "0x00";
83
83
  declare const SMART_SESSION_MODE_ENABLE = "0x01";
84
84
  declare const SMART_SESSION_MODE_UNSAFE_ENABLE = "0x02";
85
- declare function getSessionData(chain: Chain, session: Session, provider?: ProviderConfig): Promise<SessionData>;
86
- declare function getEnableSessionCall(chain: Chain, session: Session, provider?: ProviderConfig): Promise<{
85
+ declare function getSessionData(session: Session): Promise<SessionData>;
86
+ declare function getEnableSessionCall(session: Session): Promise<{
87
87
  to: `0x${string}`;
88
88
  data: `0x${string}`;
89
89
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/validators/smart-sessions.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAKV,KAAK,GAAG,EAGR,KAAK,YAAY,EAKlB,MAAM,MAAM,CAAA;AAMb,OAAO,KAAK,EACV,WAAW,EAEX,cAAc,EACd,uBAAuB,EACvB,OAAO,EAER,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAUjE,UAAU,WAAW;IACnB,gBAAgB,EAAE,OAAO,CAAA;IACzB,wBAAwB,EAAE,GAAG,CAAA;IAC7B,IAAI,EAAE,GAAG,CAAA;IACT,cAAc,EAAE,SAAS,YAAY,EAAE,CAAA;IACvC,eAAe,EAAE;QACf,qBAAqB,EAAE,SAAS,qBAAqB,EAAE,CAAA;QACvD,eAAe,EAAE,SAAS,aAAa,EAAE,CAAA;KAC1C,CAAA;IACD,OAAO,EAAE,SAAS,UAAU,EAAE,CAAA;IAC9B,sBAAsB,EAAE,OAAO,CAAA;CAChC;AAED,UAAU,YAAY;IACpB,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;CACd;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;CACd;AAED,UAAU,qBAAqB;IAC7B,kBAAkB,EAAE,GAAG,CAAA;IACvB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;CAC/B;AAED,UAAU,UAAU;IAClB,oBAAoB,EAAE,GAAG,CAAA;IACzB,YAAY,EAAE,OAAO,CAAA;IACrB,cAAc,EAAE,SAAS,UAAU,EAAE,CAAA;CACtC;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;CACd;AAaD,KAAK,oBAAoB,GACrB,OAAO,sBAAsB,GAC7B,OAAO,yBAAyB,GAChC,OAAO,gCAAgC,CAAA;AAE3C,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,GAAG,CAAA;CACnB;AAED,UAAU,iBAAiB;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,0BAA0B,EAAE,OAAO,CAAA;IACnC,sBAAsB,EAAE,OAAO,CAAA;IAC/B,cAAc,EAAE,SAAS,UAAU,EAAE,CAAA;IACrC,eAAe,EAAE,WAAW,CAAA;IAC5B,OAAO,EAAE,SAAS,UAAU,EAAE,CAAA;CAC/B;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,iBAAiB,CAAA;IAC9B,gBAAgB,EAAE,OAAO,CAAA;IACzB,wBAAwB,EAAE,GAAG,CAAA;IAC7B,IAAI,EAAE,GAAG,CAAA;IACT,YAAY,EAAE,OAAO,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,aAAa,CAAA;CACvB;AAED,UAAU,WAAW;IACnB,qBAAqB,EAAE,SAAS,cAAc,EAAE,CAAA;IAChD,eAAe,EAAE,SAAS,UAAU,EAAE,CAAA;CACvC;AAED,UAAU,cAAc;IACtB,kBAAkB,EAAE,GAAG,CAAA;IACvB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;CAC/B;AAED,UAAU,iBAAiB;IACzB,YAAY,EAAE,GAAG,CAAA;IACjB,WAAW,EAAE,WAAW,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,WAAW,EAAE,CAAA;IAChC,eAAe,EAAE,WAAW,CAAA;IAC5B,SAAS,EAAE,GAAG,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,QAAA,MAAM,gCAAgC,EAAE,OACM,CAAA;AAE9C,QAAA,MAAM,sBAAsB,SAAS,CAAA;AACrC,QAAA,MAAM,yBAAyB,SAAS,CAAA;AACxC,QAAA,MAAM,gCAAgC,SAAS,CAAA;AAyB/C,iBAAe,cAAc,CAC3B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,cAAc,wBAW1B;AAED,iBAAe,oBAAoB,CACjC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,cAAc;;;GAmB1B;AA0GD,iBAAS,wBAAwB,CAC/B,MAAM,EAAE,uBAAuB,GAC9B,MAAM,GAAG,IAAI,CAWf;AA8KD,iBAAe,gBAAgB,CAC7B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,GAAG,oBAiClB;AAED,iBAAS,2BAA2B,CAClC,IAAI,EAAE,oBAAoB,EAC1B,YAAY,EAAE,GAAG,EACjB,SAAS,EAAE,GAAG,EACd,iBAAiB,CAAC,EAAE,iBAAiB,iBAyBtC;AAoKD,iBAAS,eAAe,CAAC,OAAO,EAAE,OAAO,iBAyBxC;AAED,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EAChC,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACpB,2BAA2B,EAC3B,eAAe,EACf,gBAAgB,GACjB,CAAA;AACD,YAAY,EACV,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,WAAW,EACX,oBAAoB,GACrB,CAAA"}
1
+ {"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/validators/smart-sessions.ts"],"names":[],"mappings":"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"}