viem 2.47.10 → 2.47.11

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/CHANGELOG.md +10 -0
  2. package/_cjs/chains/definitions/fluent.js +26 -0
  3. package/_cjs/chains/definitions/fluent.js.map +1 -0
  4. package/_cjs/chains/index.js +13 -11
  5. package/_cjs/chains/index.js.map +1 -1
  6. package/_cjs/errors/version.js +1 -1
  7. package/_cjs/tempo/Abis.js +656 -4
  8. package/_cjs/tempo/Abis.js.map +1 -1
  9. package/_cjs/tempo/Account.js +6 -2
  10. package/_cjs/tempo/Account.js.map +1 -1
  11. package/_cjs/tempo/actions/accessKey.js +2 -1
  12. package/_cjs/tempo/actions/accessKey.js.map +1 -1
  13. package/_cjs/tempo/actions/validator.js +11 -11
  14. package/_cjs/tempo/actions/validator.js.map +1 -1
  15. package/_cjs/tempo/index.js +2 -1
  16. package/_cjs/tempo/index.js.map +1 -1
  17. package/_cjs/utils/buildRequest.js +2 -0
  18. package/_cjs/utils/buildRequest.js.map +1 -1
  19. package/_esm/chains/definitions/fluent.js +23 -0
  20. package/_esm/chains/definitions/fluent.js.map +1 -0
  21. package/_esm/chains/index.js +1 -0
  22. package/_esm/chains/index.js.map +1 -1
  23. package/_esm/errors/version.js +1 -1
  24. package/_esm/tempo/Abis.js +655 -3
  25. package/_esm/tempo/Abis.js.map +1 -1
  26. package/_esm/tempo/Account.js +6 -2
  27. package/_esm/tempo/Account.js.map +1 -1
  28. package/_esm/tempo/actions/accessKey.js +2 -1
  29. package/_esm/tempo/actions/accessKey.js.map +1 -1
  30. package/_esm/tempo/actions/validator.js +11 -11
  31. package/_esm/tempo/actions/validator.js.map +1 -1
  32. package/_esm/tempo/index.js +1 -1
  33. package/_esm/tempo/index.js.map +1 -1
  34. package/_esm/utils/buildRequest.js +5 -0
  35. package/_esm/utils/buildRequest.js.map +1 -1
  36. package/_types/chains/definitions/fluent.d.ts +48 -0
  37. package/_types/chains/definitions/fluent.d.ts.map +1 -0
  38. package/_types/chains/index.d.ts +1 -0
  39. package/_types/chains/index.d.ts.map +1 -1
  40. package/_types/errors/version.d.ts +1 -1
  41. package/_types/tempo/Abis.d.ts +1072 -35
  42. package/_types/tempo/Abis.d.ts.map +1 -1
  43. package/_types/tempo/Account.d.ts +2 -2
  44. package/_types/tempo/Account.d.ts.map +1 -1
  45. package/_types/tempo/actions/accessKey.d.ts +539 -0
  46. package/_types/tempo/actions/accessKey.d.ts.map +1 -1
  47. package/_types/tempo/actions/policy.d.ts +444 -4
  48. package/_types/tempo/actions/policy.d.ts.map +1 -1
  49. package/_types/tempo/actions/validator.d.ts +6 -6
  50. package/_types/tempo/actions/validator.d.ts.map +1 -1
  51. package/_types/tempo/index.d.ts +1 -1
  52. package/_types/tempo/index.d.ts.map +1 -1
  53. package/_types/utils/buildRequest.d.ts.map +1 -1
  54. package/chains/definitions/fluent.ts +23 -0
  55. package/chains/index.ts +1 -0
  56. package/errors/version.ts +1 -1
  57. package/package.json +2 -2
  58. package/tempo/Abis.ts +658 -3
  59. package/tempo/Account.ts +8 -4
  60. package/tempo/actions/accessKey.ts +13 -2
  61. package/tempo/actions/validator.ts +17 -17
  62. package/tempo/index.ts +1 -1
  63. package/utils/buildRequest.ts +4 -0
package/tempo/Abis.ts CHANGED
@@ -560,6 +560,386 @@ export const tip20 = [
560
560
  { name: 'Unauthorized', type: 'error', inputs: [] },
561
561
  ] as const
562
562
 
