@safe-global/protocol-kit 4.1.1 → 5.0.1

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 (212) hide show
  1. package/dist/src/Safe.d.ts +12 -17
  2. package/dist/src/Safe.js +159 -112
  3. package/dist/src/Safe.js.map +1 -1
  4. package/dist/src/SafeProvider.d.ts +11 -20
  5. package/dist/src/SafeProvider.js +141 -90
  6. package/dist/src/SafeProvider.js.map +1 -1
  7. package/dist/src/contracts/BaseContract.d.ts +26 -6
  8. package/dist/src/contracts/BaseContract.js +101 -14
  9. package/dist/src/contracts/BaseContract.js.map +1 -1
  10. package/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.d.ts +5 -4
  11. package/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.js +3 -2
  12. package/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.js.map +1 -1
  13. package/dist/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.d.ts +4 -3
  14. package/dist/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.js +5 -5
  15. package/dist/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.js.map +1 -1
  16. package/dist/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.d.ts +4 -3
  17. package/dist/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.js +5 -5
  18. package/dist/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.js.map +1 -1
  19. package/dist/src/contracts/CreateCall/CreateCallBaseContract.d.ts +5 -4
  20. package/dist/src/contracts/CreateCall/CreateCallBaseContract.js +3 -2
  21. package/dist/src/contracts/CreateCall/CreateCallBaseContract.js.map +1 -1
  22. package/dist/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.d.ts +4 -3
  23. package/dist/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.js +7 -9
  24. package/dist/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.js.map +1 -1
  25. package/dist/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.d.ts +4 -3
  26. package/dist/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.js +7 -9
  27. package/dist/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.js.map +1 -1
  28. package/dist/src/contracts/MultiSend/MultiSendBaseContract.d.ts +5 -4
  29. package/dist/src/contracts/MultiSend/MultiSendBaseContract.js +3 -2
  30. package/dist/src/contracts/MultiSend/MultiSendBaseContract.js.map +1 -1
  31. package/dist/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.d.ts +5 -4
  32. package/dist/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.js +3 -2
  33. package/dist/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.js.map +1 -1
  34. package/dist/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.d.ts +4 -3
  35. package/dist/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.js +5 -5
  36. package/dist/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.js.map +1 -1
  37. package/dist/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.d.ts +4 -3
  38. package/dist/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.js +5 -5
  39. package/dist/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.js.map +1 -1
  40. package/dist/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.d.ts +4 -3
  41. package/dist/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.js +5 -5
  42. package/dist/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.js.map +1 -1
  43. package/dist/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.d.ts +4 -3
  44. package/dist/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.js +5 -5
  45. package/dist/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.js.map +1 -1
  46. package/dist/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.d.ts +4 -3
  47. package/dist/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.js +5 -5
  48. package/dist/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.js.map +1 -1
  49. package/dist/src/contracts/Safe/SafeBaseContract.d.ts +5 -4
  50. package/dist/src/contracts/Safe/SafeBaseContract.js +3 -2
  51. package/dist/src/contracts/Safe/SafeBaseContract.js.map +1 -1
  52. package/dist/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.d.ts +7 -11
  53. package/dist/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.js +64 -42
  54. package/dist/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.js.map +1 -1
  55. package/dist/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.d.ts +4 -9
  56. package/dist/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.js +61 -39
  57. package/dist/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.js.map +1 -1
  58. package/dist/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.d.ts +5 -10
  59. package/dist/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.js +63 -41
  60. package/dist/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.js.map +1 -1
  61. package/dist/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.d.ts +5 -10
  62. package/dist/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.js +63 -41
  63. package/dist/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.js.map +1 -1
  64. package/dist/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.d.ts +5 -10
  65. package/dist/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.js +63 -41
  66. package/dist/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.js.map +1 -1
  67. package/dist/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.d.ts +5 -7
  68. package/dist/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.js +3 -2
  69. package/dist/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.js.map +1 -1
  70. package/dist/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.d.ts +5 -11
  71. package/dist/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.js +9 -38
  72. package/dist/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.js.map +1 -1
  73. package/dist/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.d.ts +6 -12
  74. package/dist/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.js +12 -41
  75. package/dist/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.js.map +1 -1
  76. package/dist/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.d.ts +5 -11
  77. package/dist/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.js +11 -40
  78. package/dist/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.js.map +1 -1
  79. package/dist/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.d.ts +5 -11
  80. package/dist/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.js +10 -39
  81. package/dist/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.js.map +1 -1
  82. package/dist/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.d.ts +5 -7
  83. package/dist/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.js +3 -2
  84. package/dist/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.js.map +1 -1
  85. package/dist/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.d.ts +4 -3
  86. package/dist/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.js +9 -9
  87. package/dist/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.js.map +1 -1
  88. package/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.d.ts +5 -7
  89. package/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.js +3 -2
  90. package/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.js.map +1 -1
  91. package/dist/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.d.ts +4 -3
  92. package/dist/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.js +8 -8
  93. package/dist/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.js.map +1 -1
  94. package/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.d.ts +5 -4
  95. package/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.js +3 -2
  96. package/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.js.map +1 -1
  97. package/dist/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.d.ts +4 -3
  98. package/dist/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.js +7 -8
  99. package/dist/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.js.map +1 -1
  100. package/dist/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.d.ts +4 -3
  101. package/dist/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.js +7 -8
  102. package/dist/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.js.map +1 -1
  103. package/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.d.ts +5 -4
  104. package/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.js +3 -2
  105. package/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.js.map +1 -1
  106. package/dist/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.d.ts +4 -3
  107. package/dist/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.js +9 -7
  108. package/dist/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.js.map +1 -1
  109. package/dist/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.d.ts +4 -3
  110. package/dist/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.js +9 -7
  111. package/dist/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.js.map +1 -1
  112. package/dist/src/contracts/config.d.ts +8 -1
  113. package/dist/src/contracts/config.js +47 -16
  114. package/dist/src/contracts/config.js.map +1 -1
  115. package/dist/src/contracts/constants.d.ts +4 -3
  116. package/dist/src/contracts/constants.js +2 -1
  117. package/dist/src/contracts/constants.js.map +1 -1
  118. package/dist/src/contracts/contractInstances.d.ts +13 -12
  119. package/dist/src/contracts/contractInstances.js +34 -34
  120. package/dist/src/contracts/contractInstances.js.map +1 -1
  121. package/dist/src/contracts/safeDeploymentContracts.d.ts +6 -5
  122. package/dist/src/contracts/safeDeploymentContracts.js +26 -66
  123. package/dist/src/contracts/safeDeploymentContracts.js.map +1 -1
  124. package/dist/src/contracts/utils.d.ts +35 -13
  125. package/dist/src/contracts/utils.js +136 -55
  126. package/dist/src/contracts/utils.js.map +1 -1
  127. package/dist/src/index.d.ts +10 -6
  128. package/dist/src/index.js +7 -9
  129. package/dist/src/index.js.map +1 -1
  130. package/dist/src/managers/contractManager.js +12 -17
  131. package/dist/src/managers/contractManager.js.map +1 -1
  132. package/dist/src/managers/fallbackHandlerManager.js +5 -4
  133. package/dist/src/managers/fallbackHandlerManager.js.map +1 -1
  134. package/dist/src/managers/guardManager.js +5 -4
  135. package/dist/src/managers/guardManager.js.map +1 -1
  136. package/dist/src/types/contracts.d.ts +13 -13
  137. package/dist/src/types/index.d.ts +0 -1
  138. package/dist/src/types/index.js +0 -1
  139. package/dist/src/types/index.js.map +1 -1
  140. package/dist/src/types/safeConfig.d.ts +3 -1
  141. package/dist/src/types/safeProvider.d.ts +33 -5
  142. package/dist/src/types/transactions.d.ts +1 -1
  143. package/dist/src/utils/address.d.ts +1 -1
  144. package/dist/src/utils/address.js +1 -1
  145. package/dist/src/utils/address.js.map +1 -1
  146. package/dist/src/utils/block.d.ts +6 -0
  147. package/dist/src/utils/block.js +14 -0
  148. package/dist/src/utils/block.js.map +1 -0
  149. package/dist/src/utils/constants.d.ts +4 -3
  150. package/dist/src/utils/constants.js +2 -1
  151. package/dist/src/utils/constants.js.map +1 -1
  152. package/dist/src/utils/eip-3770/index.d.ts +1 -1
  153. package/dist/src/utils/eip-3770/index.js +2 -3
  154. package/dist/src/utils/eip-3770/index.js.map +1 -1
  155. package/dist/src/utils/eip-712/encode.d.ts +3 -0
  156. package/dist/src/utils/eip-712/encode.js +127 -0
  157. package/dist/src/utils/eip-712/encode.js.map +1 -0
  158. package/dist/src/utils/eip-712/index.d.ts +1 -1
  159. package/dist/src/utils/eip-712/index.js +5 -7
  160. package/dist/src/utils/eip-712/index.js.map +1 -1
  161. package/dist/src/utils/erc-20/index.d.ts +1 -1
  162. package/dist/src/utils/erc-20/index.js +12 -5
  163. package/dist/src/utils/erc-20/index.js.map +1 -1
  164. package/dist/src/utils/messages/SafeMessage.d.ts +1 -1
  165. package/dist/src/utils/passkeys/PasskeyClient.d.ts +5 -0
  166. package/dist/src/utils/passkeys/PasskeyClient.js +156 -0
  167. package/dist/src/utils/passkeys/PasskeyClient.js.map +1 -0
  168. package/dist/src/utils/passkeys/createPasskeyDeploymentTransaction.d.ts +2 -1
  169. package/dist/src/utils/passkeys/createPasskeyDeploymentTransaction.js +12 -12
  170. package/dist/src/utils/passkeys/createPasskeyDeploymentTransaction.js.map +1 -1
  171. package/dist/src/utils/passkeys/extractPasskeyData.d.ts +1 -2
  172. package/dist/src/utils/passkeys/extractPasskeyData.js +8 -15
  173. package/dist/src/utils/passkeys/extractPasskeyData.js.map +1 -1
  174. package/dist/src/utils/passkeys/getPasskeyOwnerAddress.js +10 -3
  175. package/dist/src/utils/passkeys/getPasskeyOwnerAddress.js.map +1 -1
  176. package/dist/src/utils/passkeys/index.d.ts +1 -1
  177. package/dist/src/utils/passkeys/index.js +1 -1
  178. package/dist/src/utils/passkeys/isSharedSigner.d.ts +2 -3
  179. package/dist/src/utils/passkeys/isSharedSigner.js +6 -5
  180. package/dist/src/utils/passkeys/isSharedSigner.js.map +1 -1
  181. package/dist/src/utils/provider.d.ts +3 -0
  182. package/dist/src/utils/provider.js +12 -0
  183. package/dist/src/utils/provider.js.map +1 -0
  184. package/dist/src/utils/safeVersions.js +2 -2
  185. package/dist/src/utils/safeVersions.js.map +1 -1
  186. package/dist/src/utils/signatures/SafeSignature.d.ts +1 -1
  187. package/dist/src/utils/signatures/utils.d.ts +4 -4
  188. package/dist/src/utils/signatures/utils.js +34 -20
  189. package/dist/src/utils/signatures/utils.js.map +1 -1
  190. package/dist/src/utils/transactions/SafeTransaction.d.ts +1 -1
  191. package/dist/src/utils/transactions/SafeTransaction.js.map +1 -1
  192. package/dist/src/utils/transactions/gas.d.ts +1 -1
  193. package/dist/src/utils/transactions/gas.js +37 -64
  194. package/dist/src/utils/transactions/gas.js.map +1 -1
  195. package/dist/src/utils/transactions/types.d.ts +17 -1
  196. package/dist/src/utils/transactions/utils.d.ts +11 -2
  197. package/dist/src/utils/transactions/utils.js +117 -27
  198. package/dist/src/utils/transactions/utils.js.map +1 -1
  199. package/dist/src/utils/types.d.ts +4 -0
  200. package/dist/src/utils/types.js +59 -1
  201. package/dist/src/utils/types.js.map +1 -1
  202. package/dist/tsconfig.build.tsbuildinfo +1 -1
  203. package/package.json +26 -35
  204. package/dist/src/SafeFactory.d.ts +0 -15
  205. package/dist/src/SafeFactory.js +0 -136
  206. package/dist/src/SafeFactory.js.map +0 -1
  207. package/dist/src/types/safeFactory.d.ts +0 -31
  208. package/dist/src/types/safeFactory.js +0 -3
  209. package/dist/src/types/safeFactory.js.map +0 -1
  210. package/dist/src/utils/passkeys/PasskeySigner.d.ts +0 -63
  211. package/dist/src/utils/passkeys/PasskeySigner.js +0 -163
  212. package/dist/src/utils/passkeys/PasskeySigner.js.map +0 -1
