hardhat-airsign 0.1.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/README.md +15 -10
  2. package/app-dist/assets/{add-CRSDwB2e.js → add-B1O0pD4h.js} +2 -2
  3. package/app-dist/assets/{add-CRSDwB2e.js.map → add-B1O0pD4h.js.map} +1 -1
  4. package/app-dist/assets/{all-wallets-DgqGjhs6.js → all-wallets-BcziYGZ_.js} +2 -2
  5. package/app-dist/assets/{all-wallets-DgqGjhs6.js.map → all-wallets-BcziYGZ_.js.map} +1 -1
  6. package/app-dist/assets/{app-store-BShzSz5b.js → app-store-DTZWqmmw.js} +2 -2
  7. package/app-dist/assets/{app-store-BShzSz5b.js.map → app-store-DTZWqmmw.js.map} +1 -1
  8. package/app-dist/assets/{apple-B_-sOHVN.js → apple-DnCGgNDe.js} +2 -2
  9. package/app-dist/assets/{apple-B_-sOHVN.js.map → apple-DnCGgNDe.js.map} +1 -1
  10. package/app-dist/assets/{arrow-bottom-DF5A1caW.js → arrow-bottom-DXZcPFiW.js} +2 -2
  11. package/app-dist/assets/{arrow-bottom-DF5A1caW.js.map → arrow-bottom-DXZcPFiW.js.map} +1 -1
  12. package/app-dist/assets/{arrow-bottom-circle-DIuZ8lC1.js → arrow-bottom-circle-1VxgUNV2.js} +2 -2
  13. package/app-dist/assets/{arrow-bottom-circle-DIuZ8lC1.js.map → arrow-bottom-circle-1VxgUNV2.js.map} +1 -1
  14. package/app-dist/assets/{arrow-left-CwTRYhiP.js → arrow-left-UpOOX78-.js} +2 -2
  15. package/app-dist/assets/{arrow-left-CwTRYhiP.js.map → arrow-left-UpOOX78-.js.map} +1 -1
  16. package/app-dist/assets/{arrow-right-CxBc1Z9Y.js → arrow-right-BgZSbrSb.js} +2 -2
  17. package/app-dist/assets/{arrow-right-CxBc1Z9Y.js.map → arrow-right-BgZSbrSb.js.map} +1 -1
  18. package/app-dist/assets/{arrow-top-DsqFntWs.js → arrow-top-CFitTuMQ.js} +2 -2
  19. package/app-dist/assets/{arrow-top-DsqFntWs.js.map → arrow-top-CFitTuMQ.js.map} +1 -1
  20. package/app-dist/assets/{bank-DaZBNytp.js → bank-Rx-cZHky.js} +2 -2
  21. package/app-dist/assets/{bank-DaZBNytp.js.map → bank-Rx-cZHky.js.map} +1 -1
  22. package/app-dist/assets/{basic-uYjQL5PS.js → basic-BqBpZO5u.js} +2 -2
  23. package/app-dist/assets/{basic-uYjQL5PS.js.map → basic-BqBpZO5u.js.map} +1 -1
  24. package/app-dist/assets/{browser-C1c_DZTT.js → browser-CxT64RYX.js} +2 -2
  25. package/app-dist/assets/{browser-C1c_DZTT.js.map → browser-CxT64RYX.js.map} +1 -1
  26. package/app-dist/assets/{card-Drom7Tv5.js → card-wzpea_VN.js} +2 -2
  27. package/app-dist/assets/{card-Drom7Tv5.js.map → card-wzpea_VN.js.map} +1 -1
  28. package/app-dist/assets/{ccip-DvVERuyo.js → ccip-8vMs6YOX.js} +2 -2
  29. package/app-dist/assets/{ccip-DvVERuyo.js.map → ccip-8vMs6YOX.js.map} +1 -1
  30. package/app-dist/assets/{checkmark-bWnoU59f.js → checkmark-5ZvdJ4cE.js} +2 -2
  31. package/app-dist/assets/{checkmark-bWnoU59f.js.map → checkmark-5ZvdJ4cE.js.map} +1 -1
  32. package/app-dist/assets/{checkmark-bold-xdhuFcVd.js → checkmark-bold-BYMoYpV3.js} +2 -2
  33. package/app-dist/assets/{checkmark-bold-xdhuFcVd.js.map → checkmark-bold-BYMoYpV3.js.map} +1 -1
  34. package/app-dist/assets/{chevron-bottom-g8RZtvvg.js → chevron-bottom-B6KoLsrA.js} +2 -2
  35. package/app-dist/assets/{chevron-bottom-g8RZtvvg.js.map → chevron-bottom-B6KoLsrA.js.map} +1 -1
  36. package/app-dist/assets/{chevron-left-CHq90J3p.js → chevron-left-UNWSh_Nj.js} +2 -2
  37. package/app-dist/assets/{chevron-left-CHq90J3p.js.map → chevron-left-UNWSh_Nj.js.map} +1 -1
  38. package/app-dist/assets/{chevron-right-DucMuosL.js → chevron-right-CLj5tStC.js} +2 -2
  39. package/app-dist/assets/{chevron-right-DucMuosL.js.map → chevron-right-CLj5tStC.js.map} +1 -1
  40. package/app-dist/assets/{chevron-top-jMvIimGH.js → chevron-top-DlIr11pX.js} +2 -2
  41. package/app-dist/assets/{chevron-top-jMvIimGH.js.map → chevron-top-DlIr11pX.js.map} +1 -1
  42. package/app-dist/assets/{chrome-store-DOAtVsxB.js → chrome-store-DSK4e2pT.js} +2 -2
  43. package/app-dist/assets/{chrome-store-DOAtVsxB.js.map → chrome-store-DSK4e2pT.js.map} +1 -1
  44. package/app-dist/assets/{clock-ByhfgiIa.js → clock-BFabU289.js} +2 -2
  45. package/app-dist/assets/{clock-ByhfgiIa.js.map → clock-BFabU289.js.map} +1 -1
  46. package/app-dist/assets/{close-kCTB-L29.js → close-BUfuggox.js} +2 -2
  47. package/app-dist/assets/{close-kCTB-L29.js.map → close-BUfuggox.js.map} +1 -1
  48. package/app-dist/assets/{coinPlaceholder-Nn0hvSA9.js → coinPlaceholder-DISCc80i.js} +2 -2
  49. package/app-dist/assets/{coinPlaceholder-Nn0hvSA9.js.map → coinPlaceholder-DISCc80i.js.map} +1 -1
  50. package/app-dist/assets/{compass-CbGNPMoI.js → compass-BoZDQj8C.js} +2 -2
  51. package/app-dist/assets/{compass-CbGNPMoI.js.map → compass-BoZDQj8C.js.map} +1 -1
  52. package/app-dist/assets/{copy-CAKeZlqs.js → copy-B7bketHz.js} +2 -2
  53. package/app-dist/assets/{copy-CAKeZlqs.js.map → copy-B7bketHz.js.map} +1 -1
  54. package/app-dist/assets/{core-BYSbgSRm.js → core-DPYRoLAn.js} +5 -5
  55. package/app-dist/assets/{core-BYSbgSRm.js.map → core-DPYRoLAn.js.map} +1 -1
  56. package/app-dist/assets/{cursor-Bt2rMzub.js → cursor-Dm0JxInY.js} +2 -2
  57. package/app-dist/assets/{cursor-Bt2rMzub.js.map → cursor-Dm0JxInY.js.map} +1 -1
  58. package/app-dist/assets/{cursor-transparent-B9I7l5HE.js → cursor-transparent-2ch9c1jg.js} +2 -2
  59. package/app-dist/assets/{cursor-transparent-B9I7l5HE.js.map → cursor-transparent-2ch9c1jg.js.map} +1 -1
  60. package/app-dist/assets/{desktop-Be_5H0x-.js → desktop-CIwtNj0u.js} +2 -2
  61. package/app-dist/assets/{desktop-Be_5H0x-.js.map → desktop-CIwtNj0u.js.map} +1 -1
  62. package/app-dist/assets/{disconnect-Dgoh7Tjm.js → disconnect-BOp-awMm.js} +2 -2
  63. package/app-dist/assets/{disconnect-Dgoh7Tjm.js.map → disconnect-BOp-awMm.js.map} +1 -1
  64. package/app-dist/assets/{discord-hBwKNnvZ.js → discord-BV0ggy08.js} +2 -2
  65. package/app-dist/assets/{discord-hBwKNnvZ.js.map → discord-BV0ggy08.js.map} +1 -1
  66. package/app-dist/assets/{etherscan-D0htYnpR.js → etherscan-t7Ki-QEK.js} +2 -2
  67. package/app-dist/assets/{etherscan-D0htYnpR.js.map → etherscan-t7Ki-QEK.js.map} +1 -1
  68. package/app-dist/assets/{events-pn7_SzwY.js → events-CavTDrjb.js} +2 -2
  69. package/app-dist/assets/{events-pn7_SzwY.js.map → events-CavTDrjb.js.map} +1 -1
  70. package/app-dist/assets/{exclamation-triangle-DOILyuF7.js → exclamation-triangle-Ccoe4UL9.js} +2 -2
  71. package/app-dist/assets/{exclamation-triangle-DOILyuF7.js.map → exclamation-triangle-Ccoe4UL9.js.map} +1 -1
  72. package/app-dist/assets/{extension-C9VDzCuK.js → extension-ChDmttRe.js} +2 -2
  73. package/app-dist/assets/{extension-C9VDzCuK.js.map → extension-ChDmttRe.js.map} +1 -1
  74. package/app-dist/assets/{external-link-CHYUmCEz.js → external-link-DubRbP6I.js} +2 -2
  75. package/app-dist/assets/{external-link-CHYUmCEz.js.map → external-link-DubRbP6I.js.map} +1 -1
  76. package/app-dist/assets/{facebook-Bsw-oFCw.js → facebook-CJcCYN5s.js} +2 -2
  77. package/app-dist/assets/{facebook-Bsw-oFCw.js.map → facebook-CJcCYN5s.js.map} +1 -1
  78. package/app-dist/assets/{farcaster-1gUIAUSw.js → farcaster-B4THrfxr.js} +2 -2
  79. package/app-dist/assets/{farcaster-1gUIAUSw.js.map → farcaster-B4THrfxr.js.map} +1 -1
  80. package/app-dist/assets/{filters-DDG3UMYY.js → filters-CuA9h5f-.js} +2 -2
  81. package/app-dist/assets/{filters-DDG3UMYY.js.map → filters-CuA9h5f-.js.map} +1 -1
  82. package/app-dist/assets/{github-CdtDuNaw.js → github-_wOQdqR_.js} +2 -2
  83. package/app-dist/assets/{github-CdtDuNaw.js.map → github-_wOQdqR_.js.map} +1 -1
  84. package/app-dist/assets/{google-BsG5fyrR.js → google-BETdiWIY.js} +2 -2
  85. package/app-dist/assets/{google-BsG5fyrR.js.map → google-BETdiWIY.js.map} +1 -1
  86. package/app-dist/assets/{help-circle-BCv1YqDB.js → help-circle-DGL5kFly.js} +2 -2
  87. package/app-dist/assets/{help-circle-BCv1YqDB.js.map → help-circle-DGL5kFly.js.map} +1 -1
  88. package/app-dist/assets/{id-CuxXJxny.js → id-BAmiPiG3.js} +2 -2
  89. package/app-dist/assets/{id-CuxXJxny.js.map → id-BAmiPiG3.js.map} +1 -1
  90. package/app-dist/assets/{image-B6FZSvkt.js → image-DBuiW2ya.js} +2 -2
  91. package/app-dist/assets/{image-B6FZSvkt.js.map → image-DBuiW2ya.js.map} +1 -1
  92. package/app-dist/assets/{index-BV0j_tJd.js → index-B7r6Bd0d.js} +2 -2
  93. package/app-dist/assets/{index-BV0j_tJd.js.map → index-B7r6Bd0d.js.map} +1 -1
  94. package/app-dist/assets/{index-CqsmC2RT.js → index-BgHayQna.js} +2 -2
  95. package/app-dist/assets/{index-CqsmC2RT.js.map → index-BgHayQna.js.map} +1 -1
  96. package/app-dist/assets/{index-COvL4P9m.js → index-BjRfNTdk.js} +2 -2
  97. package/app-dist/assets/{index-COvL4P9m.js.map → index-BjRfNTdk.js.map} +1 -1
  98. package/app-dist/assets/{index-Bu_XtD5E.css → index-C31w0EhJ.css} +1 -1
  99. package/app-dist/assets/index-D2ubWGvc.js +1753 -0
  100. package/app-dist/assets/index-D2ubWGvc.js.map +1 -0
  101. package/app-dist/assets/{index-DgGGl0Fe.js → index-DStAvMlI.js} +4 -4
  102. package/app-dist/assets/{index-DgGGl0Fe.js.map → index-DStAvMlI.js.map} +1 -1
  103. package/app-dist/assets/{index-DCjRGeb3.js → index-Dt_15Vcx.js} +2 -2
  104. package/app-dist/assets/{index-DCjRGeb3.js.map → index-Dt_15Vcx.js.map} +1 -1
  105. package/app-dist/assets/{index.es-DO7evs6Y.js → index.es-BaHcVq9H.js} +5 -5
  106. package/app-dist/assets/{index.es-DO7evs6Y.js.map → index.es-BaHcVq9H.js.map} +1 -1
  107. package/app-dist/assets/{info-Cywbxt_C.js → info-BGwX-8wC.js} +2 -2
  108. package/app-dist/assets/{info-Cywbxt_C.js.map → info-BGwX-8wC.js.map} +1 -1
  109. package/app-dist/assets/{info-circle-C86J6rkz.js → info-circle-BVE7L9LU.js} +2 -2
  110. package/app-dist/assets/{info-circle-C86J6rkz.js.map → info-circle-BVE7L9LU.js.map} +1 -1
  111. package/app-dist/assets/{lightbulb-CrZ_HglP.js → lightbulb-wyn0YT99.js} +2 -2
  112. package/app-dist/assets/{lightbulb-CrZ_HglP.js.map → lightbulb-wyn0YT99.js.map} +1 -1
  113. package/app-dist/assets/{mail-C3L0F8f-.js → mail-CqURWsZw.js} +2 -2
  114. package/app-dist/assets/{mail-C3L0F8f-.js.map → mail-CqURWsZw.js.map} +1 -1
  115. package/app-dist/assets/{metamask-sdk-CF6XpUqS.js → metamask-sdk-CCICWViI.js} +2 -2
  116. package/app-dist/assets/{metamask-sdk-CF6XpUqS.js.map → metamask-sdk-CCICWViI.js.map} +1 -1
  117. package/app-dist/assets/{mobile-D15vpxIp.js → mobile-DxekcR5S.js} +2 -2
  118. package/app-dist/assets/{mobile-D15vpxIp.js.map → mobile-DxekcR5S.js.map} +1 -1
  119. package/app-dist/assets/{more-B7ExUA9_.js → more-B2xjqArO.js} +2 -2
  120. package/app-dist/assets/{more-B7ExUA9_.js.map → more-B2xjqArO.js.map} +1 -1
  121. package/app-dist/assets/{network-placeholder-CcVy_R0p.js → network-placeholder-xy3H4Mg-.js} +2 -2
  122. package/app-dist/assets/{network-placeholder-CcVy_R0p.js.map → network-placeholder-xy3H4Mg-.js.map} +1 -1
  123. package/app-dist/assets/{nftPlaceholder-BACi0fly.js → nftPlaceholder-kGyQv4gE.js} +2 -2
  124. package/app-dist/assets/{nftPlaceholder-BACi0fly.js.map → nftPlaceholder-kGyQv4gE.js.map} +1 -1
  125. package/app-dist/assets/{off-Duwf9ts8.js → off-CSqaEbkD.js} +2 -2
  126. package/app-dist/assets/{off-Duwf9ts8.js.map → off-CSqaEbkD.js.map} +1 -1
  127. package/app-dist/assets/{play-store-4-EkI0KV.js → play-store-EIdU_7Z6.js} +2 -2
  128. package/app-dist/assets/{play-store-4-EkI0KV.js.map → play-store-EIdU_7Z6.js.map} +1 -1
  129. package/app-dist/assets/{plus-aeb5pwem.js → plus-CPg4pjRj.js} +2 -2
  130. package/app-dist/assets/{plus-aeb5pwem.js.map → plus-CPg4pjRj.js.map} +1 -1
  131. package/app-dist/assets/{qr-code-Cz7L38yy.js → qr-code-QAMIsYXK.js} +2 -2
  132. package/app-dist/assets/{qr-code-Cz7L38yy.js.map → qr-code-QAMIsYXK.js.map} +1 -1
  133. package/app-dist/assets/{recycle-horizontal-yjJpXq0U.js → recycle-horizontal-CV5Qhw2Q.js} +2 -2
  134. package/app-dist/assets/{recycle-horizontal-yjJpXq0U.js.map → recycle-horizontal-CV5Qhw2Q.js.map} +1 -1
  135. package/app-dist/assets/{refresh-fCA8pyDR.js → refresh-CJiM3xIB.js} +2 -2
  136. package/app-dist/assets/{refresh-fCA8pyDR.js.map → refresh-CJiM3xIB.js.map} +1 -1
  137. package/app-dist/assets/{reown-logo-YZnn6vkB.js → reown-logo-2D0oWXpD.js} +2 -2
  138. package/app-dist/assets/{reown-logo-YZnn6vkB.js.map → reown-logo-2D0oWXpD.js.map} +1 -1
  139. package/app-dist/assets/{search-BTh-Taun.js → search-DaHshq-U.js} +2 -2
  140. package/app-dist/assets/{search-BTh-Taun.js.map → search-DaHshq-U.js.map} +1 -1
  141. package/app-dist/assets/{secp256k1-DHeNy7w5.js → secp256k1-Od6Yo9wC.js} +2 -2
  142. package/app-dist/assets/{secp256k1-DHeNy7w5.js.map → secp256k1-Od6Yo9wC.js.map} +1 -1
  143. package/app-dist/assets/{secp256k1-BmolwVbs.js → secp256k1-RfsuBfnr.js} +2 -2
  144. package/app-dist/assets/{secp256k1-BmolwVbs.js.map → secp256k1-RfsuBfnr.js.map} +1 -1
  145. package/app-dist/assets/{send-n_iRWU2b.js → send-CYoNJcmR.js} +2 -2
  146. package/app-dist/assets/{send-n_iRWU2b.js.map → send-CYoNJcmR.js.map} +1 -1
  147. package/app-dist/assets/{swapHorizontal-BP6PC_Z_.js → swapHorizontal-CZlBSPys.js} +2 -2
  148. package/app-dist/assets/{swapHorizontal-BP6PC_Z_.js.map → swapHorizontal-CZlBSPys.js.map} +1 -1
  149. package/app-dist/assets/{swapHorizontalBold-CFegHLnf.js → swapHorizontalBold-CRZWDopS.js} +2 -2
  150. package/app-dist/assets/{swapHorizontalBold-CFegHLnf.js.map → swapHorizontalBold-CRZWDopS.js.map} +1 -1
  151. package/app-dist/assets/{swapHorizontalMedium-SMFfM3Zt.js → swapHorizontalMedium-CnvLAErw.js} +2 -2
  152. package/app-dist/assets/{swapHorizontalMedium-SMFfM3Zt.js.map → swapHorizontalMedium-CnvLAErw.js.map} +1 -1
  153. package/app-dist/assets/{swapHorizontalRoundedBold-BFRiRjq3.js → swapHorizontalRoundedBold-dSf21G7J.js} +2 -2
  154. package/app-dist/assets/{swapHorizontalRoundedBold-BFRiRjq3.js.map → swapHorizontalRoundedBold-dSf21G7J.js.map} +1 -1
  155. package/app-dist/assets/{swapVertical-DDYPFhjA.js → swapVertical-VhVxJU3T.js} +2 -2
  156. package/app-dist/assets/{swapVertical-DDYPFhjA.js.map → swapVertical-VhVxJU3T.js.map} +1 -1
  157. package/app-dist/assets/{telegram-CgxOCx9n.js → telegram-B-C9jpHB.js} +2 -2
  158. package/app-dist/assets/{telegram-CgxOCx9n.js.map → telegram-B-C9jpHB.js.map} +1 -1
  159. package/app-dist/assets/{three-dots-D1ACjz76.js → three-dots-FILuNYsd.js} +2 -2
  160. package/app-dist/assets/{three-dots-D1ACjz76.js.map → three-dots-FILuNYsd.js.map} +1 -1
  161. package/app-dist/assets/{twitch-B2cSw5Dv.js → twitch-DzwaF4Xb.js} +2 -2
  162. package/app-dist/assets/{twitch-B2cSw5Dv.js.map → twitch-DzwaF4Xb.js.map} +1 -1
  163. package/app-dist/assets/{twitterIcon-Y2aP57GN.js → twitterIcon-BlKnBtTW.js} +2 -2
  164. package/app-dist/assets/{twitterIcon-Y2aP57GN.js.map → twitterIcon-BlKnBtTW.js.map} +1 -1
  165. package/app-dist/assets/{verify-DLqSD1rk.js → verify-CmtNTJ_r.js} +2 -2
  166. package/app-dist/assets/{verify-DLqSD1rk.js.map → verify-CmtNTJ_r.js.map} +1 -1
  167. package/app-dist/assets/{verify-filled-M4ZQNUx-.js → verify-filled-DqUbrpnW.js} +2 -2
  168. package/app-dist/assets/{verify-filled-M4ZQNUx-.js.map → verify-filled-DqUbrpnW.js.map} +1 -1
  169. package/app-dist/assets/{w3m-modal-DO_pwuIZ.js → w3m-modal-CACYy1Ye.js} +2 -2
  170. package/app-dist/assets/{w3m-modal-DO_pwuIZ.js.map → w3m-modal-CACYy1Ye.js.map} +1 -1
  171. package/app-dist/assets/{wallet-BK-Vsgfk.js → wallet-DG-gDy5_.js} +2 -2
  172. package/app-dist/assets/{wallet-BK-Vsgfk.js.map → wallet-DG-gDy5_.js.map} +1 -1
  173. package/app-dist/assets/{wallet-placeholder-Dz0rtjLT.js → wallet-placeholder-C5F1lcuc.js} +2 -2
  174. package/app-dist/assets/{wallet-placeholder-Dz0rtjLT.js.map → wallet-placeholder-C5F1lcuc.js.map} +1 -1
  175. package/app-dist/assets/{walletconnect-EGqMGNfn.js → walletconnect-D9ToqDlh.js} +2 -2
  176. package/app-dist/assets/{walletconnect-EGqMGNfn.js.map → walletconnect-D9ToqDlh.js.map} +1 -1
  177. package/app-dist/assets/{warning-circle-BL_LsWzv.js → warning-circle-5kuvvJFh.js} +2 -2
  178. package/app-dist/assets/{warning-circle-BL_LsWzv.js.map → warning-circle-5kuvvJFh.js.map} +1 -1
  179. package/app-dist/assets/{x-Ck4eRtmA.js → x-B1dqvWvO.js} +2 -2
  180. package/app-dist/assets/{x-Ck4eRtmA.js.map → x-B1dqvWvO.js.map} +1 -1
  181. package/app-dist/index.html +2 -2
  182. package/dist/ContractService.d.ts +159 -0
  183. package/dist/ContractService.d.ts.map +1 -0
  184. package/dist/ContractService.js +530 -0
  185. package/dist/ContractService.js.map +1 -0
  186. package/dist/SigningServer.d.ts +6 -0
  187. package/dist/SigningServer.d.ts.map +1 -1
  188. package/dist/SigningServer.js +395 -0
  189. package/dist/SigningServer.js.map +1 -1
  190. package/dist/adapters/ethers-adapter.d.ts +34 -0
  191. package/dist/adapters/ethers-adapter.d.ts.map +1 -0
  192. package/dist/adapters/ethers-adapter.js +106 -0
  193. package/dist/adapters/ethers-adapter.js.map +1 -0
  194. package/dist/index.d.ts +2 -0
  195. package/dist/index.d.ts.map +1 -1
  196. package/dist/index.js +13 -3
  197. package/dist/index.js.map +1 -1
  198. package/dist/tasks/start.js +1 -1
  199. package/package.json +6 -3
  200. package/app-dist/assets/index-StZFkTrD.js +0 -1753
  201. package/app-dist/assets/index-StZFkTrD.js.map +0 -1
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ /**
3
+ * Ethers Adapter — thin abstraction layer over ethers.js APIs.
4
+ *
5
+ * This adapter isolates all direct ethers imports so that:
6
+ * - v1 (ethers v5) and v2 (ethers v6) share the same ContractService code
7
+ * - Only this file needs to change when migrating to ethers v6
8
+ *
9
+ * All other service files (ContractService, SigningServer) import from here.
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.createProvider = createProvider;
13
+ exports.createContract = createContract;
14
+ exports.createInterface = createInterface;
15
+ exports.parseLog = parseLog;
16
+ exports.getTransactionReceipt = getTransactionReceipt;
17
+ exports.getStorageAt = getStorageAt;
18
+ exports.isAddress = isAddress;
19
+ exports.getAddress = getAddress;
20
+ exports.serializeResult = serializeResult;
21
+ const ethers_1 = require("ethers");
22
+ // ─── Provider ─────────────────────────────────────────────────────
23
+ function createProvider(rpcUrl) {
24
+ return new ethers_1.ethers.providers.JsonRpcProvider(rpcUrl);
25
+ }
26
+ // ─── Contract ─────────────────────────────────────────────────────
27
+ function createContract(address, abi, providerOrSigner) {
28
+ return new ethers_1.ethers.Contract(address, abi, providerOrSigner);
29
+ }
30
+ // ─── Interface (ABI encoding/decoding) ────────────────────────────
31
+ function createInterface(abi) {
32
+ return new ethers_1.ethers.utils.Interface(abi);
33
+ }
34
+ /**
35
+ * Parse a single log entry using an Interface.
36
+ * Returns null if the log can't be decoded (unknown event).
37
+ */
38
+ function parseLog(iface, log) {
39
+ try {
40
+ return iface.parseLog(log);
41
+ }
42
+ catch {
43
+ return null;
44
+ }
45
+ }
46
+ // ─── Transaction Receipt ──────────────────────────────────────────
47
+ async function getTransactionReceipt(provider, txHash) {
48
+ return provider.getTransactionReceipt(txHash);
49
+ }
50
+ // ─── Storage Read (for proxy detection) ───────────────────────────
51
+ async function getStorageAt(provider, address, slot) {
52
+ return provider.getStorageAt(address, slot);
53
+ }
54
+ // ─── Utilities ────────────────────────────────────────────────────
55
+ function isAddress(value) {
56
+ try {
57
+ ethers_1.ethers.utils.getAddress(value);
58
+ return true;
59
+ }
60
+ catch {
61
+ return false;
62
+ }
63
+ }
64
+ function getAddress(value) {
65
+ return ethers_1.ethers.utils.getAddress(value);
66
+ }
67
+ /**
68
+ * Serialize a contract call result to a JSON-safe format.
69
+ * Handles BigNumber, arrays, and nested structures.
70
+ */
71
+ function serializeResult(value) {
72
+ if (value === null || value === undefined)
73
+ return value;
74
+ // BigNumber → string
75
+ if (ethers_1.ethers.BigNumber.isBigNumber(value)) {
76
+ return value.toString();
77
+ }
78
+ // Array (including Result objects from ethers)
79
+ if (Array.isArray(value)) {
80
+ // ethers Result objects have both numeric and named keys.
81
+ // If it has named keys, return as object with named keys only.
82
+ const result = {};
83
+ let hasNamedKeys = false;
84
+ for (const key of Object.keys(value)) {
85
+ if (isNaN(Number(key))) {
86
+ hasNamedKeys = true;
87
+ result[key] = serializeResult(value[key]);
88
+ }
89
+ }
90
+ if (hasNamedKeys)
91
+ return result;
92
+ // Plain array
93
+ return value.map(serializeResult);
94
+ }
95
+ // Plain object
96
+ if (typeof value === "object") {
97
+ const result = {};
98
+ for (const [k, v] of Object.entries(value)) {
99
+ result[k] = serializeResult(v);
100
+ }
101
+ return result;
102
+ }
103
+ // Primitives (string, number, boolean)
104
+ return value;
105
+ }
106
+ //# sourceMappingURL=ethers-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethers-adapter.js","sourceRoot":"","sources":["../../src/adapters/ethers-adapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAMH,wCAEC;AAMD,wCAMC;AAMD,0CAEC;AAQD,4BASC;AAID,sDAKC;AAID,oCAMC;AAID,8BAOC;AAED,gCAEC;AAMD,0CAqCC;AAxHD,mCAAgC;AAEhC,qEAAqE;AAErE,SAAgB,cAAc,CAAC,MAAc;IAC3C,OAAO,IAAI,eAAM,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAID,qEAAqE;AAErE,SAAgB,cAAc,CAC5B,OAAe,EACf,GAAU,EACV,gBAA2D;IAE3D,OAAO,IAAI,eAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;AAC7D,CAAC;AAID,qEAAqE;AAErE,SAAgB,eAAe,CAAC,GAAU;IACxC,OAAO,IAAI,eAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAID;;;GAGG;AACH,SAAgB,QAAQ,CACtB,KAA6B,EAC7B,GAAuC;IAEvC,IAAI,CAAC;QACH,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,qEAAqE;AAE9D,KAAK,UAAU,qBAAqB,CACzC,QAA0C,EAC1C,MAAc;IAEd,OAAO,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,qEAAqE;AAE9D,KAAK,UAAU,YAAY,CAChC,QAA0C,EAC1C,OAAe,EACf,IAAY;IAEZ,OAAO,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,qEAAqE;AAErE,SAAgB,SAAS,CAAC,KAAa;IACrC,IAAI,CAAC;QACH,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAgB,UAAU,CAAC,KAAa;IACtC,OAAO,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,KAAU;IACxC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAExD,qBAAqB;IACrB,IAAI,eAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,+CAA+C;IAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,0DAA0D;QAC1D,+DAA+D;QAC/D,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvB,YAAY,GAAG,IAAI,CAAC;gBACpB,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAE,KAAa,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QACD,IAAI,YAAY;YAAE,OAAO,MAAM,CAAC;QAEhC,cAAc;QACd,OAAO,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACpC,CAAC;IAED,eAAe;IACf,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,uCAAuC;IACvC,OAAO,KAAK,CAAC;AACf,CAAC"}
package/dist/index.d.ts CHANGED
@@ -5,5 +5,7 @@ import "./tasks/status";
5
5
  export { RemoteSigner } from "./RemoteSigner";
