viem 2.57.8 → 2.57.10

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 (138) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/_cjs/clients/createClient.js +49 -4
  3. package/_cjs/clients/createClient.js.map +1 -1
  4. package/_cjs/clients/transports/fallback.js +2 -2
  5. package/_cjs/clients/transports/fallback.js.map +1 -1
  6. package/_cjs/errors/version.js +1 -1
  7. package/_cjs/errors/version.js.map +1 -1
  8. package/_cjs/experimental/erc7821/actions/supportsExecutionMode.js +1 -1
  9. package/_cjs/experimental/erc7821/actions/supportsExecutionMode.js.map +1 -1
  10. package/_cjs/op-stack/actions/getPortalVersion.js +4 -1
  11. package/_cjs/op-stack/actions/getPortalVersion.js.map +1 -1
  12. package/_cjs/tempo/Abis.js +84 -15
  13. package/_cjs/tempo/Abis.js.map +1 -1
  14. package/_cjs/tempo/Account.js +13 -11
  15. package/_cjs/tempo/Account.js.map +1 -1
  16. package/_cjs/tempo/Addresses.js +3 -3
  17. package/_cjs/tempo/Addresses.js.map +1 -1
  18. package/_cjs/tempo/Decorator.js +4 -0
  19. package/_cjs/tempo/Decorator.js.map +1 -1
  20. package/_cjs/tempo/ExecutionError.js +25 -2
  21. package/_cjs/tempo/ExecutionError.js.map +1 -1
  22. package/_cjs/tempo/Hardfork.js +12 -1
  23. package/_cjs/tempo/Hardfork.js.map +1 -1
  24. package/_cjs/tempo/Selectors.js +4 -2
  25. package/_cjs/tempo/Selectors.js.map +1 -1
  26. package/_cjs/tempo/accounts/Config.js +4 -2
  27. package/_cjs/tempo/accounts/Config.js.map +1 -1
  28. package/_cjs/tempo/accounts/Operation.js +2 -2
  29. package/_cjs/tempo/accounts/Operation.js.map +1 -1
  30. package/_cjs/tempo/actions/accessKey.js +1 -0
  31. package/_cjs/tempo/actions/accessKey.js.map +1 -1
  32. package/_cjs/tempo/actions/accounts.js +122 -7
  33. package/_cjs/tempo/actions/accounts.js.map +1 -1
  34. package/_cjs/tempo/chainConfig.js +29 -2
  35. package/_cjs/tempo/chainConfig.js.map +1 -1
  36. package/_cjs/tempo/internal/relay/accounts.js +46 -5
  37. package/_cjs/tempo/internal/relay/accounts.js.map +1 -1
  38. package/_cjs/tempo/internal/relay/feePayer.js +4 -4
  39. package/_cjs/tempo/internal/relay/feePayer.js.map +1 -1
  40. package/_cjs/utils/promise/withRetry.js +5 -1
  41. package/_cjs/utils/promise/withRetry.js.map +1 -1
  42. package/_esm/clients/createClient.js +57 -4
  43. package/_esm/clients/createClient.js.map +1 -1
  44. package/_esm/clients/transports/fallback.js +2 -2
  45. package/_esm/clients/transports/fallback.js.map +1 -1
  46. package/_esm/errors/version.js +1 -1
  47. package/_esm/errors/version.js.map +1 -1
  48. package/_esm/experimental/erc7821/actions/supportsExecutionMode.js +2 -1
  49. package/_esm/experimental/erc7821/actions/supportsExecutionMode.js.map +1 -1
  50. package/_esm/op-stack/actions/getPortalVersion.js +4 -1
  51. package/_esm/op-stack/actions/getPortalVersion.js.map +1 -1
  52. package/_esm/tempo/Abis.js +84 -15
  53. package/_esm/tempo/Abis.js.map +1 -1
  54. package/_esm/tempo/Account.js +18 -12
  55. package/_esm/tempo/Account.js.map +1 -1
  56. package/_esm/tempo/Addresses.js +3 -3
  57. package/_esm/tempo/Addresses.js.map +1 -1
  58. package/_esm/tempo/Decorator.js +4 -0
  59. package/_esm/tempo/Decorator.js.map +1 -1
  60. package/_esm/tempo/ExecutionError.js +25 -2
  61. package/_esm/tempo/ExecutionError.js.map +1 -1
  62. package/_esm/tempo/Hardfork.js +17 -2
  63. package/_esm/tempo/Hardfork.js.map +1 -1
  64. package/_esm/tempo/Selectors.js +3 -1
  65. package/_esm/tempo/Selectors.js.map +1 -1
  66. package/_esm/tempo/accounts/Config.js +5 -3
  67. package/_esm/tempo/accounts/Config.js.map +1 -1
  68. package/_esm/tempo/accounts/Operation.js +2 -2
  69. package/_esm/tempo/accounts/Operation.js.map +1 -1
  70. package/_esm/tempo/actions/accessKey.js +1 -0
  71. package/_esm/tempo/actions/accessKey.js.map +1 -1
  72. package/_esm/tempo/actions/accounts.js +279 -8
  73. package/_esm/tempo/actions/accounts.js.map +1 -1
  74. package/_esm/tempo/chainConfig.js +33 -3
  75. package/_esm/tempo/chainConfig.js.map +1 -1
  76. package/_esm/tempo/internal/relay/accounts.js +50 -5
  77. package/_esm/tempo/internal/relay/accounts.js.map +1 -1
  78. package/_esm/tempo/internal/relay/feePayer.js +4 -4
  79. package/_esm/tempo/internal/relay/feePayer.js.map +1 -1
  80. package/_esm/utils/promise/withRetry.js +6 -1
  81. package/_esm/utils/promise/withRetry.js.map +1 -1
  82. package/_types/clients/createClient.d.ts +30 -0
  83. package/_types/clients/createClient.d.ts.map +1 -1
  84. package/_types/clients/transports/fallback.d.ts.map +1 -1
  85. package/_types/errors/version.d.ts +1 -1
  86. package/_types/errors/version.d.ts.map +1 -1
  87. package/_types/experimental/erc7821/actions/supportsExecutionMode.d.ts.map +1 -1
  88. package/_types/op-stack/actions/getPortalVersion.d.ts.map +1 -1
  89. package/_types/tempo/Abis.d.ts +621 -307
  90. package/_types/tempo/Abis.d.ts.map +1 -1
  91. package/_types/tempo/Account.d.ts +24 -4
  92. package/_types/tempo/Account.d.ts.map +1 -1
  93. package/_types/tempo/Addresses.d.ts +3 -3
  94. package/_types/tempo/Addresses.d.ts.map +1 -1
  95. package/_types/tempo/Decorator.d.ts +104 -0
  96. package/_types/tempo/Decorator.d.ts.map +1 -1
  97. package/_types/tempo/ExecutionError.d.ts.map +1 -1
  98. package/_types/tempo/Hardfork.d.ts +6 -2
  99. package/_types/tempo/Hardfork.d.ts.map +1 -1
  100. package/_types/tempo/Selectors.d.ts +3 -1
  101. package/_types/tempo/Selectors.d.ts.map +1 -1
  102. package/_types/tempo/Transaction.d.ts +2 -2
  103. package/_types/tempo/Transaction.d.ts.map +1 -1
  104. package/_types/tempo/actions/accessKey.d.ts +3 -2
  105. package/_types/tempo/actions/accessKey.d.ts.map +1 -1
  106. package/_types/tempo/actions/accounts.d.ts +594 -7
  107. package/_types/tempo/actions/accounts.d.ts.map +1 -1
  108. package/_types/tempo/actions/channel.d.ts +42 -0
  109. package/_types/tempo/actions/channel.d.ts.map +1 -1
  110. package/_types/tempo/actions/reward.d.ts +14 -0
  111. package/_types/tempo/actions/reward.d.ts.map +1 -1
  112. package/_types/tempo/actions/token.d.ts +105 -0
  113. package/_types/tempo/actions/token.d.ts.map +1 -1
  114. package/_types/tempo/chainConfig.d.ts.map +1 -1
  115. package/_types/tempo/internal/relay/accounts.d.ts.map +1 -1
  116. package/_types/utils/promise/withRetry.d.ts.map +1 -1
  117. package/clients/createClient.ts +103 -5
  118. package/clients/transports/fallback.ts +8 -5
  119. package/errors/version.ts +1 -1
  120. package/experimental/erc7821/actions/supportsExecutionMode.ts +2 -1
  121. package/op-stack/actions/getPortalVersion.ts +4 -1
  122. package/package.json +2 -2
  123. package/tempo/Abis.ts +84 -15
  124. package/tempo/Account.ts +52 -16
  125. package/tempo/Addresses.ts +4 -4
  126. package/tempo/Decorator.ts +116 -0
  127. package/tempo/ExecutionError.ts +28 -2
  128. package/tempo/Hardfork.ts +16 -2
  129. package/tempo/Selectors.ts +4 -2
  130. package/tempo/Transaction.ts +2 -2
  131. package/tempo/accounts/Config.ts +5 -3
  132. package/tempo/accounts/Operation.ts +2 -2
  133. package/tempo/actions/accessKey.ts +3 -2
  134. package/tempo/actions/accounts.ts +394 -10
  135. package/tempo/chainConfig.ts +41 -3
  136. package/tempo/internal/relay/accounts.ts +62 -5
  137. package/tempo/internal/relay/feePayer.ts +4 -4
  138. package/utils/promise/withRetry.ts +7 -1