@@ -12,12 +12,19 @@ const SafeProvider_1 = __importDefault(require("../../SafeProvider"));
12
12
  * @returns {Promise<string>} Returns the passkey owner address associated with the passkey
13
13
  */
14
14
  async function getPasskeyOwnerAddress(safe, passkey) {
15
- const safeVersion = await safe.getContractVersion();
15
+ const safeVersion = safe.getContractVersion();
16
16
  const safeAddress = await safe.getAddress();
17
17
  const owners = await safe.getOwners();
18
- const safePasskeyProvider = await SafeProvider_1.default.init(safe.getSafeProvider().provider, passkey, safeVersion, safe.getContractManager().contractNetworks, safeAddress, owners);
18
+ const safePasskeyProvider = await SafeProvider_1.default.init({
19
+ provider: safe.getSafeProvider().provider,
20
+ signer: passkey,
21
+ safeVersion,
22
+ contractNetworks: safe.getContractManager().contractNetworks,
23
+ safeAddress,
24
+ owners
25
+ });
19
26
  const passkeySigner = await safePasskeyProvider.getExternalSigner();
20
- const passkeyOwnerAddress = await passkeySigner.getAddress();
27
+ const passkeyOwnerAddress = passkeySigner.account.address;
21
28
  return passkeyOwnerAddress;
22
29
  }