6
6
  export { SigningClient } from "./SigningClient";
7
7
  export { SigningServer } from "./SigningServer";
8
+ export { ContractService } from "./ContractService";
8
9
  export type { RemoteSignerConfig, SigningRequest, SigningResponse } from "./types";
10
+ export type { ContractInfo, ABIFunction, ABIEvent, ABIParam, DecodedEvent, } from "./ContractService";
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,SAAS,CAAC;AAGjB,OAAO,eAAe,CAAC;AACvB,OAAO,cAAc,CAAC;AACtB,OAAO,gBAAgB,CAAC;AAyIxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,SAAS,CAAC;AAGjB,OAAO,eAAe,CAAC;AACvB,OAAO,cAAc,CAAC;AACtB,OAAO,gBAAgB,CAAC;AAmJxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACnF,YAAY,EACV,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,YAAY,GACb,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SigningServer = exports.SigningClient = exports.RemoteSigner = void 0;
3
+ exports.ContractService = exports.SigningServer = exports.SigningClient = exports.RemoteSigner = void 0;
4
4
  const config_1 = require("hardhat/config");
5
5
  const ethers_1 = require("ethers");
6
6
  const RemoteSigner_1 = require("./RemoteSigner");
@@ -55,8 +55,16 @@ async function getAirSignSigner(hre) {
55
55
  signerAddress = await client.waitForWallet(120000);
56
56
  }
