@safe-global/protocol-kit 5.2.1 → 6.0.0-alpha.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 (355) hide show
  1. package/dist/cjs/src/index.cjs +7534 -0
  2. package/dist/cjs/test-utils/index.cjs +4118 -0
  3. package/dist/esm/src/index.mjs +7639 -0
  4. package/dist/esm/test-utils/index.mjs +4217 -0
  5. package/dist/src/Safe.d.ts +3 -2
  6. package/dist/src/Safe.d.ts.map +1 -0
  7. package/dist/src/SafeProvider.d.ts +1 -0
  8. package/dist/src/SafeProvider.d.ts.map +1 -0
  9. package/dist/src/contracts/BaseContract.d.ts +1 -0
  10. package/dist/src/contracts/BaseContract.d.ts.map +1 -0
  11. package/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.d.ts +1 -0
  12. package/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.d.ts.map +1 -0
  13. package/dist/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.d.ts +1 -0
  14. package/dist/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.d.ts.map +1 -0
  15. package/dist/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.d.ts +1 -0
  16. package/dist/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.d.ts.map +1 -0
  17. package/dist/src/contracts/CreateCall/CreateCallBaseContract.d.ts +1 -0
  18. package/dist/src/contracts/CreateCall/CreateCallBaseContract.d.ts.map +1 -0
  19. package/dist/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.d.ts +1 -0
  20. package/dist/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.d.ts.map +1 -0
  21. package/dist/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.d.ts +1 -0
  22. package/dist/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.d.ts.map +1 -0
  23. package/dist/src/contracts/MultiSend/MultiSendBaseContract.d.ts +1 -0
  24. package/dist/src/contracts/MultiSend/MultiSendBaseContract.d.ts.map +1 -0
  25. package/dist/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.d.ts +1 -0
  26. package/dist/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.d.ts.map +1 -0
  27. package/dist/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.d.ts +1 -0
  28. package/dist/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.d.ts.map +1 -0
  29. package/dist/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.d.ts +1 -0
  30. package/dist/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.d.ts.map +1 -0
  31. package/dist/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.d.ts +1 -0
  32. package/dist/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.d.ts.map +1 -0
  33. package/dist/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.d.ts +1 -0
  34. package/dist/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.d.ts.map +1 -0
  35. package/dist/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.d.ts +1 -0
  36. package/dist/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.d.ts.map +1 -0
  37. package/dist/src/contracts/Safe/SafeBaseContract.d.ts +1 -0
  38. package/dist/src/contracts/Safe/SafeBaseContract.d.ts.map +1 -0
  39. package/dist/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.d.ts +1 -0
  40. package/dist/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.d.ts.map +1 -0
  41. package/dist/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.d.ts +1 -0
  42. package/dist/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.d.ts.map +1 -0
  43. package/dist/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.d.ts +1 -0
  44. package/dist/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.d.ts.map +1 -0
  45. package/dist/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.d.ts +1 -0
  46. package/dist/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.d.ts.map +1 -0
  47. package/dist/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.d.ts +1 -0
  48. package/dist/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.d.ts.map +1 -0
  49. package/dist/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.d.ts +1 -0
  50. package/dist/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.d.ts.map +1 -0
  51. package/dist/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.d.ts +1 -0
  52. package/dist/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.d.ts.map +1 -0
  53. package/dist/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.d.ts +1 -0
  54. package/dist/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.d.ts.map +1 -0
  55. package/dist/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.d.ts +1 -0
  56. package/dist/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.d.ts.map +1 -0
  57. package/dist/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.d.ts +1 -0
  58. package/dist/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.d.ts.map +1 -0
  59. package/dist/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.d.ts +1 -0
  60. package/dist/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.d.ts.map +1 -0
  61. package/dist/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.d.ts +1 -0
  62. package/dist/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.d.ts.map +1 -0
  63. package/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.d.ts +1 -0
  64. package/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.d.ts.map +1 -0
  65. package/dist/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.d.ts +1 -0
  66. package/dist/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.d.ts.map +1 -0
  67. package/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.d.ts +1 -0
  68. package/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.d.ts.map +1 -0
  69. package/dist/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.d.ts +1 -0
  70. package/dist/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.d.ts.map +1 -0
  71. package/dist/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.d.ts +1 -0
  72. package/dist/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.d.ts.map +1 -0
  73. package/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.d.ts +1 -0
  74. package/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.d.ts.map +1 -0
  75. package/dist/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.d.ts +1 -0
  76. package/dist/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.d.ts.map +1 -0
  77. package/dist/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.d.ts +1 -0
  78. package/dist/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.d.ts.map +1 -0
  79. package/dist/src/contracts/config.d.ts +1 -0
  80. package/dist/src/contracts/config.d.ts.map +1 -0
  81. package/dist/src/contracts/constants.d.ts +1 -0
  82. package/dist/src/contracts/constants.d.ts.map +1 -0
  83. package/dist/src/contracts/contractInstances.d.ts +1 -0
  84. package/dist/src/contracts/contractInstances.d.ts.map +1 -0
  85. package/dist/src/contracts/index.d.ts +1 -0
  86. package/dist/src/contracts/index.d.ts.map +1 -0
  87. package/dist/src/contracts/safeDeploymentContracts.d.ts +1 -0
  88. package/dist/src/contracts/safeDeploymentContracts.d.ts.map +1 -0
  89. package/dist/src/contracts/utils.d.ts +1 -0
  90. package/dist/src/contracts/utils.d.ts.map +1 -0
  91. package/dist/src/index.d.ts +1 -0
  92. package/dist/src/index.d.ts.map +1 -0
  93. package/dist/src/managers/contractManager.d.ts +1 -0
  94. package/dist/src/managers/contractManager.d.ts.map +1 -0
  95. package/dist/src/managers/fallbackHandlerManager.d.ts +1 -0
  96. package/dist/src/managers/fallbackHandlerManager.d.ts.map +1 -0
  97. package/dist/src/managers/guardManager.d.ts +1 -0
  98. package/dist/src/managers/guardManager.d.ts.map +1 -0
  99. package/dist/src/managers/moduleManager.d.ts +1 -0
  100. package/dist/src/managers/moduleManager.d.ts.map +1 -0
  101. package/dist/src/managers/ownerManager.d.ts +1 -0
  102. package/dist/src/managers/ownerManager.d.ts.map +1 -0
  103. package/dist/src/types/contracts.d.ts +1 -0
  104. package/dist/src/types/contracts.d.ts.map +1 -0
  105. package/dist/src/types/index.d.ts +1 -1
  106. package/dist/src/types/index.d.ts.map +1 -0
  107. package/dist/src/types/passkeys.d.ts +1 -0
  108. package/dist/src/types/passkeys.d.ts.map +1 -0
  109. package/dist/src/types/safeConfig.d.ts +1 -0
  110. package/dist/src/types/safeConfig.d.ts.map +1 -0
  111. package/dist/src/types/safeProvider.d.ts +1 -0
  112. package/dist/src/types/safeProvider.d.ts.map +1 -0
  113. package/dist/src/types/transactions.d.ts +1 -0
  114. package/dist/src/types/transactions.d.ts.map +1 -0
  115. package/dist/src/utils/address.d.ts +1 -0
  116. package/dist/src/utils/address.d.ts.map +1 -0
  117. package/dist/src/utils/block.d.ts +1 -0
  118. package/dist/src/utils/block.d.ts.map +1 -0
  119. package/dist/src/utils/constants.d.ts +1 -0
  120. package/dist/src/utils/constants.d.ts.map +1 -0
  121. package/dist/src/utils/eip-3770/config.d.ts +1 -0
  122. package/dist/src/utils/eip-3770/config.d.ts.map +1 -0
  123. package/dist/src/utils/eip-3770/index.d.ts +1 -0
  124. package/dist/src/utils/eip-3770/index.d.ts.map +1 -0
  125. package/dist/src/utils/eip-712/encode.d.ts +1 -0
  126. package/dist/src/utils/eip-712/encode.d.ts.map +1 -0
  127. package/dist/src/utils/eip-712/index.d.ts +1 -0
  128. package/dist/src/utils/eip-712/index.d.ts.map +1 -0
  129. package/dist/src/utils/erc-20/index.d.ts +1 -0
  130. package/dist/src/utils/erc-20/index.d.ts.map +1 -0
  131. package/dist/src/utils/getProtocolKitVersion.d.ts +1 -0
  132. package/dist/src/utils/getProtocolKitVersion.d.ts.map +1 -0
  133. package/dist/src/utils/index.d.ts +1 -0
  134. package/dist/src/utils/index.d.ts.map +1 -0
  135. package/dist/src/utils/memoized.d.ts +1 -0
  136. package/dist/src/utils/memoized.d.ts.map +1 -0
  137. package/dist/src/utils/messages/SafeMessage.d.ts +1 -0
  138. package/dist/src/utils/messages/SafeMessage.d.ts.map +1 -0
  139. package/dist/src/utils/on-chain-tracking/generateOnChainIdentifier.d.ts +1 -0
  140. package/dist/src/utils/on-chain-tracking/generateOnChainIdentifier.d.ts.map +1 -0
  141. package/dist/src/utils/passkeys/PasskeyClient.d.ts +1 -0
  142. package/dist/src/utils/passkeys/PasskeyClient.d.ts.map +1 -0
  143. package/dist/src/utils/passkeys/createPasskeyDeploymentTransaction.d.ts +1 -0
  144. package/dist/src/utils/passkeys/createPasskeyDeploymentTransaction.d.ts.map +1 -0
  145. package/dist/src/utils/passkeys/extractPasskeyData.d.ts +1 -0
  146. package/dist/src/utils/passkeys/extractPasskeyData.d.ts.map +1 -0
  147. package/dist/src/utils/passkeys/getPasskeyOwnerAddress.d.ts +1 -0
  148. package/dist/src/utils/passkeys/getPasskeyOwnerAddress.d.ts.map +1 -0
  149. package/dist/src/utils/passkeys/index.d.ts +1 -0
  150. package/dist/src/utils/passkeys/index.d.ts.map +1 -0
  151. package/dist/src/utils/passkeys/isSharedSigner.d.ts +1 -0
  152. package/dist/src/utils/passkeys/isSharedSigner.d.ts.map +1 -0
  153. package/dist/src/utils/provider.d.ts +1 -0
  154. package/dist/src/utils/provider.d.ts.map +1 -0
  155. package/dist/src/utils/safeVersions.d.ts +1 -0
  156. package/dist/src/utils/safeVersions.d.ts.map +1 -0
  157. package/dist/src/utils/signatures/SafeSignature.d.ts +1 -0
  158. package/dist/src/utils/signatures/SafeSignature.d.ts.map +1 -0
  159. package/dist/src/utils/signatures/index.d.ts +1 -0
  160. package/dist/src/utils/signatures/index.d.ts.map +1 -0
  161. package/dist/src/utils/signatures/utils.d.ts +2 -2
  162. package/dist/src/utils/signatures/utils.d.ts.map +1 -0
  163. package/dist/src/utils/transactions/SafeTransaction.d.ts +1 -0
  164. package/dist/src/utils/transactions/SafeTransaction.d.ts.map +1 -0
  165. package/dist/src/utils/transactions/gas.d.ts +1 -0
  166. package/dist/src/utils/transactions/gas.d.ts.map +1 -0
  167. package/dist/src/utils/transactions/index.d.ts +1 -0
  168. package/dist/src/utils/transactions/index.d.ts.map +1 -0
  169. package/dist/src/utils/transactions/types.d.ts +1 -0
  170. package/dist/src/utils/transactions/types.d.ts.map +1 -0
  171. package/dist/src/utils/transactions/utils.d.ts +1 -0
  172. package/dist/src/utils/transactions/utils.d.ts.map +1 -0
  173. package/dist/src/utils/types.d.ts +1 -0
  174. package/dist/src/utils/types.d.ts.map +1 -0
  175. package/dist/test-utils/index.d.ts +3 -0
  176. package/dist/test-utils/index.d.ts.map +1 -0
  177. package/dist/test-utils/passkeys.d.ts +25 -0
  178. package/dist/test-utils/passkeys.d.ts.map +1 -0
  179. package/dist/test-utils/webauthnShim.d.ts +150 -0
  180. package/dist/test-utils/webauthnShim.d.ts.map +1 -0
  181. package/dist/tsconfig.build.tsbuildinfo +1 -1
  182. package/package.json +22 -6
  183. package/dist/src/Safe.js +0 -1409
  184. package/dist/src/Safe.js.map +0 -1
  185. package/dist/src/SafeProvider.js +0 -265
  186. package/dist/src/SafeProvider.js.map +0 -1
  187. package/dist/src/contracts/BaseContract.js +0 -163
  188. package/dist/src/contracts/BaseContract.js.map +0 -1
  189. package/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.js +0 -40
  190. package/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.js.map +0 -1
  191. package/dist/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.js +0 -33
  192. package/dist/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.js.map +0 -1
  193. package/dist/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.js +0 -33
  194. package/dist/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.js.map +0 -1
  195. package/dist/src/contracts/CreateCall/CreateCallBaseContract.js +0 -40
  196. package/dist/src/contracts/CreateCall/CreateCallBaseContract.js.map +0 -1
  197. package/dist/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.js +0 -56
  198. package/dist/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.js.map +0 -1
  199. package/dist/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.js +0 -56
  200. package/dist/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.js.map +0 -1
  201. package/dist/src/contracts/MultiSend/MultiSendBaseContract.js +0 -40
  202. package/dist/src/contracts/MultiSend/MultiSendBaseContract.js.map +0 -1
  203. package/dist/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.js +0 -40
  204. package/dist/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.js.map +0 -1
  205. package/dist/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.js +0 -33
  206. package/dist/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.js.map +0 -1
  207. package/dist/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.js +0 -33
  208. package/dist/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.js.map +0 -1
  209. package/dist/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.js +0 -33
  210. package/dist/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.js.map +0 -1
  211. package/dist/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.js +0 -33
  212. package/dist/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.js.map +0 -1
  213. package/dist/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.js +0 -33
  214. package/dist/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.js.map +0 -1
  215. package/dist/src/contracts/Safe/SafeBaseContract.js +0 -47
  216. package/dist/src/contracts/Safe/SafeBaseContract.js.map +0 -1
  217. package/dist/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.js +0 -276
  218. package/dist/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.js.map +0 -1
  219. package/dist/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.js +0 -248
  220. package/dist/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.js.map +0 -1
  221. package/dist/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.js +0 -253
  222. package/dist/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.js.map +0 -1
  223. package/dist/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.js +0 -267
  224. package/dist/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.js.map +0 -1
  225. package/dist/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.js +0 -267
  226. package/dist/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.js.map +0 -1
  227. package/dist/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.js +0 -43
  228. package/dist/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.js.map +0 -1
  229. package/dist/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.js +0 -63
  230. package/dist/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.js.map +0 -1
  231. package/dist/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.js +0 -79
  232. package/dist/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.js.map +0 -1
  233. package/dist/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.js +0 -79
  234. package/dist/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.js.map +0 -1
  235. package/dist/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.js +0 -72
  236. package/dist/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.js.map +0 -1
  237. package/dist/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.js +0 -39
  238. package/dist/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.js.map +0 -1
  239. package/dist/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.js +0 -59
  240. package/dist/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.js.map +0 -1
  241. package/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.js +0 -39
  242. package/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.js.map +0 -1
  243. package/dist/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.js +0 -52
  244. package/dist/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.js.map +0 -1
  245. package/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.js +0 -40
  246. package/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.js.map +0 -1
  247. package/dist/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.js +0 -49
  248. package/dist/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.js.map +0 -1
  249. package/dist/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.js +0 -49
  250. package/dist/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.js.map +0 -1
  251. package/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.js +0 -40
  252. package/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.js.map +0 -1
  253. package/dist/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.js +0 -42
  254. package/dist/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.js.map +0 -1
  255. package/dist/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.js +0 -42
  256. package/dist/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.js.map +0 -1
  257. package/dist/src/contracts/config.js +0 -130
  258. package/dist/src/contracts/config.js.map +0 -1
  259. package/dist/src/contracts/constants.js +0 -8
  260. package/dist/src/contracts/constants.js.map +0 -1
  261. package/dist/src/contracts/contractInstances.js +0 -222
  262. package/dist/src/contracts/contractInstances.js.map +0 -1
  263. package/dist/src/contracts/index.js +0 -19
  264. package/dist/src/contracts/index.js.map +0 -1
  265. package/dist/src/contracts/safeDeploymentContracts.js +0 -95
  266. package/dist/src/contracts/safeDeploymentContracts.js.map +0 -1
  267. package/dist/src/contracts/utils.js +0 -324
  268. package/dist/src/contracts/utils.js.map +0 -1
  269. package/dist/src/index.js +0 -93
  270. package/dist/src/index.js.map +0 -1
  271. package/dist/src/managers/contractManager.js +0 -90
  272. package/dist/src/managers/contractManager.js.map +0 -1
  273. package/dist/src/managers/fallbackHandlerManager.js +0 -73
  274. package/dist/src/managers/fallbackHandlerManager.js.map +0 -1
  275. package/dist/src/managers/guardManager.js +0 -73
  276. package/dist/src/managers/guardManager.js.map +0 -1
  277. package/dist/src/managers/moduleManager.js +0 -88
  278. package/dist/src/managers/moduleManager.js.map +0 -1
  279. package/dist/src/managers/ownerManager.js +0 -124
  280. package/dist/src/managers/ownerManager.js.map +0 -1
  281. package/dist/src/types/contracts.js +0 -3
  282. package/dist/src/types/contracts.js.map +0 -1
  283. package/dist/src/types/index.js +0 -23
  284. package/dist/src/types/index.js.map +0 -1
  285. package/dist/src/types/passkeys.js +0 -3
  286. package/dist/src/types/passkeys.js.map +0 -1
  287. package/dist/src/types/safeConfig.js +0 -3
  288. package/dist/src/types/safeConfig.js.map +0 -1
  289. package/dist/src/types/safeProvider.js +0 -3
  290. package/dist/src/types/safeProvider.js.map +0 -1
  291. package/dist/src/types/signing.d.ts +0 -8
  292. package/dist/src/types/signing.js +0 -12
  293. package/dist/src/types/signing.js.map +0 -1
  294. package/dist/src/types/transactions.js +0 -3
  295. package/dist/src/types/transactions.js.map +0 -1
  296. package/dist/src/utils/address.js +0 -21
  297. package/dist/src/utils/address.js.map +0 -1
  298. package/dist/src/utils/block.js +0 -14
  299. package/dist/src/utils/block.js.map +0 -1
  300. package/dist/src/utils/constants.js +0 -8
  301. package/dist/src/utils/constants.js.map +0 -1
  302. package/dist/src/utils/eip-3770/config.js +0 -371
  303. package/dist/src/utils/eip-3770/config.js.map +0 -1
  304. package/dist/src/utils/eip-3770/index.js +0 -47
  305. package/dist/src/utils/eip-3770/index.js.map +0 -1
  306. package/dist/src/utils/eip-712/encode.js +0 -127
  307. package/dist/src/utils/eip-712/encode.js.map +0 -1
  308. package/dist/src/utils/eip-712/index.js +0 -105
  309. package/dist/src/utils/eip-712/index.js.map +0 -1
  310. package/dist/src/utils/erc-20/index.js +0 -84
  311. package/dist/src/utils/erc-20/index.js.map +0 -1
  312. package/dist/src/utils/getProtocolKitVersion.js +0 -6
  313. package/dist/src/utils/getProtocolKitVersion.js.map +0 -1
  314. package/dist/src/utils/index.js +0 -24
  315. package/dist/src/utils/index.js.map +0 -1
  316. package/dist/src/utils/memoized.js +0 -41
  317. package/dist/src/utils/memoized.js.map +0 -1
  318. package/dist/src/utils/messages/SafeMessage.js +0 -20
  319. package/dist/src/utils/messages/SafeMessage.js.map +0 -1
  320. package/dist/src/utils/on-chain-tracking/generateOnChainIdentifier.js +0 -46
  321. package/dist/src/utils/on-chain-tracking/generateOnChainIdentifier.js.map +0 -1
  322. package/dist/src/utils/passkeys/PasskeyClient.js +0 -171
  323. package/dist/src/utils/passkeys/PasskeyClient.js.map +0 -1
  324. package/dist/src/utils/passkeys/createPasskeyDeploymentTransaction.js +0 -35
  325. package/dist/src/utils/passkeys/createPasskeyDeploymentTransaction.js.map +0 -1
  326. package/dist/src/utils/passkeys/extractPasskeyData.js +0 -232
  327. package/dist/src/utils/passkeys/extractPasskeyData.js.map +0 -1
  328. package/dist/src/utils/passkeys/getPasskeyOwnerAddress.js +0 -31
  329. package/dist/src/utils/passkeys/getPasskeyOwnerAddress.js.map +0 -1
  330. package/dist/src/utils/passkeys/index.js +0 -20
  331. package/dist/src/utils/passkeys/index.js.map +0 -1
  332. package/dist/src/utils/passkeys/isSharedSigner.js +0 -26
  333. package/dist/src/utils/passkeys/isSharedSigner.js.map +0 -1
  334. package/dist/src/utils/provider.js +0 -12
  335. package/dist/src/utils/provider.js.map +0 -1
  336. package/dist/src/utils/safeVersions.js +0 -54
  337. package/dist/src/utils/safeVersions.js.map +0 -1
  338. package/dist/src/utils/signatures/SafeSignature.js +0 -42
  339. package/dist/src/utils/signatures/SafeSignature.js.map +0 -1
  340. package/dist/src/utils/signatures/index.js +0 -19
  341. package/dist/src/utils/signatures/index.js.map +0 -1
  342. package/dist/src/utils/signatures/utils.js +0 -174
  343. package/dist/src/utils/signatures/utils.js.map +0 -1
  344. package/dist/src/utils/transactions/SafeTransaction.js +0 -20
  345. package/dist/src/utils/transactions/SafeTransaction.js.map +0 -1
  346. package/dist/src/utils/transactions/gas.js +0 -398
  347. package/dist/src/utils/transactions/gas.js.map +0 -1
  348. package/dist/src/utils/transactions/index.js +0 -21
  349. package/dist/src/utils/transactions/index.js.map +0 -1
  350. package/dist/src/utils/transactions/types.js +0 -3
  351. package/dist/src/utils/transactions/types.js.map +0 -1
  352. package/dist/src/utils/transactions/utils.js +0 -217
  353. package/dist/src/utils/transactions/utils.js.map +0 -1
  354. package/dist/src/utils/types.js +0 -66
  355. package/dist/src/utils/types.js.map +0 -1