23
30
  exports.default = getPasskeyOwnerAddress;
@@ -1 +1 @@
1
- {"version":3,"file":"getPasskeyOwnerAddress.js","sourceRoot":"","sources":["../../../../src/utils/passkeys/getPasskeyOwnerAddress.ts"],"names":[],"mappings":";;;;;AAAA,sEAA6C;AAI7C;;;;;;GAMG;AACH,KAAK,UAAU,sBAAsB,CAAC,IAAU,EAAE,OAAuB;IACvE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA;IACnD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;IAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;IAErC,MAAM,mBAAmB,GAAG,MAAM,sBAAY,CAAC,IAAI,CACjD,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,EAC/B,OAAO,EACP,WAAW,EACX,IAAI,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAC1C,WAAW,EACX,MAAM,CACP,CAAA;IAED,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,iBAAiB,EAAE,CAAA;IAEnE,MAAM,mBAAmB,GAAG,MAAM,aAAc,CAAC,UAAU,EAAE,CAAA;IAE7D,OAAO,mBAAmB,CAAA;AAC5B,CAAC;AAED,kBAAe,sBAAsB,CAAA"}
1
+ {"version":3,"file":"getPasskeyOwnerAddress.js","sourceRoot":"","sources":["../../../../src/utils/passkeys/getPasskeyOwnerAddress.ts"],"names":[],"mappings":";;;;;AACA,0FAAiE;AAGjE;;;;;;GAMG;AACH,KAAK,UAAU,sBAAsB,CAAC,IAAU,EAAE,OAAuB;IACvE,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC7C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;IAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;IAErC,MAAM,mBAAmB,GAAG,MAAM,sBAAY,CAAC,IAAI,CAAC;QAClD,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ;QACzC,MAAM,EAAE,OAAO;QACf,WAAW;QACX,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,gBAAgB;QAC5D,WAAW;QACX,MAAM;KACP,CAAC,CAAA;IAEF,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,iBAAiB,EAAE,CAAA;IAEnE,MAAM,mBAAmB,GAAG,aAAc,CAAC,OAAO,CAAC,OAAO,CAAA;IAE1D,OAAO,mBAAmB,CAAA;AAC5B,CAAC;AAED,kBAAe,sBAAsB,CAAA"}
@@ -1,3 +1,3 @@
1
1
  export * from './extractPasskeyData';
2
- export * from './PasskeySigner';
2
+ export * from './PasskeyClient';
3
3
  export * from './getPasskeyOwnerAddress';
@@ -15,6 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./extractPasskeyData"), exports);
18
- __exportStar(require("./PasskeySigner"), exports);
18
+ __exportStar(require("./PasskeyClient"), exports);
19
19
  __exportStar(require("./getPasskeyOwnerAddress"), exports);
20
20
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,7 @@
1
- import { PasskeyArgType } from '../../types/passkeys';
2
- import { SafeWebAuthnSharedSignerContractImplementationType } from '../../types/contracts';
1
+ import { PasskeyArgType, SafeWebAuthnSharedSignerContractImplementationType } from '../../types';
3
2
  /**
4
3
  * Returns true if the passkey signer is a shared signer
5
- * @returns {Promise<string>} A promise that resolves to the signer's address.
4
+ * @returns {Promise<boolean>} A promise that resolves to the signer's address.
6
5
  */
7
6
  declare function isSharedSigner(passkey: PasskeyArgType, safeWebAuthnSharedSignerContract: SafeWebAuthnSharedSignerContractImplementationType, safeAddress: string, owners: string[], chainId: string): Promise<boolean>;
8
7
  export default isSharedSigner;
@@ -1,22 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const extractPasskeyData_1 = require("./extractPasskeyData");
4
+ const types_1 = require("../../utils/types");
4
5
  /**
5
6
  * Returns true if the passkey signer is a shared signer
6
- * @returns {Promise<string>} A promise that resolves to the signer's address.
7
+ * @returns {Promise<boolean>} A promise that resolves to the signer's address.
7
8
  */
