@safe-global/protocol-kit 6.1.2 → 7.0.0

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 (71) hide show
  1. package/dist/cjs/src/index.cjs +1466 -200
  2. package/dist/cjs/test-utils/index.cjs +577 -72
  3. package/dist/esm/src/index.mjs +1428 -143
  4. package/dist/esm/test-utils/index.mjs +559 -35
  5. package/dist/src/Safe.d.ts +125 -3
  6. package/dist/src/Safe.d.ts.map +1 -1
  7. package/dist/src/SafeProvider.d.ts.map +1 -1
  8. package/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.d.ts +1 -0
  9. package/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.d.ts.map +1 -1
  10. package/dist/src/contracts/CompatibilityFallbackHandler/v1.5.0/CompatibilityFallbackHandlerContract_v1_5_0.d.ts +33 -0
  11. package/dist/src/contracts/CompatibilityFallbackHandler/v1.5.0/CompatibilityFallbackHandlerContract_v1_5_0.d.ts.map +1 -0
  12. package/dist/src/contracts/CreateCall/CreateCallBaseContract.d.ts +1 -0
  13. package/dist/src/contracts/CreateCall/CreateCallBaseContract.d.ts.map +1 -1
  14. package/dist/src/contracts/CreateCall/v1.5.0/CreateCallContract_v1_5_0.d.ts +38 -0
  15. package/dist/src/contracts/CreateCall/v1.5.0/CreateCallContract_v1_5_0.d.ts.map +1 -0
  16. package/dist/src/contracts/ExtensibleFallbackHandler/ExtensibleFallbackHandlerBaseContract.d.ts +36 -0
  17. package/dist/src/contracts/ExtensibleFallbackHandler/ExtensibleFallbackHandlerBaseContract.d.ts.map +1 -0
  18. package/dist/src/contracts/ExtensibleFallbackHandler/v1.5.0/ExtensibleFallbackHandlerContract_v1_5_0.d.ts +86 -0
  19. package/dist/src/contracts/ExtensibleFallbackHandler/v1.5.0/ExtensibleFallbackHandlerContract_v1_5_0.d.ts.map +1 -0
  20. package/dist/src/contracts/MultiSend/MultiSendBaseContract.d.ts +1 -0
  21. package/dist/src/contracts/MultiSend/MultiSendBaseContract.d.ts.map +1 -1
  22. package/dist/src/contracts/MultiSend/v1.5.0/MultiSendCallOnlyContract_v1_5_0.d.ts +26 -0
  23. package/dist/src/contracts/MultiSend/v1.5.0/MultiSendCallOnlyContract_v1_5_0.d.ts.map +1 -0
  24. package/dist/src/contracts/MultiSend/v1.5.0/MultiSendContract_v1_5_0.d.ts +26 -0
  25. package/dist/src/contracts/MultiSend/v1.5.0/MultiSendContract_v1_5_0.d.ts.map +1 -0
  26. package/dist/src/contracts/Safe/SafeBaseContract.d.ts +1 -0
  27. package/dist/src/contracts/Safe/SafeBaseContract.d.ts.map +1 -1
  28. package/dist/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.d.ts +1 -1
  29. package/dist/src/contracts/Safe/v1.5.0/SafeContract_v1_5_0.d.ts +156 -0
  30. package/dist/src/contracts/Safe/v1.5.0/SafeContract_v1_5_0.d.ts.map +1 -0
  31. package/dist/src/contracts/SafeProxyFactory/v1.5.0/SafeProxyFactoryContract_v1_5_0.d.ts +60 -0
  32. package/dist/src/contracts/SafeProxyFactory/v1.5.0/SafeProxyFactoryContract_v1_5_0.d.ts.map +1 -0
  33. package/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.d.ts +1 -0
  34. package/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.d.ts.map +1 -1
  35. package/dist/src/contracts/SignMessageLib/v1.5.0/SignMessageLibContract_v1_5_0.d.ts +34 -0
  36. package/dist/src/contracts/SignMessageLib/v1.5.0/SignMessageLibContract_v1_5_0.d.ts.map +1 -0
  37. package/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.d.ts +1 -0
  38. package/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.d.ts.map +1 -1
  39. package/dist/src/contracts/SimulateTxAccessor/v1.5.0/SimulateTxAccessorContract_v1_5_0.d.ts +31 -0
  40. package/dist/src/contracts/SimulateTxAccessor/v1.5.0/SimulateTxAccessorContract_v1_5_0.d.ts.map +1 -0
  41. package/dist/src/contracts/config.d.ts +1 -1
  42. package/dist/src/contracts/config.d.ts.map +1 -1
  43. package/dist/src/contracts/contractInstances.d.ts +18 -8
  44. package/dist/src/contracts/contractInstances.d.ts.map +1 -1
  45. package/dist/src/contracts/index.d.ts +2 -1
  46. package/dist/src/contracts/index.d.ts.map +1 -1
  47. package/dist/src/contracts/safeDeploymentContracts.d.ts +2 -1
  48. package/dist/src/contracts/safeDeploymentContracts.d.ts.map +1 -1
  49. package/dist/src/contracts/utils.d.ts.map +1 -1
  50. package/dist/src/index.d.ts +3 -2
  51. package/dist/src/index.d.ts.map +1 -1
  52. package/dist/src/managers/fallbackHandlerManager.d.ts +1 -0
  53. package/dist/src/managers/fallbackHandlerManager.d.ts.map +1 -1
  54. package/dist/src/managers/moduleManager.d.ts +7 -0
  55. package/dist/src/managers/moduleManager.d.ts.map +1 -1
  56. package/dist/src/types/contracts.d.ts +22 -8
  57. package/dist/src/types/contracts.d.ts.map +1 -1
  58. package/dist/src/types/passkeys.d.ts +13 -2
  59. package/dist/src/types/passkeys.d.ts.map +1 -1
  60. package/dist/src/utils/eip-3770/config.d.ts.map +1 -1
  61. package/dist/src/utils/passkeys/PasskeyClient.d.ts +1 -1
  62. package/dist/src/utils/passkeys/PasskeyClient.d.ts.map +1 -1
  63. package/dist/src/utils/passkeys/extractPasskeyData.d.ts +8 -11
  64. package/dist/src/utils/passkeys/extractPasskeyData.d.ts.map +1 -1
  65. package/dist/src/utils/passkeys/isSharedSigner.d.ts +1 -1
  66. package/dist/src/utils/passkeys/isSharedSigner.d.ts.map +1 -1
  67. package/dist/src/utils/safeVersions.d.ts +8 -5
  68. package/dist/src/utils/safeVersions.d.ts.map +1 -1
  69. package/dist/test-utils/passkeys.d.ts +2 -2
  70. package/dist/test-utils/passkeys.d.ts.map +1 -1
  71. package/package.json +7 -5