57
57
  console.log(` ✅ Signer ready: ${signerAddress}\n`);
58
- // 3. Create provider from network config
59
- const rpcUrl = networkConfig.url || "http://127.0.0.1:8545";
58
+ // 3. Create provider from network config.
59
+ // If no explicit URL is set, use the AirSign RPC proxy which
60
+ // relays JSON-RPC calls through the connected browser wallet.
61
+ // This means users don't need to configure Alchemy/Infura URLs
62
+ // — MetaMask's built-in provider handles RPC.
63
+ const explicitUrl = networkConfig.url;
64
+ const rpcUrl = explicitUrl || `http://127.0.0.1:${port}/api/rpc`;
65
+ if (!explicitUrl) {
66
+ console.log(` 📡 No RPC URL configured — using wallet-proxied RPC via AirSign`);
67
+ }
60
68
  const provider = new ethers_1.ethers.providers.JsonRpcProvider(rpcUrl);
61
69
  // 4. Create RemoteSigner with the HTTP client as transport
62
70
  signerInstance = new RemoteSigner_1.RemoteSigner(client, provider, signerAddress);
@@ -119,4 +127,6 @@ var SigningClient_2 = require("./SigningClient");
119
127
  Object.defineProperty(exports, "SigningClient", { enumerable: true, get: function () { return SigningClient_2.SigningClient; } });