8
9
  async function isSharedSigner(passkey, safeWebAuthnSharedSignerContract, safeAddress, owners, chainId) {
9
- const sharedSignerContractAddress = await safeWebAuthnSharedSignerContract.getAddress();
10
+ const sharedSignerContractAddress = safeWebAuthnSharedSignerContract.contractAddress;
10
11
  // is a shared signer if the shared signer contract address is present in the owners and its configured in the Safe slot
11
12
  if (safeAddress && owners.includes(sharedSignerContractAddress)) {
12
13
  const [sharedSignerSlot] = await safeWebAuthnSharedSignerContract.getConfiguration([
13
- safeAddress
14
+ (0, types_1.asHex)(safeAddress)
14
15
  ]);
15
16
  const { x, y, verifiers } = sharedSignerSlot;
16
- const passkeyVerifierAddress = passkey.customVerifierAddress || (0, extractPasskeyData_1.getDefaultFCLP256VerifierAddress)(chainId.toString());
17
+ const verifierAddress = passkey.customVerifierAddress || (0, extractPasskeyData_1.getDefaultFCLP256VerifierAddress)(chainId);
17
18
  const isSharedSigner = BigInt(passkey.coordinates.x) === x &&
18
19
  BigInt(passkey.coordinates.y) === y &&
19
- BigInt(passkeyVerifierAddress) === verifiers;
20
+ BigInt(verifierAddress) === verifiers;
20
21
  return isSharedSigner;
21
22
  }
22
23
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"isSharedSigner.js","sourceRoot":"","sources":["../../../../src/utils/passkeys/isSharedSigner.ts"],"names":[],"mappings":";;AACA,6DAAuE;AAGvE;;;GAGG;AACH,KAAK,UAAU,cAAc,CAC3B,OAAuB,EACvB,gCAAoF,EACpF,WAAmB,EACnB,MAAgB,EAChB,OAAe;IAEf,MAAM,2BAA2B,GAAG,MAAM,gCAAgC,CAAC,UAAU,EAAE,CAAA;IAEvF,wHAAwH;IACxH,IAAI,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,gBAAgB,CAAC,GAAG,MAAM,gCAAgC,CAAC,gBAAgB,CAAC;YACjF,WAAW;SACZ,CAAC,CAAA;QAEF,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAA;QAE5C,MAAM,sBAAsB,GAC1B,OAAO,CAAC,qBAAqB,IAAI,IAAA,qDAAgC,EAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;QAEvF,MAAM,cAAc,GAClB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;YACnC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;YACnC,MAAM,CAAC,sBAAsB,CAAC,KAAK,SAAS,CAAA;QAE9C,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,kBAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"isSharedSigner.js","sourceRoot":"","sources":["../../../../src/utils/passkeys/isSharedSigner.ts"],"names":[],"mappings":";;AAIA,6DAAuE;AACvE,iEAA6D;AAE7D;;;GAGG;AACH,KAAK,UAAU,cAAc,CAC3B,OAAuB,EACvB,gCAAoF,EACpF,WAAmB,EACnB,MAAgB,EAChB,OAAe;IAEf,MAAM,2BAA2B,GAAG,gCAAgC,CAAC,eAAe,CAAA;IAEpF,wHAAwH;IACxH,IAAI,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,gBAAgB,CAAC,GAAG,MAAM,gCAAgC,CAAC,gBAAgB,CAAC;YACjF,IAAA,aAAK,EAAC,WAAW,CAAC;SACnB,CAAC,CAAA;QAEF,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAA;QAE5C,MAAM,eAAe,GACnB,OAAO,CAAC,qBAAqB,IAAI,IAAA,qDAAgC,EAAC,OAAO,CAAC,CAAA;QAE5E,MAAM,cAAc,GAClB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;YACnC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;YACnC,MAAM,CAAC,eAAe,CAAC,KAAK,SAAS,CAAA;QAEvC,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,kBAAe,cAAc,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const isEip1193Provider: (provider: any) => boolean;
2
+ export declare const isPrivateKey: (signer?: any) => boolean;
3
+ export declare const isSignerPasskeyClient: (signer?: any) => boolean;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSignerPasskeyClient = exports.isPrivateKey = exports.isEip1193Provider = void 0;
4
+ const viem_1 = require("viem");
5
+ const passkeys_1 = require("./passkeys");
6
+ const isEip1193Provider = (provider) => typeof provider !== 'string';
7
+ exports.isEip1193Provider = isEip1193Provider;
8
+ const isPrivateKey = (signer) => typeof signer === 'string' && !(0, viem_1.isAddress)(signer);
9
+ exports.isPrivateKey = isPrivateKey;
10
+ const isSignerPasskeyClient = (signer) => !!signer && signer.key === passkeys_1.PASSKEY_CLIENT_KEY;
11
+ exports.isSignerPasskeyClient = isSignerPasskeyClient;
12
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/utils/provider.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAChC,yCAA+C;AAExC,MAAM,iBAAiB,GAAG,CAAC,QAAa,EAAW,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAA;AAA5E,QAAA,iBAAiB,qBAA2D;AAClF,MAAM,YAAY,GAAG,CAAC,MAAY,EAAW,EAAE,CACpD,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,IAAA,gBAAS,EAAC,MAAM,CAAC,CAAA;AADrC,QAAA,YAAY,gBACyB;AAC3C,MAAM,qBAAqB,GAAG,CAAC,MAAY,EAAW,EAAE,CAC7D,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,KAAK,6BAAkB,CAAA;AADlC,QAAA,qBAAqB,yBACa"}
@@ -36,7 +36,7 @@ const hasSafeFeature = (feature, version) => {
36
36
  };
37
37
  exports.hasSafeFeature = hasSafeFeature;
38
38
  async function isSafeContractCompatibleWithRequiredTxGas(safeContract) {
39
- const safeVersion = await safeContract.getVersion();
39
+ const safeVersion = safeContract.safeVersion;
40
40
  if (!(0, exports.hasSafeFeature)(SAFE_FEATURES.REQUIRED_TXGAS, safeVersion)) {
41
41
  throw new Error('Current version of the Safe does not support the requiredTxGas functionality');
42
42
  }
@@ -44,7 +44,7 @@ async function isSafeContractCompatibleWithRequiredTxGas(safeContract) {
44
44
  }
45
45
  exports.isSafeContractCompatibleWithRequiredTxGas = isSafeContractCompatibleWithRequiredTxGas;
46
46
  async function isSafeContractCompatibleWithSimulateAndRevert(safeContract) {
47
- const safeVersion = await safeContract.getVersion();
47
+ const safeVersion = safeContract.safeVersion;
48
48
  if (!(0, exports.hasSafeFeature)(SAFE_FEATURES.SIMULATE_AND_REVERT, safeVersion)) {
49
49
  throw new Error('Current version of the Safe does not support the simulateAndRevert functionality');
50
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"safeVersions.js","sourceRoot":"","sources":["../../../src/utils/safeVersions.ts"],"names":[],"mappings":";;;;;;AAAA,2EAAwD;AAQxD,IAAY,aAUX;AAVD,WAAY,aAAa;IACvB,8DAA6C,CAAA;IAC7C,kDAAiC,CAAA;IACjC,gEAA+C,CAAA;IAC/C,sCAAqB,CAAA;IACrB,4DAA2C,CAAA;IAC3C,kDAAiC,CAAA;IACjC,4DAA2C,CAAA;IAC3C,kDAAiC,CAAA;IACjC,wDAAuC,CAAA;AACzC,CAAC,EAVW,aAAa,6BAAb,aAAa,QAUxB;AAED,MAAM,wBAAwB,GAAkC;IAC9D,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,SAAS;IAC/C,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,SAAS;IACzC,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE,SAAS;IAChD,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,SAAS;IACnC,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAAS;IAC9C,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,SAAS;IACzC,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAAS;IAC9C,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,SAAS;IACzC,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,SAAS;CAC7C,CAAA;AAEM,MAAM,cAAc,GAAG,CAAC,OAAsB,EAAE,OAAe,EAAW,EAAE;IACjF,IAAI,CAAC,CAAC,OAAO,IAAI,wBAAwB,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,IAAA,mBAAe,EAAC,OAAO,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAA;AACpE,CAAC,CAAA;AANY,QAAA,cAAc,kBAM1B;AAmBM,KAAK,UAAU,yCAAyC,CAC7D,YAA4C;IAE5C,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAA;IAEnD,IAAI,CAAC,IAAA,sBAAc,EAAC,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAA;IACjG,CAAC;IAED,OAAO,YAAuD,CAAA;AAChE,CAAC;AAVD,8FAUC;AAEM,KAAK,UAAU,6CAA6C,CACjE,YAA4C;IAE5C,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAA;IAEnD,IAAI,CAAC,IAAA,sBAAc,EAAC,aAAa,CAAC,mBAAmB,EAAE,WAAW,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IACH,CAAC;IAED,OAAO,YAA2D,CAAA;AACpE,CAAC;AAZD,sGAYC"}
1
+ {"version":3,"file":"safeVersions.js","sourceRoot":"","sources":["../../../src/utils/safeVersions.ts"],"names":[],"mappings":";;;;;;AAAA,2EAAwD;AAQxD,IAAY,aAUX;AAVD,WAAY,aAAa;IACvB,8DAA6C,CAAA;IAC7C,kDAAiC,CAAA;IACjC,gEAA+C,CAAA;IAC/C,sCAAqB,CAAA;IACrB,4DAA2C,CAAA;IAC3C,kDAAiC,CAAA;IACjC,4DAA2C,CAAA;IAC3C,kDAAiC,CAAA;IACjC,wDAAuC,CAAA;AACzC,CAAC,EAVW,aAAa,6BAAb,aAAa,QAUxB;AAED,MAAM,wBAAwB,GAAkC;IAC9D,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,SAAS;IAC/C,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,SAAS;IACzC,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE,SAAS;IAChD,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,SAAS;IACnC,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAAS;IAC9C,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,SAAS;IACzC,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAAS;IAC9C,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,SAAS;IACzC,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,SAAS;CAC7C,CAAA;AAEM,MAAM,cAAc,GAAG,CAAC,OAAsB,EAAE,OAAe,EAAW,EAAE;IACjF,IAAI,CAAC,CAAC,OAAO,IAAI,wBAAwB,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,IAAA,mBAAe,EAAC,OAAO,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAA;AACpE,CAAC,CAAA;AANY,QAAA,cAAc,kBAM1B;AAmBM,KAAK,UAAU,yCAAyC,CAC7D,YAA4C;IAE5C,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAA;IAE5C,IAAI,CAAC,IAAA,sBAAc,EAAC,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAA;IACjG,CAAC;IAED,OAAO,YAAuD,CAAA;AAChE,CAAC;AAVD,8FAUC;AAEM,KAAK,UAAU,6CAA6C,CACjE,YAA4C;IAE5C,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAA;IAE5C,IAAI,CAAC,IAAA,sBAAc,EAAC,aAAa,CAAC,mBAAmB,EAAE,WAAW,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IACH,CAAC;IAED,OAAO,YAA2D,CAAA;AACpE,CAAC;AAZD,sGAYC"}
@@ -1,4 +1,4 @@
1
- import { SafeSignature } from '@safe-global/safe-core-sdk-types';
1
+ import { SafeSignature } from '@safe-global/types-kit';
2
2
  export declare class EthSafeSignature implements SafeSignature {
3
3
  signer: string;
4
4
  data: string;
@@ -1,11 +1,11 @@
1
1
  import SafeProvider from '../../SafeProvider';
2
- import { SafeSignature, SafeEIP712Args, SafeTransactionData } from '@safe-global/safe-core-sdk-types';
2
+ import { SafeSignature, SafeEIP712Args, SafeTransactionData } from '@safe-global/types-kit';
3
3
  import { SigningMethod } from '../../types';
4
4
  export declare function generatePreValidatedSignature(ownerAddress: string): SafeSignature;
5
- export declare function isTxHashSignedWithPrefix(txHash: string, signature: string, ownerAddress: string): boolean;
5
+ export declare function isTxHashSignedWithPrefix(txHash: string, signature: string, ownerAddress: string): Promise<boolean>;
6
6
  type AdjustVOverload = {
7
- (signingMethod: SigningMethod.ETH_SIGN_TYPED_DATA, signature: string): string;
8
- (signingMethod: SigningMethod.ETH_SIGN, signature: string, safeTxHash: string, sender: string): string;
7
+ (signingMethod: SigningMethod.ETH_SIGN_TYPED_DATA, signature: string): Promise<string>;
8
+ (signingMethod: SigningMethod.ETH_SIGN, signature: string, safeTxHash: string, sender: string): Promise<string>;
9
9
  };
10
10
  export declare const adjustVInSignature: AdjustVOverload;
11
11
  export declare function generateSignature(safeProvider: SafeProvider, hash: string): Promise<SafeSignature>;
@@ -4,13 +4,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.calculateSafeMessageHash = exports.calculateSafeTransactionHash = exports.preimageSafeMessageHash = exports.preimageSafeTransactionHash = exports.buildSignatureBytes = exports.buildContractSignature = exports.generateEIP712Signature = exports.generateSignature = exports.adjustVInSignature = exports.isTxHashSignedWithPrefix = exports.generatePreValidatedSignature = void 0;
7
- const ethers_1 = require("ethers");
8
- const ethereumjs_util_1 = require("ethereumjs-util");
7
+ const viem_1 = require("viem");
9
8
  const satisfies_1 = __importDefault(require("semver/functions/satisfies"));
10
9
  const address_1 = require("../address");
11
10
  const SafeSignature_1 = require("./SafeSignature");
12
11
  const eip_712_1 = require("../eip-712");
13
12
  const types_1 = require("../../types");
13
+ const eip_712_2 = require("../eip-712");
14
+ const encode_1 = require("../eip-712/encode");
15
+ const types_2 = require("../types");
16
+ const constants_1 = require("../constants");
14
17
  function generatePreValidatedSignature(ownerAddress) {
15
18
  const signature = '0x000000000000000000000000' +
16
19
  ownerAddress.slice(2) +
@@ -19,16 +22,13 @@ function generatePreValidatedSignature(ownerAddress) {
19
22
  return new SafeSignature_1.EthSafeSignature(ownerAddress, signature);
20
23
  }
21
24
  exports.generatePreValidatedSignature = generatePreValidatedSignature;
22
- function isTxHashSignedWithPrefix(txHash, signature, ownerAddress) {
25
+ async function isTxHashSignedWithPrefix(txHash, signature, ownerAddress) {
23
26
  let hasPrefix;
24
27
  try {
25
- const rsvSig = {
26
- r: Buffer.from(signature.slice(2, 66), 'hex'),
27
- s: Buffer.from(signature.slice(66, 130), 'hex'),
28
- v: parseInt(signature.slice(130, 132), 16)
29
- };
30
- const recoveredData = (0, ethereumjs_util_1.ecrecover)(Buffer.from(txHash.slice(2), 'hex'), rsvSig.v, rsvSig.r, rsvSig.s);
31
- const recoveredAddress = (0, ethereumjs_util_1.bufferToHex)((0, ethereumjs_util_1.pubToAddress)(recoveredData));
28
+ const recoveredAddress = await (0, viem_1.recoverAddress)({
29
+ hash: (0, types_2.asHash)(txHash),
30
+ signature: (0, types_2.asHex)(signature)
31
+ });
32
32
  hasPrefix = !(0, address_1.sameString)(recoveredAddress, ownerAddress);
33
33
  }
34
34
  catch (e) {
@@ -37,7 +37,7 @@ function isTxHashSignedWithPrefix(txHash, signature, ownerAddress) {
37
37
  return hasPrefix;
38
38
  }
39
39
  exports.isTxHashSignedWithPrefix = isTxHashSignedWithPrefix;
40
- const adjustVInSignature = (signingMethod, signature, safeTxHash, signerAddress) => {
40
+ const adjustVInSignature = async (signingMethod, signature, safeTxHash, signerAddress) => {
41
41
  const ETHEREUM_V_VALUES = [0, 1, 27, 28];
42
42
  const MIN_VALID_V_VALUE_FOR_SAFE_ECDSA = 27;
43
43
  let signatureV = parseInt(signature.slice(-2), 16);
@@ -60,7 +60,7 @@ const adjustVInSignature = (signingMethod, signature, safeTxHash, signerAddress)
60
60
  signatureV += MIN_VALID_V_VALUE_FOR_SAFE_ECDSA;
61
61
  }
62
62
  const adjustedSignature = signature.slice(0, -2) + signatureV.toString(16);
63
- const signatureHasPrefix = isTxHashSignedWithPrefix(safeTxHash, adjustedSignature, signerAddress);
63
+ const signatureHasPrefix = await isTxHashSignedWithPrefix(safeTxHash, adjustedSignature, signerAddress);
64
64
  if (signatureHasPrefix) {
65
65
  signatureV += 4;
66
66
  }
@@ -81,7 +81,7 @@ async function generateSignature(safeProvider, hash) {
81
81
  throw new Error('SafeProvider must be initialized with a signer to use this method');
82
82
  }
83
83
  let signature = await safeProvider.signMessage(hash);
84
- signature = (0, exports.adjustVInSignature)(types_1.SigningMethod.ETH_SIGN, signature, hash, signerAddress);
84
+ signature = await (0, exports.adjustVInSignature)(types_1.SigningMethod.ETH_SIGN, signature, hash, signerAddress);
85
85
  return new SafeSignature_1.EthSafeSignature(signerAddress, signature);
86
86
  }
87
87
  exports.generateSignature = generateSignature;
@@ -92,7 +92,7 @@ async function generateEIP712Signature(safeProvider, safeEIP712Args, methodVersi
92
92
  }
93
93
  //@ts-expect-error: Evaluate removal of methodVersion and use v4
94
94
  let signature = await safeProvider.signTypedData(safeEIP712Args, methodVersion);
95
- signature = (0, exports.adjustVInSignature)(types_1.SigningMethod.ETH_SIGN_TYPED_DATA, signature);
95
+ signature = await (0, exports.adjustVInSignature)(types_1.SigningMethod.ETH_SIGN_TYPED_DATA, signature);
96
96
  return new SafeSignature_1.EthSafeSignature(signerAddress, signature);
97
97
  }
98
98
  exports.generateEIP712Signature = generateEIP712Signature;
@@ -104,7 +104,7 @@ exports.buildContractSignature = buildContractSignature;
104
104
  const buildSignatureBytes = (signatures) => {
105
105
  const SIGNATURE_LENGTH_BYTES = 65;
106
106
  signatures.sort((left, right) => left.signer.toLowerCase().localeCompare(right.signer.toLowerCase()));
107
- let signatureBytes = '0x';
107
+ let signatureBytes = constants_1.EMPTY_DATA;
108
108
  let dynamicBytes = '';
109
109
  for (const signature of signatures) {
110
110
  if (signature.isContractSignature) {
@@ -134,12 +134,21 @@ const buildSignatureBytes = (signatures) => {
134
134
  exports.buildSignatureBytes = buildSignatureBytes;
135
135
  const preimageSafeTransactionHash = (safeAddress, safeTx, safeVersion, chainId) => {
136
136
  const safeTxTypes = (0, eip_712_1.getEip712TxTypes)(safeVersion);
137
- return ethers_1.ethers.TypedDataEncoder.encode({ verifyingContract: safeAddress, chainId }, { SafeTx: safeTxTypes.SafeTx }, safeTx);
137
+ const message = safeTx;
138
+ return (0, encode_1.encodeTypedData)({
139
+ domain: { verifyingContract: safeAddress, chainId: Number(chainId) },
140
+ types: { SafeTx: safeTxTypes.SafeTx },
141
+ message
142
+ });
138
143
  };
139
144
  exports.preimageSafeTransactionHash = preimageSafeTransactionHash;
140
145
  const preimageSafeMessageHash = (safeAddress, message, safeVersion, chainId) => {
141
146
  const safeMessageTypes = (0, eip_712_1.getEip712MessageTypes)(safeVersion);
142
- return ethers_1.ethers.TypedDataEncoder.encode({ verifyingContract: safeAddress, chainId }, { SafeMessage: safeMessageTypes.SafeMessage }, { message });
147
+ return (0, encode_1.encodeTypedData)({
148
+ domain: { verifyingContract: safeAddress, chainId: Number(chainId) },
149
+ types: { SafeMessage: safeMessageTypes.SafeMessage },
150
+ message: { message }
151
+ });
143
152
  };
144
153
  exports.preimageSafeMessageHash = preimageSafeMessageHash;
145
154
  const EQ_OR_GT_1_3_0 = '>=1.3.0';
@@ -147,14 +156,19 @@ const calculateSafeTransactionHash = (safeAddress, safeTx, safeVersion, chainId)
147
156
  const safeTxTypes = (0, eip_712_1.getEip712TxTypes)(safeVersion);
148
157
  const domain = { verifyingContract: safeAddress };
149
158
  if ((0, satisfies_1.default)(safeVersion, EQ_OR_GT_1_3_0)) {
150
- domain.chainId = chainId;
159
+ domain.chainId = Number(chainId);
151
160
  }
152
- return ethers_1.ethers.TypedDataEncoder.hash(domain, { SafeTx: safeTxTypes.SafeTx }, safeTx);
161
+ const message = safeTx;
162
+ return (0, eip_712_2.hashTypedData)({ domain, types: { SafeTx: safeTxTypes.SafeTx }, message });
153
163
  };
154
164
  exports.calculateSafeTransactionHash = calculateSafeTransactionHash;
155
165
  const calculateSafeMessageHash = (safeAddress, message, safeVersion, chainId) => {
156
166
  const safeMessageTypes = (0, eip_712_1.getEip712MessageTypes)(safeVersion);
157
- return ethers_1.ethers.TypedDataEncoder.hash({ verifyingContract: safeAddress, chainId }, { SafeMessage: safeMessageTypes.SafeMessage }, { message });
167
+ return (0, eip_712_2.hashTypedData)({
168
+ domain: { verifyingContract: safeAddress, chainId: Number(chainId) },
169
+ types: { SafeMessage: safeMessageTypes.SafeMessage },
170
+ message: { message }
171
+ });
158
172
  };
159
173
  exports.calculateSafeMessageHash = calculateSafeMessageHash;
160
174
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/signatures/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/signatures/utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SafeSignature, SafeTransaction, SafeTransactionData } from '@safe-global/safe-core-sdk-types';
1
+ import { SafeSignature, SafeTransaction, SafeTransactionData } from '@safe-global/types-kit';
2
2
  declare class EthSafeTransaction implements SafeTransaction {
3
3
  data: SafeTransactionData;
4
4
  signatures: Map<string, SafeSignature>;
@@ -1 +1 @@
1
- {"version":3,"file":"SafeTransaction.js","sourceRoot":"","sources":["../../../../src/utils/transactions/SafeTransaction.ts"],"names":[],"mappings":";;AAKA,8CAAmD;AAEnD,MAAM,kBAAkB;IAItB,YAAY,IAAyB;QAFrC,eAAU,GAA+B,IAAI,GAAG,EAAE,CAAA;QAGhD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,YAAY,CAAC,SAAwB;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAA;IAChE,CAAC;IAED,iBAAiB;QACf,OAAO,IAAA,gCAAmB,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAClE,CAAC;CACF;AAED,kBAAe,kBAAkB,CAAA"}
1
+ {"version":3,"file":"SafeTransaction.js","sourceRoot":"","sources":["../../../../src/utils/transactions/SafeTransaction.ts"],"names":[],"mappings":";;AACA,8CAAmD;AAEnD,MAAM,kBAAkB;IAItB,YAAY,IAAyB;QAFrC,eAAU,GAA+B,IAAI,GAAG,EAAE,CAAA;QAGhD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,YAAY,CAAC,SAAwB;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAA;IAChE,CAAC;IAED,iBAAiB;QACf,OAAO,IAAA,gCAAmB,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAClE,CAAC;CACF;AAED,kBAAe,kBAAkB,CAAA"}
@@ -1,4 +1,4 @@
1
- import { OperationType, SafeVersion, SafeTransaction } from '@safe-global/safe-core-sdk-types';
1
+ import { OperationType, SafeVersion, SafeTransaction } from '@safe-global/types-kit';
2
2
  import Safe from '../../Safe';
3
3
  import SafeProvider from '../../SafeProvider';
4
4
  import { ContractNetworksConfig, SafeContractImplementationType } from '../../types';
@@ -4,11 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.estimateSafeDeploymentGas = exports.estimateSafeTxGas = exports.estimateTxBaseGas = exports.estimateTxGas = exports.estimateGas = void 0;
7
- const safe_core_sdk_types_1 = require("@safe-global/safe-core-sdk-types");
7
+ const viem_1 = require("viem");
8
+ const types_kit_1 = require("@safe-global/types-kit");
8
9
  const satisfies_1 = __importDefault(require("semver/functions/satisfies"));
9
10
  const constants_1 = require("../constants");
10
11
  const safeDeploymentContracts_1 = require("../../contracts/safeDeploymentContracts");
11
12
  const safeVersions_1 = require("../safeVersions");
13
+ const types_1 = require("../types");
12
14
  // Every byte == 00 -> 4 Gas cost
13
15
  const CALL_DATA_ZERO_BYTE_GAS_COST = 4;
14
16
  // Every byte != 00 -> 16 Gas cost (68 before Istanbul)
@@ -50,12 +52,12 @@ async function estimateGas(safeVersion, safeContract, safeProvider, to, valueInW
50
52
  const transactionDataToEstimate = simulateTxAccessorContract.encode('simulate', [
51
53
  to,
52
54
  BigInt(valueInWei),
53
- data,
55
+ (0, types_1.asHex)(data),
54
56
  operation
55
57
  ]);
56
58
  const safeContractContractCompatibleWithSimulateAndRevert = await (0, safeVersions_1.isSafeContractCompatibleWithSimulateAndRevert)(safeContract);
57
- const safeFunctionToEstimate = safeContractContractCompatibleWithSimulateAndRevert.encode('simulateAndRevert', [await simulateTxAccessorContract.getAddress(), transactionDataToEstimate]);
58
- const safeAddress = await safeContract.getAddress();
59
+ const safeFunctionToEstimate = safeContractContractCompatibleWithSimulateAndRevert.encode('simulateAndRevert', [simulateTxAccessorContract.getAddress(), (0, types_1.asHex)(transactionDataToEstimate)]);
60
+ const safeAddress = safeContract.getAddress();
59
61
  const transactionToEstimateGas = {
60
62
  to: safeAddress,
61
63
  value: '0',
@@ -72,46 +74,7 @@ async function estimateGas(safeVersion, safeContract, safeProvider, to, valueInW
72
74
  }
73
75
  exports.estimateGas = estimateGas;
74
76
  async function estimateTxGas(safeContract, safeProvider, to, valueInWei, data, operation) {
75
- let txGasEstimation = 0;
76
- const safeAddress = await safeContract.getAddress();
77
- const safeContractCompatibleWithRequiredTxGas = await (0, safeVersions_1.isSafeContractCompatibleWithRequiredTxGas)(safeContract);
78
- const estimateData = safeContractCompatibleWithRequiredTxGas.encode('requiredTxGas', [
79
- to,
80
- BigInt(valueInWei),
81
- data,
82
- operation
83
- ]);
84
- try {
85
- const estimateResponse = await safeProvider.estimateGas({
86
- to: safeAddress,
87
- from: safeAddress,
88
- data: estimateData
89
- });
90
- txGasEstimation = Number('0x' + estimateResponse.substring(138)) + 10000;
91
- }
92
- catch (error) { }
93
- if (txGasEstimation > 0) {
94
- const dataGasEstimation = estimateDataGasCosts(estimateData);
95
- let additionalGas = 10000;
96
- for (let i = 0; i < 10; i++) {
97
- try {
98
- const estimateResponse = await safeProvider.call({
99
- to: safeAddress,
100
- from: safeAddress,
101
- data: estimateData,
102
- gasPrice: '0',
103
- gasLimit: (txGasEstimation + dataGasEstimation + additionalGas).toString()
104
- });
105
- if (estimateResponse !== '0x') {
106
- break;
107
- }
108
- }
109
- catch (error) { }
110
- txGasEstimation = txGasEstimation + additionalGas;
111
- additionalGas *= 2;
112
- }
113
- return (txGasEstimation + additionalGas).toString();
114
- }
77
+ const safeAddress = safeContract.getAddress();
115
78
  try {
116
79
  const estimateGas = await safeProvider.estimateGas({
117
80
  to,
@@ -122,7 +85,7 @@ async function estimateTxGas(safeContract, safeProvider, to, valueInWei, data, o
122
85
  return estimateGas;
123
86
  }
124
87
  catch (error) {
125
- if (operation === safe_core_sdk_types_1.OperationType.DelegateCall) {
88
+ if (operation === types_kit_1.OperationType.DelegateCall) {
126
89
  return '0';
127
90
  }
128
91
  return Promise.reject(error);
@@ -158,7 +121,7 @@ async function estimateTxBaseGas(safe, safeTransaction) {
158
121
  const encodeGasToken = gasToken || constants_1.ZERO_ADDRESS;
159
122
  const encodeRefundReceiver = refundReceiver || constants_1.ZERO_ADDRESS;
160
123
  const signatures = '0x';
161
- const safeVersion = await safe.getContractVersion();
124
+ const safeVersion = safe.getContractVersion();
162
125
  const safeProvider = safe.getSafeProvider();
163
126
  const isL1SafeSingleton = safe.getContractManager().isL1SafeSingleton;
164
127
  const chainId = await safe.getChainId();
@@ -214,7 +177,7 @@ exports.estimateTxBaseGas = estimateTxBaseGas;
214
177
  *
215
178
  */
216
179
  async function estimateSafeTxGas(safe, safeTransaction) {
217
- const safeVersion = await safe.getContractVersion();
180
+ const safeVersion = safe.getContractVersion();
218
181
  if ((0, satisfies_1.default)(safeVersion, '>=1.3.0')) {
219
182
  const safeTxGas = await estimateSafeTxGasWithSimulate(safe, safeTransaction);
220
183
  return addExtraGasForSafety(safeTxGas);
@@ -250,7 +213,7 @@ function addExtraGasForSafety(safeTxGas) {
250
213
  async function estimateSafeTxGasWithRequiredTxGas(safe, safeTransaction) {
251
214
  const isSafeDeployed = await safe.isSafeDeployed();
252
215
  const safeAddress = await safe.getAddress();
253
- const safeVersion = await safe.getContractVersion();
216
+ const safeVersion = safe.getContractVersion();
254
217
  const safeProvider = safe.getSafeProvider();
255
218
  const isL1SafeSingleton = safe.getContractManager().isL1SafeSingleton;
256
219
  const chainId = await safe.getChainId();
@@ -265,10 +228,10 @@ async function estimateSafeTxGasWithRequiredTxGas(safe, safeTransaction) {
265
228
  const transactionDataToEstimate = safeContractCompatibleWithRequiredTxGas.encode('requiredTxGas', [
266
229
  safeTransaction.data.to,
267
230
  BigInt(safeTransaction.data.value),
268
- safeTransaction.data.data,
231
+ (0, types_1.asHex)(safeTransaction.data.data),
269
232
  safeTransaction.data.operation
270
233
  ]);
271
- const to = isSafeDeployed ? safeAddress : await safeSingletonContract.getAddress();
234
+ const to = isSafeDeployed ? safeAddress : safeSingletonContract.getAddress();
272
235
  const transactionToEstimateGas = {
273
236
  to,
274
237
  value: '0',
@@ -308,6 +271,15 @@ function decodeSafeTxGas(encodedDataResponse) {
308
271
  const data = '0x' + encodedSafeTxGas;
309
272
  return Number('0x' + data.slice(184).slice(0, 10)).toString();
310
273
  }
274
+ function isEthersError(error) {
275
+ return error.data != null;
276
+ }
277
+ function isViemError(error) {
278
+ return error instanceof viem_1.BaseError;
279
+ }
280
+ function isGnosisChainEstimationError(error) {
281
+ return error.info.error.data != null;
282
+ }
311
283
  /**
312
284
  * Parses the SafeTxGas estimation response from different providers.
313
285
  * It extracts and decodes the SafeTxGas value from the Error object.
@@ -318,26 +290,27 @@ function decodeSafeTxGas(encodedDataResponse) {
318
290
  */
319
291
  function parseSafeTxGasErrorResponse(error) {
320
292
  // Ethers v6
321
- const ethersData = error?.data;
322
- if (ethersData) {
323
- return decodeSafeTxGas(ethersData);
293
+ if (isEthersError(error)) {
294
+ return decodeSafeTxGas(error.data);
324
295
  }
325
296
  // viem
326
- const viemError = error?.info?.error?.message;
327
- if (viemError) {
328
- return decodeSafeTxGas(viemError);
297
+ if (isViemError(error)) {
298
+ const cause = error.walk();
299
+ if (typeof cause?.data === 'string') {
300
+ return decodeSafeTxGas(cause?.data);
301
+ }
329
302
  }
330
303
  // gnosis-chain
331
- const gnosisChainProviderData = error?.info?.error?.data;
332
- if (gnosisChainProviderData) {
304
+ if (isGnosisChainEstimationError(error)) {
305
+ const gnosisChainProviderData = error.info.error.data;
333
306
  const isString = typeof gnosisChainProviderData === 'string';
334
307
  const encodedDataResponse = isString ? gnosisChainProviderData : gnosisChainProviderData.data;
335
308
  return decodeSafeTxGas(encodedDataResponse);
336
309
  }
337
310
  // Error message
338
- const isEncodedDataPresent = error?.message?.includes('0x');
311
+ const isEncodedDataPresent = error.message.includes('0x');
339
312
  if (isEncodedDataPresent) {
340
- return decodeSafeTxGas(error?.message);
313
+ return decodeSafeTxGas(error.message);
341
314
  }
342
315
  throw new Error('Could not parse SafeTxGas from Estimation response, Details: ' + error?.message);
343
316
  }
@@ -355,7 +328,7 @@ function parseSafeTxGasErrorResponse(error) {
355
328
  async function estimateSafeTxGasWithSimulate(safe, safeTransaction) {
356
329
  const isSafeDeployed = await safe.isSafeDeployed();
357
330
  const safeAddress = await safe.getAddress();
358
- const safeVersion = await safe.getContractVersion();
331
+ const safeVersion = safe.getContractVersion();
359
332
  const safeProvider = safe.getSafeProvider();
360
333
  const chainId = await safe.getChainId();
361
334
  const customContracts = safe.getContractManager().contractNetworks?.[chainId.toString()];
@@ -375,13 +348,13 @@ async function estimateSafeTxGasWithSimulate(safe, safeTransaction) {
375
348
  const transactionDataToEstimate = simulateTxAccessorContract.encode('simulate', [
376
349
  safeTransaction.data.to,
377
350
  BigInt(safeTransaction.data.value),
378
- safeTransaction.data.data,
351
+ (0, types_1.asHex)(safeTransaction.data.data),
379
352
  safeTransaction.data.operation
380
353
  ]);
381
354
  // if the Safe is not deployed we can use the singleton address to simulate
382
- const to = isSafeDeployed ? safeAddress : await safeSingletonContract.getAddress();
355
+ const to = isSafeDeployed ? safeAddress : safeSingletonContract.getAddress();
383
356
  const SafeContractCompatibleWithSimulateAndRevert = await (0, safeVersions_1.isSafeContractCompatibleWithSimulateAndRevert)(safeSingletonContract);
384
- const safeFunctionToEstimate = SafeContractCompatibleWithSimulateAndRevert.encode('simulateAndRevert', [await simulateTxAccessorContract.getAddress(), transactionDataToEstimate]);
357
+ const safeFunctionToEstimate = SafeContractCompatibleWithSimulateAndRevert.encode('simulateAndRevert', [simulateTxAccessorContract.getAddress(), (0, types_1.asHex)(transactionDataToEstimate)]);
385
358
  const transactionToEstimateGas = {
386
359
  to,
387
360
  value: '0',
@@ -1 +1 @@
1
- {"version":3,"file":"gas.js","sourceRoot":"","sources":["../../../../src/utils/transactions/gas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gas.js","sourceRoot":"","sources":["../../../../src/utils/transactions/gas.ts"],"names":[],"mappings":"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"}