@@ -299,7 +299,7 @@ var networks = [
299
299
  { chainId: 255n, shortName: "kroma" },
300
300
  { chainId: 274n, shortName: "lachain" },
301
301
  { chainId: 280n, shortName: "zksync-goerli" },
302
- { chainId: 282n, shortName: "zkTCRO" },
302
+ { chainId: 282n, shortName: "deprecated-zkTCRO" },
303
303
  { chainId: 288n, shortName: "boba" },
304
304
  { chainId: 291n, shortName: "orderly" },
305
305
  { chainId: 295n, shortName: "hedera-mainnet" },
@@ -332,6 +332,8 @@ var networks = [
332
332
  { chainId: 690n, shortName: "redstone" },
333
333
  { chainId: 698n, shortName: "Matchain" },
334
334
  { chainId: 747n, shortName: "flow-mainnet" },
335
+ { chainId: 756n, shortName: "capx-testnet" },
336
+ { chainId: 757n, shortName: "capx" },
335
337
  { chainId: 787n, shortName: "aca" },
336
338
  { chainId: 841n, shortName: "tara" },
337
339
  { chainId: 842n, shortName: "taratest" },
@@ -377,6 +379,7 @@ var networks = [
377
379
  { chainId: 1559n, shortName: "tenet" },
378
380
  { chainId: 1625n, shortName: "gravity" },
379
381
  { chainId: 1663n, shortName: "Gobi" },
382
+ { chainId: 1672n, shortName: "pharos" },
380
383
  { chainId: 1729n, shortName: "reya" },
381
384
  { chainId: 1740n, shortName: "metall2-testnet" },
382
385
  { chainId: 1750n, shortName: "metall2" },
@@ -414,9 +417,12 @@ var networks = [
414
417
  { chainId: 2442n, shortName: "zkevm-testnet-cardona" },
415
418
  { chainId: 2522n, shortName: "fraxtal-testnet" },
416
419
  { chainId: 2741n, shortName: "abstract" },
420
+ { chainId: 2787n, shortName: "creator-chain-mainnet" },
417
421
  { chainId: 2810n, shortName: "hmorph" },
418
422
  { chainId: 2818n, shortName: "morph" },
423
+ { chainId: 2910n, shortName: "morph-hoodi-testnet" },
419
424
  { chainId: 3068n, shortName: "bfc" },
425
+ { chainId: 3111n, shortName: "alpha" },
420
426
  { chainId: 3338n, shortName: "PEAQ" },
421
427
  { chainId: 3501n, shortName: "JFIN" },
422
428
  { chainId: 3636n, shortName: "BTNXt" },
@@ -435,6 +441,7 @@ var networks = [
435
441
  { chainId: 4337n, shortName: "beam" },
436
442
  { chainId: 4460n, shortName: "orderlyl2" },
437
443
  { chainId: 4488n, shortName: "HYDRA" },
444
+ { chainId: 4509n, shortName: "SC" },
438
445
  { chainId: 4653n, shortName: "gold" },
439
446
  { chainId: 4661n, shortName: "appchaintestnet" },
440
447
  { chainId: 4689n, shortName: "iotex-mainnet" },
@@ -470,13 +477,17 @@ var networks = [
470
477
  { chainId: 7070n, shortName: "planq" },
471
478
  { chainId: 7171n, shortName: "bitrock" },
472
479
  { chainId: 7200n, shortName: "xsat" },
480
+ { chainId: 7208n, shortName: "nxra-mainnet" },
473
481
  { chainId: 7332n, shortName: "EON" },
482
+ { chainId: 7336n, shortName: "pruvtestnet" },
483
+ { chainId: 7337n, shortName: "pruvmainnet" },
474
484
  { chainId: 7341n, shortName: "shyft" },
475
485
  { chainId: 7560n, shortName: "cyeth" },
476
486
  { chainId: 7700n, shortName: "canto" },
477
487
  { chainId: 7771n, shortName: "tbitrock" },
478
488
  { chainId: 7897n, shortName: "arena-z" },
479
489
  { chainId: 8008n, shortName: "polynomial" },
490
+ { chainId: 8150n, shortName: "alpen" },
480
491
  { chainId: 8192n, shortName: "tqf" },
481
492
  { chainId: 8194n, shortName: "ttqf" },
482
493
  { chainId: 8217n, shortName: "kaia-mainnet" },
@@ -485,6 +496,7 @@ var networks = [
485
496
  { chainId: 8408n, shortName: "zentest" },
486
497
  { chainId: 8453n, shortName: "base" },
487
498
  { chainId: 8700n, shortName: "ACN" },
499
+ { chainId: 8765n, shortName: "ward" },
488
500
  { chainId: 8801n, shortName: "okto-testnet" },
489
501
  { chainId: 8822n, shortName: "iotaevm" },
490
502
  { chainId: 8844n, shortName: "THYDRA" },
@@ -510,6 +522,7 @@ var networks = [
510
522
  { chainId: 11111n, shortName: "WAGMI" },
511
523
  { chainId: 11124n, shortName: "abstract-sepolia" },
512
524
  { chainId: 11235n, shortName: "islm" },
525
+ { chainId: 11417n, shortName: "anq-testnet" },
513
526
  { chainId: 11437n, shortName: "shyftt" },
514
527
  { chainId: 11501n, shortName: "bevm" },
515
528
  { chainId: 11503n, shortName: "bevm-test" },
@@ -521,6 +534,7 @@ var networks = [
521
534
  { chainId: 12553n, shortName: "rss3" },
522
535
  { chainId: 13337n, shortName: "beam-testnet" },
523
536
  { chainId: 13371n, shortName: "imx" },
537
+ { chainId: 13441n, shortName: "bridgeless" },
524
538
  { chainId: 13473n, shortName: "imx-testnet" },
525
539
  { chainId: 13505n, shortName: "gravitysep" },
526
540
  { chainId: 13746n, shortName: "g7t" },
@@ -543,6 +557,7 @@ var networks = [
543
557
  { chainId: 28802n, shortName: "tcent" },
544
558
  { chainId: 28882n, shortName: "BobaSepolia" },
545
559
  { chainId: 28979n, shortName: "kimbonet-testnet" },
560
+ { chainId: 30303n, shortName: "Ethiq" },
546
561
  { chainId: 31611n, shortName: "mezo" },
547
562
  { chainId: 32323n, shortName: "basedai" },
548
563
  { chainId: 32380n, shortName: "paix" },
@@ -556,6 +571,7 @@ var networks = [
556
571
  { chainId: 35441n, shortName: "q" },
557
572
  { chainId: 35443n, shortName: "q-testnet" },
558
573
  { chainId: 36888n, shortName: "abcore" },
574
+ { chainId: 36900n, shortName: "adi" },
559
575
  { chainId: 37111n, shortName: "lens-sepolia" },
560
576
  { chainId: 41455n, shortName: "aleph-zero" },
561
577
  { chainId: 41923n, shortName: "edu-chain" },
@@ -563,6 +579,7 @@ var networks = [
563
579
  { chainId: 42170n, shortName: "arb-nova" },
564
580
  { chainId: 42220n, shortName: "celo" },
565
581
  { chainId: 42421n, shortName: "rwa" },
582
+ { chainId: 42431n, shortName: "tempo-moderato" },
566
583
  { chainId: 42793n, shortName: "etlk" },
567
584
  { chainId: 43111n, shortName: "hemi" },
568
585
  { chainId: 43113n, shortName: "fuji" },
@@ -580,6 +597,7 @@ var networks = [
580
597
  { chainId: 49321n, shortName: "Stork" },
581
598
  { chainId: 50104n, shortName: "sophon" },
582
599
  { chainId: 50312n, shortName: "SomniaTestnet" },
600
+ { chainId: 52924n, shortName: "lazai" },
583
601
  { chainId: 53302n, shortName: "seedsep" },
584
602
  { chainId: 53456n, shortName: "birdlayer" },
585
603
  { chainId: 53457n, shortName: "dodochain" },
@@ -614,6 +632,8 @@ var networks = [
614
632
  { chainId: 84532n, shortName: "basesep" },
615
633
  { chainId: 88811n, shortName: "unit0-mainnet" },
616
634
  { chainId: 88817n, shortName: "unit0-testnet" },
635
+ { chainId: 88882n, shortName: "chzspicy" },
636
+ { chainId: 88888n, shortName: "chiliz" },
617
637
  { chainId: 90001n, shortName: "dhobyghaut" },
618
638
  { chainId: 91342n, shortName: "giwasepolia" },
619
639
  { chainId: 97435n, shortName: "sling" },
@@ -622,6 +642,7 @@ var networks = [
622
642
  { chainId: 98866n, shortName: "plume-mainnet" },
623
643
  { chainId: 98867n, shortName: "plume-testnet" },
624
644
  { chainId: 98985n, shortName: "superposition-testnet" },
645
+ { chainId: 102030n, shortName: "ctc" },
625
646
  { chainId: 103454n, shortName: "masatest" },
626
647
  { chainId: 105105n, shortName: "stratis" },
627
648
  { chainId: 111188n, shortName: "re-al" },
@@ -630,6 +651,7 @@ var networks = [
630
651
  { chainId: 167000n, shortName: "tko-mainnet" },
631
652
  { chainId: 167008n, shortName: "tko-katla" },
632
653
  { chainId: 167009n, shortName: "tko-hekla" },
654
+ { chainId: 167013n, shortName: "tko-hoodi" },
633
655
  { chainId: 175188n, shortName: "lpy" },
634
656
  { chainId: 181228n, shortName: "hpp-sepolia" },
635
657
  { chainId: 190415n, shortName: "hpp-mainnet" },
@@ -640,16 +662,19 @@ var networks = [
640
662
  { chainId: 205205n, shortName: "auroria" },
641
663
  { chainId: 210425n, shortName: "platon" },
642
664
  { chainId: 222888n, shortName: "mocat" },
665
+ { chainId: 278701n, shortName: "creator-chain-testnet" },
643
666
  { chainId: 314159n, shortName: "filecoin-calibration" },
644
667
  { chainId: 325000n, shortName: "CampV2" },
645
668
  { chainId: 328527n, shortName: "nal" },
646
669
  { chainId: 333999n, shortName: "olympus" },
670
+ { chainId: 369369n, shortName: "den-mainnet" },
647
671
  { chainId: 381931n, shortName: "metal" },
648
672
  { chainId: 421611n, shortName: "arb-rinkeby" },
649
673
  { chainId: 421613n, shortName: "arb-goerli" },
650
674
  { chainId: 421614n, shortName: "arb-sep" },
651
675
  { chainId: 444444n, shortName: "syndr" },
652
676
  { chainId: 490000n, shortName: "ATN" },
677
+ { chainId: 511111n, shortName: "alpha-testnet" },
653
678
  { chainId: 534351n, shortName: "scr-sepolia" },
654
679
  { chainId: 534352n, shortName: "scr" },
655
680
  { chainId: 534353n, shortName: "scr-alpha" },
@@ -673,6 +698,7 @@ var networks = [
673
698
  { chainId: 808813n, shortName: "bob-sepolia" },
674
699
  { chainId: 810180n, shortName: "zklink-nova" },
675
700
  { chainId: 839999n, shortName: "txsat" },
701
+ { chainId: 853211n, shortName: "haqq-testethiq" },
676
702
  { chainId: 978657n, shortName: "treasure-ruby" },
677
703
  { chainId: 984122n, shortName: "forma" },
678
704
  { chainId: 1000101n, shortName: "xo" },
@@ -683,8 +709,10 @@ var networks = [
683
709
  { chainId: 2632500n, shortName: "coti" },
684
710
  { chainId: 3441006n, shortName: "mantaSepoliaTestnet" },
685
711
  { chainId: 4457845n, shortName: "zero-sepolia" },
712
+ { chainId: 5042002n, shortName: "arc-testnet" },
686
713
  { chainId: 5064014n, shortName: "ethereal" },
687
714
  { chainId: 6038361n, shortName: "azkyt" },
715
+ { chainId: 6281971n, shortName: "dogeos-chykyu" },
688
716
  { chainId: 6985385n, shortName: "hp" },
689
717
  { chainId: 7225878n, shortName: "saakuru" },
690
718
  { chainId: 7777777n, shortName: "zora" },
@@ -696,6 +724,7 @@ var networks = [
696
724
  { chainId: 12227332n, shortName: "neox-t4" },
697
725
  { chainId: 13374202n, shortName: "ethereal-testnet-0" },
698
726
  { chainId: 13863860n, shortName: "sis" },
727
+ { chainId: 20250407n, shortName: "platondev3" },
699
728
  { chainId: 21000000n, shortName: "corn" },
700
729
  { chainId: 52164803n, shortName: "fluence-testnet" },
701
730
  { chainId: 65100004n, shortName: "piccadilly-04" },
@@ -727,8 +756,10 @@ var networks = [
727
756
  { chainId: 1666700000n, shortName: "hmy-b-s0" },
728
757
  { chainId: 1952959480n, shortName: "lumiatestnet" },
729
758
  { chainId: 2030232745n, shortName: "lumia-beam-testnet" },
759
+ { chainId: 3735928814n, shortName: "edent" },
730
760
  { chainId: 11297108099n, shortName: "tpalm" },
731
761
  { chainId: 11297108109n, shortName: "palm" },
762
+ { chainId: 30143370385n, shortName: "BUB" },
732
763
  { chainId: 37714555429n, shortName: "xaitestnet" },
733
764
  { chainId: 88153591557n, shortName: "arb-blueberry" },
734
765
  { chainId: 123420000220n, shortName: "fluence-stage" },
@@ -1040,7 +1071,8 @@ var SAFE_FEATURES_BY_VERSION = {
1040
1071
  ["REQUIRED_TXGAS" /* REQUIRED_TXGAS */]: "<=1.2.0",
1041
1072
  ["SIMULATE_AND_REVERT" /* SIMULATE_AND_REVERT */]: ">=1.3.0",
1042
1073
  ["PASSKEY_SIGNER" /* PASSKEY_SIGNER */]: ">=1.3.0",
1043
- ["SAFE_L2_CONTRACTS" /* SAFE_L2_CONTRACTS */]: ">=1.3.0"
1074
+ ["SAFE_L2_CONTRACTS" /* SAFE_L2_CONTRACTS */]: ">=1.3.0",
1075
+ ["SAFE_MODULE_GUARD" /* SAFE_MODULE_GUARD */]: ">=1.5.0"
1044
1076
  };
1045
1077
  var hasSafeFeature = (feature, version) => {
1046
1078
  if (!(feature in SAFE_FEATURES_BY_VERSION)) {
@@ -1071,6 +1103,7 @@ import { estimateContractGas, getTransactionReceipt } from "viem/actions";
1071
1103
  import {
1072
1104
  getCompatibilityFallbackHandlerDeployments,
1073
1105
  getCreateCallDeployments,
1106
+ getExtensibleFallbackHandlerDeployments,
1074
1107
  getMultiSendCallOnlyDeployments,
1075
1108
  getMultiSendDeployments,
1076
1109
  getProxyFactoryDeployments,
@@ -1083,8 +1116,22 @@ import {
1083
1116
  getSafeWebAuthnSignerFactoryDeployment,
1084
1117
  getSafeWebAuthnShareSignerDeployment
1085
1118
  } from "@safe-global/safe-modules-deployments";
1086
- var DEFAULT_SAFE_VERSION = "1.3.0";
1119
+ var DEFAULT_SAFE_VERSION = "1.4.1";
1087
1120
  var safeDeploymentsVersions = {
1121
+ "1.5.0": {
1122
+ safeSingletonVersion: "1.5.0",
1123
+ safeSingletonL2Version: "1.5.0",
1124
+ safeProxyFactoryVersion: "1.5.0",
1125
+ compatibilityFallbackHandler: "1.5.0",
1126
+ extensibleFallbackHandler: "1.5.0",
1127
+ multiSendVersion: "1.5.0",
1128
+ multiSendCallOnlyVersion: "1.5.0",
1129
+ signMessageLibVersion: "1.5.0",
1130
+ createCallVersion: "1.5.0",
1131
+ simulateTxAccessorVersion: "1.5.0",
1132
+ safeWebAuthnSignerFactoryVersion: "0.2.1",
1133
+ safeWebAuthnSharedSignerVersion: "0.2.1"
1134
+ },
1088
1135
  "1.4.1": {
1089
1136
  safeSingletonVersion: "1.4.1",
1090
1137
  safeSingletonL2Version: "1.4.1",
@@ -1157,6 +1204,7 @@ var contractFunctions = {
1157
1204
  safeSingletonL2Version: getSafeL2SingletonDeployments,
1158
1205
  safeProxyFactoryVersion: getProxyFactoryDeployments,
1159
1206
  compatibilityFallbackHandler: getCompatibilityFallbackHandlerDeployments,
1207
+ extensibleFallbackHandler: getExtensibleFallbackHandlerDeployments,
1160
1208
  multiSendVersion: getMultiSendDeployments,
1161
1209
  multiSendCallOnlyVersion: getMultiSendCallOnlyDeployments,
1162
1210
  signMessageLibVersion: getSignMessageLibDeployments,
@@ -1365,7 +1413,7 @@ import { isAddress as isAddress2 } from "viem";
1365
1413
 
1366
1414
  // src/utils/passkeys/extractPasskeyData.ts
1367
1415
  import { Buffer as Buffer2 } from "buffer";
1368
- import { getFCLP256VerifierDeployment } from "@safe-global/safe-modules-deployments";
1416
+ import { getDaimoP256VerifierDeployment } from "@safe-global/safe-modules-deployments";
1369
1417
  async function decodePublicKeyForWeb(publicKey) {
1370
1418
  const algorithm = {
1371
1419
  name: "ECDSA",
@@ -1383,21 +1431,6 @@ async function decodePublicKeyForWeb(publicKey) {
1383
1431
  y: "0x" + Buffer2.from(y, "base64").toString("hex")
1384
1432
  };
1385
1433
  }
1386
- function getDefaultFCLP256VerifierAddress(chainId) {
1387
- const FCLP256VerifierDeployment = getFCLP256VerifierDeployment({
1388
- version: "0.2.1",
1389
- released: true,
1390
- network: chainId
1391
- });
1392
- if (!FCLP256VerifierDeployment) {
1393
- throw new Error(`Failed to load FCLP256Verifier deployment for chain ID ${chainId}`);
1394
- }
1395
- const verifierAddress = FCLP256VerifierDeployment.networkAddresses[chainId];
1396
- if (!verifierAddress) {
1397
- throw new Error(`FCLP256Verifier address not found for chain ID ${chainId}`);
1398
- }
1399
- return verifierAddress;
1400
- }
1401
1434
 
1402
1435
  // src/utils/passkeys/PasskeyClient.ts
1403
1436
  import {
@@ -1419,15 +1452,14 @@ import {
1419
1452
  } from "viem";
1420
1453
 
1421
1454
  // src/utils/passkeys/isSharedSigner.ts
1422
- async function isSharedSigner(passkey, safeWebAuthnSharedSignerContract, safeAddress, owners, chainId) {
1455
+ async function isSharedSigner(passkey, safeWebAuthnSharedSignerContract, safeAddress, owners) {
1423
1456
  const sharedSignerContractAddress = safeWebAuthnSharedSignerContract.contractAddress;
1424
1457
  if (safeAddress && owners.includes(sharedSignerContractAddress)) {
1425
1458
  const [sharedSignerSlot] = await safeWebAuthnSharedSignerContract.getConfiguration([
1426
1459
  asHex(safeAddress)
1427
1460
  ]);
1428
1461
  const { x, y, verifiers } = sharedSignerSlot;
1429
- const verifierAddress = passkey.customVerifierAddress || getDefaultFCLP256VerifierAddress(chainId);
1430
- const isSharedSigner2 = BigInt(passkey.coordinates.x) === x && BigInt(passkey.coordinates.y) === y && BigInt(verifierAddress) === verifiers;
1462
+ const isSharedSigner2 = BigInt(passkey.coordinates.x) === x && BigInt(passkey.coordinates.y) === y && BigInt(passkey.verifierAddress) === verifiers;
1431
1463
  return isSharedSigner2;
1432
1464
  }
1433
1465
  return false;
@@ -1463,16 +1495,14 @@ var signTransaction = () => {
1463
1495
  var signTypedData = () => {
1464
1496
  throw new Error("Passkey Signers cannot sign signTypedData, they can only sign data.");
1465
1497
  };
1466
- var createPasskeyClient = async (passkey, safeWebAuthnSignerFactoryContract, safeWebAuthnSharedSignerContract, provider, safeAddress, owners, chainId) => {
1467
- const { rawId, coordinates, customVerifierAddress } = passkey;
1498
+ var createPasskeyClient = async (passkey, safeWebAuthnSignerFactoryContract, safeWebAuthnSharedSignerContract, provider, safeAddress, owners) => {
1499
+ const { rawId, coordinates, verifierAddress } = passkey;
1468
1500
  const passkeyRawId = hexToBytes(asHex(rawId));
1469
- const verifierAddress = customVerifierAddress || getDefaultFCLP256VerifierAddress(chainId);
1470
1501
  const isPasskeySharedSigner = await isSharedSigner_default(
1471
1502
  passkey,
1472
1503
  safeWebAuthnSharedSignerContract,
1473
1504
  safeAddress,
1474
- owners,
1475
- chainId
1505
+ owners
1476
1506
  );
1477
1507
  let signerAddress;
1478
1508
  if (isPasskeySharedSigner) {
@@ -1640,8 +1670,7 @@ var SafeProvider = class _SafeProvider {
1640
1670
  safeWebAuthnSharedSignerContract,
1641
1671
  safeProvider.getExternalProvider(),
1642
1672
  safeAddress || "",
1643
- owners || [],
1644
- chainId.toString()
1673
+ owners || []
1645
1674
  );
1646
1675
  } else {
1647
1676
  passkeySigner = signer;
@@ -1921,6 +1950,11 @@ import {
1921
1950
  createCall_1_4_1_ContractArtifacts
1922
1951
  } from "@safe-global/types-kit";
1923
1952
 
1953
+ // src/contracts/CreateCall/v1.5.0/CreateCallContract_v1_5_0.ts
1954
+ import {
1955
+ createCall_1_5_0_ContractArtifacts
1956
+ } from "@safe-global/types-kit";
1957
+
1924
1958
  // src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.ts
1925
1959
  import {
1926
1960
  multisend_1_1_1_ContractArtifacts
@@ -1936,6 +1970,11 @@ import {
1936
1970
  multisend_1_4_1_ContractArtifacts
1937
1971
  } from "@safe-global/types-kit";
1938
1972
 
1973
+ // src/contracts/MultiSend/v1.5.0/MultiSendContract_v1_5_0.ts
1974
+ import {
1975
+ multisend_1_5_0_ContractArtifacts
1976
+ } from "@safe-global/types-kit";
1977
+
1939
1978
  // src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.ts
1940
1979
  import {
1941
1980
  multiSendCallOnly_1_3_0_ContractArtifacts
@@ -1946,6 +1985,11 @@ import {
1946
1985
  multiSendCallOnly_1_4_1_ContractArtifacts
1947
1986
  } from "@safe-global/types-kit";
1948
1987
 
1988
+ // src/contracts/MultiSend/v1.5.0/MultiSendCallOnlyContract_v1_5_0.ts
1989
+ import {
1990
+ multiSendCallOnly_1_5_0_ContractArtifacts
1991
+ } from "@safe-global/types-kit";
1992
+
1949
1993
  // src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.ts
1950
1994
  import {
1951
1995
  signMessageLib_1_3_0_ContractArtifacts
@@ -1956,6 +2000,11 @@ import {
1956
2000
  signMessageLib_1_4_1_ContractArtifacts
1957
2001
  } from "@safe-global/types-kit";
1958
2002
 
2003
+ // src/contracts/SignMessageLib/v1.5.0/SignMessageLibContract_v1_5_0.ts
2004
+ import {
2005
+ signMessageLib_1_5_0_ContractArtifacts
2006
+ } from "@safe-global/types-kit";
2007
+
1959
2008
  // src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.ts
1960
2009
  import { simulateContract } from "viem/actions";
1961
2010
 
@@ -3161,7 +3210,7 @@ var SafeContract_v1_4_1 = class extends SafeBaseContract_default {
3161
3210
  return [await this.read("getOwners")];
3162
3211
  };
3163
3212
  /**
3164
- * Reads `length` bytes of storage in the currents contract
3213
+ * Reads `length` bytes of storage in the current contract
3165
3214
  * @param args - Array[offset, length]
3166
3215
  * @returns Array[storage]
3167
3216
  */
@@ -3344,6 +3393,330 @@ var SafeContract_v1_4_1 = class extends SafeBaseContract_default {
3344
3393
  };
3345
3394
  var SafeContract_v1_4_1_default = SafeContract_v1_4_1;
3346
3395
 
3396
+ // src/contracts/Safe/v1.5.0/SafeContract_v1_5_0.ts
3397
+ import { readContract as readContract2, simulateContract as simulateContract6 } from "viem/actions";
3398
+ import {
3399
+ safe_1_5_0_ContractArtifacts
3400
+ } from "@safe-global/types-kit";
3401
+ var SafeContract_v1_5_0 = class extends SafeBaseContract_default {
3402
+ /**
3403
+ * Constructs an instance of SafeContract_v1_5_0
3404
+ *
3405
+ * @param chainId - The chain ID where the contract resides.
3406
+ * @param safeProvider - An instance of SafeProvider.
3407
+ * @param isL1SafeSingleton - A flag indicating if the contract is a L1 Safe Singleton.
3408
+ * @param customContractAddress - Optional custom address for the contract. If not provided, the address is derived from the Safe deployments based on the chainId and safeVersion.
3409
+ * @param customContractAbi - Optional custom ABI for the contract. If not provided, the default ABI for version 1.5.0 is used.
3410
+ * @param deploymentType - Optional deployment type for the contract. If not provided, the first deployment retrieved from the safe-deployments array will be used.
3411
+ */
3412
+ constructor(chainId, safeProvider, isL1SafeSingleton, customContractAddress, customContractAbi, deploymentType) {
3413
+ const safeVersion = "1.5.0";
3414
+ const defaultAbi = safe_1_5_0_ContractArtifacts.abi;
3415
+ super(
3416
+ chainId,
3417
+ safeProvider,
3418
+ defaultAbi,
3419
+ safeVersion,
3420
+ isL1SafeSingleton,
3421
+ customContractAddress,
3422
+ customContractAbi,
3423
+ deploymentType
3424
+ );
3425
+ /**
3426
+ * @returns Array[safeContractVersion]
3427
+ */
3428
+ this.VERSION = async () => {
3429
+ return [await this.read("VERSION")];
3430
+ };
3431
+ /**
3432
+ * @param args - Array[owner, txHash]
3433
+ * @returns Array[approvedHashes]
3434
+ */
3435
+ this.approvedHashes = async (args) => {
3436
+ return [await this.read("approvedHashes", args)];
3437
+ };
3438
+ /**
3439
+ * Checks whether the signature provided is valid for the provided data, hash and number of required signatures.
3440
+ * Will revert otherwise.
3441
+ * @param args - Array[dataHash, data, signatures, requiredSignatures]
3442
+ * @returns Empty array
3443
+ */
3444
+ this.checkNSignatures = async (args) => {
3445
+ await this.read("checkNSignatures", args);
3446
+ return [];
3447
+ };
3448
+ /**
3449
+ * New in v1.5.0: overload of checkNSignatures that accepts an explicit executor address.
3450
+ * Allows modules to pass msg.sender explicitly rather than relying on the contract's own context.
3451
+ * Will revert otherwise.
3452
+ * @param args - Array[executor, dataHash, signatures, requiredSignatures]
3453
+ * @returns Empty array
3454
+ */
3455
+ this.checkNSignaturesWithExecutor = async (args) => {
3456
+ await readContract2(this.runner, {
3457
+ address: this.contractAddress,
3458
+ functionName: "checkNSignatures",
3459
+ abi: [
3460
+ {
3461
+ inputs: [
3462
+ { internalType: "address", name: "executor", type: "address" },
3463
+ { internalType: "bytes32", name: "dataHash", type: "bytes32" },
3464
+ { internalType: "bytes", name: "signatures", type: "bytes" },
3465
+ { internalType: "uint256", name: "requiredSignatures", type: "uint256" }
3466
+ ],
3467
+ name: "checkNSignatures",
3468
+ outputs: [],
3469
+ stateMutability: "view",
3470
+ type: "function"
3471
+ }
3472
+ ],
3473
+ args
3474
+ });
3475
+ return [];
3476
+ };
3477
+ /**
3478
+ * Checks whether the signature provided is valid for the provided data and hash. Will revert otherwise.
3479
+ * @param args - Array[dataHash, data, signatures]
3480
+ * @returns Empty array
3481
+ */
3482
+ this.checkSignatures = async (args) => {
3483
+ await this.read("checkSignatures", args);
3484
+ return [];
3485
+ };
3486
+ /**
3487
+ * New in v1.5.0: overload of checkSignatures that accepts an explicit executor address.
3488
+ * Allows modules to pass msg.sender explicitly rather than relying on the contract's own context.
3489
+ * Will revert otherwise.
3490
+ * @param args - Array[executor, dataHash, signatures]
3491
+ * @returns Empty array
3492
+ */
3493
+ this.checkSignaturesWithExecutor = async (args) => {
3494
+ await readContract2(this.runner, {
3495
+ address: this.contractAddress,
3496
+ functionName: "checkSignatures",
3497
+ abi: [
3498
+ {
3499
+ inputs: [
3500
+ { internalType: "address", name: "executor", type: "address" },
3501
+ { internalType: "bytes32", name: "dataHash", type: "bytes32" },
3502
+ { internalType: "bytes", name: "signatures", type: "bytes" }
3503
+ ],
3504
+ name: "checkSignatures",
3505
+ outputs: [],
3506
+ stateMutability: "view",
3507
+ type: "function"
3508
+ }
3509
+ ],
3510
+ args
3511
+ });
3512
+ return [];
3513
+ };
3514
+ /**
3515
+ * @returns Array[domainSeparator]
3516
+ */
3517
+ this.domainSeparator = async () => {
3518
+ return [await this.read("domainSeparator")];
3519
+ };
3520
+ /**
3521
+ * Returns array of modules.
3522
+ * @param args - Array[start, pageSize]
3523
+ * @returns Array[Array[modules], next]
3524
+ */
3525
+ this.getModulesPaginated = async (args) => {
3526
+ const [array, next] = await this.read("getModulesPaginated", args);
3527
+ return [array, next];
3528
+ };
3529
+ /**
3530
+ * Returns the list of Safe owner accounts.
3531
+ * @returns Array[Array[owners]]
3532
+ */
3533
+ this.getOwners = async () => {
3534
+ return [await this.read("getOwners")];
3535
+ };
3536
+ /**
3537
+ * Reads `length` bytes of storage in the current contract
3538
+ * @param args - Array[offset, length]
3539
+ * @returns Array[storage]
3540
+ */
3541
+ this.getStorageAt = async (args) => {
3542
+ return [await this.read("getStorageAt", args)];
3543
+ };
3544
+ /**
3545
+ * Returns the Safe threshold.
3546
+ * @returns Array[threshold]
3547
+ */
3548
+ this.getThreshold = async () => {
3549
+ return [await this.read("getThreshold")];
3550
+ };
3551
+ /**
3552
+ * Returns hash to be signed by owners.
3553
+ * @param args - Array[to, value, data, operation, safeTxGas, baseGas, gasPrice, gasToken, refundReceiver, _nonce]
3554
+ * @returns Array[transactionHash]
3555
+ */
3556
+ this.getTransactionHash = async (args) => {
3557
+ return [await this.read("getTransactionHash", args)];
3558
+ };
3559
+ /**
3560
+ * Checks if a specific Safe module is enabled for the current Safe.
3561
+ * @param args - Array[moduleAddress]
3562
+ * @returns Array[isEnabled]
3563
+ */
3564
+ this.isModuleEnabled = async (args) => {
3565
+ return [await this.read("isModuleEnabled", args)];
3566
+ };
3567
+ /**
3568
+ * Checks if a specific address is an owner of the current Safe.
3569
+ * @param args - Array[address]
3570
+ * @returns Array[isOwner]
3571
+ */
3572
+ this.isOwner = async (args) => {
3573
+ return [await this.read("isOwner", args)];
3574
+ };
3575
+ /**
3576
+ * Returns the Safe nonce.
3577
+ * @returns Array[nonce]
3578
+ */
3579
+ this.nonce = async () => {
3580
+ return [await this.read("nonce")];
3581
+ };
3582
+ /**
3583
+ * @param args - Array[messageHash]
3584
+ * @returns Array[signedMessages]
3585
+ */
3586
+ this.signedMessages = async (args) => {
3587
+ return [await this.read("signedMessages", args)];
3588
+ };
3589
+ }
3590
+ /**
3591
+ * Checks whether a given Safe transaction can be executed successfully with no errors.
3592
+ * @param safeTransaction - The Safe transaction to check.
3593
+ * @param options - Optional transaction options.
3594
+ * @returns True, if the given transactions is valid.
3595
+ */
3596
+ async isValidTransaction(safeTransaction, options = {}) {
3597
+ try {
3598
+ const gasLimit = options?.gasLimit || await this.estimateGas(
3599
+ "execTransaction",
3600
+ [
3601
+ safeTransaction.data.to,
3602
+ BigInt(safeTransaction.data.value),
3603
+ asHex(safeTransaction.data.data),
3604
+ safeTransaction.data.operation,
3605
+ BigInt(safeTransaction.data.safeTxGas),
3606
+ BigInt(safeTransaction.data.baseGas),
3607
+ BigInt(safeTransaction.data.gasPrice),
3608
+ safeTransaction.data.gasToken,
3609
+ safeTransaction.data.refundReceiver,
3610
+ asHex(safeTransaction.encodedSignatures())
3611
+ ],
3612
+ options
3613
+ );
3614
+ const converted = this.convertOptions({ ...options, gasLimit });
3615
+ const txResult = await simulateContract6(this.runner, {
3616
+ address: this.contractAddress,
3617
+ functionName: "execTransaction",
3618
+ abi: this.contractAbi,
3619
+ args: [
3620
+ safeTransaction.data.to,
3621
+ BigInt(safeTransaction.data.value),
3622
+ asHex(safeTransaction.data.data),
3623
+ safeTransaction.data.operation,
3624
+ BigInt(safeTransaction.data.safeTxGas),
3625
+ BigInt(safeTransaction.data.baseGas),
3626
+ BigInt(safeTransaction.data.gasPrice),
3627
+ safeTransaction.data.gasToken,
3628
+ safeTransaction.data.refundReceiver,
3629
+ asHex(safeTransaction.encodedSignatures())
3630
+ ],
3631
+ ...converted
3632
+ });
3633
+ return txResult.result;
3634
+ } catch (error) {
3635
+ return false;
3636
+ }
3637
+ }
3638
+ /**
3639
+ * Executes a transaction.
3640
+ * @param safeTransaction - The Safe transaction to execute.
3641
+ * @param options - Transaction options.
3642
+ * @returns Transaction result.
3643
+ */
3644
+ async execTransaction(safeTransaction, options) {
3645
+ const gasLimit = options?.gasLimit || await this.estimateGas(
3646
+ "execTransaction",
3647
+ [
3648
+ safeTransaction.data.to,
3649
+ BigInt(safeTransaction.data.value),
3650
+ asHex(safeTransaction.data.data),
3651
+ safeTransaction.data.operation,
3652
+ BigInt(safeTransaction.data.safeTxGas),
3653
+ BigInt(safeTransaction.data.baseGas),
3654
+ BigInt(safeTransaction.data.gasPrice),
3655
+ safeTransaction.data.gasToken,
3656
+ safeTransaction.data.refundReceiver,
3657
+ asHex(safeTransaction.encodedSignatures())
3658
+ ],
3659
+ options
3660
+ );
3661
+ const args = [
3662
+ safeTransaction.data.to,
3663
+ BigInt(safeTransaction.data.value),
3664
+ asHex(safeTransaction.data.data),
3665
+ safeTransaction.data.operation,
3666
+ BigInt(safeTransaction.data.safeTxGas),
3667
+ BigInt(safeTransaction.data.baseGas),
3668
+ BigInt(safeTransaction.data.gasPrice),
3669
+ safeTransaction.data.gasToken,
3670
+ safeTransaction.data.refundReceiver,
3671
+ asHex(safeTransaction.encodedSignatures())
3672
+ ];
3673
+ return toTxResult(
3674
+ this.runner,
3675
+ await this.write("execTransaction", args, { ...options, gasLimit }),
3676
+ options
3677
+ );
3678
+ }
3679
+ /**
3680
+ * Returns array of first 10 modules.
3681
+ * @returns Array[modules]
3682
+ */
3683
+ async getModules() {
3684
+ const [modules] = await this.getModulesPaginated([SENTINEL_ADDRESS, BigInt(10)]);
3685
+ return [modules.map((module) => module)];
3686
+ }
3687
+ /**
3688
+ * Marks a hash as approved. This can be used to validate a hash that is used by a signature.
3689
+ * @param hash - The hash that should be marked as approved for signatures that are verified by this contract.
3690
+ * @param options - Optional transaction options.
3691
+ * @returns Transaction result.
3692
+ */
3693
+ async approveHash(hash, options) {
3694
+ const gasLimit = options?.gasLimit || await this.estimateGas("approveHash", [asHash(hash)], options);
3695
+ return toTxResult(
3696
+ this.runner,
3697
+ await this.write("approveHash", [asHash(hash)], { ...options, gasLimit }),
3698
+ options
3699
+ );
3700
+ }
3701
+ /**
3702
+ * Returns the chain id of the Safe contract. (Custom method - not defined in the Safe Contract)
3703
+ * @returns Array[chainId]
3704
+ */
3705
+ async getChainId() {
3706
+ return [await Promise.resolve(this.chainId)];
3707
+ }
3708
+ /**
3709
+ * returns the nonce of the Safe contract.
3710
+ *
3711
+ * @returns {Promise<bigint>} A promise that resolves to the nonce of the Safe contract.
3712
+ */
3713
+ async getNonce() {
3714
+ const [nonce] = await this.nonce();
3715
+ return nonce;
3716
+ }
3717
+ };
3718
+ var SafeContract_v1_5_0_default = SafeContract_v1_5_0;
3719
+
3347
3720
  // src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.ts
3348
3721
  var SafeProxyFactoryBaseContract = class extends BaseContract_default {
3349
3722
  /**
@@ -3656,6 +4029,82 @@ var SafeProxyFactoryContract_v1_4_1 = class extends SafeProxyFactoryBaseContract
3656
4029
  };
3657
4030
  var SafeProxyFactoryContract_v1_4_1_default = SafeProxyFactoryContract_v1_4_1;
3658
4031
 
4032
+ // src/contracts/SafeProxyFactory/v1.5.0/SafeProxyFactoryContract_v1_5_0.ts
4033
+ import {
4034
+ safeProxyFactory_1_5_0_ContractArtifacts
4035
+ } from "@safe-global/types-kit";
4036
+ var SafeProxyFactoryContract_v1_5_0 = class extends SafeProxyFactoryBaseContract_default {
4037
+ /**
4038
+ * Constructs an instance of SafeProxyFactoryContract_v1_5_0
4039
+ *
4040
+ * @param chainId - The chain ID where the contract resides.
4041
+ * @param safeProvider - An instance of SafeProvider.
4042
+ * @param customContractAddress - Optional custom address for the contract. If not provided, the address is derived from the Safe deployments based on the chainId and safeVersion.
4043
+ * @param customContractAbi - Optional custom ABI for the contract. If not provided, the default ABI for version 1.5.0 is used.
4044
+ * @param deploymentType - Optional deployment type for the contract. If not provided, the first deployment retrieved from the safe-deployments array will be used.
4045
+ */
4046
+ constructor(chainId, safeProvider, customContractAddress, customContractAbi, deploymentType) {
4047
+ const safeVersion = "1.5.0";
4048
+ const defaultAbi = safeProxyFactory_1_5_0_ContractArtifacts.abi;
4049
+ super(
4050
+ chainId,
4051
+ safeProvider,
4052
+ defaultAbi,
4053
+ safeVersion,
4054
+ customContractAddress,
4055
+ customContractAbi,
4056
+ deploymentType
4057
+ );
4058
+ /**
4059
+ * Returns the ID of the chain the contract is currently deployed on.
4060
+ * @returns Array[chainId]
4061
+ */
4062
+ this.getChainId = async () => {
4063
+ return [await this.read("getChainId")];
4064
+ };
4065
+ /**
4066
+ * Allows to retrieve the creation code used for the Proxy deployment. With this it is easily possible to calculate predicted address.
4067
+ * @returns Array[creationCode]
4068
+ */
4069
+ this.proxyCreationCode = async () => {
4070
+ return [await this.read("proxyCreationCode")];
4071
+ };
4072
+ /**
4073
+ * Deploys a new chain-specific proxy with singleton and salt. Optionally executes an initializer call to a new proxy.
4074
+ * @param args - Array[singleton, initializer, saltNonce]
4075
+ * @returns Array[proxy]
4076
+ */
4077
+ this.createChainSpecificProxyWithNonce = async (args) => {
4078
+ return [await this.write("createChainSpecificProxyWithNonce", args)];
4079
+ };
4080
+ /**
4081
+ * Deploys a new chain-specific proxy with singleton and salt. Optionally executes an initializer call to a new proxy.
4082
+ * @param args - Array[singleton, initializer, saltNonce]
4083
+ * @returns Array[proxy]
4084
+ */
4085
+ this.createChainSpecificProxyWithNonceL2 = async (args) => {
4086
+ return [await this.write("createChainSpecificProxyWithNonceL2", args)];
4087
+ };
4088
+ /**
4089
+ * Deploys a new proxy with singleton and salt. Optionally executes an initializer call to a new proxy.
4090
+ * @param args - Array[singleton, initializer, saltNonce]
4091
+ * @returns Array[proxy]
4092
+ */
4093
+ this.createProxyWithNonce = async (args) => {
4094
+ return [await this.write("createProxyWithNonce", args)];
4095
+ };
4096
+ /**
4097
+ * Deploys a new proxy with singleton and salt. Optionally executes an initializer call to a new proxy.
4098
+ * @param args - Array[singleton, initializer, saltNonce]
4099
+ * @returns Array[proxy]
4100
+ */
4101
+ this.createProxyWithNonceL2 = async (args) => {
4102
+ return [await this.write("createProxyWithNonceL2", args)];
4103
+ };
4104
+ }
4105
+ };
4106
+ var SafeProxyFactoryContract_v1_5_0_default = SafeProxyFactoryContract_v1_5_0;
4107
+
3659
4108
  // src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.ts
3660
4109
  import {
3661
4110
  simulateTxAccessor_1_3_0_ContractArtifacts
@@ -3666,6 +4115,11 @@ import {
3666
4115
  simulateTxAccessor_1_4_1_ContractArtifacts
3667
4116
  } from "@safe-global/types-kit";
3668
4117
 
4118
+ // src/contracts/SimulateTxAccessor/v1.5.0/SimulateTxAccessorContract_v1_5_0.ts
4119
+ import {
4120
+ simulateTxAccessor_1_5_0_ContractArtifacts
4121
+ } from "@safe-global/types-kit";
4122
+
3669
4123
  // src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.ts
3670
4124
  var CompatibilityFallbackHandlerBaseContract = class extends BaseContract_default {
3671
4125
  /**
@@ -3757,6 +4211,50 @@ var CompatibilityFallbackHandlerContract_v1_4_1 = class extends CompatibilityFal
3757
4211
  };
3758
4212
  var CompatibilityFallbackHandlerContract_v1_4_1_default = CompatibilityFallbackHandlerContract_v1_4_1;
3759
4213
 
4214
+ // src/contracts/CompatibilityFallbackHandler/v1.5.0/CompatibilityFallbackHandlerContract_v1_5_0.ts
4215
+ import {
4216
+ compatibilityFallbackHandler_1_5_0_ContractArtifacts
4217
+ } from "@safe-global/types-kit";
4218
+ var CompatibilityFallbackHandlerContract_v1_5_0 = class extends CompatibilityFallbackHandlerBaseContract_default {
4219
+ /**
4220
+ * Constructs an instance of CompatibilityFallbackHandlerContract_v1_5_0
4221
+ *
4222
+ * @param chainId - The chain ID where the contract resides.
4223
+ * @param safeProvider - An instance of SafeProvider.
4224
+ * @param customContractAddress - Optional custom address for the contract. If not provided, the address is derived from the CompatibilityFallbackHandler deployments based on the chainId and safeVersion.
4225
+ * @param customContractAbi - Optional custom ABI for the contract. If not provided, the default ABI for version 1.5.0 is used.
4226
+ * @param deploymentType - Optional deployment type for the contract. If not provided, the first deployment retrieved from the safe-deployments array will be used.
4227
+ */
4228
+ constructor(chainId, safeProvider, customContractAddress, customContractAbi, deploymentType) {
4229
+ const safeVersion = "1.5.0";
4230
+ const defaultAbi = compatibilityFallbackHandler_1_5_0_ContractArtifacts.abi;
4231
+ super(
4232
+ chainId,
4233
+ safeProvider,
4234
+ defaultAbi,
4235
+ safeVersion,
4236
+ customContractAddress,
4237
+ customContractAbi,
4238
+ deploymentType
4239
+ );
4240
+ /**
4241
+ * New in v1.5.0: encodeTransactionData was moved from the Safe contract to CompatibilityFallbackHandler
4242
+ * to preserve backwards compatibility for existing integrations.
4243
+ * @param args - Array[to, value, data, operation, safeTxGas, baseGas, gasPrice, gasToken, refundReceiver, nonce]
4244
+ * @returns Array[encodedData]
4245
+ */
4246
+ this.encodeTransactionData = async (args) => {
4247
+ return [await this.read("encodeTransactionData", args)];
4248
+ };
4249
+ }
4250
+ };
4251
+ var CompatibilityFallbackHandlerContract_v1_5_0_default = CompatibilityFallbackHandlerContract_v1_5_0;
4252
+
4253
+ // src/contracts/ExtensibleFallbackHandler/v1.5.0/ExtensibleFallbackHandlerContract_v1_5_0.ts
4254
+ import {
4255
+ extensibleFallbackHandler_1_5_0_ContractArtifacts
4256
+ } from "@safe-global/types-kit";
4257
+
3760
4258
  // src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.ts
3761
4259
  var SafeWebAuthnSignerFactoryBaseContract = class extends BaseContract_default {
3762
4260
  /**
@@ -3929,6 +4427,16 @@ async function getSafeContractInstance(safeVersion, safeProvider, contractAddres
3929
4427
  const chainId = await safeProvider.getChainId();
3930
4428
  let safeContractInstance;
3931
4429
  switch (safeVersion) {
4430
+ case "1.5.0":
4431
+ safeContractInstance = new SafeContract_v1_5_0_default(
4432
+ chainId,
4433
+ safeProvider,
4434
+ isL1SafeSingleton,
4435
+ contractAddress,
4436
+ customContractAbi,
4437
+ deploymentType
4438
+ );
4439
+ break;
3932
4440
  case "1.4.1":
3933
4441
  safeContractInstance = new SafeContract_v1_4_1_default(
3934
4442
  chainId,
@@ -3989,6 +4497,15 @@ async function getCompatibilityFallbackHandlerContractInstance(safeVersion, safe
3989
4497
  const chainId = await safeProvider.getChainId();
3990
4498
  let compatibilityFallbackHandlerInstance;
3991
4499
  switch (safeVersion) {
4500
+ case "1.5.0":
4501
+ compatibilityFallbackHandlerInstance = new CompatibilityFallbackHandlerContract_v1_5_0_default(
4502
+ chainId,
4503
+ safeProvider,
4504
+ contractAddress,
4505
+ customContractAbi,
4506
+ deploymentType
4507
+ );
4508
+ break;
3992
4509
  case "1.4.1":
3993
4510
  compatibilityFallbackHandlerInstance = new CompatibilityFallbackHandlerContract_v1_4_1_default(
3994
4511
  chainId,
@@ -4019,6 +4536,15 @@ async function getSafeProxyFactoryContractInstance(safeVersion, safeProvider, co
4019
4536
  const chainId = await safeProvider.getChainId();
4020
4537
  let safeProxyFactoryContractInstance;
4021
4538
  switch (safeVersion) {
4539
+ case "1.5.0":
4540
+ safeProxyFactoryContractInstance = new SafeProxyFactoryContract_v1_5_0_default(
4541
+ chainId,
4542
+ safeProvider,
4543
+ contractAddress,
4544
+ customContractAbi,
4545
+ deploymentType
4546
+ );
4547
+ break;
4022
4548
  case "1.4.1":
4023
4549
  safeProxyFactoryContractInstance = new SafeProxyFactoryContract_v1_4_1_default(
4024
4550
  chainId,
@@ -4065,6 +4591,7 @@ async function getSafeProxyFactoryContractInstance(safeVersion, safeProvider, co
4065
4591
  async function getSafeWebAuthnSignerFactoryContractInstance(safeVersion, safeProvider, contractAddress, customContractAbi, deploymentType) {
4066
4592
  const chainId = await safeProvider.getChainId();
4067
4593
  switch (safeVersion) {
4594
+ case "1.5.0":
4068
4595
  case "1.4.1":
4069
4596
  case "1.3.0":
4070
4597
  const safeWebAuthnSignerFactoryContractInstance = new SafeWebAuthnSignerFactoryContract_v0_2_1_default(
@@ -4084,6 +4611,7 @@ async function getSafeWebAuthnSignerFactoryContractInstance(safeVersion, safePro
4084
4611
  async function getSafeWebAuthnSharedSignerContractInstance(safeVersion, safeProvider, contractAddress, customContractAbi, deploymentType) {
4085
4612
  const chainId = await safeProvider.getChainId();
4086
4613
  switch (safeVersion) {
4614
+ case "1.5.0":
4087
4615
  case "1.4.1":
4088
4616
  case "1.3.0":
4089
4617
  const safeWebAuthnSharedSignerContractInstance = new SafeWebAuthnSharedSignerContract_v0_2_1_default(
@@ -4345,11 +4873,7 @@ async function createMockPasskey(name, webAuthnCredentials) {
4345
4873
  const exportedPublicKey = await crypto.subtle.exportKey("spki", key);
4346
4874
  const rawId = Buffer.from(passkeyCredential.rawId).toString("hex");
4347
4875
  const coordinates = await decodePublicKeyForWeb(exportedPublicKey);
4348
- const passkey = {
4349
- rawId,
4350
- coordinates
4351
- };
4352
- return passkey;
4876
+ return { rawId, coordinates };
4353
4877
  }
4354
4878
  export {
4355
4879
  WebAuthnCredentials,