@@ -1,174 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
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 viem_1 = require("viem");
8
- const satisfies_1 = __importDefault(require("semver/functions/satisfies"));
9
- const address_1 = require("../address");
10
- const SafeSignature_1 = require("./SafeSignature");
11
- const eip_712_1 = require("../eip-712");
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");
17
- function generatePreValidatedSignature(ownerAddress) {
18
- const signature = '0x000000000000000000000000' +
19
- ownerAddress.slice(2) +
20
- '0000000000000000000000000000000000000000000000000000000000000000' +
21
- '01';
22
- return new SafeSignature_1.EthSafeSignature(ownerAddress, signature);
23
- }
24
- exports.generatePreValidatedSignature = generatePreValidatedSignature;
25
- async function isTxHashSignedWithPrefix(txHash, signature, ownerAddress) {
26
- let hasPrefix;
27
- try {
28
- const recoveredAddress = await (0, viem_1.recoverAddress)({
29
- hash: (0, types_2.asHash)(txHash),
30
- signature: (0, types_2.asHex)(signature)
31
- });
32
- hasPrefix = !(0, address_1.sameString)(recoveredAddress, ownerAddress);
33
- }
34
- catch (e) {
35
- hasPrefix = true;
36
- }
37
- return hasPrefix;
38
- }
39
- exports.isTxHashSignedWithPrefix = isTxHashSignedWithPrefix;
40
- const adjustVInSignature = async (signingMethod, signature, safeTxHash, signerAddress) => {
41
- const ETHEREUM_V_VALUES = [0, 1, 27, 28];
42
- const MIN_VALID_V_VALUE_FOR_SAFE_ECDSA = 27;
43
- let signatureV = parseInt(signature.slice(-2), 16);
44
- if (!ETHEREUM_V_VALUES.includes(signatureV)) {
45
- throw new Error('Invalid signature');
46
- }
47
- if (signingMethod === types_1.SigningMethod.ETH_SIGN) {
48
- /*
49
- The Safe's expected V value for ECDSA signature is:
50
- - 27 or 28
51
- - 31 or 32 if the message was signed with a EIP-191 prefix. Should be calculated as ECDSA V value + 4
52
- Some wallets do that, some wallets don't, V > 30 is used by contracts to differentiate between
53
- prefixed and non-prefixed messages. The only way to know if the message was signed with a
54
- prefix is to check if the signer address is the same as the recovered address.
55
-
56
- More info:
57
- https://docs.safe.global/safe-core-protocol/signatures
58
- */
59
- if (signatureV < MIN_VALID_V_VALUE_FOR_SAFE_ECDSA) {
60
- signatureV += MIN_VALID_V_VALUE_FOR_SAFE_ECDSA;
61
- }
62
- const adjustedSignature = signature.slice(0, -2) + signatureV.toString(16);
63
- const signatureHasPrefix = await isTxHashSignedWithPrefix(safeTxHash, adjustedSignature, signerAddress);
64
- if (signatureHasPrefix) {
65
- signatureV += 4;
66
- }
67
- }
68
- if (signingMethod === types_1.SigningMethod.ETH_SIGN_TYPED_DATA) {
69
- // Metamask with ledger returns V=0/1 here too, we need to adjust it to be ethereum's valid value (27 or 28)
70
- if (signatureV < MIN_VALID_V_VALUE_FOR_SAFE_ECDSA) {
71
- signatureV += MIN_VALID_V_VALUE_FOR_SAFE_ECDSA;
72
- }
73
- }
74
- signature = signature.slice(0, -2) + signatureV.toString(16);
75
- return signature;
76
- };
77
- exports.adjustVInSignature = adjustVInSignature;
78
- async function generateSignature(safeProvider, hash) {
79
- const signerAddress = await safeProvider.getSignerAddress();
80
- if (!signerAddress) {
81
- throw new Error('SafeProvider must be initialized with a signer to use this method');
82
- }
83
- let signature = await safeProvider.signMessage(hash);
84
- signature = await (0, exports.adjustVInSignature)(types_1.SigningMethod.ETH_SIGN, signature, hash, signerAddress);
85
- return new SafeSignature_1.EthSafeSignature(signerAddress, signature);
86
- }
87
- exports.generateSignature = generateSignature;
88
- async function generateEIP712Signature(safeProvider, safeEIP712Args, methodVersion) {
89
- const signerAddress = await safeProvider.getSignerAddress();
90
- if (!signerAddress) {
91
- throw new Error('SafeProvider must be initialized with a signer to use this method');
92
- }
93
- //@ts-expect-error: Evaluate removal of methodVersion and use v4
94
- let signature = await safeProvider.signTypedData(safeEIP712Args, methodVersion);
95
- signature = await (0, exports.adjustVInSignature)(types_1.SigningMethod.ETH_SIGN_TYPED_DATA, signature);
96
- return new SafeSignature_1.EthSafeSignature(signerAddress, signature);
97
- }
98
- exports.generateEIP712Signature = generateEIP712Signature;
99
- const buildContractSignature = async (signatures, signerSafeAddress) => {
100
- const contractSignature = new SafeSignature_1.EthSafeSignature(signerSafeAddress, (0, exports.buildSignatureBytes)(signatures), true);
101
- return contractSignature;
102
- };
103
- exports.buildContractSignature = buildContractSignature;
104
- const buildSignatureBytes = (signatures) => {
105
- const SIGNATURE_LENGTH_BYTES = 65;
106
- signatures.sort((left, right) => left.signer.toLowerCase().localeCompare(right.signer.toLowerCase()));
107
- let signatureBytes = constants_1.EMPTY_DATA;
108
- let dynamicBytes = '';
109
- for (const signature of signatures) {
110
- if (signature.isContractSignature) {
111
- /*
112
- A contract signature has a static part of 65 bytes and the dynamic part that needs to be appended
113
- at the end of signature bytes.
114
- The signature format is
115
- Signature type == 0
116
- Constant part: 65 bytes
117
- {32-bytes signature verifier}{32-bytes dynamic data position}{1-byte signature type}
118
- Dynamic part (solidity bytes): 32 bytes + signature data length
119
- {32-bytes signature length}{bytes signature data}
120
- */
121
- const dynamicPartPosition = (signatures.length * SIGNATURE_LENGTH_BYTES +
122
- dynamicBytes.length / 2)
123
- .toString(16)
124
- .padStart(64, '0');
125
- signatureBytes += signature.staticPart(dynamicPartPosition);
126
- dynamicBytes += signature.dynamicPart();
127
- }
128
- else {
129
- signatureBytes += signature.data.slice(2);
130
- }
131
- }
132
- return signatureBytes + dynamicBytes;
133
- };
134
- exports.buildSignatureBytes = buildSignatureBytes;
135
- const preimageSafeTransactionHash = (safeAddress, safeTx, safeVersion, chainId) => {
136
- const safeTxTypes = (0, eip_712_1.getEip712TxTypes)(safeVersion);
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
- });
143
- };
144
- exports.preimageSafeTransactionHash = preimageSafeTransactionHash;
145
- const preimageSafeMessageHash = (safeAddress, message, safeVersion, chainId) => {
146
- const safeMessageTypes = (0, eip_712_1.getEip712MessageTypes)(safeVersion);
147
- return (0, encode_1.encodeTypedData)({
148
- domain: { verifyingContract: safeAddress, chainId: Number(chainId) },
149
- types: { SafeMessage: safeMessageTypes.SafeMessage },
150
- message: { message }
151
- });
152
- };
153
- exports.preimageSafeMessageHash = preimageSafeMessageHash;
154
- const EQ_OR_GT_1_3_0 = '>=1.3.0';
155
- const calculateSafeTransactionHash = (safeAddress, safeTx, safeVersion, chainId) => {
156
- const safeTxTypes = (0, eip_712_1.getEip712TxTypes)(safeVersion);
157
- const domain = { verifyingContract: safeAddress };
158
- if ((0, satisfies_1.default)(safeVersion, EQ_OR_GT_1_3_0)) {
159
- domain.chainId = Number(chainId);
160
- }
161
- const message = safeTx;
162
- return (0, eip_712_2.hashTypedData)({ domain, types: { SafeTx: safeTxTypes.SafeTx }, message });
163
- };
164
- exports.calculateSafeTransactionHash = calculateSafeTransactionHash;
165
- const calculateSafeMessageHash = (safeAddress, message, safeVersion, chainId) => {
166
- const safeMessageTypes = (0, eip_712_1.getEip712MessageTypes)(safeVersion);
167
- return (0, eip_712_2.hashTypedData)({
168
- domain: { verifyingContract: safeAddress, chainId: Number(chainId) },
169
- types: { SafeMessage: safeMessageTypes.SafeMessage },
170
- message: { message }
171
- });
172
- };
173
- exports.calculateSafeMessageHash = calculateSafeMessageHash;
174
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/signatures/utils.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const signatures_1 = require("../signatures");
4
- class EthSafeTransaction {
5
- constructor(data) {
6
- this.signatures = new Map();
7
- this.data = data;
8
- }
9
- getSignature(signer) {
10
- return this.signatures.get(signer.toLowerCase());
11
- }
12
- addSignature(signature) {
13
- this.signatures.set(signature.signer.toLowerCase(), signature);
14
- }
15
- encodedSignatures() {
16
- return (0, signatures_1.buildSignatureBytes)(Array.from(this.signatures.values()));
17
- }
18
- }
19
- exports.default = EthSafeTransaction;
20
- //# sourceMappingURL=SafeTransaction.js.map
@@ -1 +0,0 @@
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,398 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.estimateSafeDeploymentGas = exports.estimateSafeTxGas = exports.estimateTxBaseGas = exports.estimateTxGas = exports.estimateGas = void 0;
7
- const viem_1 = require("viem");
8
- const types_kit_1 = require("@safe-global/types-kit");
9
- const satisfies_1 = __importDefault(require("semver/functions/satisfies"));
10
- const constants_1 = require("../constants");
11
- const safeDeploymentContracts_1 = require("../../contracts/safeDeploymentContracts");
12
- const safeVersions_1 = require("../safeVersions");
13
- const types_1 = require("../types");
14
- // Every byte == 00 -> 4 Gas cost
15
- const CALL_DATA_ZERO_BYTE_GAS_COST = 4;
16
- // Every byte != 00 -> 16 Gas cost (68 before Istanbul)
17
- const CALL_DATA_BYTE_GAS_COST = 16;
18
- // gas cost initialization of a Safe
19
- const INITIZATION_GAS_COST = 20000;
20
- // increment nonce gas cost
21
- const INCREMENT_NONCE_GAS_COST = 5000;
22
- // Keccak gas cost for the hash of the Safe transaction
23
- const HASH_GENERATION_GAS_COST = 1500;
24
- // ecrecover gas cost for ecdsa ~= 4K gas, we use 6K
25
- const ECRECOVER_GAS_COST = 6000;
26
- // transfer gas cost
27
- const TRANSAFER_GAS_COST = 32000;
28
- // numbers < 256 (0x00(31*2)..ff) are 192 -> 31 * 4 + 1 * CALL_DATA_BYTE_GAS_COST
29
- // numbers < 65535 (0x(30*2)..ffff) are 256 -> 30 * 4 + 2 * CALL_DATA_BYTE_GAS_COST
30
- // Calculate gas for signatures
31
- // (array count (3 -> r, s, v) + ecrecover costs) * signature count
32
- const GAS_COST_PER_SIGNATURE = 1 * CALL_DATA_BYTE_GAS_COST + 2 * 32 * CALL_DATA_BYTE_GAS_COST + ECRECOVER_GAS_COST;
33
- function estimateDataGasCosts(data) {
34
- const bytes = data.match(/.{2}/g);
35
- return bytes.reduce((gasCost, currentByte) => {
36
- if (currentByte === '0x') {
37
- return gasCost + 0;
38
- }
39
- if (currentByte === '00') {
40
- return gasCost + CALL_DATA_ZERO_BYTE_GAS_COST;
41
- }
42
- return gasCost + CALL_DATA_BYTE_GAS_COST;
43
- }, 0);
44
- }
45
- async function estimateGas(safeVersion, safeContract, safeProvider, to, valueInWei, data, operation, customContracts) {
46
- const chainId = await safeProvider.getChainId();
47
- const simulateTxAccessorContract = await (0, safeDeploymentContracts_1.getSimulateTxAccessorContract)({
48
- safeProvider,
49
- safeVersion,
50
- customContracts: customContracts?.[chainId.toString()]
51
- });
52
- const transactionDataToEstimate = simulateTxAccessorContract.encode('simulate', [
53
- to,
54
- BigInt(valueInWei),
55
- (0, types_1.asHex)(data),
56
- operation
57
- ]);
58
- const safeContractContractCompatibleWithSimulateAndRevert = await (0, safeVersions_1.isSafeContractCompatibleWithSimulateAndRevert)(safeContract);
59
- const safeFunctionToEstimate = safeContractContractCompatibleWithSimulateAndRevert.encode('simulateAndRevert', [simulateTxAccessorContract.getAddress(), (0, types_1.asHex)(transactionDataToEstimate)]);
60
- const safeAddress = safeContract.getAddress();
61
- const transactionToEstimateGas = {
62
- to: safeAddress,
63
- value: '0',
64
- data: safeFunctionToEstimate,
65
- from: safeAddress
66
- };
67
- try {
68
- const encodedResponse = await safeProvider.call(transactionToEstimateGas);
69
- return decodeSafeTxGas(encodedResponse);
70
- }
71
- catch (error) {
72
- return parseSafeTxGasErrorResponse(error);
73
- }
74
- }
75
- exports.estimateGas = estimateGas;
76
- async function estimateTxGas(safeContract, safeProvider, to, valueInWei, data, operation) {
77
- const safeAddress = safeContract.getAddress();
78
- try {
79
- const estimateGas = await safeProvider.estimateGas({
80
- to,
81
- from: safeAddress,
82
- value: valueInWei,
83
- data
84
- });
85
- return estimateGas;
86
- }
87
- catch (error) {
88
- if (operation === types_kit_1.OperationType.DelegateCall) {
89
- return '0';
90
- }
91
- return Promise.reject(error);
92
- }
93
- }
94
- exports.estimateTxGas = estimateTxGas;
95
- /**
96
- * This function estimates the baseGas of a Safe transaction.
97
- * The baseGas includes costs for:
98
- * - Generation of the Safe transaction hash (txHash)
99
- * - Increasing the nonce of the Safe
100
- * - Verifying the signatures of the Safe transaction
101
- * - Payment to relayers for executing the transaction
102
- * - Emitting events ExecutionSuccess or ExecutionFailure
103
- *
104
- * Note: it does not include the transaction execution cost (safeTxGas)
105
- *
106
- * @async
107
- * @function estimateTxBaseGas
108
- * @param {Safe} safe - The Safe instance containing all the information about the safe.
109
- * @param {SafeTransaction} safeTransaction - The transaction for which the baseGas is to be estimated.
110
- * @returns {Promise<string>} A Promise that resolves with the estimated baseGas as a string.
111
- */
112
- async function estimateTxBaseGas(safe, safeTransaction) {
113
- const safeTransactionData = safeTransaction.data;
114
- const { to, value, data, operation, safeTxGas, gasToken, refundReceiver } = safeTransactionData;
115
- const safeThreshold = await safe.getThreshold();
116
- const safeNonce = await safe.getNonce();
117
- const signaturesGasCost = safeThreshold * GAS_COST_PER_SIGNATURE;
118
- const encodeSafeTxGas = safeTxGas || 0;
119
- const encodeBaseGas = 0;
120
- const gasPrice = 1;
121
- const encodeGasToken = gasToken || constants_1.ZERO_ADDRESS;
122
- const encodeRefundReceiver = refundReceiver || constants_1.ZERO_ADDRESS;
123
- const signatures = '0x';
124
- const safeVersion = safe.getContractVersion();
125
- const safeProvider = safe.getSafeProvider();
126
- const isL1SafeSingleton = safe.getContractManager().isL1SafeSingleton;
127
- const chainId = await safe.getChainId();
128
- const customContracts = safe.getContractManager().contractNetworks?.[chainId.toString()];
129
- const safeSingletonContract = await (0, safeDeploymentContracts_1.getSafeContract)({
130
- safeProvider,
131
- safeVersion,
132
- isL1SafeSingleton,
133
- customContracts
134
- });
135
- //TODO: We should explore contract versions and map to the correct types
136
- //@ts-expect-error: Type too complex to represent.
137
- const execTransactionData = safeSingletonContract.encode('execTransaction', [
138
- to,
139
- BigInt(value),
140
- data,
141
- operation,
142
- encodeSafeTxGas,
143
- encodeBaseGas,
144
- gasPrice,
145
- encodeGasToken,
146
- encodeRefundReceiver,
147
- signatures
148
- ]);
149
- // If nonce == 0, nonce storage has to be initialized
150
- const isSafeInitialized = safeNonce !== 0;
151
- const incrementNonceGasCost = isSafeInitialized ? INCREMENT_NONCE_GAS_COST : INITIZATION_GAS_COST;
152
- let baseGas = signaturesGasCost +
153
- estimateDataGasCosts(execTransactionData) +
154
- incrementNonceGasCost +
155
- HASH_GENERATION_GAS_COST;
156
- // Add additional gas costs
157
- baseGas > 65536 ? (baseGas += 64) : (baseGas += 128);
158
- // Base tx costs, transfer costs...
159
- baseGas += TRANSAFER_GAS_COST;
160
- return baseGas.toString();
161
- }
162
- exports.estimateTxBaseGas = estimateTxBaseGas;
163
- /**
164
- * This function estimates the safeTxGas of a Safe transaction.
165
- * The safeTxGas value represents the amount of gas required to execute the Safe transaction itself.
166
- * It does not include costs such as signature verification, transaction hash generation, nonce incrementing, and so on.
167
- *
168
- * The estimation method differs based on the version of the Safe:
169
- * - For versions >= 1.3.0, the simulate function defined in the simulateTxAccessor.sol Contract is used.
170
- * - For versions < 1.3.0, the deprecated requiredTxGas method defined in the GnosisSafe.sol contract is used.
171
- *
172
- * @async
173
- * @function estimateSafeTxGas
174
- * @param {Safe} safe - The Safe instance containing all the necessary information about the safe.
175
- * @param {SafeTransaction} safeTransaction - The transaction for which the safeTxGas is to be estimated.
176
- * @returns {Promise<string>} A Promise that resolves with the estimated safeTxGas as a string.
177
- *
178
- */
179
- async function estimateSafeTxGas(safe, safeTransaction) {
180
- const safeVersion = safe.getContractVersion();
181
- if ((0, satisfies_1.default)(safeVersion, '>=1.3.0')) {
182
- const safeTxGas = await estimateSafeTxGasWithSimulate(safe, safeTransaction);
183
- return addExtraGasForSafety(safeTxGas);
184
- }
185
- // deprecated method to estimate the safeTxGas of a Safe transaction
186
- const safeTxGas = await estimateSafeTxGasWithRequiredTxGas(safe, safeTransaction);
187
- return addExtraGasForSafety(safeTxGas);
188
- }
189
- exports.estimateSafeTxGas = estimateSafeTxGas;
190
- /**
191
- * Increase the given safeTxGas gas amount by 5% as a security margin to avoid running out of gas.
192
- * In some contexts, the safeTxGas might be underestimated, leading to 'out of gas' errors during the Safe transaction execution
193
- *
194
- * @param {string} safeTxGas - The original safeTxGas gas amount.
195
- * @returns {string} The new safeTxGas gas amount, increased by 5% rounded.
196
- */
197
- function addExtraGasForSafety(safeTxGas) {
198
- const INCREASE_GAS_FACTOR = 1.05; // increase the gas by 5% as a security margin
199
- return Math.round(Number(safeTxGas) * INCREASE_GAS_FACTOR).toString();
200
- }
201
- /**
202
- * This function estimates the safeTxGas of a Safe transaction.
203
- * Using the deprecated method of requiredTxGas defined in the GnosisSafe contract. This method is meant to be used for Safe versions < 1.3.0.
204
- * see: https://github.com/safe-global/safe-contracts/blob/v1.2.0/contracts/GnosisSafe.sol#L276
205
- *
206
- * @async
207
- * @function estimateSafeTxGasWithRequiredTxGas
208
- * @param {Safe} safe - The Safe instance containing all the necessary information about the safe.
209
- * @param {SafeTransaction} safeTransaction - The transaction for which the safeTxGas is to be estimated.
210
- * @returns {Promise<string>} A Promise that resolves with the estimated safeTxGas as a string.
211
- *
212
- */
213
- async function estimateSafeTxGasWithRequiredTxGas(safe, safeTransaction) {
214
- const isSafeDeployed = await safe.isSafeDeployed();
215
- const safeAddress = await safe.getAddress();
216
- const safeVersion = safe.getContractVersion();
217
- const safeProvider = safe.getSafeProvider();
218
- const isL1SafeSingleton = safe.getContractManager().isL1SafeSingleton;
219
- const chainId = await safe.getChainId();
220
- const customContracts = safe.getContractManager().contractNetworks?.[chainId.toString()];
221
- const safeSingletonContract = await (0, safeDeploymentContracts_1.getSafeContract)({
222
- safeProvider,
223
- safeVersion,
224
- isL1SafeSingleton,
225
- customContracts
226
- });
227
- const safeContractCompatibleWithRequiredTxGas = await (0, safeVersions_1.isSafeContractCompatibleWithRequiredTxGas)(safeSingletonContract);
228
- const transactionDataToEstimate = safeContractCompatibleWithRequiredTxGas.encode('requiredTxGas', [
229
- safeTransaction.data.to,
230
- BigInt(safeTransaction.data.value),
231
- (0, types_1.asHex)(safeTransaction.data.data),
232
- safeTransaction.data.operation
233
- ]);
234
- const to = isSafeDeployed ? safeAddress : safeSingletonContract.getAddress();
235
- const transactionToEstimateGas = {
236
- to,
237
- value: '0',
238
- data: transactionDataToEstimate,
239
- from: safeAddress
240
- };
241
- try {
242
- const encodedResponse = await safeProvider.call(transactionToEstimateGas);
243
- const safeTxGas = '0x' + encodedResponse.slice(-32);
244
- return safeTxGas;
245
- // if the call throws an error we try to parse the returned value
246
- }
247
- catch (error) {
248
- try {
249
- const revertData = error?.info?.error?.data;
250
- if (revertData && revertData.startsWith('Reverted ')) {
251
- const [, safeTxGas] = revertData.split('Reverted ');
252
- return Number(safeTxGas).toString();
253
- }
254
- }
255
- catch {
256
- return '0';
257
- }
258
- }
259
- return '0';
260
- }
261
- // TO-DO: Improve decoding
262
- /*
263
- const simulateAndRevertResponse = safeProvider.decodeParameters(
264
- ['bool', 'bytes'],
265
- encodedResponse
266
- )
267
- const returnedData = safeProvider.decodeParameters(['uint256', 'bool', 'bytes'], simulateAndRevertResponse[1])
268
- */
269
- function decodeSafeTxGas(encodedDataResponse) {
270
- const [, encodedSafeTxGas] = encodedDataResponse.split('0x');
271
- const data = '0x' + encodedSafeTxGas;
272
- return Number('0x' + data.slice(184).slice(0, 10)).toString();
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
- }
283
- /**
284
- * Parses the SafeTxGas estimation response from different providers.
285
- * It extracts and decodes the SafeTxGas value from the Error object.
286
- *
287
- * @param {ProviderEstimationError} error - The estimation object with the estimation data.
288
- * @returns {string} The SafeTxGas value.
289
- * @throws It Will throw an error if the SafeTxGas cannot be parsed.
290
- */
291
- function parseSafeTxGasErrorResponse(error) {
292
- // Ethers v6
293
- if (isEthersError(error)) {
294
- return decodeSafeTxGas(error.data);
295
- }
296
- // viem
297
- if (isViemError(error)) {
298
- const cause = error.walk();
299
- if (typeof cause?.data === 'string') {
300
- return decodeSafeTxGas(cause?.data);
301
- }
302
- }
303
- // gnosis-chain
304
- if (isGnosisChainEstimationError(error)) {
305
- const gnosisChainProviderData = error.info.error.data;
306
- const isString = typeof gnosisChainProviderData === 'string';
307
- const encodedDataResponse = isString ? gnosisChainProviderData : gnosisChainProviderData.data;
308
- return decodeSafeTxGas(encodedDataResponse);
309
- }
310
- // Error message
311
- const isEncodedDataPresent = error.message.includes('0x');
312
- if (isEncodedDataPresent) {
313
- return decodeSafeTxGas(error.message);
314
- }
315
- throw new Error('Could not parse SafeTxGas from Estimation response, Details: ' + error?.message);
316
- }
317
- /**
318
- * This function estimates the safeTxGas of a Safe transaction.
319
- * It uses the simulate function defined in the SimulateTxAccessor contract. This method is meant to be used for Safe versions >= 1.3.0.
320
- *
321
- * @async
322
- * @function estimateSafeTxGasWithSimulate
323
- * @param {Safe} safe - The Safe instance containing all the necessary information about the safe.
324
- * @param {SafeTransaction} safeTransaction - The transaction for which the safeTxGas is to be estimated.
325
- * @returns {Promise<string>} A Promise that resolves with the estimated safeTxGas as a string.
326
- *
327
- */
328
- async function estimateSafeTxGasWithSimulate(safe, safeTransaction) {
329
- const isSafeDeployed = await safe.isSafeDeployed();
330
- const safeAddress = await safe.getAddress();
331
- const safeVersion = safe.getContractVersion();
332
- const safeProvider = safe.getSafeProvider();
333
- const chainId = await safe.getChainId();
334
- const customContracts = safe.getContractManager().contractNetworks?.[chainId.toString()];
335
- const isL1SafeSingleton = safe.getContractManager().isL1SafeSingleton;
336
- const safeSingletonContract = await (0, safeDeploymentContracts_1.getSafeContract)({
337
- safeProvider,
338
- safeVersion,
339
- isL1SafeSingleton,
340
- customContracts
341
- });
342
- // new version of the estimation
343
- const simulateTxAccessorContract = await (0, safeDeploymentContracts_1.getSimulateTxAccessorContract)({
344
- safeProvider,
345
- safeVersion,
346
- customContracts
347
- });
348
- const transactionDataToEstimate = simulateTxAccessorContract.encode('simulate', [
349
- safeTransaction.data.to,
350
- BigInt(safeTransaction.data.value),
351
- (0, types_1.asHex)(safeTransaction.data.data),
352
- safeTransaction.data.operation
353
- ]);
354
- // if the Safe is not deployed we can use the singleton address to simulate
355
- const to = isSafeDeployed ? safeAddress : safeSingletonContract.getAddress();
356
- const SafeContractCompatibleWithSimulateAndRevert = await (0, safeVersions_1.isSafeContractCompatibleWithSimulateAndRevert)(safeSingletonContract);
357
- const safeFunctionToEstimate = SafeContractCompatibleWithSimulateAndRevert.encode('simulateAndRevert', [simulateTxAccessorContract.getAddress(), (0, types_1.asHex)(transactionDataToEstimate)]);
358
- const transactionToEstimateGas = {
359
- to,
360
- value: '0',
361
- data: safeFunctionToEstimate,
362
- from: safeAddress
363
- };
364
- try {
365
- const encodedResponse = await safeProvider.call(transactionToEstimateGas);
366
- const safeTxGas = decodeSafeTxGas(encodedResponse);
367
- return safeTxGas;
368
- // if the call throws an error we try to parse the returned value
369
- }
370
- catch (error) {
371
- return parseSafeTxGasErrorResponse(error);
372
- }
373
- }
374
- /**
375
- * This function estimates the gas cost of deploying a Safe.
376
- * It considers also the costs of the Safe setup call.
377
- * The setup call includes tasks such as setting up initial owners, defining the threshold, and initializing the salt nonce used for address generation.
378
- *
379
- * @async
380
- * @function estimateSafeDeploymentGas
381
- * @param {Safe} safe - The Safe object containing all necessary information about the safe, including owners, threshold, and saltNonce.
382
- * @returns {Promise<string>} A Promise that resolves with the estimated gas cost of the safe deployment as a string.
383
- */
384
- async function estimateSafeDeploymentGas(safe) {
385
- const isSafeDeployed = await safe.isSafeDeployed();
386
- if (isSafeDeployed) {
387
- return '0';
388
- }
389
- const safeProvider = safe.getSafeProvider();
390
- const safeDeploymentTransaction = await safe.createSafeDeploymentTransaction();
391
- const estimation = await safeProvider.estimateGas({
392
- ...safeDeploymentTransaction,
393
- from: constants_1.ZERO_ADDRESS // if we use the Safe address the estimation always fails due to CREATE2
394
- });
395
- return estimation;
396
- }
397
- exports.estimateSafeDeploymentGas = estimateSafeDeploymentGas;
398
- //# sourceMappingURL=gas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gas.js","sourceRoot":"","sources":["../../../../src/utils/transactions/gas.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./gas"), exports);
18
- __exportStar(require("./SafeTransaction"), exports);
19
- __exportStar(require("./types"), exports);
20
- __exportStar(require("./utils"), exports);
21
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/transactions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAqB;AACrB,oDAAiC;AACjC,0CAAuB;AACvB,0CAAuB"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/utils/transactions/types.ts"],"names":[],"mappings":""}