120
128
  var SigningServer_1 = require("./SigningServer");
121
129
  Object.defineProperty(exports, "SigningServer", { enumerable: true, get: function () { return SigningServer_1.SigningServer; } });
130
+ var ContractService_1 = require("./ContractService");
131
+ Object.defineProperty(exports, "ContractService", { enumerable: true, get: function () { return ContractService_1.ContractService; } });
122
132
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAAiE;AAEjE,mCAAgC;AAChC,iDAA8C;AAC9C,mDAAgD;AAChD,mBAAiB;AAEjB,eAAe;AACf,yBAAuB;AACvB,wBAAsB;AACtB,0BAAwB;AAExB,oEAAoE;AAEpE,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,SAAS;IACf,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;IAChD,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF,mEAAmE;AAEnE,IAAA,qBAAY,EACV,CAAC,MAAqB,EAAE,UAAuC,EAAE,EAAE;IACjE,MAAM,gBAAgB,GAAG,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC;IACvD,MAAM,CAAC,YAAY,GAAG;QACpB,IAAI,EAAE,gBAAgB,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI;QAClD,IAAI,EAAE,gBAAgB,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI;QAClD,cAAc,EACZ,gBAAgB,CAAC,cAAc,IAAI,cAAc,CAAC,cAAc;QAClE,OAAO,EAAE,gBAAgB,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO;KAC5D,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,mEAAmE;AAEnE,IAAI,cAAc,GAAwB,IAAI,CAAC;AAE/C;;;GAGG;AACH,KAAK,UAAU,gBAAgB,CAAC,GAAQ;IACtC,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC;IAE1C,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,MAAa,CAAC;IAChD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,CAAC;IAEvC,4CAA4C;IAC5C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,yCAAyC,IAAI,KAAK;YAChD,uBAAuB;YACvB,mCAAmC;YACnC,sCAAsC,CACzC,CAAC;IACJ,CAAC;IAED,iDAAiD;IACjD,OAAO,CAAC,GAAG,CAAC,8CAA8C,IAAI,EAAE,CAAC,CAAC;IAElE,IAAI,aAAa,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;IACpD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,aAAa,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAO,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,qBAAqB,aAAa,IAAI,CAAC,CAAC;IAEpD,yCAAyC;IACzC,MAAM,MAAM,GAAI,aAAqB,CAAC,GAAG,IAAI,uBAAuB,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,eAAM,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAE9D,2DAA2D;IAC3D,cAAc,GAAG,IAAI,2BAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACnE,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,IAAA,0BAAiB,EAAC,CAAC,GAAG,EAAE,EAAE;IACxB,gEAAgE;IAChE,EAAE;IACF,iEAAiE;IACjE,+DAA+D;IAC/D,8DAA8D;IAC9D,yDAAyD;IACzD,EAAE;IACF,+DAA+D;IAC/D,sDAAsD;IAEtD,oEAAoE;IACpE,MAAM,MAAM,GAAG,GAAU,CAAC;IAC1B,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE1E,IAAI,MAAM,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,IAAoB,EAAE;YACpD,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,MAAa,CAAC;YAEhD,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;gBAChC,wDAAwD;gBACxD,OAAO,kBAAkB,EAAE,CAAC;YAC9B,CAAC;YAED,0CAA0C;YAC1C,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACjD,OAAO,CAAC,YAAY,CAAU,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC;IAED,gEAAgE;IAEhE,GAAG,CAAC,YAAY,GAAG;QACjB;;;;WAIG;QACH,SAAS,EAAE,KAAK,IAAI,EAAE;YACpB,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,MAAa,CAAC;YAEhD,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,6CAA6C,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK;oBAChE,wEAAwE,CAC3E,CAAC;YACJ,CAAC;YAED,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED;;WAEG;QACH,SAAS,EAAE,GAAG,EAAE;YACd,MAAM,IAAI,KAAK,CACb,8DAA8D;gBAC5D,0DAA0D;gBAC1D,8EAA8E,CACjF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,mEAAmE;AAEnE,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAAiE;AAEjE,mCAAgC;AAChC,iDAA8C;AAC9C,mDAAgD;AAChD,mBAAiB;AAEjB,eAAe;AACf,yBAAuB;AACvB,wBAAsB;AACtB,0BAAwB;AAExB,oEAAoE;AAEpE,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,SAAS;IACf,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;IAChD,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF,mEAAmE;AAEnE,IAAA,qBAAY,EACV,CAAC,MAAqB,EAAE,UAAuC,EAAE,EAAE;IACjE,MAAM,gBAAgB,GAAG,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC;IACvD,MAAM,CAAC,YAAY,GAAG;QACpB,IAAI,EAAE,gBAAgB,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI;QAClD,IAAI,EAAE,gBAAgB,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI;QAClD,cAAc,EACZ,gBAAgB,CAAC,cAAc,IAAI,cAAc,CAAC,cAAc;QAClE,OAAO,EAAE,gBAAgB,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO;KAC5D,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,mEAAmE;AAEnE,IAAI,cAAc,GAAwB,IAAI,CAAC;AAE/C;;;GAGG;AACH,KAAK,UAAU,gBAAgB,CAAC,GAAQ;IACtC,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC;IAE1C,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,MAAa,CAAC;IAChD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,CAAC;IAEvC,4CAA4C;IAC5C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,yCAAyC,IAAI,KAAK;YAChD,uBAAuB;YACvB,mCAAmC;YACnC,sCAAsC,CACzC,CAAC;IACJ,CAAC;IAED,iDAAiD;IACjD,OAAO,CAAC,GAAG,CAAC,8CAA8C,IAAI,EAAE,CAAC,CAAC;IAElE,IAAI,aAAa,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;IACpD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,aAAa,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAO,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,qBAAqB,aAAa,IAAI,CAAC,CAAC;IAEpD,0CAA0C;IAC1C,gEAAgE;IAChE,iEAAiE;IACjE,kEAAkE;IAClE,iDAAiD;IACjD,MAAM,WAAW,GAAI,aAAqB,CAAC,GAAG,CAAC;IAC/C,MAAM,MAAM,GAAG,WAAW,IAAI,oBAAoB,IAAI,UAAU,CAAC;IAEjE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,eAAM,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAE9D,2DAA2D;IAC3D,cAAc,GAAG,IAAI,2BAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACnE,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,IAAA,0BAAiB,EAAC,CAAC,GAAG,EAAE,EAAE;IACxB,gEAAgE;IAChE,EAAE;IACF,iEAAiE;IACjE,+DAA+D;IAC/D,8DAA8D;IAC9D,yDAAyD;IACzD,EAAE;IACF,+DAA+D;IAC/D,sDAAsD;IAEtD,oEAAoE;IACpE,MAAM,MAAM,GAAG,GAAU,CAAC;IAC1B,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE1E,IAAI,MAAM,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,IAAoB,EAAE;YACpD,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,MAAa,CAAC;YAEhD,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;gBAChC,wDAAwD;gBACxD,OAAO,kBAAkB,EAAE,CAAC;YAC9B,CAAC;YAED,0CAA0C;YAC1C,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACjD,OAAO,CAAC,YAAY,CAAU,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC;IAED,gEAAgE;IAEhE,GAAG,CAAC,YAAY,GAAG;QACjB;;;;WAIG;QACH,SAAS,EAAE,KAAK,IAAI,EAAE;YACpB,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,MAAa,CAAC;YAEhD,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,6CAA6C,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK;oBAChE,wEAAwE,CAC3E,CAAC;YACJ,CAAC;YAED,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED;;WAEG;QACH,SAAS,EAAE,GAAG,EAAE;YACd,MAAM,IAAI,KAAK,CACb,8DAA8D;gBAC5D,0DAA0D;gBAC1D,8EAA8E,CACjF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,mEAAmE;AAEnE,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA"}
@@ -120,7 +120,7 @@ function getPidFilePath() {
120
120
  const localIP = getLocalIP();
121
121
  console.log("");
122
122
  console.log(" ╔══════════════════════════════════════════════════╗");
123
- console.log(" ║ 🔐 Hardhat AirSign v0.1.0 ║");
123
+ console.log(" ║ 🔐 Hardhat AirSign v2.0.0 ║");
124
124
  console.log(" ╚══════════════════════════════════════════════════╝");
125
125
  console.log("");
126
126
  console.log(` Signing UI: http://localhost:${port}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hardhat-airsign",
3
- "version": "0.1.1",
3
+ "version": "2.0.0",
4
4
  "description": "Hardhat 2 plugin for remote transaction signing via browser wallet (ethers v5). Deploy contracts, run tasks, and execute scripts from a browser UI — no private keys in .env files.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -14,6 +14,8 @@
14
14
  "build": "tsc",
15
15
  "bundle-app": "mv app-dist app-dist-old 2>/dev/null; cp -r ../app/dist app-dist && rm -rf app-dist-old",
16
16
  "prebuild:publish": "npm run build && npm run bundle-app",
17
+ "test": "vitest run",
18
+ "test:watch": "vitest",
17
19
  "clean": "rm -rf dist app-dist",
18
20
  "prepublishOnly": "npm run build && npm run bundle-app"
19
21
  },
@@ -62,9 +64,10 @@
62
64
  "devDependencies": {
63
65
  "@types/express": "^4.17.21",
64
66
  "@types/node": "^20.11.0",
65
- "typescript": "^5.3.3",
66
67
  "ethers": "^5.7.2",
67
- "hardhat": "^2.19.0"
68
+ "hardhat": "^2.19.0",
69
+ "typescript": "^5.3.3",
70
+ "vitest": "^4.1.4"
68
71
  },
69
72
  "overrides": {
70
73
  "engine.io": {