@@ -11,11 +11,101 @@ import type { Transport } from '../../clients/transports/createTransport.js';
11
11
  import type { BaseErrorType } from '../../errors/base.js';
12
12
  import type { Chain } from '../../types/chain.js';
13
13
  import type { Log } from '../../types/log.js';
14
- import type { Compute } from '../../types/utils.js';
14
+ import type { Compute, OneOf, UnionOmit } from '../../types/utils.js';
15
15
  import * as Abis from '../Abis.js';
16
16
  import type * as Errors from '../errors.js';
17
17
  import type { ReadParameters, WriteParameters } from '../internal/types.js';
18
18
  import type * as Transaction from '../Transaction.js';
19
+ /**
20
+ * Derives a configurable account address from an initial config with the
21
+ * configurable account precompile.
22
+ *
23
+ * The precompile validates the config and derives the address with the chain's
24
+ * recovery factory. To derive the address locally, use
25
+ * `AccountConfig.getAddress` or `Account.fromConfig({ address: 'infer' })`.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * import { createClient, http } from 'viem'
30
+ * import { tempo } from 'viem/chains'
31
+ * import { Actions } from 'viem/tempo'
32
+ *
33
+ * const client = createClient({
34
+ * chain: tempo,
35
+ * transport: http(),
36
+ * })
37
+ *
38
+ * const address = await Actions.accounts.deriveAccount(client, {
39
+ * owners: [{ owner: '0x...', weight: 1 }],
40
+ * threshold: 1,
41
+ * })
42
+ * ```
43
+ *
44
+ * @param client - Client.
45
+ * @param parameters - Parameters.
46
+ * @returns The configurable account address.
47
+ */
48
+ export declare function deriveAccount<chain extends Chain | undefined, account extends Account | undefined>(client: Client<Transport, chain, account>, parameters: deriveAccount.Parameters): Promise<deriveAccount.ReturnValue>;
49
+ export declare namespace deriveAccount {
50
+ type Parameters = ReadParameters & Args;
51
+ type Args = {
52
+ /** Weighted owners. Normalized into canonical address order. */
53
+ owners: AccountConfig.Config['owners'];
54
+ /** Caller-chosen 32-byte salt. Defaults to the zero salt. */
55
+ salt?: Hex.Hex | undefined;
56
+ /** Minimum total owner weight required for authorization. */
57
+ threshold: number;
58
+ };
59
+ type ReturnValue = ReadContractReturnType<typeof Abis.configurableAccount, 'deriveAccount', never>;
60
+ /**
61
+ * Defines a call to the `deriveAccount` function.
62
+ *
63
+ * Can be passed to [`multicall`](https://viem.sh/docs/contract/multicall).
64
+ *
65
+ * @param args - Arguments.
66
+ * @returns The call.
67
+ */
68
+ function call(args: Args): {
69
+ abi: [{
70
+ readonly name: "deriveAccount";
71
+ readonly type: "function";
72
+ readonly stateMutability: "pure";
73
+ readonly inputs: readonly [{
74
+ readonly type: "bytes32";
75
+ readonly name: "salt";
76
+ }, {
77
+ readonly type: "uint8";
78
+ readonly name: "threshold";
79
+ }, {
80
+ readonly type: "tuple[]";
81
+ readonly name: "owners";
82
+ readonly components: readonly [{
83
+ readonly type: "address";
84
+ readonly name: "owner";
85
+ }, {
86
+ readonly type: "uint8";
87
+ readonly name: "weight";
88
+ }];
89
+ }];
90
+ readonly outputs: readonly [{
91
+ readonly type: "address";
92
+ readonly name: "account";
93
+ }];
94
+ }];
95
+ functionName: "deriveAccount";
96
+ } & {
97
+ args: readonly [salt: `0x${string}`, threshold: number, owners: readonly {
98
+ owner: `0x${string}`;
99
+ weight: number;
100
+ }[]];
101
+ } & {
102
+ address: Address;
103
+ } & {
104
+ data: import("../../index.js").Hex;
105
+ to: Address;
106
+ };
107
+ type ErrorType = Errors.ExecutionErrorType | BaseErrorType;
108
+ }
19
109
  /**
20
110
  * Gets the current cached config for a configurable account.
21
111
  *
@@ -77,7 +167,7 @@ export declare namespace getConfigCommitment {
77
167
  /** Initialized configurable account address. */