563
+ export const validatorConfigV2 = [
564
+ {
565
+ name: 'getActiveValidators',
566
+ type: 'function',
567
+ stateMutability: 'view',
568
+ inputs: [],
569
+ outputs: [
570
+ {
571
+ type: 'tuple[]',
572
+ name: 'validators',
573
+ components: [
574
+ { type: 'bytes32', name: 'publicKey' },
575
+ { type: 'address', name: 'validatorAddress' },
576
+ { type: 'string', name: 'ingress' },
577
+ { type: 'string', name: 'egress' },
578
+ { type: 'address', name: 'feeRecipient' },
579
+ { type: 'uint64', name: 'index' },
580
+ { type: 'uint64', name: 'addedAtHeight' },
581
+ { type: 'uint64', name: 'deactivatedAtHeight' },
582
+ ],
583
+ },
584
+ ],
585
+ },
586
+ {
587
+ name: 'getInitializedAtHeight',
588
+ type: 'function',
589
+ stateMutability: 'view',
590
+ inputs: [],
591
+ outputs: [{ type: 'uint64' }],
592
+ },
593
+ {
594
+ name: 'owner',
595
+ type: 'function',
596
+ stateMutability: 'view',
597
+ inputs: [],
598
+ outputs: [{ type: 'address' }],
599
+ },
600
+ {
601
+ name: 'validatorCount',
602
+ type: 'function',
603
+ stateMutability: 'view',
604
+ inputs: [],
605
+ outputs: [{ type: 'uint64' }],
606
+ },
607
+ {
608
+ name: 'validatorByIndex',
609
+ type: 'function',
610
+ stateMutability: 'view',
611
+ inputs: [{ type: 'uint64', name: 'index' }],
612
+ outputs: [
613
+ {
614
+ type: 'tuple',
615
+ components: [
616
+ { type: 'bytes32', name: 'publicKey' },
617
+ { type: 'address', name: 'validatorAddress' },
618
+ { type: 'string', name: 'ingress' },
619
+ { type: 'string', name: 'egress' },
620
+ { type: 'address', name: 'feeRecipient' },
621
+ { type: 'uint64', name: 'index' },
622
+ { type: 'uint64', name: 'addedAtHeight' },
623
+ { type: 'uint64', name: 'deactivatedAtHeight' },
624
+ ],
625
+ },
626
+ ],
627
+ },
628
+ {
629
+ name: 'validatorByAddress',
630
+ type: 'function',
631
+ stateMutability: 'view',
632
+ inputs: [{ type: 'address', name: 'validatorAddress' }],
633
+ outputs: [
634
+ {
635
+ type: 'tuple',
636
+ components: [
637
+ { type: 'bytes32', name: 'publicKey' },
638
+ { type: 'address', name: 'validatorAddress' },
639
+ { type: 'string', name: 'ingress' },
640
+ { type: 'string', name: 'egress' },
641
+ { type: 'address', name: 'feeRecipient' },
642
+ { type: 'uint64', name: 'index' },
643
+ { type: 'uint64', name: 'addedAtHeight' },
644
+ { type: 'uint64', name: 'deactivatedAtHeight' },
645
+ ],
646
+ },
647
+ ],
648
+ },
649
+ {
650
+ name: 'validatorByPublicKey',
651
+ type: 'function',
652
+ stateMutability: 'view',
653
+ inputs: [{ type: 'bytes32', name: 'publicKey' }],
654
+ outputs: [
655
+ {
656
+ type: 'tuple',
657
+ components: [
658
+ { type: 'bytes32', name: 'publicKey' },
659
+ { type: 'address', name: 'validatorAddress' },
660
+ { type: 'string', name: 'ingress' },
661
+ { type: 'string', name: 'egress' },
662
+ { type: 'address', name: 'feeRecipient' },
663
+ { type: 'uint64', name: 'index' },
664
+ { type: 'uint64', name: 'addedAtHeight' },
665
+ { type: 'uint64', name: 'deactivatedAtHeight' },
666
+ ],
667
+ },
668
+ ],
669
+ },
670
+ {
671
+ name: 'getNextNetworkIdentityRotationEpoch',
672
+ type: 'function',
673
+ stateMutability: 'view',
674
+ inputs: [],
675
+ outputs: [{ type: 'uint64' }],
676
+ },
677
+ {
678
+ name: 'isInitialized',
679
+ type: 'function',
680
+ stateMutability: 'view',
681
+ inputs: [],
682
+ outputs: [{ type: 'bool' }],
683
+ },
684
+ {
685
+ name: 'addValidator',
686
+ type: 'function',
687
+ stateMutability: 'nonpayable',
688
+ inputs: [
689
+ { type: 'address', name: 'validatorAddress' },
690
+ { type: 'bytes32', name: 'publicKey' },
691
+ { type: 'string', name: 'ingress' },
692
+ { type: 'string', name: 'egress' },
693
+ { type: 'address', name: 'feeRecipient' },
694
+ { type: 'bytes', name: 'signature' },
695
+ ],
696
+ outputs: [{ type: 'uint64', name: 'index' }],
697
+ },
698
+ {
699
+ name: 'deactivateValidator',
700
+ type: 'function',
701
+ stateMutability: 'nonpayable',
702
+ inputs: [{ type: 'uint64', name: 'idx' }],
703
+ outputs: [],
704
+ },
705
+ {
706
+ name: 'rotateValidator',
707
+ type: 'function',
708
+ stateMutability: 'nonpayable',
709
+ inputs: [
710
+ { type: 'uint64', name: 'idx' },
711
+ { type: 'bytes32', name: 'publicKey' },
712
+ { type: 'string', name: 'ingress' },
713
+ { type: 'string', name: 'egress' },
714
+ { type: 'bytes', name: 'signature' },
715
+ ],
716
+ outputs: [],
717
+ },
718
+ {
719
+ name: 'setFeeRecipient',
720
+ type: 'function',
721
+ stateMutability: 'nonpayable',
722
+ inputs: [
723
+ { type: 'uint64', name: 'idx' },
724
+ { type: 'address', name: 'feeRecipient' },
725
+ ],
726
+ outputs: [],
727
+ },
728
+ {
729
+ name: 'setIpAddresses',
730
+ type: 'function',
731
+ stateMutability: 'nonpayable',
732
+ inputs: [
733
+ { type: 'uint64', name: 'idx' },
734
+ { type: 'string', name: 'ingress' },
735
+ { type: 'string', name: 'egress' },
736
+ ],
737
+ outputs: [],
738
+ },
739
+ {
740
+ name: 'transferValidatorOwnership',
741
+ type: 'function',
742
+ stateMutability: 'nonpayable',
743
+ inputs: [
744
+ { type: 'uint64', name: 'idx' },
745
+ { type: 'address', name: 'newAddress' },
746
+ ],
747
+ outputs: [],
748
+ },
749
+ {
750
+ name: 'transferOwnership',
751
+ type: 'function',
752
+ stateMutability: 'nonpayable',
753
+ inputs: [{ type: 'address', name: 'newOwner' }],
754
+ outputs: [],
755
+ },
756
+ {
757
+ name: 'setNetworkIdentityRotationEpoch',
758
+ type: 'function',
759
+ stateMutability: 'nonpayable',
760
+ inputs: [{ type: 'uint64', name: 'epoch' }],
761
+ outputs: [],
762
+ },
763
+ {
764
+ name: 'migrateValidator',
765
+ type: 'function',
766
+ stateMutability: 'nonpayable',
767
+ inputs: [{ type: 'uint64', name: 'idx' }],
768
+ outputs: [],
769
+ },
770
+ {
771
+ name: 'initializeIfMigrated',
772
+ type: 'function',
773
+ stateMutability: 'nonpayable',
774
+ inputs: [],
775
+ outputs: [],
776
+ },
777
+ {
778
+ name: 'ValidatorAdded',
779
+ type: 'event',
780
+ inputs: [
781
+ { type: 'uint64', name: 'index', indexed: true },
782
+ { type: 'address', name: 'validatorAddress', indexed: true },
783
+ { type: 'bytes32', name: 'publicKey' },
784
+ { type: 'string', name: 'ingress' },
785
+ { type: 'string', name: 'egress' },
786
+ { type: 'address', name: 'feeRecipient' },
787
+ ],
788
+ },
789
+ {
790
+ name: 'ValidatorDeactivated',
791
+ type: 'event',
792
+ inputs: [
793
+ { type: 'uint64', name: 'index', indexed: true },
794
+ { type: 'address', name: 'validatorAddress', indexed: true },
795
+ ],
796
+ },
797
+ {
798
+ name: 'ValidatorRotated',
799
+ type: 'event',
800
+ inputs: [
801
+ { type: 'uint64', name: 'index', indexed: true },
802
+ { type: 'uint64', name: 'deactivatedIndex', indexed: true },
803
+ { type: 'address', name: 'validatorAddress', indexed: true },
804
+ { type: 'bytes32', name: 'oldPublicKey' },
805
+ { type: 'bytes32', name: 'newPublicKey' },
806
+ { type: 'string', name: 'ingress' },
807
+ { type: 'string', name: 'egress' },
808
+ { type: 'address', name: 'caller' },
809
+ ],
810
+ },
811
+ {
812
+ name: 'FeeRecipientUpdated',
813
+ type: 'event',
814
+ inputs: [
815
+ { type: 'uint64', name: 'index', indexed: true },
816
+ { type: 'address', name: 'feeRecipient' },
817
+ { type: 'address', name: 'caller' },
818
+ ],
819
+ },
820
+ {
821
+ name: 'IpAddressesUpdated',
822
+ type: 'event',
823
+ inputs: [
824
+ { type: 'uint64', name: 'index', indexed: true },
825
+ { type: 'string', name: 'ingress' },
826
+ { type: 'string', name: 'egress' },
827
+ { type: 'address', name: 'caller' },
828
+ ],
829
+ },
830
+ {
831
+ name: 'ValidatorOwnershipTransferred',
832
+ type: 'event',
833
+ inputs: [
834
+ { type: 'uint64', name: 'index', indexed: true },
835
+ { type: 'address', name: 'oldAddress', indexed: true },
836
+ { type: 'address', name: 'newAddress', indexed: true },
837
+ { type: 'address', name: 'caller' },
838
+ ],
839
+ },
840
+ {
841
+ name: 'OwnershipTransferred',
842
+ type: 'event',
843
+ inputs: [
844
+ { type: 'address', name: 'oldOwner', indexed: true },
845
+ { type: 'address', name: 'newOwner', indexed: true },
846
+ ],
847
+ },
848
+ {
849
+ name: 'ValidatorMigrated',
850
+ type: 'event',
851
+ inputs: [
852
+ { type: 'uint64', name: 'index', indexed: true },
853
+ { type: 'address', name: 'validatorAddress', indexed: true },
854
+ { type: 'bytes32', name: 'publicKey' },
855
+ ],
856
+ },
857
+ {
858
+ name: 'NetworkIdentityRotationEpochSet',
859
+ type: 'event',
860
+ inputs: [
861
+ { type: 'uint64', name: 'previousEpoch', indexed: true },
862
+ { type: 'uint64', name: 'nextEpoch', indexed: true },
863
+ ],
864
+ },
865
+ {
866
+ name: 'Initialized',
867
+ type: 'event',
868
+ inputs: [{ type: 'uint64', name: 'height' }],
869
+ },
870
+ {
871
+ name: 'SkippedValidatorMigration',
872
+ type: 'event',
873
+ inputs: [
874
+ { type: 'uint64', name: 'index', indexed: true },
875
+ { type: 'address', name: 'validatorAddress', indexed: true },
876
+ { type: 'bytes32', name: 'publicKey' },
877
+ ],
878
+ },
879
+ { name: 'AlreadyInitialized', type: 'error', inputs: [] },
880
+ {
881
+ name: 'IngressAlreadyExists',
882
+ type: 'error',
883
+ inputs: [{ type: 'string', name: 'ingress' }],
884
+ },
885
+ { name: 'EmptyV1ValidatorSet', type: 'error', inputs: [] },
886
+ { name: 'InvalidMigrationIndex', type: 'error', inputs: [] },
887
+ { name: 'InvalidOwner', type: 'error', inputs: [] },
888
+ { name: 'InvalidPublicKey', type: 'error', inputs: [] },
889
+ { name: 'InvalidSignature', type: 'error', inputs: [] },
890
+ { name: 'InvalidSignatureFormat', type: 'error', inputs: [] },
891
+ { name: 'InvalidValidatorAddress', type: 'error', inputs: [] },
892
+ { name: 'MigrationNotComplete', type: 'error', inputs: [] },
893
+ { name: 'NotInitialized', type: 'error', inputs: [] },
894
+ {
895
+ name: 'NotIp',
896
+ type: 'error',
897
+ inputs: [
898
+ { type: 'string', name: 'input' },
899
+ { type: 'string', name: 'backtrace' },
900
+ ],
901
+ },
902
+ {
903
+ name: 'NotIpPort',
904
+ type: 'error',
905
+ inputs: [
906
+ { type: 'string', name: 'input' },
907
+ { type: 'string', name: 'backtrace' },
908
+ ],
909
+ },
910
+ { name: 'PublicKeyAlreadyExists', type: 'error', inputs: [] },
911
+ { name: 'Unauthorized', type: 'error', inputs: [] },
912
+ { name: 'AddressAlreadyHasValidator', type: 'error', inputs: [] },
913
+ { name: 'ValidatorAlreadyDeactivated', type: 'error', inputs: [] },
914
+ { name: 'ValidatorNotFound', type: 'error', inputs: [] },
915
+ ] as const
916
+
917
+ export const signatureVerifier = [
918
+ {
919
+ name: 'recover',
920
+ type: 'function',
921
+ stateMutability: 'view',
922
+ inputs: [
923
+ { type: 'bytes32', name: 'hash' },
924
+ { type: 'bytes', name: 'signature' },
925
+ ],
926
+ outputs: [{ type: 'address', name: 'signer' }],
927
+ },
928
+ {
929
+ name: 'verify',
930
+ type: 'function',
931
+ stateMutability: 'view',
932
+ inputs: [
933
+ { type: 'address', name: 'signer' },
934
+ { type: 'bytes32', name: 'hash' },
935
+ { type: 'bytes', name: 'signature' },
936
+ ],
937
+ outputs: [{ type: 'bool' }],
938
+ },
939
+ { name: 'InvalidFormat', type: 'error', inputs: [] },
940
+ { name: 'InvalidSignature', type: 'error', inputs: [] },
941
+ ] as const
942
+
563
943
  export const stablecoinDex = [
564
944
  {
565
945
  name: 'createPair',
@@ -874,6 +1254,71 @@ export const stablecoinDex = [
874
1254
  { name: 'OrderNotStale', type: 'error', inputs: [] },
875
1255
  ] as const
876
1256
 
1257
+ export const addressRegistry = [
1258
+ {
1259
+ name: 'registerVirtualMaster',
1260
+ type: 'function',
1261
+ stateMutability: 'nonpayable',
1262
+ inputs: [{ type: 'bytes32', name: 'salt' }],
1263
+ outputs: [{ type: 'bytes4', name: 'masterId' }],
1264
+ },
1265
+ {
1266
+ name: 'getMaster',
1267
+ type: 'function',
1268
+ stateMutability: 'view',
1269
+ inputs: [{ type: 'bytes4', name: 'masterId' }],
1270
+ outputs: [{ type: 'address' }],
1271
+ },
1272
+ {
1273
+ name: 'resolveRecipient',
1274
+ type: 'function',
1275
+ stateMutability: 'view',
1276
+ inputs: [{ type: 'address', name: 'to' }],
1277
+ outputs: [{ type: 'address', name: 'effectiveRecipient' }],
1278
+ },
1279
+ {
1280
+ name: 'resolveVirtualAddress',
1281
+ type: 'function',
1282
+ stateMutability: 'view',
1283
+ inputs: [{ type: 'address', name: 'virtualAddr' }],
1284
+ outputs: [{ type: 'address', name: 'master' }],
1285
+ },
1286
+ {
1287
+ name: 'isVirtualAddress',
1288
+ type: 'function',
1289
+ stateMutability: 'pure',
1290
+ inputs: [{ type: 'address', name: 'addr' }],
1291
+ outputs: [{ type: 'bool' }],
1292
+ },
1293
+ {
1294
+ name: 'decodeVirtualAddress',
1295
+ type: 'function',
1296
+ stateMutability: 'pure',
1297
+ inputs: [{ type: 'address', name: 'addr' }],
1298
+ outputs: [
1299
+ { type: 'bool', name: 'isVirtual' },
1300
+ { type: 'bytes4', name: 'masterId' },
1301
+ { type: 'bytes6', name: 'userTag' },
1302
+ ],
1303
+ },
1304
+ {
1305
+ name: 'MasterRegistered',
1306
+ type: 'event',
1307
+ inputs: [
1308
+ { type: 'bytes4', name: 'masterId', indexed: true },
1309
+ { type: 'address', name: 'masterAddress', indexed: true },
1310
+ ],
1311
+ },
1312
+ {
1313
+ name: 'MasterIdCollision',
1314
+ type: 'error',
1315
+ inputs: [{ type: 'address', name: 'master' }],
1316
+ },
1317
+ { name: 'InvalidMasterAddress', type: 'error', inputs: [] },
1318
+ { name: 'ProofOfWorkFailed', type: 'error', inputs: [] },
1319
+ { name: 'VirtualAddressUnregistered', type: 'error', inputs: [] },
1320
+ ] as const
1321
+
877
1322
  export const feeManager = [
878
1323
  {
879
1324
  name: 'userTokens',
@@ -1153,6 +1598,49 @@ export const accountKeychain = [
1153
1598
  ],
1154
1599
  outputs: [],
1155
1600
  },
1601
+ {
1602
+ name: 'authorizeKey',
1603
+ type: 'function',
1604
+ stateMutability: 'nonpayable',
1605
+ inputs: [
1606
+ { type: 'address', name: 'keyId' },
1607
+ { type: 'uint8', name: 'signatureType' },
1608
+ {
1609
+ type: 'tuple',
1610
+ name: 'config',
1611
+ components: [
1612
+ { type: 'uint64', name: 'expiry' },
1613
+ { type: 'bool', name: 'enforceLimits' },
1614
+ {
1615
+ type: 'tuple[]',
1616
+ name: 'limits',
1617
+ components: [
1618
+ { type: 'address', name: 'token' },
1619
+ { type: 'uint256', name: 'amount' },
1620
+ { type: 'uint64', name: 'period' },
1621
+ ],
1622
+ },
1623
+ { type: 'bool', name: 'allowAnyCalls' },
1624
+ {
1625
+ type: 'tuple[]',
1626
+ name: 'allowedCalls',
1627
+ components: [
1628
+ { type: 'address', name: 'target' },
1629
+ {
1630
+ type: 'tuple[]',
1631
+ name: 'selectorRules',
1632
+ components: [
1633
+ { type: 'bytes4', name: 'selector' },
1634
+ { type: 'address[]', name: 'recipients' },
1635
+ ],
1636
+ },
1637
+ ],
1638
+ },
1639
+ ],
1640
+ },
1641
+ ],
1642
+ outputs: [],
1643
+ },
1156
1644
  {
1157
1645
  name: 'revokeKey',
1158
1646
  type: 'function',
@@ -1171,6 +1659,40 @@ export const accountKeychain = [
1171
1659
  ],
1172
1660
  outputs: [],
1173
1661
  },
1662
+ {
1663
+ name: 'setAllowedCalls',
1664
+ type: 'function',
1665
+ stateMutability: 'nonpayable',
1666
+ inputs: [
1667
+ { type: 'address', name: 'keyId' },
1668
+ {
1669
+ type: 'tuple[]',
1670
+ name: 'scopes',
1671
+ components: [
1672
+ { type: 'address', name: 'target' },
1673
+ {
1674
+ type: 'tuple[]',
1675
+ name: 'selectorRules',
1676
+ components: [
1677
+ { type: 'bytes4', name: 'selector' },
1678
+ { type: 'address[]', name: 'recipients' },
1679
+ ],
1680
+ },
1681
+ ],
1682
+ },
1683
+ ],
1684
+ outputs: [],
1685
+ },
1686
+ {
1687
+ name: 'removeAllowedCalls',
1688
+ type: 'function',
1689
+ stateMutability: 'nonpayable',
1690
+ inputs: [
1691
+ { type: 'address', name: 'keyId' },
1692
+ { type: 'address', name: 'target' },
1693
+ ],
1694
+ outputs: [],
1695
+ },
1174
1696
  {
1175
1697
  name: 'getKey',
1176
1698
  type: 'function',
@@ -1201,7 +1723,7 @@ export const accountKeychain = [
1201
1723
  { type: 'address', name: 'keyId' },
1202
1724
  { type: 'address', name: 'token' },
1203
1725
  ],
1204
- outputs: [{ type: 'uint256' }],
1726
+ outputs: [{ type: 'uint256', name: 'remaining' }],
1205
1727
  },
1206
1728
  {
1207
1729
  name: 'getRemainingLimitWithPeriod',
@@ -1217,6 +1739,33 @@ export const accountKeychain = [
1217
1739
  { type: 'uint64', name: 'periodEnd' },
1218
1740
  ],
1219
1741
  },
1742
+ {
1743
+ name: 'getAllowedCalls',
1744
+ type: 'function',
1745
+ stateMutability: 'view',
1746
+ inputs: [
1747
+ { type: 'address', name: 'account' },
1748
+ { type: 'address', name: 'keyId' },
1749
+ ],
1750
+ outputs: [
1751
+ { type: 'bool', name: 'isScoped' },
1752
+ {
1753
+ type: 'tuple[]',
1754
+ name: 'scopes',
1755
+ components: [
1756
+ { type: 'address', name: 'target' },
1757
+ {
1758
+ type: 'tuple[]',
1759
+ name: 'selectorRules',
1760
+ components: [
1761
+ { type: 'bytes4', name: 'selector' },
1762
+ { type: 'address[]', name: 'recipients' },
1763
+ ],
1764
+ },
1765
+ ],
1766
+ },
1767
+ ],
1768
+ },
1220
1769
  {
1221
1770
  name: 'getTransactionKey',
1222
1771
  type: 'function',
@@ -1252,15 +1801,42 @@ export const accountKeychain = [
1252
1801
  { type: 'uint256', name: 'newLimit' },
1253
1802
  ],
1254
1803
  },
1804
+ {
1805
+ name: 'AccessKeySpend',
1806
+ type: 'event',
1807
+ inputs: [
1808
+ { type: 'address', name: 'account', indexed: true },
1809
+ { type: 'address', name: 'publicKey', indexed: true },
1810
+ { type: 'address', name: 'token', indexed: true },
1811
+ { type: 'uint256', name: 'amount' },
1812
+ { type: 'uint256', name: 'remainingLimit' },
1813
+ ],
1814
+ },
1255
1815
  { name: 'UnauthorizedCaller', type: 'error', inputs: [] },
1256
1816
  { name: 'KeyAlreadyExists', type: 'error', inputs: [] },
1257
1817
  { name: 'KeyNotFound', type: 'error', inputs: [] },
1258
1818
  { name: 'KeyExpired', type: 'error', inputs: [] },
1259
1819
  { name: 'SpendingLimitExceeded', type: 'error', inputs: [] },
1820
+ { name: 'InvalidSpendingLimit', type: 'error', inputs: [] },
1260
1821
  { name: 'InvalidSignatureType', type: 'error', inputs: [] },
1261
1822
  { name: 'ZeroPublicKey', type: 'error', inputs: [] },
1262
1823
  { name: 'ExpiryInPast', type: 'error', inputs: [] },
1263
1824
  { name: 'KeyAlreadyRevoked', type: 'error', inputs: [] },
1825
+ {
1826
+ name: 'SignatureTypeMismatch',
1827
+ type: 'error',
1828
+ inputs: [
1829
+ { type: 'uint8', name: 'expected' },
1830
+ { type: 'uint8', name: 'actual' },
1831
+ ],
1832
+ },
1833
+ { name: 'CallNotAllowed', type: 'error', inputs: [] },
1834
+ { name: 'InvalidCallScope', type: 'error', inputs: [] },
1835
+ {
1836
+ name: 'LegacyAuthorizeKeySelectorChanged',
1837
+ type: 'error',
1838
+ inputs: [{ type: 'bytes4', name: 'newSelector' }],
1839
+ },
1264
1840
  ] as const
1265
1841
 
1266
1842
  export const nonce = [
@@ -1286,6 +1862,9 @@ export const nonce = [
1286
1862
  { name: 'ProtocolNonceNotSupported', type: 'error', inputs: [] },
1287
1863
  { name: 'InvalidNonceKey', type: 'error', inputs: [] },
1288
1864
  { name: 'NonceOverflow', type: 'error', inputs: [] },
1865
+ { name: 'ExpiringNonceReplay', type: 'error', inputs: [] },
1866
+ { name: 'ExpiringNonceSetFull', type: 'error', inputs: [] },
1867
+ { name: 'InvalidExpiringNonceExpiry', type: 'error', inputs: [] },
1289
1868
  ] as const
1290
1869
 
1291
1870
  export const tip20Factory = [
@@ -1378,6 +1957,47 @@ export const tip403Registry = [
1378
1957
  ],
1379
1958
  outputs: [{ type: 'bool' }],
1380
1959
  },
1960
+ {
1961
+ name: 'isAuthorizedSender',
1962
+ type: 'function',
1963
+ stateMutability: 'view',
1964
+ inputs: [
1965
+ { type: 'uint64', name: 'policyId' },
1966
+ { type: 'address', name: 'user' },
1967
+ ],
1968
+ outputs: [{ type: 'bool' }],
1969
+ },
1970
+ {
1971
+ name: 'isAuthorizedRecipient',
1972
+ type: 'function',
1973
+ stateMutability: 'view',
1974
+ inputs: [
1975
+ { type: 'uint64', name: 'policyId' },
1976
+ { type: 'address', name: 'user' },
1977
+ ],
1978
+ outputs: [{ type: 'bool' }],
1979
+ },
1980
+ {
1981
+ name: 'isAuthorizedMintRecipient',
1982
+ type: 'function',
1983
+ stateMutability: 'view',
1984
+ inputs: [
1985
+ { type: 'uint64', name: 'policyId' },
1986
+ { type: 'address', name: 'user' },
1987
+ ],
1988
+ outputs: [{ type: 'bool' }],
1989
+ },
1990
+ {
1991
+ name: 'compoundPolicyData',
1992
+ type: 'function',
1993
+ stateMutability: 'view',
1994
+ inputs: [{ type: 'uint64', name: 'policyId' }],
1995
+ outputs: [
1996
+ { type: 'uint64', name: 'senderPolicyId' },
1997
+ { type: 'uint64', name: 'recipientPolicyId' },
1998
+ { type: 'uint64', name: 'mintRecipientPolicyId' },
1999
+ ],
2000
+ },
1381
2001
  {
1382
2002
  name: 'createPolicy',
1383
2003
  type: 'function',
@@ -1431,6 +2051,17 @@ export const tip403Registry = [
1431
2051
  ],
1432
2052
  outputs: [],
1433
2053
  },
2054
+ {
2055
+ name: 'createCompoundPolicy',
2056
+ type: 'function',
2057
+ stateMutability: 'nonpayable',
2058
+ inputs: [
2059
+ { type: 'uint64', name: 'senderPolicyId' },
2060
+ { type: 'uint64', name: 'recipientPolicyId' },
2061
+ { type: 'uint64', name: 'mintRecipientPolicyId' },
2062
+ ],
2063
+ outputs: [{ type: 'uint64' }],
2064
+ },
1434
2065
  {
1435
2066
  name: 'PolicyAdminUpdated',
1436
2067
  type: 'event',
@@ -1469,12 +2100,26 @@ export const tip403Registry = [
1469
2100
  { type: 'bool', name: 'restricted' },
1470
2101
  ],
1471
2102
  },
2103
+ {
2104
+ name: 'CompoundPolicyCreated',
2105
+ type: 'event',
2106
+ inputs: [
2107
+ { type: 'uint64', name: 'policyId', indexed: true },
2108
+ { type: 'address', name: 'creator', indexed: true },
2109
+ { type: 'uint64', name: 'senderPolicyId' },
2110
+ { type: 'uint64', name: 'recipientPolicyId' },
2111
+ { type: 'uint64', name: 'mintRecipientPolicyId' },
2112
+ ],
2113
+ },
1472
2114
  { name: 'Unauthorized', type: 'error', inputs: [] },
1473
- { name: 'IncompatiblePolicyType', type: 'error', inputs: [] },
1474
2115
  { name: 'PolicyNotFound', type: 'error', inputs: [] },
2116
+ { name: 'PolicyNotSimple', type: 'error', inputs: [] },
2117
+ { name: 'InvalidPolicyType', type: 'error', inputs: [] },
2118
+ { name: 'IncompatiblePolicyType', type: 'error', inputs: [] },
2119
+ { name: 'VirtualAddressNotAllowed', type: 'error', inputs: [] },
1475
2120
  ] as const
1476
2121
 
1477
- export const validator = [
2122
+ export const validatorConfig = [
1478
2123
  {
1479
2124
  name: 'getValidators',
1480
2125
  type: 'function',
@@ -1530,6 +2175,16 @@ export const validator = [
1530
2175
  ],
1531
2176
  outputs: [],
1532
2177
  },
2178
+ {
2179
+ name: 'changeValidatorStatusByIndex',
2180
+ type: 'function',
2181
+ stateMutability: 'nonpayable',
2182
+ inputs: [
2183
+ { type: 'uint64', name: 'index' },
2184
+ { type: 'bool', name: 'active' },
2185
+ ],
2186
+ outputs: [],
2187
+ },
1533
2188
  {
1534
2189
  name: 'owner',
1535
2190
  type: 'function',