78
168
  account: Address;
79
169
  };
80
- type ReturnValue = ReadContractReturnType<typeof Abis.nativeMultisig, 'getConfigCommitment', never>;
170
+ type ReturnValue = ReadContractReturnType<typeof Abis.configurableAccount, 'getConfigCommitment', never>;
81
171
  /**
82
172
  * Defines a call to the `getConfigCommitment` function.
83
173
  *
@@ -283,7 +373,7 @@ export declare namespace updateConfig {
283
373
  to: Address;
284
374
  };
285
375
  /**
286
- * Extracts the `MultisigConfigUpdated` event from logs.
376
+ * Extracts the `ConfigurableAccountConfigUpdated` event from logs.
287
377
  *
288
378
  * @param logs - Transaction logs.
289
379
  * @returns The configuration update event.
@@ -368,7 +458,29 @@ export declare namespace updateConfig {
368
458
  }];
369
459
  readonly outputs: readonly [];
370
460
  }, {
371
- readonly name: "MultisigConfigUpdated";
461
+ readonly name: "upgradeAccount";
462
+ readonly type: "function";
463
+ readonly stateMutability: "nonpayable";
464
+ readonly inputs: readonly [{
465
+ readonly type: "uint8";
466
+ readonly name: "threshold";
467
+ }, {
468
+ readonly type: "tuple[]";
469
+ readonly name: "owners";
470
+ readonly components: readonly [{
471
+ readonly type: "address";
472
+ readonly name: "owner";
473
+ }, {
474
+ readonly type: "uint8";
475
+ readonly name: "weight";
476
+ }];
477
+ }];
478
+ readonly outputs: readonly [{
479
+ readonly type: "bytes32";
480
+ readonly name: "commitment";
481
+ }];
482
+ }, {
483
+ readonly name: "ConfigurableAccountConfigUpdated";
372
484
  readonly type: "event";
373
485
  readonly inputs: readonly [{
374
486
  readonly type: "address";
@@ -394,6 +506,34 @@ export declare namespace updateConfig {
394
506
  readonly name: "weight";
395
507
  }];
396
508
  }];
509
+ }, {
510
+ readonly name: "AccountUpgraded";
511
+ readonly type: "event";
512
+ readonly inputs: readonly [{
513
+ readonly type: "address";
514
+ readonly name: "account";
515
+ readonly indexed: true;
516
+ }, {
517
+ readonly type: "bytes32";
518
+ readonly name: "commitment";
519
+ readonly indexed: true;
520
+ }, {
521
+ readonly type: "bytes32";
522
+ readonly name: "salt";
523
+ }, {
524
+ readonly type: "uint8";
525
+ readonly name: "threshold";
526
+ }, {
527
+ readonly type: "tuple[]";
528
+ readonly name: "owners";
529
+ readonly components: readonly [{
530
+ readonly type: "address";
531
+ readonly name: "owner";
532
+ }, {
533
+ readonly type: "uint8";
534
+ readonly name: "weight";
535
+ }];
536
+ }];
397
537
  }, {
398
538
  readonly name: "InvalidAccount";
399
539
  readonly type: "error";
@@ -407,7 +547,7 @@ export declare namespace updateConfig {
407
547
  readonly type: "error";
408
548
  readonly inputs: readonly [];
409
549
  }, {
410
- readonly name: "InvalidMultisigOwner";
550
+ readonly name: "InvalidConfigurableAccountOwner";
411
551
  readonly type: "error";
412
552
  readonly inputs: readonly [];
413
553
  }, {
@@ -427,10 +567,26 @@ export declare namespace updateConfig {
427
567
  readonly type: "error";
428
568
  readonly inputs: readonly [];
429
569
  }, {
430
- readonly name: "UnauthorizedMultisigCaller";
570
+ readonly name: "UnauthorizedConfigurableAccountCaller";
571
+ readonly type: "error";
572
+ readonly inputs: readonly [];
573
+ }, {
574
+ readonly name: "PrimitiveRootRequired";
575
+ readonly type: "error";
576
+ readonly inputs: readonly [];
577
+ }, {
578
+ readonly name: "UpgradeMustBeOnlyCall";
579
+ readonly type: "error";
580
+ readonly inputs: readonly [];
581
+ }, {
582
+ readonly name: "AccountAlreadyConfigurable";
431
583
  readonly type: "error";
432
584
  readonly inputs: readonly [];
433
- }], "MultisigConfigUpdated">;
585
+ }, {
586
+ readonly name: "AccountHasCode";
587
+ readonly type: "error";
588
+ readonly inputs: readonly [];
589
+ }], "ConfigurableAccountConfigUpdated">;
434
590
  }
435
591
  /**
436
592
  * Replaces a configurable account configuration and waits for confirmation.
@@ -474,4 +630,435 @@ export declare namespace updateConfigSync {
474
630
  }>;
475
631
  type ErrorType = updateConfig.ErrorType;
476
632
  }
633
+ /**
634
+ * Upgrades an existing account to a configurable account in place
635
+ * ([TIP-1113](https://tips.sh/1113)).
636
+ *
637
+ * The account keeps its address and installs `owners` and `threshold`. The
638
+ * root key must sign the upgrade, which is sent as the transaction's only
639
+ * call. After the upgrade, the root key can no longer sign for the account.
640
+ *
641
+ * @example
642
+ * ```ts
643
+ * import { createClient, http } from 'viem'
644
+ * import { tempoLocalnet } from 'viem/chains'
645
+ * import { Account, Actions } from 'viem/tempo'
646
+ *
647
+ * const root = Account.fromSecp256k1('0x...')
648
+ * const client = createClient({
649
+ * chain: tempoLocalnet,
650
+ * transport: http(),
651
+ * })
652
+ *
653
+ * const hash = await Actions.accounts.upgrade(client, {
654
+ * account: root,
655
+ * owners: [{ owner: '0x...', weight: 1 }],
656
+ * threshold: 1,
657
+ * })
658
+ * ```
659
+ *
660
+ * @param client - Client.
661
+ * @param parameters - Parameters.
662
+ * @returns The transaction hash.
663
+ */
664
+ export declare function upgrade<chain extends Chain | undefined, account extends Account | undefined>(client: Client<Transport, chain, account>, parameters: upgrade.Parameters<chain, account>): Promise<upgrade.ReturnValue>;
665
+ export declare namespace upgrade {
666
+ type Parameters<chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = UnionOmit<WriteParameters<chain, account>, 'keyAuthorization' | 'owner'> & Args;
667
+ type Args = Pick<AccountConfig.Config, 'owners' | 'threshold'>;
668
+ type ReturnValue = WriteContractReturnType;
669
+ type ErrorType = Errors.ExecutionErrorType | BaseErrorType;
670
+ /** @internal */
671
+ function inner<action extends typeof writeContract | typeof writeContractSync, chain extends Chain | undefined, account extends Account | undefined>(action: action, client: Client<Transport, chain, account>, parameters: Parameters<chain, account>): Promise<ReturnType<action>>;
672
+ /**
673
+ * Defines a call to the `upgradeAccount` function.
674
+ *
675
+ * The call must be the only call in a transaction signed by the account's
676
+ * root key.
677
+ *
678
+ * @example
679
+ * ```ts
680
+ * import { Actions } from 'viem/tempo'
681
+ *
682
+ * const call = Actions.accounts.upgrade.call({
683
+ * owners: [{ owner: '0x...', weight: 1 }],
684
+ * threshold: 1,
685
+ * })
686
+ * ```
687
+ *
688
+ * @param args - Owners and threshold to install.
689
+ * @returns The call.
690
+ */
691
+ function call(args: Args): {
692
+ abi: [{
693
+ readonly name: "upgradeAccount";
694
+ readonly type: "function";
695
+ readonly stateMutability: "nonpayable";
696
+ readonly inputs: readonly [{
697
+ readonly type: "uint8";
698
+ readonly name: "threshold";
699
+ }, {
700
+ readonly type: "tuple[]";
701
+ readonly name: "owners";
702
+ readonly components: readonly [{
703
+ readonly type: "address";
704
+ readonly name: "owner";
705
+ }, {
706
+ readonly type: "uint8";
707
+ readonly name: "weight";
708
+ }];
709
+ }];
710
+ readonly outputs: readonly [{
711
+ readonly type: "bytes32";
712
+ readonly name: "commitment";
713
+ }];
714
+ }];
715
+ functionName: "upgradeAccount";
716
+ } & {
717
+ args: readonly [threshold: number, owners: readonly {
718
+ owner: `0x${string}`;
719
+ weight: number;
720
+ }[]];
721
+ } & {
722
+ address: Address;
723
+ } & {
724
+ data: import("../../index.js").Hex;
725
+ to: Address;
726
+ };
727
+ /**
728
+ * Extracts the `AccountUpgraded` event from logs.
729
+ *
730
+ * @param logs - Transaction logs.
731
+ * @returns The account upgrade event.
732
+ */
733
+ function extractEvent(logs: Log[]): Log<bigint, number, false, undefined, true, readonly [{
734
+ readonly name: "deriveAccount";
735
+ readonly type: "function";
736
+ readonly stateMutability: "pure";
737
+ readonly inputs: readonly [{
738
+ readonly type: "bytes32";
739
+ readonly name: "salt";
740
+ }, {
741
+ readonly type: "uint8";
742
+ readonly name: "threshold";
743
+ }, {
744
+ readonly type: "tuple[]";
745
+ readonly name: "owners";
746
+ readonly components: readonly [{
747
+ readonly type: "address";
748
+ readonly name: "owner";
749
+ }, {
750
+ readonly type: "uint8";
751
+ readonly name: "weight";
752
+ }];
753
+ }];
754
+ readonly outputs: readonly [{
755
+ readonly type: "address";
756
+ readonly name: "account";
757
+ }];
758
+ }, {
759
+ readonly name: "getConfigCommitment";
760
+ readonly type: "function";
761
+ readonly stateMutability: "view";
762
+ readonly inputs: readonly [{
763
+ readonly type: "address";
764
+ readonly name: "account";
765
+ }];
766
+ readonly outputs: readonly [{
767
+ readonly type: "bytes32";
768
+ readonly name: "commitment";
769
+ }];
770
+ }, {
771
+ readonly name: "updateConfig";
772
+ readonly type: "function";
773
+ readonly stateMutability: "nonpayable";
774
+ readonly inputs: readonly [{
775
+ readonly type: "tuple";
776
+ readonly name: "current";
777
+ readonly components: readonly [{
778
+ readonly type: "bytes32";
779
+ readonly name: "salt";
780
+ }, {
781
+ readonly type: "uint64";
782
+ readonly name: "version";
783
+ }, {
784
+ readonly type: "uint8";
785
+ readonly name: "threshold";
786
+ }, {
787
+ readonly type: "tuple[]";
788
+ readonly name: "owners";
789
+ readonly components: readonly [{
790
+ readonly type: "address";
791
+ readonly name: "owner";
792
+ }, {
793
+ readonly type: "uint8";
794
+ readonly name: "weight";
795
+ }];
796
+ }];
797
+ }, {
798
+ readonly type: "uint8";
799
+ readonly name: "threshold";
800
+ }, {
801
+ readonly type: "tuple[]";
802
+ readonly name: "owners";
803
+ readonly components: readonly [{
804
+ readonly type: "address";
805
+ readonly name: "owner";
806
+ }, {
807
+ readonly type: "uint8";
808
+ readonly name: "weight";
809
+ }];
810
+ }];
811
+ readonly outputs: readonly [];
812
+ }, {
813
+ readonly name: "upgradeAccount";
814
+ readonly type: "function";
815
+ readonly stateMutability: "nonpayable";
816
+ readonly inputs: readonly [{
817
+ readonly type: "uint8";
818
+ readonly name: "threshold";
819
+ }, {
820
+ readonly type: "tuple[]";
821
+ readonly name: "owners";
822
+ readonly components: readonly [{
823
+ readonly type: "address";
824
+ readonly name: "owner";
825
+ }, {
826
+ readonly type: "uint8";
827
+ readonly name: "weight";
828
+ }];
829
+ }];
830
+ readonly outputs: readonly [{
831
+ readonly type: "bytes32";
832
+ readonly name: "commitment";
833
+ }];
834
+ }, {
835
+ readonly name: "ConfigurableAccountConfigUpdated";
836
+ readonly type: "event";
837
+ readonly inputs: readonly [{
838
+ readonly type: "address";
839
+ readonly name: "account";
840
+ readonly indexed: true;
841
+ }, {
842
+ readonly type: "bytes32";
843
+ readonly name: "salt";
844
+ }, {
845
+ readonly type: "uint64";
846
+ readonly name: "version";
847
+ }, {
848
+ readonly type: "uint8";
849
+ readonly name: "threshold";
850
+ }, {
851
+ readonly type: "tuple[]";
852
+ readonly name: "owners";
853
+ readonly components: readonly [{
854
+ readonly type: "address";
855
+ readonly name: "owner";
856
+ }, {
857
+ readonly type: "uint8";
858
+ readonly name: "weight";
859
+ }];
860
+ }];
861
+ }, {
862
+ readonly name: "AccountUpgraded";
863
+ readonly type: "event";
864
+ readonly inputs: readonly [{
865
+ readonly type: "address";
866
+ readonly name: "account";
867
+ readonly indexed: true;
868
+ }, {
869
+ readonly type: "bytes32";
870
+ readonly name: "commitment";
871
+ readonly indexed: true;
872
+ }, {
873
+ readonly type: "bytes32";
874
+ readonly name: "salt";
875
+ }, {
876
+ readonly type: "uint8";
877
+ readonly name: "threshold";
878
+ }, {
879
+ readonly type: "tuple[]";
880
+ readonly name: "owners";
881
+ readonly components: readonly [{
882
+ readonly type: "address";
883
+ readonly name: "owner";
884
+ }, {
885
+ readonly type: "uint8";
886
+ readonly name: "weight";
887
+ }];
888
+ }];
889
+ }, {
890
+ readonly name: "InvalidAccount";
891
+ readonly type: "error";
892
+ readonly inputs: readonly [];
893
+ }, {
894
+ readonly name: "InvalidConfig";
895
+ readonly type: "error";
896
+ readonly inputs: readonly [];
897
+ }, {
898
+ readonly name: "InvalidThreshold";
899
+ readonly type: "error";
900
+ readonly inputs: readonly [];
901
+ }, {
902
+ readonly name: "InvalidConfigurableAccountOwner";
903
+ readonly type: "error";
904
+ readonly inputs: readonly [];
905
+ }, {
906
+ readonly name: "InvalidWeight";
907
+ readonly type: "error";
908
+ readonly inputs: readonly [];
909
+ }, {
910
+ readonly name: "TooManyOwners";
911
+ readonly type: "error";
912
+ readonly inputs: readonly [];
913
+ }, {
914
+ readonly name: "DuplicateOwner";
915
+ readonly type: "error";
916
+ readonly inputs: readonly [];
917
+ }, {
918
+ readonly name: "InvalidOwnerOrder";
919
+ readonly type: "error";
920
+ readonly inputs: readonly [];
921
+ }, {
922
+ readonly name: "UnauthorizedConfigurableAccountCaller";
923
+ readonly type: "error";
924
+ readonly inputs: readonly [];
925
+ }, {
926
+ readonly name: "PrimitiveRootRequired";
927
+ readonly type: "error";
928
+ readonly inputs: readonly [];
929
+ }, {
930
+ readonly name: "UpgradeMustBeOnlyCall";
931
+ readonly type: "error";
932
+ readonly inputs: readonly [];
933
+ }, {
934
+ readonly name: "AccountAlreadyConfigurable";
935
+ readonly type: "error";
936
+ readonly inputs: readonly [];
937
+ }, {
938
+ readonly name: "AccountHasCode";
939
+ readonly type: "error";
940
+ readonly inputs: readonly [];
941
+ }], "AccountUpgraded">;
942
+ }
943
+ /**
944
+ * Upgrades an existing account to a configurable account in place
945
+ * ([TIP-1113](https://tips.sh/1113)) and waits for confirmation.
946
+ *
947
+ * @example
948
+ * ```ts
949
+ * import { createClient, http } from 'viem'
950
+ * import { tempoLocalnet } from 'viem/chains'
951
+ * import { Account, Actions } from 'viem/tempo'
952
+ *
953
+ * const root = Account.fromSecp256k1('0x...')
954
+ * const client = createClient({
955
+ * chain: tempoLocalnet,
956
+ * transport: http(),
957
+ * })
958
+ *
959
+ * const { config } = await Actions.accounts.upgradeSync(client, {
960
+ * account: root,
961
+ * owners: [{ owner: '0x...', weight: 1 }],
962
+ * threshold: 1,
963
+ * })
964
+ * ```
965
+ *
966
+ * @param client - Client.
967
+ * @param parameters - Parameters.
968
+ * @returns The installed configuration, its commitment, and the transaction receipt.
969
+ */
970
+ export declare function upgradeSync<chain extends Chain | undefined, account extends Account | undefined>(client: Client<Transport, chain, account>, parameters: upgradeSync.Parameters<chain, account>): Promise<upgradeSync.ReturnValue>;
971
+ export declare namespace upgradeSync {
972
+ type Parameters<chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = upgrade.Parameters<chain, account>;
973
+ type Args = upgrade.Args;
974
+ /** Pending and reverted receipts carry no installed configuration. */
975
+ type ReturnValue = OneOf<{
976
+ account: Address;
977
+ commitment: Hex.Hex;
978
+ config: AccountConfig.Config;
979
+ receipt: Transaction.TransactionReceipt;
980
+ } | {
981
+ receipt: Transaction.TransactionReceipt;
982
+ }>;
983
+ type ErrorType = upgrade.ErrorType;
984
+ }
985
+ /**
986
+ * Verifies a configurable account signature against the account's current
987
+ * configuration with the signature verifier precompile.
988
+ *
989
+ * Returns `false` when the signature is for another account or a config that
990
+ * is not the account's current config. Throws when the signature is malformed
991
+ * or its approvals do not reach quorum.
992
+ *
993
+ * @example
994
+ * ```ts
995
+ * import { createClient, http } from 'viem'
996
+ * import { tempo } from 'viem/chains'
997
+ * import { Actions } from 'viem/tempo'
998
+ *
999
+ * const client = createClient({
1000
+ * chain: tempo,
1001
+ * transport: http(),
1002
+ * })
1003
+ *
1004
+ * const valid = await Actions.accounts.verifyHash(client, {
1005
+ * account: '0x...',
1006
+ * hash: '0x...',
1007
+ * signature: '0x...',
1008
+ * })
1009
+ * ```
1010
+ *
1011
+ * @param client - Client.
1012
+ * @param parameters - Parameters.
1013
+ * @returns Whether the signature is valid for the account.
1014
+ */
1015
+ export declare function verifyHash<chain extends Chain | undefined, account extends Account | undefined>(client: Client<Transport, chain, account>, parameters: verifyHash.Parameters): Promise<verifyHash.ReturnValue>;
1016
+ export declare namespace verifyHash {
1017
+ type Parameters = ReadParameters & Args;
1018
+ type Args = {
1019
+ /** Configurable account address the signature is expected to belong to. */
1020
+ account: Address;
1021
+ /** Original message hash that was signed. */
1022
+ hash: Hex.Hex;
1023
+ /** Configurable account signature envelope. */
1024
+ signature: Hex.Hex;
1025
+ };
1026
+ type ReturnValue = ReadContractReturnType<typeof Abis.signatureVerifier, 'verifyConfigurableAccount', never>;
1027
+ /**
1028
+ * Defines a call to the `verifyConfigurableAccount` function on the
1029
+ * signature verifier precompile.
1030
+ *
1031
+ * @param args - Arguments.
1032
+ * @returns The call.
1033
+ */
1034
+ function call(args: Args): {
1035
+ abi: [{
1036
+ readonly name: "verifyConfigurableAccount";
1037
+ readonly type: "function";
1038
+ readonly stateMutability: "view";
1039
+ readonly inputs: readonly [{
1040
+ readonly type: "address";
1041
+ readonly name: "account";
1042
+ }, {
1043
+ readonly type: "bytes32";
1044
+ readonly name: "hash";
1045
+ }, {
1046
+ readonly type: "bytes";
1047
+ readonly name: "signature";
1048
+ }];
1049
+ readonly outputs: readonly [{
1050
+ readonly type: "bool";
1051
+ }];
1052
+ }];
1053
+ functionName: "verifyConfigurableAccount";
1054
+ } & {
1055
+ args: readonly [account: `0x${string}`, hash: `0x${string}`, signature: `0x${string}`];
1056
+ } & {
1057
+ address: Address;
1058
+ } & {
1059
+ data: import("../../index.js").Hex;
1060
+ to: Address;
1061
+ };
1062
+ type ErrorType = Errors.ExecutionErrorType | BaseErrorType;
1063
+ }
477
1064
  //# sourceMappingURL=accounts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../tempo/actions/accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../tempo/actions/accounts.ts"],"names":[],"mappings":"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"}